From a15f529a619291f1e41416a5a517666cee20b005 Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Tue, 9 Jan 2024 14:41:20 +1000 Subject: [PATCH 001/177] Improve dependencies intro material --- input/pagecontent/index.md | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/input/pagecontent/index.md b/input/pagecontent/index.md index 4f094efb..f9962a67 100644 --- a/input/pagecontent/index.md +++ b/input/pagecontent/index.md @@ -7,12 +7,9 @@ See [Reference Implementation](reference-implementation.html). ### Dependencies -Smart Forms is dependent on: -- [FHIR R4](http://hl7.org/fhir/R4/) -- [HL7 Terminology](https://terminology.hl7.org/5.0.0/) -- [Structured Data Capture](http://build.fhir.org/ig/HL7/sdc/index.html) -- [AU Base](http://build.fhir.org/ig/hl7au/au-fhir-base/) -- [AU Core](https://build.fhir.org/ig/hl7au/au-fhir-core/) +{% include dependency-table.xhtml %} + +Smart Forms is also dependent on: - Terminology published in Australia's [National Clinical Terminology Service](https://www.healthterminologies.gov.au/access-clinical-terminology/access-fhir-terminology-resources/) In addition, the following FHIR implementation guides are referenced: From 91d78f328aee5183b1d23191481a37e71bf0238f Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Wed, 10 Jan 2024 15:49:40 +1000 Subject: [PATCH 002/177] Update AU Core dependency, fix terminology page comment tag issue --- .../ImplementationGuide-csiro.fhir.au.smartforms.json | 2 +- input/pagecontent/terminology.md | 8 ++++---- sushi-config.yaml | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index b87f5d26..d8acdae9 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -29,7 +29,7 @@ "dependsOn": [ { "packageId": "hl7.fhir.au.core", - "version": "current", + "version": "0.2.0-preview", "uri": "http://hl7.org.au/fhir/core/ImplementationGuide/hl7.fhir.au.core", "id": "hl7_fhir_au_core" }, diff --git a/input/pagecontent/terminology.md b/input/pagecontent/terminology.md index e040505b..ed6b3257 100644 --- a/input/pagecontent/terminology.md +++ b/input/pagecontent/terminology.md @@ -18,10 +18,10 @@ See the [FHIR terminology section]({{site.data.fhir.path}}terminologies-systems. - [Aboriginal and/or Torres Strait Islander](ValueSet-AboriginalTorresStraitIslander.html) - [Condition Clinical Status Codes](ValueSet-condition-clinical.html) - [Medical History](ValueSet-MedicalHistory.html) - + + + + - [Primary Carer Of Parent Or Grandparent](ValueSet-PrimaryCarerParentGrandparent.html) - [Yes/No](ValueSet-YesNo.html) - [Yes/No/NA](ValueSet-YesNoNA.html) diff --git a/sushi-config.yaml b/sushi-config.yaml index c42b5684..03468dc9 100644 --- a/sushi-config.yaml +++ b/sushi-config.yaml @@ -26,7 +26,7 @@ publisher: # dependencies: - hl7.fhir.au.core: current + hl7.fhir.au.core: 0.2.0-preview hl7.fhir.uv.sdc: 3.0.0 # # From 398693daea74571f6dc5d9a94eb273b26a4b068d Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Wed, 10 Jan 2024 15:50:25 +1000 Subject: [PATCH 003/177] Supress non-problematic warnings --- input/ignoreWarnings.txt | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/input/ignoreWarnings.txt b/input/ignoreWarnings.txt index d03142bc..e233c71b 100644 --- a/input/ignoreWarnings.txt +++ b/input/ignoreWarnings.txt @@ -2,4 +2,28 @@ # Add warning and/or information messages here after you've confirmed that they aren't really a problem # (And include comments like this justifying why) -# See https://github.com/FHIR/sample-ig/blob/master/input/ignoreWarnings.txt for examples \ No newline at end of file +# See https://github.com/FHIR/sample-ig/blob/master/input/ignoreWarnings.txt for examples + +# Slice matching +# There are several extensions used that either match slices in other profiles stated in meta or are permitted for use by the extension itself. +This element does not match any known slice defined in the profile http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render|3.0.0 +This element does not match any known slice defined in the profile http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular|3.0.0 +This element does not match any known slice defined in the profile http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp|3.0.0 +# CapabilityStatement slice warning +This element does not match any known slice defined in the profile http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination|4.0.1 + +# EnableWhen target comes after the question +# This is intentional design for marking Questionnaire sections as complete +%The target of this enableWhen rule (MarkComplete-% + +# ContainedResourceReference extension defined as intended +WARNING: StructureDefinition/ContainedResourceReference: StructureDefinition.context[0]: Review the extension type: extensions should not have a context of Element unless it's really intended that they can be used anywhere + +# HL7 core warnings +WARNING: 1: The HTML fragment 'ip-statements.xhtml' is not included anywhere in the produced implementation guide +WARNING: 2: An HTML fragment from the set [cross-version-analysis.xhtml, cross-version-analysis-inline.xhtml] is not included anywhere in the produced implementation guide +WARNING: 4: The HTML fragment 'globals-table.xhtml' is not included anywhere in the produced implementation guide +The resource status 'draft' and the standards status 'trial-use' may not be consistent and should be reviewed +The nominated WG 'pc' means that the publisher should be 'HL7 International / Patient Care' but 'FHIR Project team' was found +The nominated WG 'pc' means that the contact url should be 'http://www.hl7.org/Special/committees/patientcare' but it was not found +The nominated WG 'fhir' means that the contact url should be 'http://www.hl7.org/Special/committees/fiwg' but it was not found From 9d56b6064045651fee286789e4823b10a3657830 Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Tue, 16 Jan 2024 13:01:15 +1000 Subject: [PATCH 004/177] Improve QA report readability - Suppress warnings --- input/ignoreWarnings.txt | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/input/ignoreWarnings.txt b/input/ignoreWarnings.txt index e233c71b..0daf61ab 100644 --- a/input/ignoreWarnings.txt +++ b/input/ignoreWarnings.txt @@ -4,20 +4,26 @@ # (And include comments like this justifying why) # See https://github.com/FHIR/sample-ig/blob/master/input/ignoreWarnings.txt for examples -# Slice matching -# There are several extensions used that either match slices in other profiles stated in meta or are permitted for use by the extension itself. +# Slice matching - There are several extensions used that either match slices in other profiles stated in meta or are permitted for use by the extension itself. This element does not match any known slice defined in the profile http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render|3.0.0 This element does not match any known slice defined in the profile http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular|3.0.0 This element does not match any known slice defined in the profile http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp|3.0.0 -# CapabilityStatement slice warning + +# Slice matching - CapabilityStatement This element does not match any known slice defined in the profile http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination|4.0.1 -# EnableWhen target comes after the question -# This is intentional design for marking Questionnaire sections as complete +# EnableWhen target comes after the question - This is intentional design for marking Questionnaire sections as complete %The target of this enableWhen rule (MarkComplete-% # ContainedResourceReference extension defined as intended -WARNING: StructureDefinition/ContainedResourceReference: StructureDefinition.context[0]: Review the extension type: extensions should not have a context of Element unless it's really intended that they can be used anywhere +Review the extension type for ContainedResourceReference: extensions should not have a context of Element unless it's really intended that they can be used anywhere + +# Modular Questionnaire - URL of assembled questionnaire SHALL be the same as its base questionnnaire +%The URL 'http://www.health.gov.au/assessments/mbs/715' has already been used by AssemblyInstructions% +%The URL 'http://www.health.gov.au/assessments/mbs/715' is also used by AboriginalTorresStraitIslanderHealthCheck% + +# Draft code systems referenced as intended +Reference to draft CodeSystem http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext|3.0.0 # HL7 core warnings WARNING: 1: The HTML fragment 'ip-statements.xhtml' is not included anywhere in the produced implementation guide From 6e22cacdeb99aa5f1be520c680b090de03af1450 Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Tue, 16 Jan 2024 13:02:13 +1000 Subject: [PATCH 005/177] Improve terminology referencing --- ...onnaire-MedicalHistoryCurrentProblems.json | 107 ------------------ ...sessment-MedicalHistoryCurrentProblems.fsh | 1 - input/fsh/715-PatientDetails.fsh | 4 +- 3 files changed, 2 insertions(+), 110 deletions(-) diff --git a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json index 4d182746..cb4226a7 100644 --- a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json +++ b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json @@ -423,113 +423,6 @@ } ] } - }, - { - "resourceType": "ValueSet", - "id": "condition-clinical", - "meta": { - "profile": [ - "http://hl7.org/fhir/StructureDefinition/shareablevalueset" - ] - }, - "status": "draft", - "name": "ConditionClinicalStatusCodes", - "title": "Condition Clinical Status Codes", - "description": "Preferred value set for Condition Clinical Status.", - "url": "http://hl7.org/fhir/ValueSet/condition-clinical", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg", - "valueCode": "pc" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", - "valueCode": "trial-use" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm", - "valueInteger": 3 - } - ], - "identifier": [ - { - "system": "urn:ietf:rfc:3986", - "value": "urn:oid:2.16.840.1.113883.4.642.3.164" - } - ], - "version": "4.3.0", - "experimental": false, - "publisher": "FHIR Project team", - "contact": [ - { - "telecom": [ - { - "system": "url", - "value": "http://hl7.org/fhir" - } - ] - } - ], - "copyright": "Copyright © 2011+ HL7. Creative Commons 'No Rights Reserved' (CC0)", - "expansion": { - "identifier": "5d4bed14-061a-42c4-853d-e6a624c4f483", - "timestamp": "2022-10-20T09:32:48+10:00", - "total": 6, - "offset": 0, - "parameter": [ - { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/condition-clinical|4.0.1" - }, - { - "name": "count", - "valueInteger": 2147483647 - }, - { - "name": "offset", - "valueInteger": 0 - } - ], - "contains": [ - { - "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", - "code": "active", - "display": "Active" - }, - { - "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", - "code": "inactive", - "display": "Inactive" - }, - { - "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", - "code": "recurrence", - "display": "Recurrence" - }, - { - "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", - "code": "relapse", - "display": "Relapse" - }, - { - "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", - "code": "remission", - "display": "Remission" - }, - { - "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", - "code": "resolved", - "display": "Resolved" - } - ] - }, - "compose": { - "include": [ - { - "system": "http://terminology.hl7.org/CodeSystem/condition-clinical" - } - ] - } } ], "extension": [ diff --git a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh index a778de43..92c92ea5 100644 --- a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh +++ b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh @@ -15,7 +15,6 @@ Description: "Medical History sub-questionnaire for Aboriginal and Torres Strait * contained[+] = MedicalHistoryShortListAdolescents * contained[+] = MedicalHistoryShortListAdultsAndOlderPeople */ -* contained[+] = condition-clinical //assemble expectation * extension[+] diff --git a/input/fsh/715-PatientDetails.fsh b/input/fsh/715-PatientDetails.fsh index 278c154c..303f39e3 100644 --- a/input/fsh/715-PatientDetails.fsh +++ b/input/fsh/715-PatientDetails.fsh @@ -199,7 +199,7 @@ Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait * type = #choice * repeats = false * readOnly = true - * answerValueSet[+] = "#AboriginalTorresStraitIslander" + * answerValueSet = "#AboriginalTorresStraitIslander" * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath @@ -209,7 +209,7 @@ Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait * text = "Parents/primary carer/s" * type = #choice * repeats = true - * answerValueSet[+] = "#PrimaryCarerParentGrandparent" + * answerValueSet = "#PrimaryCarerParentGrandparent" * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath From 459d147a2753567593e264fbcb7dcc628b8ee7ea Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Thu, 18 Jan 2024 16:38:49 +1000 Subject: [PATCH 006/177] Update publisher/package --- smartforms-template/package/.index.json | 2 +- smartforms-template/package/content/.index.json | 2 +- smartforms-template/package/content/assets/.index.json | 2 +- smartforms-template/package/content/assets/css/.index.json | 2 +- smartforms-template/package/content/assets/images/.index.json | 2 +- smartforms-template/package/includes/.index.json | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/smartforms-template/package/.index.json b/smartforms-template/package/.index.json index dbe759e5..7ee6e2c5 100644 --- a/smartforms-template/package/.index.json +++ b/smartforms-template/package/.index.json @@ -1,4 +1,4 @@ -{ +{ "index-version" : 2, "files" : [] } diff --git a/smartforms-template/package/content/.index.json b/smartforms-template/package/content/.index.json index dbe759e5..7ee6e2c5 100644 --- a/smartforms-template/package/content/.index.json +++ b/smartforms-template/package/content/.index.json @@ -1,4 +1,4 @@ -{ +{ "index-version" : 2, "files" : [] } diff --git a/smartforms-template/package/content/assets/.index.json b/smartforms-template/package/content/assets/.index.json index dbe759e5..7ee6e2c5 100644 --- a/smartforms-template/package/content/assets/.index.json +++ b/smartforms-template/package/content/assets/.index.json @@ -1,4 +1,4 @@ -{ +{ "index-version" : 2, "files" : [] } diff --git a/smartforms-template/package/content/assets/css/.index.json b/smartforms-template/package/content/assets/css/.index.json index dbe759e5..7ee6e2c5 100644 --- a/smartforms-template/package/content/assets/css/.index.json +++ b/smartforms-template/package/content/assets/css/.index.json @@ -1,4 +1,4 @@ -{ +{ "index-version" : 2, "files" : [] } diff --git a/smartforms-template/package/content/assets/images/.index.json b/smartforms-template/package/content/assets/images/.index.json index dbe759e5..7ee6e2c5 100644 --- a/smartforms-template/package/content/assets/images/.index.json +++ b/smartforms-template/package/content/assets/images/.index.json @@ -1,4 +1,4 @@ -{ +{ "index-version" : 2, "files" : [] } diff --git a/smartforms-template/package/includes/.index.json b/smartforms-template/package/includes/.index.json index dbe759e5..7ee6e2c5 100644 --- a/smartforms-template/package/includes/.index.json +++ b/smartforms-template/package/includes/.index.json @@ -1,4 +1,4 @@ -{ +{ "index-version" : 2, "files" : [] } From dbd380e17fc7f4761b2b6fb661bab821ccda4e5d Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Mon, 22 Jan 2024 11:58:00 +1000 Subject: [PATCH 007/177] Update assembled questionnaire --- ...esStraitIslanderHealthCheck-assembled.json | 336 ++++++------------ 1 file changed, 112 insertions(+), 224 deletions(-) diff --git a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json index 6de42202..0549cc9d 100644 --- a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json +++ b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json @@ -2,9 +2,6 @@ "resourceType": "Questionnaire", "id": "AboriginalTorresStraitIslanderHealthCheck", "meta": { - "versionId": "4", - "lastUpdated": "2023-11-28T03:38:57.707+00:00", - "source": "#9xfyZ38CzEZ8Ewgn", "profile": [ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp", "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" @@ -306,113 +303,6 @@ ] } }, - { - "resourceType": "ValueSet", - "id": "condition-clinical", - "meta": { - "profile": [ - "http://hl7.org/fhir/StructureDefinition/shareablevalueset" - ] - }, - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg", - "valueCode": "pc" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", - "valueCode": "trial-use" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm", - "valueInteger": 3 - } - ], - "url": "http://hl7.org/fhir/ValueSet/condition-clinical", - "identifier": [ - { - "system": "urn:ietf:rfc:3986", - "value": "urn:oid:2.16.840.1.113883.4.642.3.164" - } - ], - "version": "4.3.0", - "name": "ConditionClinicalStatusCodes", - "title": "Condition Clinical Status Codes", - "status": "draft", - "experimental": false, - "publisher": "FHIR Project team", - "contact": [ - { - "telecom": [ - { - "system": "url", - "value": "http://hl7.org/fhir" - } - ] - } - ], - "description": "Preferred value set for Condition Clinical Status.", - "copyright": "Copyright © 2011+ HL7. Creative Commons 'No Rights Reserved' (CC0)", - "compose": { - "include": [ - { - "system": "http://terminology.hl7.org/CodeSystem/condition-clinical" - } - ] - }, - "expansion": { - "identifier": "5d4bed14-061a-42c4-853d-e6a624c4f483", - "timestamp": "2022-10-20T09:32:48+10:00", - "total": 6, - "offset": 0, - "parameter": [ - { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/condition-clinical|4.0.1" - }, - { - "name": "count", - "valueInteger": 2147483647 - }, - { - "name": "offset", - "valueInteger": 0 - } - ], - "contains": [ - { - "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", - "code": "active", - "display": "Active" - }, - { - "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", - "code": "inactive", - "display": "Inactive" - }, - { - "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", - "code": "recurrence", - "display": "Recurrence" - }, - { - "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", - "code": "relapse", - "display": "Relapse" - }, - { - "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", - "code": "remission", - "display": "Remission" - }, - { - "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", - "code": "resolved", - "display": "Resolved" - } - ] - } - }, { "resourceType": "ValueSet", "id": "YesNoNotAskedDeclined", @@ -1087,6 +977,118 @@ "language": "text/fhirpath", "expression": "item.where(linkId='918f7f32-cdaf-4742-b33a-8254eda2d8bd').item.where(linkId='96a8d946-6078-4c85-9de8-3bf18d2c8150').answer.value" } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "QuestionnaireResponseLatestCompleted", + "language": "application/x-fhir-query", + "expression": "QuestionnaireResponse?status=completed&_count=1&_sort=-authored&patient={{%patient.id}}" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "QuestionnaireResponseLatest", + "language": "application/x-fhir-query", + "expression": "QuestionnaireResponse?_count=1&_sort=-authored&patient={{%patient.id}}" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsSex", + "language": "application/x-fhir-query", + "expression": "Observation?code=1515311000168102&status=final&_count=1&_sort=-date&patient={{%patient.id}}" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "PostalAddress", + "language": "text/fhirpath", + "expression": "%patient.address.where(type='postal')" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsTobaccoSmokingStatus", + "language": "application/x-fhir-query", + "expression": "Observation?code=72166-2&_count=1&_sort=-date&patient={{%patient.id}}" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsWaistCircumference", + "language": "application/x-fhir-query", + "expression": "Observation?code=8280-0&_count=1&_sort=-date&patient={{%patient.id}}" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsHeartRate", + "language": "application/x-fhir-query", + "expression": "Observation?code=8867-4&_count=1&_sort=-date&patient={{%patient.id}}" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsBodyHeight", + "language": "application/x-fhir-query", + "expression": "Observation?code=8302-2&_count=1&_sort=-date&patient={{%patient.id}}" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsBodyWeight", + "language": "application/x-fhir-query", + "expression": "Observation?code=29463-7&_count=1&_sort=-date&patient={{%patient.id}}" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsHeadCircumference", + "language": "application/x-fhir-query", + "expression": "Observation?code=9843-4&_count=1&_sort=-date&patient={{%patient.id}}" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "weight", + "language": "text/fhirpath", + "expression": "item.where(linkId='c587e3b6-b91a-40dc-9a16-179342d001e9').item.where(linkId='53d5d5a6-3198-4bec-92ac-03fe7d77fb68').item.where(linkId='97ed4c86-8820-4e4d-9234-0e0e8b6ca44a').item.where(linkId='443bd584-684a-449c-ab6e-9d07da4df9fa').answer.value" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "height", + "language": "text/fhirpath", + "expression": "item.where(linkId='c587e3b6-b91a-40dc-9a16-179342d001e9').item.where(linkId='53d5d5a6-3198-4bec-92ac-03fe7d77fb68').item.where(linkId='6226a5c5-b5c3-4ebb-a689-2b286322cfe0').item.where(linkId='7035c7e7-ada3-4c6b-9ea8-f39666f5d4ea').answer.value" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsTotalCholesterol", + "language": "application/x-fhir-query", + "expression": "Observation?code=14647-2&_count=1&_sort=-date&patient={{%patient.id}}" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsHDLCholesterol", + "language": "application/x-fhir-query", + "expression": "Observation?code=14646-4&_count=1&_sort=-date&patient={{%patient.id}}" + } } ], "linkId": "fd5af92e-c248-497a-8007-ee0952ccd4d9", @@ -1100,22 +1102,6 @@ "language": "text/fhirpath", "expression": "%age.exists()" } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": { - "name": "QuestionnaireResponseLatestCompleted", - "language": "application/x-fhir-query", - "expression": "QuestionnaireResponse?status=completed&_count=1&_sort=-authored&patient={{%patient.id}}" - } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": { - "name": "QuestionnaireResponseLatest", - "language": "application/x-fhir-query", - "expression": "QuestionnaireResponse?_count=1&_sort=-authored&patient={{%patient.id}}" - } } ], "linkId": "2e82032a-dc28-45f2-916e-862303d39fe5", @@ -1713,24 +1699,6 @@ ] }, { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": { - "name": "ObsSex", - "language": "application/x-fhir-query", - "expression": "Observation?code=1515311000168102&status=final&_count=1&_sort=-date&patient={{%patient.id}}" - } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": { - "name": "PostalAddress", - "language": "text/fhirpath", - "expression": "%patient.address.where(type='postal')" - } - } - ], "linkId": "5b224753-9365-44e3-823b-9c17e7394005", "text": "Patient Details", "type": "group", @@ -8950,14 +8918,6 @@ "language": "text/fhirpath", "expression": "%age >= 12" } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": { - "name": "ObsTobaccoSmokingStatus", - "language": "application/x-fhir-query", - "expression": "Observation?code=72166-2&_count=1&_sort=-date&patient={{%patient.id}}" - } } ], "linkId": "14a9fb5f-5b0e-4862-b143-08a11cd3ebf0", @@ -11869,62 +11829,6 @@ "language": "text/fhirpath", "expression": "%age.exists()" } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": { - "name": "ObsWaistCircumference", - "language": "application/x-fhir-query", - "expression": "Observation?code=8280-0&_count=1&_sort=-date&patient={{%patient.id}}" - } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": { - "name": "ObsHeartRate", - "language": "application/x-fhir-query", - "expression": "Observation?code=8867-4&_count=1&_sort=-date&patient={{%patient.id}}" - } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": { - "name": "ObsBodyHeight", - "language": "application/x-fhir-query", - "expression": "Observation?code=8302-2&_count=1&_sort=-date&patient={{%patient.id}}" - } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": { - "name": "ObsBodyWeight", - "language": "application/x-fhir-query", - "expression": "Observation?code=29463-7&_count=1&_sort=-date&patient={{%patient.id}}" - } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": { - "name": "ObsHeadCircumference", - "language": "application/x-fhir-query", - "expression": "Observation?code=9843-4&_count=1&_sort=-date&patient={{%patient.id}}" - } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": { - "name": "weight", - "language": "text/fhirpath", - "expression": "item.where(linkId='c587e3b6-b91a-40dc-9a16-179342d001e9').item.where(linkId='53d5d5a6-3198-4bec-92ac-03fe7d77fb68').item.where(linkId='97ed4c86-8820-4e4d-9234-0e0e8b6ca44a').item.where(linkId='443bd584-684a-449c-ab6e-9d07da4df9fa').answer.value" - } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": { - "name": "height", - "language": "text/fhirpath", - "expression": "item.where(linkId='c587e3b6-b91a-40dc-9a16-179342d001e9').item.where(linkId='53d5d5a6-3198-4bec-92ac-03fe7d77fb68').item.where(linkId='6226a5c5-b5c3-4ebb-a689-2b286322cfe0').item.where(linkId='7035c7e7-ada3-4c6b-9ea8-f39666f5d4ea').answer.value" - } } ], "linkId": "c587e3b6-b91a-40dc-9a16-179342d001e9", @@ -12824,22 +12728,6 @@ "language": "text/fhirpath", "expression": "%age >= 25" } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": { - "name": "ObsTotalCholesterol", - "language": "application/x-fhir-query", - "expression": "Observation?code=14647-2&_count=1&_sort=-date&patient={{%patient.id}}" - } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": { - "name": "ObsHDLCholesterol", - "language": "application/x-fhir-query", - "expression": "Observation?code=14646-4&_count=1&_sort=-date&patient={{%patient.id}}" - } } ], "linkId": "d95abe99-8ef2-4b97-bc88-a2901e2ebc9c", From df9ab346263ccb9e06838c85fd4e53094a16a398 Mon Sep 17 00:00:00 2001 From: Sean Fong Date: Mon, 12 Feb 2024 16:07:40 +1030 Subject: [PATCH 008/177] Fix bulk import script printing out assemble output parameters --- bulk-import-ci.py | 1 - 1 file changed, 1 deletion(-) diff --git a/bulk-import-ci.py b/bulk-import-ci.py index ce7129d8..9128fd2d 100644 --- a/bulk-import-ci.py +++ b/bulk-import-ci.py @@ -126,7 +126,6 @@ def assembleQuestionnaire(questionnaires): f"{OK_GREEN}POST request Questionnaire/$assemble successful at {formsServerEndpoint}: {response.status_code} OK{END_C}" ) assembleOutputParams = response.json() - print(assembleOutputParams) # Return bare questionnaire if assembleOutputParams["resourceType"] == "Questionnaire": From 15dbc8b4cb6a6f09191d16e739b7ddee290abd1d Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Thu, 15 Feb 2024 10:22:45 +1000 Subject: [PATCH 009/177] build settings artefacts --- fsh-generated/fsh-index.json | 378 +++++++++++++++++++++++++++++++++++ fsh-generated/fsh-index.txt | 48 +++++ 2 files changed, 426 insertions(+) create mode 100644 fsh-generated/fsh-index.json create mode 100644 fsh-generated/fsh-index.txt diff --git a/fsh-generated/fsh-index.json b/fsh-generated/fsh-index.json new file mode 100644 index 00000000..73e0e03c --- /dev/null +++ b/fsh-generated/fsh-index.json @@ -0,0 +1,378 @@ +[ + { + "outputFile": "CodeSystem-QuestionnaireItemControlExtended.json", + "fshName": "QuestionnaireItemControlExtended", + "fshType": "CodeSystem", + "fshFile": "terminology.fsh", + "startLine": 7, + "endLine": 14 + }, + { + "outputFile": "Questionnaire-AboutTheHealthCheck.json", + "fshName": "AboutTheHealthCheck", + "fshType": "Instance", + "fshFile": "715-AboutTheHealthCheck.fsh", + "startLine": 5, + "endLine": 163 + }, + { + "outputFile": "Questionnaire-AbsoluteCVDRiskCalculation.json", + "fshName": "AbsoluteCVDRiskCalculation", + "fshType": "Instance", + "fshFile": "715-Assessment-AbsoluteCVDRiskCalculation.fsh", + "startLine": 5, + "endLine": 415 + }, + { + "outputFile": "Questionnaire-AllergiesAdverseReactions.json", + "fshName": "AllergiesAdverseReactions", + "fshType": "Instance", + "fshFile": "715-Assessment-AllergiesAdverseReactions.fsh", + "startLine": 5, + "endLine": 103 + }, + { + "outputFile": "Questionnaire-AssemblyInstructions.json", + "fshName": "AssemblyInstructions", + "fshType": "Instance", + "fshFile": "715-AssemblyInstructions.fsh", + "startLine": 5, + "endLine": 577 + }, + { + "outputFile": "Questionnaire-ChronicDiseaseAgeing.json", + "fshName": "ChronicDiseaseAgeing", + "fshType": "Instance", + "fshFile": "715-Assessment-ChronicDiseaseAgeing.fsh", + "startLine": 5, + "endLine": 120 + }, + { + "outputFile": "Questionnaire-Consent.json", + "fshName": "Consent", + "fshType": "Instance", + "fshFile": "715-Consent.fsh", + "startLine": 7, + "endLine": 216 + }, + { + "outputFile": "Questionnaire-CurrentPriorities.json", + "fshName": "CurrentPriorities", + "fshType": "Instance", + "fshFile": "715-Assessment-CurrentPriorities.fsh", + "startLine": 5, + "endLine": 182 + }, + { + "outputFile": "Questionnaire-EarHealthAndHearing.json", + "fshName": "EarHealthAndHearing", + "fshType": "Instance", + "fshFile": "715-Assessment-EarHealthAndHearing.fsh", + "startLine": 5, + "endLine": 321 + }, + { + "outputFile": "Questionnaire-Examination.json", + "fshName": "Examination", + "fshType": "Instance", + "fshFile": "715-Assessment-Examination.fsh", + "startLine": 5, + "endLine": 504 + }, + { + "outputFile": "Questionnaire-EyeHealth.json", + "fshName": "EyeHealth", + "fshType": "Instance", + "fshFile": "715-Assessment-EyeHealth.fsh", + "startLine": 5, + "endLine": 228 + }, + { + "outputFile": "Questionnaire-FamilyHistory.json", + "fshName": "FamilyHistory", + "fshType": "Instance", + "fshFile": "715-Assessment-FamilyHistory.fsh", + "startLine": 5, + "endLine": 126 + }, + { + "outputFile": "Questionnaire-FinalisingHealthCheck.json", + "fshName": "FinalisingHealthCheck", + "fshType": "Instance", + "fshFile": "715-FinalisingHealthCheck.fsh", + "startLine": 5, + "endLine": 448 + }, + { + "outputFile": "Questionnaire-Gambling.json", + "fshName": "Gambling", + "fshType": "Instance", + "fshFile": "715-Assessment-Gambling.fsh", + "startLine": 5, + "endLine": 122 + }, + { + "outputFile": "Questionnaire-HealthPrioritiesSummary.json", + "fshName": "HealthPrioritiesSummary", + "fshType": "Instance", + "fshFile": "715-HealthPrioritiesSummary.fsh", + "startLine": 5, + "endLine": 568 + }, + { + "outputFile": "Questionnaire-HealthyEating.json", + "fshName": "HealthyEating", + "fshType": "Instance", + "fshFile": "715-Assessment-HealthyEating.fsh", + "startLine": 5, + "endLine": 285 + }, + { + "outputFile": "Questionnaire-HomeAndFamily.json", + "fshName": "HomeAndFamily", + "fshType": "Instance", + "fshFile": "715-Assessment-HomeAndFamily.fsh", + "startLine": 5, + "endLine": 155 + }, + { + "outputFile": "Questionnaire-Immunisation.json", + "fshName": "Immunisation", + "fshType": "Instance", + "fshFile": "715-Assessment-Immunisation.fsh", + "startLine": 5, + "endLine": 163 + }, + { + "outputFile": "Questionnaire-Investigations.json", + "fshName": "Investigations", + "fshType": "Instance", + "fshFile": "715-Assessment-Investigations.fsh", + "startLine": 5, + "endLine": 133 + }, + { + "outputFile": "Questionnaire-LearningAndDevelopment.json", + "fshName": "LearningAndDevelopment", + "fshType": "Instance", + "fshFile": "715-Assessment-LearningAndDevelopment.fsh", + "startLine": 5, + "endLine": 224 + }, + { + "outputFile": "Questionnaire-LearningAndWork.json", + "fshName": "LearningAndWork", + "fshType": "Instance", + "fshFile": "715-Assessment-LearningAndWork.fsh", + "startLine": 5, + "endLine": 227 + }, + { + "outputFile": "Questionnaire-MedicalHistoryCurrentProblems.json", + "fshName": "MedicalHistoryCurrentProblems", + "fshType": "Instance", + "fshFile": "715-Assessment-MedicalHistoryCurrentProblems.fsh", + "startLine": 5, + "endLine": 300 + }, + { + "outputFile": "Questionnaire-MemoryAndThinking.json", + "fshName": "MemoryAndThinking", + "fshType": "Instance", + "fshFile": "715-Assessment-MemoryAndThinking.fsh", + "startLine": 5, + "endLine": 155 + }, + { + "outputFile": "Questionnaire-Mood.json", + "fshName": "Mood", + "fshType": "Instance", + "fshFile": "715-Assessment-Mood.fsh", + "startLine": 5, + "endLine": 130 + }, + { + "outputFile": "Questionnaire-OralAndDentalHealth.json", + "fshName": "OralAndDentalHealth", + "fshType": "Instance", + "fshFile": "715-Assessment-OralAndDentalHealth.fsh", + "startLine": 5, + "endLine": 177 + }, + { + "outputFile": "Questionnaire-PatientDetails.json", + "fshName": "PatientDetails", + "fshType": "Instance", + "fshFile": "715-PatientDetails.fsh", + "startLine": 5, + "endLine": 709 + }, + { + "outputFile": "Questionnaire-PhysicalActivityAndScreenTime.json", + "fshName": "PhysicalActivityAndScreenTime", + "fshType": "Instance", + "fshFile": "715-Assessment-PhysicalActivityAndScreenTime.fsh", + "startLine": 5, + "endLine": 276 + }, + { + "outputFile": "Questionnaire-RedFlagsEarlyIdentificationGuide.json", + "fshName": "RedFlagsEarlyIdentificationGuide", + "fshType": "Instance", + "fshFile": "715-Assessment-RedFlagsEarlyIdentificationGuide.fsh", + "startLine": 5, + "endLine": 518 + }, + { + "outputFile": "Questionnaire-RegularMedications.json", + "fshName": "RegularMedications", + "fshType": "Instance", + "fshFile": "715-Assessment-RegularMedications.fsh", + "startLine": 5, + "endLine": 157 + }, + { + "outputFile": "Questionnaire-ScreeningPrograms.json", + "fshName": "ScreeningPrograms", + "fshType": "Instance", + "fshFile": "715-Assessment-ScreeningPrograms.fsh", + "startLine": 5, + "endLine": 187 + }, + { + "outputFile": "Questionnaire-SexualHealth.json", + "fshName": "SexualHealth", + "fshType": "Instance", + "fshFile": "715-Assessment-SexualHealth.fsh", + "startLine": 5, + "endLine": 370 + }, + { + "outputFile": "Questionnaire-Skin.json", + "fshName": "Skin", + "fshType": "Instance", + "fshFile": "715-Assessment-Skin.fsh", + "startLine": 5, + "endLine": 168 + }, + { + "outputFile": "Questionnaire-SocialAndEmotionalWellbeing.json", + "fshName": "SocialAndEmotionalWellbeing", + "fshType": "Instance", + "fshFile": "715-Assessment-SocialAndEmotionalWellbeing.fsh", + "startLine": 5, + "endLine": 142 + }, + { + "outputFile": "Questionnaire-SocialHistoryChild.json", + "fshName": "SocialHistoryChild", + "fshType": "Instance", + "fshFile": "715-Assessment-SocialHistoryChild.fsh", + "startLine": 5, + "endLine": 146 + }, + { + "outputFile": "Questionnaire-SubstanceUse.json", + "fshName": "SubstanceUse", + "fshType": "Instance", + "fshFile": "715-Assessment-SubstanceUse.fsh", + "startLine": 5, + "endLine": 209 + }, + { + "outputFile": "StructureDefinition-ContainedResourceReference.json", + "fshName": "ContainedResourceReference", + "fshType": "Extension", + "fshFile": "extensions.fsh", + "startLine": 1, + "endLine": 6 + }, + { + "outputFile": "ValueSet-AboriginalTorresStraitIslander.json", + "fshName": "AboriginalTorresStraitIslander", + "fshType": "ValueSet", + "fshFile": "terminology.fsh", + "startLine": 102, + "endLine": 128 + }, + { + "outputFile": "ValueSet-MedicalHistory.json", + "fshName": "MedicalHistory", + "fshType": "ValueSet", + "fshFile": "terminology.fsh", + "startLine": 172, + "endLine": 178 + }, + { + "outputFile": "ValueSet-PrimaryCarerParentGrandparent.json", + "fshName": "PrimaryCarerParentGrandparent", + "fshType": "ValueSet", + "fshFile": "terminology.fsh", + "startLine": 133, + "endLine": 169 + }, + { + "outputFile": "ValueSet-YesNo.json", + "fshName": "YesNo", + "fshType": "ValueSet", + "fshFile": "terminology.fsh", + "startLine": 79, + "endLine": 98 + }, + { + "outputFile": "ValueSet-YesNoNA.json", + "fshName": "YesNoNA", + "fshType": "ValueSet", + "fshFile": "terminology.fsh", + "startLine": 53, + "endLine": 76 + }, + { + "outputFile": "ValueSet-YesNoNotAskedDeclined.json", + "fshName": "YesNoNotAskedDeclined", + "fshType": "ValueSet", + "fshFile": "terminology.fsh", + "startLine": 16, + "endLine": 51 + }, + { + "outputFile": "ValueSet-australian-states-territories-2.json", + "fshName": "AustralianStatesAndTerritories", + "fshType": "ValueSet", + "fshFile": "terminology.fsh", + "startLine": 497, + "endLine": 559 + }, + { + "outputFile": "ValueSet-biological-sex-1.json", + "fshName": "BiologicalSex", + "fshType": "ValueSet", + "fshFile": "terminology.fsh", + "startLine": 658, + "endLine": 695 + }, + { + "outputFile": "ValueSet-condition-clinical.json", + "fshName": "ConditionClinicalStatusCodes", + "fshType": "ValueSet", + "fshFile": "terminology.fsh", + "startLine": 443, + "endLine": 492 + }, + { + "outputFile": "ValueSet-gender-identity-response-1.json", + "fshName": "GenderIdentityResponse", + "fshType": "ValueSet", + "fshFile": "terminology.fsh", + "startLine": 562, + "endLine": 614 + }, + { + "outputFile": "ValueSet-pronouns.json", + "fshName": "PersonalPronouns", + "fshType": "ValueSet", + "fshFile": "terminology.fsh", + "startLine": 616, + "endLine": 656 + } +] diff --git a/fsh-generated/fsh-index.txt b/fsh-generated/fsh-index.txt new file mode 100644 index 00000000..5c01c990 --- /dev/null +++ b/fsh-generated/fsh-index.txt @@ -0,0 +1,48 @@ +Output File Name Type FSH File Lines +CodeSystem-QuestionnaireItemControlExtended.json QuestionnaireItemControlExtended CodeSystem terminology.fsh 7 - 14 +Questionnaire-AboutTheHealthCheck.json AboutTheHealthCheck Instance 715-AboutTheHealthCheck.fsh 5 - 163 +Questionnaire-AbsoluteCVDRiskCalculation.json AbsoluteCVDRiskCalculation Instance 715-Assessment-AbsoluteCVDRiskCalculation.fsh 5 - 415 +Questionnaire-AllergiesAdverseReactions.json AllergiesAdverseReactions Instance 715-Assessment-AllergiesAdverseReactions.fsh 5 - 103 +Questionnaire-AssemblyInstructions.json AssemblyInstructions Instance 715-AssemblyInstructions.fsh 5 - 577 +Questionnaire-ChronicDiseaseAgeing.json ChronicDiseaseAgeing Instance 715-Assessment-ChronicDiseaseAgeing.fsh 5 - 120 +Questionnaire-Consent.json Consent Instance 715-Consent.fsh 7 - 216 +Questionnaire-CurrentPriorities.json CurrentPriorities Instance 715-Assessment-CurrentPriorities.fsh 5 - 182 +Questionnaire-EarHealthAndHearing.json EarHealthAndHearing Instance 715-Assessment-EarHealthAndHearing.fsh 5 - 321 +Questionnaire-Examination.json Examination Instance 715-Assessment-Examination.fsh 5 - 504 +Questionnaire-EyeHealth.json EyeHealth Instance 715-Assessment-EyeHealth.fsh 5 - 228 +Questionnaire-FamilyHistory.json FamilyHistory Instance 715-Assessment-FamilyHistory.fsh 5 - 126 +Questionnaire-FinalisingHealthCheck.json FinalisingHealthCheck Instance 715-FinalisingHealthCheck.fsh 5 - 448 +Questionnaire-Gambling.json Gambling Instance 715-Assessment-Gambling.fsh 5 - 122 +Questionnaire-HealthPrioritiesSummary.json HealthPrioritiesSummary Instance 715-HealthPrioritiesSummary.fsh 5 - 568 +Questionnaire-HealthyEating.json HealthyEating Instance 715-Assessment-HealthyEating.fsh 5 - 285 +Questionnaire-HomeAndFamily.json HomeAndFamily Instance 715-Assessment-HomeAndFamily.fsh 5 - 155 +Questionnaire-Immunisation.json Immunisation Instance 715-Assessment-Immunisation.fsh 5 - 163 +Questionnaire-Investigations.json Investigations Instance 715-Assessment-Investigations.fsh 5 - 133 +Questionnaire-LearningAndDevelopment.json LearningAndDevelopment Instance 715-Assessment-LearningAndDevelopment.fsh 5 - 224 +Questionnaire-LearningAndWork.json LearningAndWork Instance 715-Assessment-LearningAndWork.fsh 5 - 227 +Questionnaire-MedicalHistoryCurrentProblems.json MedicalHistoryCurrentProblems Instance 715-Assessment-MedicalHistoryCurrentProblems.fsh 5 - 300 +Questionnaire-MemoryAndThinking.json MemoryAndThinking Instance 715-Assessment-MemoryAndThinking.fsh 5 - 155 +Questionnaire-Mood.json Mood Instance 715-Assessment-Mood.fsh 5 - 130 +Questionnaire-OralAndDentalHealth.json OralAndDentalHealth Instance 715-Assessment-OralAndDentalHealth.fsh 5 - 177 +Questionnaire-PatientDetails.json PatientDetails Instance 715-PatientDetails.fsh 5 - 709 +Questionnaire-PhysicalActivityAndScreenTime.json PhysicalActivityAndScreenTime Instance 715-Assessment-PhysicalActivityAndScreenTime.fsh 5 - 276 +Questionnaire-RedFlagsEarlyIdentificationGuide.json RedFlagsEarlyIdentificationGuide Instance 715-Assessment-RedFlagsEarlyIdentificationGuide.fsh 5 - 518 +Questionnaire-RegularMedications.json RegularMedications Instance 715-Assessment-RegularMedications.fsh 5 - 157 +Questionnaire-ScreeningPrograms.json ScreeningPrograms Instance 715-Assessment-ScreeningPrograms.fsh 5 - 187 +Questionnaire-SexualHealth.json SexualHealth Instance 715-Assessment-SexualHealth.fsh 5 - 370 +Questionnaire-Skin.json Skin Instance 715-Assessment-Skin.fsh 5 - 168 +Questionnaire-SocialAndEmotionalWellbeing.json SocialAndEmotionalWellbeing Instance 715-Assessment-SocialAndEmotionalWellbeing.fsh 5 - 142 +Questionnaire-SocialHistoryChild.json SocialHistoryChild Instance 715-Assessment-SocialHistoryChild.fsh 5 - 146 +Questionnaire-SubstanceUse.json SubstanceUse Instance 715-Assessment-SubstanceUse.fsh 5 - 209 +StructureDefinition-ContainedResourceReference.json ContainedResourceReference Extension extensions.fsh 1 - 6 +ValueSet-AboriginalTorresStraitIslander.json AboriginalTorresStraitIslander ValueSet terminology.fsh 102 - 128 +ValueSet-MedicalHistory.json MedicalHistory ValueSet terminology.fsh 172 - 178 +ValueSet-PrimaryCarerParentGrandparent.json PrimaryCarerParentGrandparent ValueSet terminology.fsh 133 - 169 +ValueSet-YesNo.json YesNo ValueSet terminology.fsh 79 - 98 +ValueSet-YesNoNA.json YesNoNA ValueSet terminology.fsh 53 - 76 +ValueSet-YesNoNotAskedDeclined.json YesNoNotAskedDeclined ValueSet terminology.fsh 16 - 51 +ValueSet-australian-states-territories-2.json AustralianStatesAndTerritories ValueSet terminology.fsh 497 - 559 +ValueSet-biological-sex-1.json BiologicalSex ValueSet terminology.fsh 658 - 695 +ValueSet-condition-clinical.json ConditionClinicalStatusCodes ValueSet terminology.fsh 443 - 492 +ValueSet-gender-identity-response-1.json GenderIdentityResponse ValueSet terminology.fsh 562 - 614 +ValueSet-pronouns.json PersonalPronouns ValueSet terminology.fsh 616 - 656 \ No newline at end of file From c9311a9bdaf394f8aff3930e0b3f02323ca10edd Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Thu, 15 Feb 2024 12:04:26 +1000 Subject: [PATCH 010/177] update forms server endpoint --- input/pagecontent/reference-implementation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/input/pagecontent/reference-implementation.md b/input/pagecontent/reference-implementation.md index 5c80531e..15f51a56 100644 --- a/input/pagecontent/reference-implementation.md +++ b/input/pagecontent/reference-implementation.md @@ -15,7 +15,7 @@ If you are interested in using the rendering engine in your projects, a standalo #### Smart Forms Server -Publicly available endpoint here: +Publicly available endpoint here: A Questionnaire-hosting Forms Server API that supports the [$assemble](http://hl7.org/fhir/uv/sdc/OperationDefinition-Questionnaire-assemble.html) operation. This API is built on the [HAPI-FHIR Starter Project](https://github.com/hapifhir/hapi-fhir-jpaserver-starter). From 39f2e2425ac01445cf5444d0bb71c05508f1ba2b Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Tue, 26 Mar 2024 15:37:23 +1000 Subject: [PATCH 011/177] Fix ObsTobaccoSmokingStatus variable code --- input/fsh/715-Assessment-SubstanceUse.fsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/input/fsh/715-Assessment-SubstanceUse.fsh b/input/fsh/715-Assessment-SubstanceUse.fsh index 1e4e9b0e..3b132f95 100644 --- a/input/fsh/715-Assessment-SubstanceUse.fsh +++ b/input/fsh/715-Assessment-SubstanceUse.fsh @@ -49,7 +49,7 @@ Description: "Substance Use sub-questionnaire for Aboriginal and Torres Strait I * valueExpression * name = "ObsTobaccoSmokingStatus" * language = #application/x-fhir-query - * expression = "Observation?code=72166-2&_count=1&_sort=-date&patient={{%patient.id}}" + * expression = "Observation?code=266918002&_count=1&_sort=-date&patient={{%patient.id}}" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" From 8fdc8bde70c569bec2187cfcb1f308205913f025 Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Tue, 2 Apr 2024 15:29:39 +1000 Subject: [PATCH 012/177] dates, gender harmony concepts, emergency contact fix, smoking status query fix, terminology updates --- fsh-generated/fsh-index.json | 2 +- fsh-generated/fsh-index.txt | 2 +- .../Questionnaire-AboutTheHealthCheck.json | 2 +- ...stionnaire-AbsoluteCVDRiskCalculation.json | 2 +- ...estionnaire-AllergiesAdverseReactions.json | 2 +- .../Questionnaire-AssemblyInstructions.json | 2 +- .../Questionnaire-ChronicDiseaseAgeing.json | 2 +- .../resources/Questionnaire-Consent.json | 2 +- .../Questionnaire-CurrentPriorities.json | 2 +- .../Questionnaire-EarHealthAndHearing.json | 2 +- .../resources/Questionnaire-Examination.json | 2 +- .../resources/Questionnaire-EyeHealth.json | 2 +- .../Questionnaire-FamilyHistory.json | 2 +- .../Questionnaire-FinalisingHealthCheck.json | 2 +- .../resources/Questionnaire-Gambling.json | 2 +- ...Questionnaire-HealthPrioritiesSummary.json | 2 +- .../Questionnaire-HealthyEating.json | 2 +- .../Questionnaire-HomeAndFamily.json | 2 +- .../resources/Questionnaire-Immunisation.json | 2 +- .../Questionnaire-Investigations.json | 2 +- .../Questionnaire-LearningAndDevelopment.json | 2 +- .../Questionnaire-LearningAndWork.json | 2 +- ...onnaire-MedicalHistoryCurrentProblems.json | 2 +- .../Questionnaire-MemoryAndThinking.json | 2 +- .../resources/Questionnaire-Mood.json | 2 +- .../Questionnaire-OralAndDentalHealth.json | 2 +- .../Questionnaire-PatientDetails.json | 24 +++- ...onnaire-PhysicalActivityAndScreenTime.json | 2 +- ...aire-RedFlagsEarlyIdentificationGuide.json | 2 +- .../Questionnaire-RegularMedications.json | 2 +- .../Questionnaire-ScreeningPrograms.json | 2 +- .../resources/Questionnaire-SexualHealth.json | 2 +- .../resources/Questionnaire-Skin.json | 2 +- ...tionnaire-SocialAndEmotionalWellbeing.json | 2 +- .../Questionnaire-SocialHistoryChild.json | 2 +- .../resources/Questionnaire-SubstanceUse.json | 4 +- input/fsh/715-AboutTheHealthCheck.fsh | 2 +- input/fsh/715-AssemblyInstructions.fsh | 6 +- ...-Assessment-AbsoluteCVDRiskCalculation.fsh | 2 +- ...5-Assessment-AllergiesAdverseReactions.fsh | 2 +- .../715-Assessment-ChronicDiseaseAgeing.fsh | 2 +- .../fsh/715-Assessment-CurrentPriorities.fsh | 2 +- .../715-Assessment-EarHealthAndHearing.fsh | 2 +- input/fsh/715-Assessment-Examination.fsh | 2 +- input/fsh/715-Assessment-EyeHealth.fsh | 2 +- input/fsh/715-Assessment-FamilyHistory.fsh | 2 +- input/fsh/715-Assessment-Gambling.fsh | 2 +- input/fsh/715-Assessment-HealthyEating.fsh | 2 +- input/fsh/715-Assessment-HomeAndFamily.fsh | 2 +- input/fsh/715-Assessment-Immunisation.fsh | 2 +- input/fsh/715-Assessment-Investigations.fsh | 2 +- .../715-Assessment-LearningAndDevelopment.fsh | 2 +- input/fsh/715-Assessment-LearningAndWork.fsh | 2 +- ...sessment-MedicalHistoryCurrentProblems.fsh | 2 +- .../fsh/715-Assessment-MemoryAndThinking.fsh | 2 +- input/fsh/715-Assessment-Mood.fsh | 2 +- .../715-Assessment-OralAndDentalHealth.fsh | 2 +- ...sessment-PhysicalActivityAndScreenTime.fsh | 2 +- ...sment-RedFlagsEarlyIdentificationGuide.fsh | 2 +- .../fsh/715-Assessment-RegularMedications.fsh | 2 +- .../fsh/715-Assessment-ScreeningPrograms.fsh | 2 +- input/fsh/715-Assessment-SexualHealth.fsh | 2 +- input/fsh/715-Assessment-Skin.fsh | 2 +- ...Assessment-SocialAndEmotionalWellbeing.fsh | 2 +- .../fsh/715-Assessment-SocialHistoryChild.fsh | 2 +- input/fsh/715-Assessment-SubstanceUse.fsh | 2 +- input/fsh/715-Consent.fsh | 2 +- input/fsh/715-FinalisingHealthCheck.fsh | 2 +- input/fsh/715-HealthPrioritiesSummary.fsh | 2 +- input/fsh/715-PatientDetails.fsh | 18 ++- input/fsh/terminology.fsh | 126 ++++++++++-------- 71 files changed, 167 insertions(+), 143 deletions(-) diff --git a/fsh-generated/fsh-index.json b/fsh-generated/fsh-index.json index 73e0e03c..7dd54ef1 100644 --- a/fsh-generated/fsh-index.json +++ b/fsh-generated/fsh-index.json @@ -205,7 +205,7 @@ "fshType": "Instance", "fshFile": "715-PatientDetails.fsh", "startLine": 5, - "endLine": 709 + "endLine": 713 }, { "outputFile": "Questionnaire-PhysicalActivityAndScreenTime.json", diff --git a/fsh-generated/fsh-index.txt b/fsh-generated/fsh-index.txt index 5c01c990..d7d5c7cd 100644 --- a/fsh-generated/fsh-index.txt +++ b/fsh-generated/fsh-index.txt @@ -24,7 +24,7 @@ Questionnaire-MedicalHistoryCurrentProblems.json MedicalHistoryCurrentProble Questionnaire-MemoryAndThinking.json MemoryAndThinking Instance 715-Assessment-MemoryAndThinking.fsh 5 - 155 Questionnaire-Mood.json Mood Instance 715-Assessment-Mood.fsh 5 - 130 Questionnaire-OralAndDentalHealth.json OralAndDentalHealth Instance 715-Assessment-OralAndDentalHealth.fsh 5 - 177 -Questionnaire-PatientDetails.json PatientDetails Instance 715-PatientDetails.fsh 5 - 709 +Questionnaire-PatientDetails.json PatientDetails Instance 715-PatientDetails.fsh 5 - 713 Questionnaire-PhysicalActivityAndScreenTime.json PhysicalActivityAndScreenTime Instance 715-Assessment-PhysicalActivityAndScreenTime.fsh 5 - 276 Questionnaire-RedFlagsEarlyIdentificationGuide.json RedFlagsEarlyIdentificationGuide Instance 715-Assessment-RedFlagsEarlyIdentificationGuide.fsh 5 - 518 Questionnaire-RegularMedications.json RegularMedications Instance 715-Assessment-RegularMedications.fsh 5 - 157 diff --git a/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json b/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json index ae125c86..338c2782 100644 --- a/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json +++ b/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json @@ -350,7 +350,7 @@ "subjectType": [ "Patient" ], - "date": "2022-05-24", + "date": "2024-04-02", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json b/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json index bb1b7d6b..d1b67950 100644 --- a/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json +++ b/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json @@ -699,7 +699,7 @@ "subjectType": [ "Patient" ], - "date": "2022-05-24", + "date": "2024-04-02", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json index 6ede613f..8f860f0d 100644 --- a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json +++ b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json @@ -191,7 +191,7 @@ "subjectType": [ "Patient" ], - "date": "2022-05-24", + "date": "2024-04-02", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json index 4890a4e7..d4fbe549 100644 --- a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json +++ b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json @@ -1752,7 +1752,7 @@ "subjectType": [ "Patient" ], - "date": "2022-05-24", + "date": "2024-04-02", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-ChronicDiseaseAgeing.json b/fsh-generated/resources/Questionnaire-ChronicDiseaseAgeing.json index 3643a520..9b497040 100644 --- a/fsh-generated/resources/Questionnaire-ChronicDiseaseAgeing.json +++ b/fsh-generated/resources/Questionnaire-ChronicDiseaseAgeing.json @@ -208,7 +208,7 @@ "subjectType": [ "Patient" ], - "date": "2022-05-24", + "date": "2024-04-02", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-Consent.json b/fsh-generated/resources/Questionnaire-Consent.json index 89e93a19..c05cca96 100644 --- a/fsh-generated/resources/Questionnaire-Consent.json +++ b/fsh-generated/resources/Questionnaire-Consent.json @@ -538,7 +538,7 @@ "subjectType": [ "Patient" ], - "date": "2022-05-24", + "date": "2024-04-02", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-CurrentPriorities.json b/fsh-generated/resources/Questionnaire-CurrentPriorities.json index 706f0835..33380586 100644 --- a/fsh-generated/resources/Questionnaire-CurrentPriorities.json +++ b/fsh-generated/resources/Questionnaire-CurrentPriorities.json @@ -438,7 +438,7 @@ "subjectType": [ "Patient" ], - "date": "2022-05-24", + "date": "2024-04-02", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json b/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json index 605579d9..c65c5dc8 100644 --- a/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json +++ b/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json @@ -762,7 +762,7 @@ "subjectType": [ "Patient" ], - "date": "2022-05-24", + "date": "2024-04-02", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-Examination.json b/fsh-generated/resources/Questionnaire-Examination.json index 36c67c1c..d5a7d589 100644 --- a/fsh-generated/resources/Questionnaire-Examination.json +++ b/fsh-generated/resources/Questionnaire-Examination.json @@ -1028,7 +1028,7 @@ "subjectType": [ "Patient" ], - "date": "2022-05-24", + "date": "2024-04-02", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-EyeHealth.json b/fsh-generated/resources/Questionnaire-EyeHealth.json index 34e8c716..bf32e047 100644 --- a/fsh-generated/resources/Questionnaire-EyeHealth.json +++ b/fsh-generated/resources/Questionnaire-EyeHealth.json @@ -519,7 +519,7 @@ "subjectType": [ "Patient" ], - "date": "2022-05-24", + "date": "2024-04-02", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-FamilyHistory.json b/fsh-generated/resources/Questionnaire-FamilyHistory.json index c659b221..2b2add10 100644 --- a/fsh-generated/resources/Questionnaire-FamilyHistory.json +++ b/fsh-generated/resources/Questionnaire-FamilyHistory.json @@ -246,7 +246,7 @@ "subjectType": [ "Patient" ], - "date": "2022-05-24", + "date": "2024-04-02", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json b/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json index d90eb091..6b0e6479 100644 --- a/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json +++ b/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json @@ -1055,7 +1055,7 @@ "subjectType": [ "Patient" ], - "date": "2022-05-24", + "date": "2024-04-02", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-Gambling.json b/fsh-generated/resources/Questionnaire-Gambling.json index c093635a..3ada37c8 100644 --- a/fsh-generated/resources/Questionnaire-Gambling.json +++ b/fsh-generated/resources/Questionnaire-Gambling.json @@ -276,7 +276,7 @@ "subjectType": [ "Patient" ], - "date": "2022-05-24", + "date": "2024-04-02", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-HealthPrioritiesSummary.json b/fsh-generated/resources/Questionnaire-HealthPrioritiesSummary.json index d43cd86b..a1f3f00f 100644 --- a/fsh-generated/resources/Questionnaire-HealthPrioritiesSummary.json +++ b/fsh-generated/resources/Questionnaire-HealthPrioritiesSummary.json @@ -963,7 +963,7 @@ "subjectType": [ "Patient" ], - "date": "2022-05-24", + "date": "2024-04-02", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-HealthyEating.json b/fsh-generated/resources/Questionnaire-HealthyEating.json index 7b7c1cfd..c8444800 100644 --- a/fsh-generated/resources/Questionnaire-HealthyEating.json +++ b/fsh-generated/resources/Questionnaire-HealthyEating.json @@ -642,7 +642,7 @@ "subjectType": [ "Patient" ], - "date": "2022-05-24", + "date": "2024-04-02", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-HomeAndFamily.json b/fsh-generated/resources/Questionnaire-HomeAndFamily.json index bd9cc93b..0ce5a8f9 100644 --- a/fsh-generated/resources/Questionnaire-HomeAndFamily.json +++ b/fsh-generated/resources/Questionnaire-HomeAndFamily.json @@ -350,7 +350,7 @@ "subjectType": [ "Patient" ], - "date": "2022-05-24", + "date": "2024-04-02", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-Immunisation.json b/fsh-generated/resources/Questionnaire-Immunisation.json index fd8fbf5b..239ed19d 100644 --- a/fsh-generated/resources/Questionnaire-Immunisation.json +++ b/fsh-generated/resources/Questionnaire-Immunisation.json @@ -362,7 +362,7 @@ "subjectType": [ "Patient" ], - "date": "2022-05-24", + "date": "2024-04-02", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-Investigations.json b/fsh-generated/resources/Questionnaire-Investigations.json index e37a1401..d71cfdb1 100644 --- a/fsh-generated/resources/Questionnaire-Investigations.json +++ b/fsh-generated/resources/Questionnaire-Investigations.json @@ -233,7 +233,7 @@ "subjectType": [ "Patient" ], - "date": "2022-05-24", + "date": "2024-04-02", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-LearningAndDevelopment.json b/fsh-generated/resources/Questionnaire-LearningAndDevelopment.json index f4f1ea70..1029e34c 100644 --- a/fsh-generated/resources/Questionnaire-LearningAndDevelopment.json +++ b/fsh-generated/resources/Questionnaire-LearningAndDevelopment.json @@ -504,7 +504,7 @@ "subjectType": [ "Patient" ], - "date": "2022-05-24", + "date": "2024-04-02", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-LearningAndWork.json b/fsh-generated/resources/Questionnaire-LearningAndWork.json index 77754cce..7308e664 100644 --- a/fsh-generated/resources/Questionnaire-LearningAndWork.json +++ b/fsh-generated/resources/Questionnaire-LearningAndWork.json @@ -576,7 +576,7 @@ "subjectType": [ "Patient" ], - "date": "2022-05-24", + "date": "2024-04-02", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json index cb4226a7..6d377995 100644 --- a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json +++ b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json @@ -485,7 +485,7 @@ "subjectType": [ "Patient" ], - "date": "2022-05-24", + "date": "2024-04-02", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-MemoryAndThinking.json b/fsh-generated/resources/Questionnaire-MemoryAndThinking.json index bbc7d9c3..53a9942f 100644 --- a/fsh-generated/resources/Questionnaire-MemoryAndThinking.json +++ b/fsh-generated/resources/Questionnaire-MemoryAndThinking.json @@ -350,7 +350,7 @@ "subjectType": [ "Patient" ], - "date": "2022-05-24", + "date": "2024-04-02", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-Mood.json b/fsh-generated/resources/Questionnaire-Mood.json index 804732d1..405aa94a 100644 --- a/fsh-generated/resources/Questionnaire-Mood.json +++ b/fsh-generated/resources/Questionnaire-Mood.json @@ -256,7 +256,7 @@ "subjectType": [ "Patient" ], - "date": "2022-05-24", + "date": "2024-04-02", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-OralAndDentalHealth.json b/fsh-generated/resources/Questionnaire-OralAndDentalHealth.json index 620639b9..0ab51ad6 100644 --- a/fsh-generated/resources/Questionnaire-OralAndDentalHealth.json +++ b/fsh-generated/resources/Questionnaire-OralAndDentalHealth.json @@ -400,7 +400,7 @@ "subjectType": [ "Patient" ], - "date": "2022-05-24", + "date": "2024-04-02", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-PatientDetails.json b/fsh-generated/resources/Questionnaire-PatientDetails.json index 67b2b856..3aa44306 100644 --- a/fsh-generated/resources/Questionnaire-PatientDetails.json +++ b/fsh-generated/resources/Questionnaire-PatientDetails.json @@ -131,7 +131,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%patient.extension.where(url='http://hl7.org/fhir/StructureDefinition/individual-pronouns').extension.where(url='value').value.coding" + "expression": "%patient.extension.where(exists(url='http://hl7.org/fhir/StructureDefinition/individual-pronouns') and extension.where(url='period').valuePeriod.end.empty()).extension.where(url='value').value.coding" } }, { @@ -151,7 +151,7 @@ "type": "choice", "repeats": false, "readOnly": true, - "answerValueSet": "http://terminology.hl7.org/ValueSet/pronouns" + "answerValueSet": "https://healthterminologies.gov.au/fhir/ValueSet/australian-pronouns-1" }, { "extension": [ @@ -159,7 +159,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%patient.extension.where(url='http://hl7.org/fhir/StructureDefinition/patient-genderIdentity').value.coding" + "expression": "%patient.extension.where(exists(url='http://hl7.org/fhir/StructureDefinition/individual-genderIdentity') and extension.where(url='period').valuePeriod.end.empty()).extension.where(url='value').value.coding" } }, { @@ -218,7 +218,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%ObsSex.entry.resource.value.coding" + "expression": "%patient.extension.where(exists(url='http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender' and extension.where(exists(url='type' and valueCodeableConcept.coding.code='1515311000168102')) and extension.where(url='effectivePeriod').valuePeriod.end.empty())).extension.where(url='value').value.coding" } }, { @@ -726,6 +726,16 @@ "repeats": true }, { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemPopulationContext", + "valueExpression": { + "name": "EmergencyContactRepeat", + "language": "text/fhirpath", + "expression": "%patient.contact.where(relationship.coding.exists(code = 'C'))" + } + } + ], "item": [ { "extension": [ @@ -733,7 +743,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%patient.contact.where(relationship.coding.exists(code = 'C')).name.select((family | (given | prefix).join(' ')).join(', ').where($this != '') | text)" + "expression": "%EmergencyContactRepeat.name.select((family | (given | prefix).join(' ')).join(', ').where($this != '') | text)" } } ], @@ -778,7 +788,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%patient.contact.where(relationship.coding.exists(code = 'C')).telecom.value" + "expression": "%EmergencyContactRepeat.telecom.value" } } ], @@ -1676,7 +1686,7 @@ "subjectType": [ "Patient" ], - "date": "2022-05-24", + "date": "2024-04-02", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-PhysicalActivityAndScreenTime.json b/fsh-generated/resources/Questionnaire-PhysicalActivityAndScreenTime.json index 2a3ac0e6..08b8c0b3 100644 --- a/fsh-generated/resources/Questionnaire-PhysicalActivityAndScreenTime.json +++ b/fsh-generated/resources/Questionnaire-PhysicalActivityAndScreenTime.json @@ -637,7 +637,7 @@ "subjectType": [ "Patient" ], - "date": "2022-05-24", + "date": "2024-04-02", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-RedFlagsEarlyIdentificationGuide.json b/fsh-generated/resources/Questionnaire-RedFlagsEarlyIdentificationGuide.json index 5d0375d0..4e4d2168 100644 --- a/fsh-generated/resources/Questionnaire-RedFlagsEarlyIdentificationGuide.json +++ b/fsh-generated/resources/Questionnaire-RedFlagsEarlyIdentificationGuide.json @@ -1348,7 +1348,7 @@ "subjectType": [ "Patient" ], - "date": "2022-05-24", + "date": "2024-04-02", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-RegularMedications.json b/fsh-generated/resources/Questionnaire-RegularMedications.json index e93bc620..d5d15790 100644 --- a/fsh-generated/resources/Questionnaire-RegularMedications.json +++ b/fsh-generated/resources/Questionnaire-RegularMedications.json @@ -360,7 +360,7 @@ "subjectType": [ "Patient" ], - "date": "2022-05-24", + "date": "2024-04-02", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-ScreeningPrograms.json b/fsh-generated/resources/Questionnaire-ScreeningPrograms.json index bab7789d..c5376e8b 100644 --- a/fsh-generated/resources/Questionnaire-ScreeningPrograms.json +++ b/fsh-generated/resources/Questionnaire-ScreeningPrograms.json @@ -353,7 +353,7 @@ "subjectType": [ "Patient" ], - "date": "2022-05-24", + "date": "2024-04-02", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-SexualHealth.json b/fsh-generated/resources/Questionnaire-SexualHealth.json index d5620cce..f9786102 100644 --- a/fsh-generated/resources/Questionnaire-SexualHealth.json +++ b/fsh-generated/resources/Questionnaire-SexualHealth.json @@ -836,7 +836,7 @@ "subjectType": [ "Patient" ], - "date": "2022-05-24", + "date": "2024-04-02", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-Skin.json b/fsh-generated/resources/Questionnaire-Skin.json index dba7f037..71486c68 100644 --- a/fsh-generated/resources/Questionnaire-Skin.json +++ b/fsh-generated/resources/Questionnaire-Skin.json @@ -386,7 +386,7 @@ "subjectType": [ "Patient" ], - "date": "2022-05-24", + "date": "2024-04-02", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-SocialAndEmotionalWellbeing.json b/fsh-generated/resources/Questionnaire-SocialAndEmotionalWellbeing.json index 1c343f36..4fcce3e7 100644 --- a/fsh-generated/resources/Questionnaire-SocialAndEmotionalWellbeing.json +++ b/fsh-generated/resources/Questionnaire-SocialAndEmotionalWellbeing.json @@ -325,7 +325,7 @@ "subjectType": [ "Patient" ], - "date": "2022-05-24", + "date": "2024-04-02", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-SocialHistoryChild.json b/fsh-generated/resources/Questionnaire-SocialHistoryChild.json index 05ede033..d040e6a7 100644 --- a/fsh-generated/resources/Questionnaire-SocialHistoryChild.json +++ b/fsh-generated/resources/Questionnaire-SocialHistoryChild.json @@ -341,7 +341,7 @@ "subjectType": [ "Patient" ], - "date": "2022-05-24", + "date": "2024-04-02", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-SubstanceUse.json b/fsh-generated/resources/Questionnaire-SubstanceUse.json index 82361413..97c15ef3 100644 --- a/fsh-generated/resources/Questionnaire-SubstanceUse.json +++ b/fsh-generated/resources/Questionnaire-SubstanceUse.json @@ -401,7 +401,7 @@ "valueExpression": { "name": "ObsTobaccoSmokingStatus", "language": "application/x-fhir-query", - "expression": "Observation?code=72166-2&_count=1&_sort=-date&patient={{%patient.id}}" + "expression": "Observation?code=266918002&_count=1&_sort=-date&patient={{%patient.id}}" } } ], @@ -411,7 +411,7 @@ "subjectType": [ "Patient" ], - "date": "2022-05-24", + "date": "2024-04-02", "jurisdiction": [ { "coding": [ diff --git a/input/fsh/715-AboutTheHealthCheck.fsh b/input/fsh/715-AboutTheHealthCheck.fsh index 024046bf..360376c3 100644 --- a/input/fsh/715-AboutTheHealthCheck.fsh +++ b/input/fsh/715-AboutTheHealthCheck.fsh @@ -67,7 +67,7 @@ Description: "About The Health Check sub-questionnaire for Aboriginal and Torres * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2022-05-24" +* date = "2024-04-02" * jurisdiction.coding = urn:iso:std:iso:3166#AU * item[+] diff --git a/input/fsh/715-AssemblyInstructions.fsh b/input/fsh/715-AssemblyInstructions.fsh index 997aca66..bf3cd1ab 100644 --- a/input/fsh/715-AssemblyInstructions.fsh +++ b/input/fsh/715-AssemblyInstructions.fsh @@ -20,7 +20,7 @@ Description: "Aboriginal and Torres Strait Islander Health Check assessment form * contained[+] = condition-clinical * contained[+] = AboriginalTorresStraitIslander * contained[+] = PrimaryCarerParentGrandparent -* contained[+] = pronouns +* contained[+] = AustralianPronouns * contained[+] = australian-states-territories-2 * contained[+] = gender-identity-response-1 * contained[+] = biological-sex-1 @@ -109,7 +109,7 @@ Description: "Aboriginal and Torres Strait Islander Health Check assessment form * valueReference.reference = "#PrimaryCarerParentGrandparent" * extension[+] * url = "https://smartforms.csiro.au/ig/StructureDefinition/ContainedResourceReference" - * valueReference.reference = "#pronouns" + * valueReference.reference = "#AustralianPronouns" * extension[+] * url = "https://smartforms.csiro.au/ig/StructureDefinition/ContainedResourceReference" * valueReference.reference = "#australian-states-territories-2" @@ -131,7 +131,7 @@ Description: "Aboriginal and Torres Strait Islander Health Check assessment form * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2022-05-24" +* date = "2024-04-02" * jurisdiction.coding = urn:iso:std:iso:3166#AU // Root diff --git a/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh b/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh index 556e41b9..21302b07 100644 --- a/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh +++ b/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh @@ -81,7 +81,7 @@ Description: "Absolute Cardiovascular Disease Risk Calculation sub-questionnaire * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2022-05-24" +* date = "2024-04-02" * jurisdiction.coding = urn:iso:std:iso:3166#AU diff --git a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh index a29be3ce..62c50aac 100644 --- a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh +++ b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh @@ -51,7 +51,7 @@ Description: "Allergies/Adverse Reactions sub-questionnaire for Aboriginal and T * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2022-05-24" +* date = "2024-04-02" * jurisdiction.coding = urn:iso:std:iso:3166#AU * item[+] diff --git a/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh b/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh index 78b9443f..66b79eca 100644 --- a/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh +++ b/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh @@ -52,7 +52,7 @@ Description: "Chronic Disease Ageing sub-questionnaire for Aboriginal and Torres * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2022-05-24" +* date = "2024-04-02" * jurisdiction.coding = urn:iso:std:iso:3166#AU * item[+] diff --git a/input/fsh/715-Assessment-CurrentPriorities.fsh b/input/fsh/715-Assessment-CurrentPriorities.fsh index 6b716c6c..e34a8fba 100644 --- a/input/fsh/715-Assessment-CurrentPriorities.fsh +++ b/input/fsh/715-Assessment-CurrentPriorities.fsh @@ -53,7 +53,7 @@ Description: "Current Priorities sub-questionnaire for Aboriginal and Torres Str * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2022-05-24" +* date = "2024-04-02" * jurisdiction.coding = urn:iso:std:iso:3166#AU * item[+] diff --git a/input/fsh/715-Assessment-EarHealthAndHearing.fsh b/input/fsh/715-Assessment-EarHealthAndHearing.fsh index 477952bc..6e52215b 100644 --- a/input/fsh/715-Assessment-EarHealthAndHearing.fsh +++ b/input/fsh/715-Assessment-EarHealthAndHearing.fsh @@ -53,7 +53,7 @@ Description: "Ear Health And Hearing sub-questionnaire for Aboriginal and Torres * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2022-05-24" +* date = "2024-04-02" * jurisdiction.coding = urn:iso:std:iso:3166#AU * item[+] diff --git a/input/fsh/715-Assessment-Examination.fsh b/input/fsh/715-Assessment-Examination.fsh index 9e9654f6..73732e3b 100644 --- a/input/fsh/715-Assessment-Examination.fsh +++ b/input/fsh/715-Assessment-Examination.fsh @@ -105,7 +105,7 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2022-05-24" +* date = "2024-04-02" * jurisdiction.coding = urn:iso:std:iso:3166#AU diff --git a/input/fsh/715-Assessment-EyeHealth.fsh b/input/fsh/715-Assessment-EyeHealth.fsh index 8b6c689a..d0db7d83 100644 --- a/input/fsh/715-Assessment-EyeHealth.fsh +++ b/input/fsh/715-Assessment-EyeHealth.fsh @@ -53,7 +53,7 @@ Description: "Eye Health sub-questionnaire for Aboriginal and Torres Strait Isla * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2022-05-24" +* date = "2024-04-02" * jurisdiction.coding = urn:iso:std:iso:3166#AU * item[+] diff --git a/input/fsh/715-Assessment-FamilyHistory.fsh b/input/fsh/715-Assessment-FamilyHistory.fsh index 092059f3..04fe2245 100644 --- a/input/fsh/715-Assessment-FamilyHistory.fsh +++ b/input/fsh/715-Assessment-FamilyHistory.fsh @@ -52,7 +52,7 @@ Description: "Family History sub-questionnaire for Aboriginal and Torres Strait * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2022-05-24" +* date = "2024-04-02" * jurisdiction.coding = urn:iso:std:iso:3166#AU * item[+] diff --git a/input/fsh/715-Assessment-Gambling.fsh b/input/fsh/715-Assessment-Gambling.fsh index c92a93d1..f170c799 100644 --- a/input/fsh/715-Assessment-Gambling.fsh +++ b/input/fsh/715-Assessment-Gambling.fsh @@ -53,7 +53,7 @@ Description: "Gambling sub-questionnaire for Aboriginal and Torres Strait Island * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2022-05-24" +* date = "2024-04-02" * jurisdiction.coding = urn:iso:std:iso:3166#AU * item[+] diff --git a/input/fsh/715-Assessment-HealthyEating.fsh b/input/fsh/715-Assessment-HealthyEating.fsh index 06b6bd98..424ac20e 100644 --- a/input/fsh/715-Assessment-HealthyEating.fsh +++ b/input/fsh/715-Assessment-HealthyEating.fsh @@ -53,7 +53,7 @@ Description: "Healthy Eating sub-questionnaire for Aboriginal and Torres Strait * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2022-05-24" +* date = "2024-04-02" * jurisdiction.coding = urn:iso:std:iso:3166#AU diff --git a/input/fsh/715-Assessment-HomeAndFamily.fsh b/input/fsh/715-Assessment-HomeAndFamily.fsh index a6bb9395..9baa33be 100644 --- a/input/fsh/715-Assessment-HomeAndFamily.fsh +++ b/input/fsh/715-Assessment-HomeAndFamily.fsh @@ -53,7 +53,7 @@ Description: "Home And Family sub-questionnaire for Aboriginal and Torres Strait * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2022-05-24" +* date = "2024-04-02" * jurisdiction.coding = urn:iso:std:iso:3166#AU // for adolescents and up diff --git a/input/fsh/715-Assessment-Immunisation.fsh b/input/fsh/715-Assessment-Immunisation.fsh index 2fa9ec27..d448c7d9 100644 --- a/input/fsh/715-Assessment-Immunisation.fsh +++ b/input/fsh/715-Assessment-Immunisation.fsh @@ -53,7 +53,7 @@ Description: "Immunisation sub-questionnaire for Aboriginal and Torres Strait Is * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2022-05-24" +* date = "2024-04-02" * jurisdiction.coding = urn:iso:std:iso:3166#AU * item[+] diff --git a/input/fsh/715-Assessment-Investigations.fsh b/input/fsh/715-Assessment-Investigations.fsh index 0acce3f1..2433dd08 100644 --- a/input/fsh/715-Assessment-Investigations.fsh +++ b/input/fsh/715-Assessment-Investigations.fsh @@ -52,7 +52,7 @@ Description: "Investigations sub-questionnaire for Aboriginal and Torres Strait * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2022-05-24" +* date = "2024-04-02" * jurisdiction.coding = urn:iso:std:iso:3166#AU diff --git a/input/fsh/715-Assessment-LearningAndDevelopment.fsh b/input/fsh/715-Assessment-LearningAndDevelopment.fsh index 46899d26..c0ef3de3 100644 --- a/input/fsh/715-Assessment-LearningAndDevelopment.fsh +++ b/input/fsh/715-Assessment-LearningAndDevelopment.fsh @@ -51,7 +51,7 @@ Description: "Learning And Development sub-questionnaire for Aboriginal and Torr * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2022-05-24" +* date = "2024-04-02" * jurisdiction.coding = urn:iso:std:iso:3166#AU // This questionnaire attempts to somewhat harmonise the infant and adolescent templates but there are differences that will require confirmation. diff --git a/input/fsh/715-Assessment-LearningAndWork.fsh b/input/fsh/715-Assessment-LearningAndWork.fsh index ef7ba752..eb1cb19d 100644 --- a/input/fsh/715-Assessment-LearningAndWork.fsh +++ b/input/fsh/715-Assessment-LearningAndWork.fsh @@ -54,7 +54,7 @@ Description: "Learning And Work sub-questionnaire for Aboriginal and Torres Stra * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2022-05-24" +* date = "2024-04-02" * jurisdiction.coding = urn:iso:std:iso:3166#AU // adolescents and adults diff --git a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh index 92c92ea5..d1897554 100644 --- a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh +++ b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh @@ -62,7 +62,7 @@ Description: "Medical History sub-questionnaire for Aboriginal and Torres Strait * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2022-05-24" +* date = "2024-04-02" * jurisdiction.coding = urn:iso:std:iso:3166#AU * item[+] diff --git a/input/fsh/715-Assessment-MemoryAndThinking.fsh b/input/fsh/715-Assessment-MemoryAndThinking.fsh index f1a551eb..8a92bd51 100644 --- a/input/fsh/715-Assessment-MemoryAndThinking.fsh +++ b/input/fsh/715-Assessment-MemoryAndThinking.fsh @@ -53,7 +53,7 @@ Description: "Memory And Thinking sub-questionnaire for Aboriginal and Torres St * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2022-05-24" +* date = "2024-04-02" * jurisdiction.coding = urn:iso:std:iso:3166#AU * item[+] diff --git a/input/fsh/715-Assessment-Mood.fsh b/input/fsh/715-Assessment-Mood.fsh index edf6874f..bfeed542 100644 --- a/input/fsh/715-Assessment-Mood.fsh +++ b/input/fsh/715-Assessment-Mood.fsh @@ -52,7 +52,7 @@ Description: "Mood sub-questionnaire for Aboriginal and Torres Strait Islander H * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2022-05-24" +* date = "2024-04-02" * jurisdiction.coding = urn:iso:std:iso:3166#AU * item[+] diff --git a/input/fsh/715-Assessment-OralAndDentalHealth.fsh b/input/fsh/715-Assessment-OralAndDentalHealth.fsh index e1ef634a..23fce197 100644 --- a/input/fsh/715-Assessment-OralAndDentalHealth.fsh +++ b/input/fsh/715-Assessment-OralAndDentalHealth.fsh @@ -53,7 +53,7 @@ Description: "Oral And Dental Health sub-questionnaire for Aboriginal and Torres * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2022-05-24" +* date = "2024-04-02" * jurisdiction.coding = urn:iso:std:iso:3166#AU * item[+] diff --git a/input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh b/input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh index 8b910709..0f33a156 100644 --- a/input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh +++ b/input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh @@ -53,7 +53,7 @@ Description: "Physical Activity And Screen Time sub-questionnaire for Aboriginal * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2022-05-24" +* date = "2024-04-02" * jurisdiction.coding = urn:iso:std:iso:3166#AU diff --git a/input/fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh b/input/fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh index cbc52456..fd025df2 100644 --- a/input/fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh +++ b/input/fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh @@ -51,7 +51,7 @@ Description: "Red Flags Early Identification Guide For Children sub-questionnair * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2022-05-24" +* date = "2024-04-02" * jurisdiction.coding = urn:iso:std:iso:3166#AU * item[+] diff --git a/input/fsh/715-Assessment-RegularMedications.fsh b/input/fsh/715-Assessment-RegularMedications.fsh index b5c34b39..e113b571 100644 --- a/input/fsh/715-Assessment-RegularMedications.fsh +++ b/input/fsh/715-Assessment-RegularMedications.fsh @@ -53,7 +53,7 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2022-05-24" +* date = "2024-04-02" * jurisdiction.coding = urn:iso:std:iso:3166#AU * item[+] diff --git a/input/fsh/715-Assessment-ScreeningPrograms.fsh b/input/fsh/715-Assessment-ScreeningPrograms.fsh index 611da9d2..19ee2451 100644 --- a/input/fsh/715-Assessment-ScreeningPrograms.fsh +++ b/input/fsh/715-Assessment-ScreeningPrograms.fsh @@ -51,7 +51,7 @@ Description: "Screening Programs sub-questionnaire for Aboriginal and Torres Str * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2022-05-24" +* date = "2024-04-02" * jurisdiction.coding = urn:iso:std:iso:3166#AU diff --git a/input/fsh/715-Assessment-SexualHealth.fsh b/input/fsh/715-Assessment-SexualHealth.fsh index 369e054a..ba7aaede 100644 --- a/input/fsh/715-Assessment-SexualHealth.fsh +++ b/input/fsh/715-Assessment-SexualHealth.fsh @@ -54,7 +54,7 @@ Description: "Sexual Health sub-questionnaire for Aboriginal and Torres Strait I * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2022-05-24" +* date = "2024-04-02" * jurisdiction.coding = urn:iso:std:iso:3166#AU // Adolescents diff --git a/input/fsh/715-Assessment-Skin.fsh b/input/fsh/715-Assessment-Skin.fsh index 4e0a6ec4..7364da7b 100644 --- a/input/fsh/715-Assessment-Skin.fsh +++ b/input/fsh/715-Assessment-Skin.fsh @@ -53,7 +53,7 @@ Description: "Skin sub-questionnaire for Aboriginal and Torres Strait Islander H * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2022-05-24" +* date = "2024-04-02" * jurisdiction.coding = urn:iso:std:iso:3166#AU diff --git a/input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh b/input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh index 6d4d362b..120af6b1 100644 --- a/input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh +++ b/input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh @@ -53,7 +53,7 @@ Description: "Social And Emotional Wellbeing sub-questionnaire for Aboriginal an * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2022-05-24" +* date = "2024-04-02" * jurisdiction.coding = urn:iso:std:iso:3166#AU * item[+] diff --git a/input/fsh/715-Assessment-SocialHistoryChild.fsh b/input/fsh/715-Assessment-SocialHistoryChild.fsh index b41ecc6c..7a6de199 100644 --- a/input/fsh/715-Assessment-SocialHistoryChild.fsh +++ b/input/fsh/715-Assessment-SocialHistoryChild.fsh @@ -53,7 +53,7 @@ Description: "Social History Child sub-questionnaire for Aboriginal and Torres S * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2022-05-24" +* date = "2024-04-02" * jurisdiction.coding = urn:iso:std:iso:3166#AU * item[+] diff --git a/input/fsh/715-Assessment-SubstanceUse.fsh b/input/fsh/715-Assessment-SubstanceUse.fsh index 3b132f95..d29b0b80 100644 --- a/input/fsh/715-Assessment-SubstanceUse.fsh +++ b/input/fsh/715-Assessment-SubstanceUse.fsh @@ -60,7 +60,7 @@ Description: "Substance Use sub-questionnaire for Aboriginal and Torres Strait I * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2022-05-24" +* date = "2024-04-02" * jurisdiction.coding = urn:iso:std:iso:3166#AU // some linkIds maintained from full assessment questionnaire diff --git a/input/fsh/715-Consent.fsh b/input/fsh/715-Consent.fsh index 5d7b99f3..4ee55908 100644 --- a/input/fsh/715-Consent.fsh +++ b/input/fsh/715-Consent.fsh @@ -55,7 +55,7 @@ Description: "Consent sub-questionnaire for Aboriginal and Torres Strait Islande * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2022-05-24" +* date = "2024-04-02" * jurisdiction.coding = urn:iso:std:iso:3166#AU * item[+] diff --git a/input/fsh/715-FinalisingHealthCheck.fsh b/input/fsh/715-FinalisingHealthCheck.fsh index 99d8245e..d6c6db04 100644 --- a/input/fsh/715-FinalisingHealthCheck.fsh +++ b/input/fsh/715-FinalisingHealthCheck.fsh @@ -52,7 +52,7 @@ Description: "Finalising the Health Check sub-questionnaire for Aboriginal and T * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2022-05-24" +* date = "2024-04-02" * jurisdiction.coding = urn:iso:std:iso:3166#AU diff --git a/input/fsh/715-HealthPrioritiesSummary.fsh b/input/fsh/715-HealthPrioritiesSummary.fsh index 01fb665b..e45d657b 100644 --- a/input/fsh/715-HealthPrioritiesSummary.fsh +++ b/input/fsh/715-HealthPrioritiesSummary.fsh @@ -146,7 +146,7 @@ Description: "Health Priorities, Actions And Follow-Up Summary sub-questionnaire * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2022-05-24" +* date = "2024-04-02" * jurisdiction.coding = urn:iso:std:iso:3166#AU // some linkIds maintained from full assessment questionnaire diff --git a/input/fsh/715-PatientDetails.fsh b/input/fsh/715-PatientDetails.fsh index 303f39e3..5d1b2756 100644 --- a/input/fsh/715-PatientDetails.fsh +++ b/input/fsh/715-PatientDetails.fsh @@ -72,7 +72,7 @@ Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2022-05-24" +* date = "2024-04-02" * jurisdiction.coding = urn:iso:std:iso:3166#AU * item[+] @@ -128,18 +128,18 @@ Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath - * expression = "%patient.extension.where(url='http://hl7.org/fhir/StructureDefinition/individual-pronouns').extension.where(url='value').value.coding" + * expression = "%patient.extension.where(exists(url='http://hl7.org/fhir/StructureDefinition/individual-pronouns') and extension.where(url='period').valuePeriod.end.empty()).extension.where(url='value').value.coding" * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#drop-down * linkId = "540b1034-7c9a-4aba-a9ef-afb77d445a58" * text = "Preferred pronouns" * type = #choice * repeats = false * readOnly = true - * answerValueSet = "http://terminology.hl7.org/ValueSet/pronouns" + * answerValueSet = "https://healthterminologies.gov.au/fhir/ValueSet/australian-pronouns-1" * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath - * expression = "%patient.extension.where(url='http://hl7.org/fhir/StructureDefinition/patient-genderIdentity').value.coding" + * expression = "%patient.extension.where(exists(url='http://hl7.org/fhir/StructureDefinition/individual-genderIdentity') and extension.where(url='period').valuePeriod.end.empty()).extension.where(url='value').value.coding" * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#drop-down * linkId = "f669a4fe-4818-429a-8847-d20da88d2bb3" * text = "Gender identity" @@ -161,7 +161,7 @@ Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath - * expression = "%ObsSex.entry.resource.value.coding" + * expression = "%patient.extension.where(exists(url='http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender' and extension.where(exists(url='type' and valueCodeableConcept.coding.code='1515311000168102')) and extension.where(url='effectivePeriod').valuePeriod.end.empty())).extension.where(url='value').value.coding" * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#drop-down * linkId = "56ef44bb-3d1d-4972-aad1-834b69185d61" * text = "Sex assigned at birth" @@ -400,6 +400,10 @@ Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait * type = #string * repeats = true * item[+] + * extension[sdc-questionnaire-itemPopulationContext].valueExpression + * name = "EmergencyContactRepeat" + * language = #text/fhirpath + * expression = "%patient.contact.where(relationship.coding.exists(code = 'C'))" * linkId = "c22390d3-1be6-4fd1-b775-6443b7239a6b" * text = "Emergency contact" * type = #group @@ -407,7 +411,7 @@ Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath - * expression = "%patient.contact.where(relationship.coding.exists(code = 'C')).name.select((family | (given | prefix).join(' ')).join(', ').where($this != '') | text)" + * expression = "%EmergencyContactRepeat.name.select((family | (given | prefix).join(' ')).join(', ').where($this != '') | text)" * linkId = "d7f2dd75-20c8-480f-8c22-71d604ebee8d" * text = "Name" * type = #string @@ -431,7 +435,7 @@ Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath - * expression = "%patient.contact.where(relationship.coding.exists(code = 'C')).telecom.value" + * expression = "%EmergencyContactRepeat.telecom.value" * linkId = "626e3723-6310-4b99-81c1-525676b027c8" * text = "Phone" * type = #string diff --git a/input/fsh/terminology.fsh b/input/fsh/terminology.fsh index 3de8254c..148d589b 100644 --- a/input/fsh/terminology.fsh +++ b/input/fsh/terminology.fsh @@ -439,12 +439,9 @@ Description: "The Medical History Short List for Adults and Older People value s * $SCT#413307004 // "Mental health" */ - ValueSet: ConditionClinicalStatusCodes Id: condition-clinical Title: "Condition Clinical Status Codes" -Description: "Preferred value set for Condition Clinical Status." -* ^meta.profile = "http://hl7.org/fhir/StructureDefinition/shareablevalueset" * ^extension[0].url = "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg" * ^extension[=].valueCode = #pc * ^extension[+].url = "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status" @@ -454,23 +451,24 @@ Description: "Preferred value set for Condition Clinical Status." * ^url = "http://hl7.org/fhir/ValueSet/condition-clinical" * ^identifier.system = "urn:ietf:rfc:3986" * ^identifier.value = "urn:oid:2.16.840.1.113883.4.642.3.164" -* ^version = "4.3.0" +* ^version = "4.0.1" * ^status = #draft * ^experimental = false -* ^publisher = "FHIR Project team" -* ^contact.telecom.system = #url -* ^contact.telecom.value = "http://hl7.org/fhir" -* ^copyright = "Copyright © 2011+ HL7. Creative Commons 'No Rights Reserved' (CC0)" -* ^expansion.identifier = "5d4bed14-061a-42c4-853d-e6a624c4f483" -* ^expansion.timestamp = "2022-10-20T09:32:48+10:00" +* ^expansion.identifier = "urn:uuid:79d21cca-9f34-4cfa-9020-17eee95eeed8" +* ^expansion.timestamp = "2024-04-02T14:17:12+10:00" * ^expansion.total = 6 -* ^expansion.offset = 0 * ^expansion.parameter[0].name = "version" * ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/condition-clinical|4.0.1" -* ^expansion.parameter[+].name = "count" -* ^expansion.parameter[=].valueInteger = 2147483647 -* ^expansion.parameter[+].name = "offset" -* ^expansion.parameter[=].valueInteger = 0 +* ^expansion.parameter[+].name = "used-codesystem" +* ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/condition-clinical|4.0.1" +* ^expansion.parameter[+].name = "warning-draft" +* ^expansion.parameter[=].valueUri = "http://hl7.org/fhir/ValueSet/condition-clinical|4.0.1" +* ^expansion.parameter[+].name = "warning-trial-use" +* ^expansion.parameter[=].valueUri = "http://hl7.org/fhir/ValueSet/condition-clinical|4.0.1" +* ^expansion.parameter[+].name = "warning-trial-use" +* ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/condition-clinical|4.0.1" +* ^expansion.parameter[+].name = "warning-draft" +* ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/condition-clinical|4.0.1" * ^expansion.contains[0].system = "http://terminology.hl7.org/CodeSystem/condition-clinical" * ^expansion.contains[=].code = #active * ^expansion.contains[=].display = "Active" @@ -491,7 +489,6 @@ Description: "Preferred value set for Condition Clinical Status." * ^expansion.contains[=].display = "Resolved" * include codes from system ConditionClinicalStatusCodes - Alias: $australian-states-territories-1 = https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1 ValueSet: AustralianStatesAndTerritories @@ -562,41 +559,34 @@ Description: "The Australian States and Territories value set includes values th ValueSet: GenderIdentityResponse Id: gender-identity-response-1 Title: "Gender Identity Response" -Description: "The Gender Identity Response value set includes values that may be used to represent a response for an individual’s gender. A person's gender is a social and cultural identity, expression and experience." -* ^meta.profile[0] = "http://hl7.org/fhir/StructureDefinition/shareablevalueset" -* ^meta.profile[+] = "https://healthterminologies.gov.au/fhir/StructureDefinition/composed-value-set-4" * ^url = "https://healthterminologies.gov.au/fhir/ValueSet/gender-identity-response-1" * ^identifier.system = "urn:ietf:rfc:3986" * ^identifier.value = "urn:oid:1.2.36.1.2001.1004.201.10271" -* ^version = "1.0.0" +* ^version = "1.1.0" * ^status = #active * ^experimental = false -* ^date = "2022-09-30" -* ^publisher = "Australian Digital Health Agency" -* ^contact.telecom.system = #email -* ^contact.telecom.value = "help@digitalhealth.gov.au" -* ^copyright = "Copyright © 2022 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/.n\n\"This resource includes SNOMED Clinical Terms™ (SNOMED CT®) which is used by permission of the International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. “SNOMED” and “SNOMED CT” are registered trademarks of the IHTSDO. \n\nThe rights to use and implement or implementation of SNOMED CT content are limited to the extent it is necessary to allow for the end use of this material. No further rights are granted in respect of the International Release and no further use of any SNOMED CT content by any other party is permitted. \n\nThis resource includes material that is based on Australian Institute of Health and Welfare material. This resource includes material that is based on Australian Bureau of Statistics data." -* ^expansion.identifier = "urn:uuid:85c2e561-69ac-41f6-8e9e-07b3072ef48f" -* ^expansion.timestamp = "2023-08-30T10:18:47+10:00" -* ^expansion.total = 5 +* ^copyright = "Copyright © 2022 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/.\n\n\"This resource includes SNOMED Clinical Terms™ (SNOMED CT®) which is used by permission of the International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. “SNOMED” and “SNOMED CT” are registered trademarks of the IHTSDO. \n\nThe rights to use and implement or implementation of SNOMED CT content are limited to the extent it is necessary to allow for the end use of this material. No further rights are granted in respect of the International Release and no further use of any SNOMED CT content by any other party is permitted. \n\nThis resource includes material that is based on Australian Institute of Health and Welfare material. This resource includes material that is based on Australian Bureau of Statistics data. \n\nThis resource also includes all or a portion of material from the HL7 Terminology (THO). THO is copyright ©1989+ Health Level Seven International and is made available under the CC0 designation. For more licensing information see: https://terminology.hl7.org/license." +* ^expansion.identifier = "urn:uuid:a35fc104-184f-476e-a7a2-e3f3af66a3eb" +* ^expansion.timestamp = "2024-04-02T14:21:20+10:00" +* ^expansion.total = 6 * ^expansion.parameter[0].name = "version" -* ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" +* ^expansion.parameter[=].valueUri = "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" * ^expansion.parameter[+].name = "used-codesystem" -* ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" +* ^expansion.parameter[=].valueUri = "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" * ^expansion.parameter[+].name = "version" -* ^expansion.parameter[=].valueUri = "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20230831" +* ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" * ^expansion.parameter[+].name = "used-codesystem" -* ^expansion.parameter[=].valueUri = "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20230831" +* ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" * ^expansion.contains[0].system = "http://snomed.info/sct" -* ^expansion.contains[=].version = "http://snomed.info/sct/32506021000036107/version/20230831" +* ^expansion.contains[=].version = "http://snomed.info/sct/32506021000036107/version/20240331" * ^expansion.contains[=].code = #446151000124109 * ^expansion.contains[=].display = "Identifies as male gender" * ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].version = "http://snomed.info/sct/32506021000036107/version/20230831" +* ^expansion.contains[=].version = "http://snomed.info/sct/32506021000036107/version/20240331" * ^expansion.contains[=].code = #446141000124107 * ^expansion.contains[=].display = "Identifies as female gender" * ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].version = "http://snomed.info/sct/32506021000036107/version/20230831" +* ^expansion.contains[=].version = "http://snomed.info/sct/32506021000036107/version/20240331" * ^expansion.contains[=].code = #33791000087105 * ^expansion.contains[=].display = "Identifies as nonbinary gender" * ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/data-absent-reason" @@ -607,53 +597,73 @@ Description: "The Gender Identity Response value set includes values that may be * ^expansion.contains[=].version = "5.0.0-ballot" * ^expansion.contains[=].code = #asked-declined * ^expansion.contains[=].display = "Asked But Declined" +* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/data-absent-reason" +* ^expansion.contains[=].version = "5.0.0-ballot" +* ^expansion.contains[=].code = #not-asked +* ^expansion.contains[=].display = "Not Asked" * $SCT#446151000124109 * $SCT#446141000124107 * $SCT#33791000087105 * DataAbsentReason#unknown * DataAbsentReason#asked-declined +* DataAbsentReason#not-asked -ValueSet: PersonalPronouns -Id: pronouns -Title: "Personal Pronouns" -Description: "Codes that indicate the pronouns to be used when communicating with or about an individual." -* ^meta.profile = "http://hl7.org/fhir/StructureDefinition/shareablevalueset" -* ^extension[0].url = "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg" -* ^extension[=].valueCode = #pa -* ^extension[+].url = "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status" -* ^extension[=].valueCode = #trial-use -* ^extension[+].url = "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm" -* ^extension[=].valueInteger = 1 -* ^url = "http://terminology.hl7.org/ValueSet/pronouns" +ValueSet: AustralianPronouns +Id: AustralianPronouns +Title: "Australian Pronouns" +* ^url = "https://healthterminologies.gov.au/fhir/ValueSet/australian-pronouns-1" * ^identifier.system = "urn:ietf:rfc:3986" -* ^identifier.value = "urn:oid:2.16.840.1.113883.4.642.3.3290" +* ^identifier.value = "urn:oid:1.2.36.1.2001.1004.201.10284" * ^version = "1.0.0" * ^status = #active * ^experimental = false -* ^date = "2023-07-17T22:16:15-06:00" -* ^publisher = "FHIR Project team" -* ^contact.telecom.system = #url -* ^contact.telecom.value = "http://hl7.org/fhir" -* ^copyright = "This material contains content from LOINC (http://loinc.org). LOINC is copyright © 1995-2020, Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee and is available at no cost under the license at http://loinc.org/license. LOINC® is a registered United States trademark of Regenstrief Institute, Inc" -* ^expansion.identifier = "urn:uuid:220b830c-6a1b-43e7-81e0-ccf92485fcdf" -* ^expansion.timestamp = "2023-10-17T10:42:37+10:00" -* ^expansion.total = 3 +* ^copyright = "Copyright © 2024 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\nThis material contains content from LOINC (http://loinc.org). LOINC is copyright 1995-2024, Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee and is available at no cost under the license at http://loinc.org/license. LOINC® is a registered United States trademark of Regenstrief Institute, Inc.\n\nThis material contains information which is protected by copyright. You may download, display, print and reproduce any material for your personal, non-commercial use or use within your organisation subject to the following terms and conditions: \n\nThis resource also includes all or a portion of material from the HL7 Terminology (THO). THO is copyright ©1989+ Health Level Seven International and is made available under the CC0 designation. For more licensing information see: https://terminology.hl7.org/license." +* ^expansion.identifier = "urn:uuid:ca145c1c-4915-4957-888a-39e69de8b1ad" +* ^expansion.timestamp = "2024-04-02T14:25:01+10:00" +* ^expansion.total = 7 * ^expansion.parameter[0].name = "version" -* ^expansion.parameter[=].valueUri = "http://loinc.org|2.76" +* ^expansion.parameter[=].valueUri = "http://loinc.org|2.77" * ^expansion.parameter[+].name = "used-codesystem" -* ^expansion.parameter[=].valueUri = "http://loinc.org|2.76" +* ^expansion.parameter[=].valueUri = "http://loinc.org|2.77" +* ^expansion.parameter[+].name = "version" +* ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" +* ^expansion.parameter[+].name = "used-codesystem" +* ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" * ^expansion.contains[0].system = "http://loinc.org" +* ^expansion.contains[=].version = "2.77" * ^expansion.contains[=].code = #LA29518-0 * ^expansion.contains[=].display = "he/him/his/his/himself" * ^expansion.contains[+].system = "http://loinc.org" +* ^expansion.contains[=].version = "2.77" * ^expansion.contains[=].code = #LA29519-8 * ^expansion.contains[=].display = "she/her/her/hers/herself" * ^expansion.contains[+].system = "http://loinc.org" +* ^expansion.contains[=].version = "2.77" * ^expansion.contains[=].code = #LA29520-6 * ^expansion.contains[=].display = "they/them/their/theirs/themselves" +* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/data-absent-reason" +* ^expansion.contains[=].version = "5.0.0-ballot" +* ^expansion.contains[=].code = #asked-declined +* ^expansion.contains[=].display = "Asked But Declined" +* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/data-absent-reason" +* ^expansion.contains[=].version = "5.0.0-ballot" +* ^expansion.contains[=].code = #asked-unknown +* ^expansion.contains[=].display = "Asked But Unknown" +* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/data-absent-reason" +* ^expansion.contains[=].version = "5.0.0-ballot" +* ^expansion.contains[=].code = #not-asked +* ^expansion.contains[=].display = "Not Asked" +* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/data-absent-reason" +* ^expansion.contains[=].version = "5.0.0-ballot" +* ^expansion.contains[=].code = #unknown +* ^expansion.contains[=].display = "Unknown" * LOINC#LA29518-0 "he/him/his/his/himself" * LOINC#LA29519-8 "she/her/her/hers/herself" * LOINC#LA29520-6 "they/them/their/theirs/themselves" +* DataAbsentReason#unknown +* DataAbsentReason#asked-declined +* DataAbsentReason#not-asked +* DataAbsentReason#asked-unknown ValueSet: BiologicalSex Id: biological-sex-1 From 61f8865b7a551a2171d576bb25e79264fcd7d31c Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Wed, 3 Apr 2024 16:33:46 +1000 Subject: [PATCH 013/177] alignment changes --- fsh-generated/fsh-index.json | 32 +-- fsh-generated/fsh-index.txt | 10 +- fsh-generated/includes/fsh-link-references.md | 2 +- ...ntationGuide-csiro.fhir.au.smartforms.json | 20 +- .../Questionnaire-AssemblyInstructions.json | 195 ++++++++++-------- .../ValueSet-australian-pronouns-1.json | 123 +++++++++++ .../ValueSet-condition-clinical.json | 33 +-- .../ValueSet-gender-identity-response-1.json | 53 ++--- .../resources/ValueSet-pronouns.json | 102 --------- input/fsh/715-AssemblyInstructions.fsh | 4 +- input/fsh/capability.fsh | 21 +- input/fsh/terminology.fsh | 9 +- input/pagecontent/terminology.md | 2 +- ...iginalTorresStraitIslanderHealthCheck.json | 26 +-- ...bilityStatement-SmartFormsApplication.json | 10 +- sushi-config.yaml | 2 +- 16 files changed, 326 insertions(+), 318 deletions(-) create mode 100644 fsh-generated/resources/ValueSet-australian-pronouns-1.json delete mode 100644 fsh-generated/resources/ValueSet-pronouns.json diff --git a/fsh-generated/fsh-index.json b/fsh-generated/fsh-index.json index 7dd54ef1..77265261 100644 --- a/fsh-generated/fsh-index.json +++ b/fsh-generated/fsh-index.json @@ -335,44 +335,44 @@ "startLine": 16, "endLine": 51 }, + { + "outputFile": "ValueSet-australian-pronouns-1.json", + "fshName": "AustralianPronouns", + "fshType": "ValueSet", + "fshFile": "terminology.fsh", + "startLine": 617, + "endLine": 673 + }, { "outputFile": "ValueSet-australian-states-territories-2.json", "fshName": "AustralianStatesAndTerritories", "fshType": "ValueSet", "fshFile": "terminology.fsh", - "startLine": 497, - "endLine": 559 + "startLine": 499, + "endLine": 561 }, { "outputFile": "ValueSet-biological-sex-1.json", "fshName": "BiologicalSex", "fshType": "ValueSet", "fshFile": "terminology.fsh", - "startLine": 658, - "endLine": 695 + "startLine": 675, + "endLine": 712 }, { "outputFile": "ValueSet-condition-clinical.json", "fshName": "ConditionClinicalStatusCodes", "fshType": "ValueSet", "fshFile": "terminology.fsh", - "startLine": 443, - "endLine": 492 + "startLine": 442, + "endLine": 495 }, { "outputFile": "ValueSet-gender-identity-response-1.json", "fshName": "GenderIdentityResponse", "fshType": "ValueSet", "fshFile": "terminology.fsh", - "startLine": 562, - "endLine": 614 - }, - { - "outputFile": "ValueSet-pronouns.json", - "fshName": "PersonalPronouns", - "fshType": "ValueSet", - "fshFile": "terminology.fsh", - "startLine": 616, - "endLine": 656 + "startLine": 564, + "endLine": 615 } ] diff --git a/fsh-generated/fsh-index.txt b/fsh-generated/fsh-index.txt index d7d5c7cd..4b4e3ad1 100644 --- a/fsh-generated/fsh-index.txt +++ b/fsh-generated/fsh-index.txt @@ -41,8 +41,8 @@ ValueSet-PrimaryCarerParentGrandparent.json PrimaryCarerParentGrandpare ValueSet-YesNo.json YesNo ValueSet terminology.fsh 79 - 98 ValueSet-YesNoNA.json YesNoNA ValueSet terminology.fsh 53 - 76 ValueSet-YesNoNotAskedDeclined.json YesNoNotAskedDeclined ValueSet terminology.fsh 16 - 51 -ValueSet-australian-states-territories-2.json AustralianStatesAndTerritories ValueSet terminology.fsh 497 - 559 -ValueSet-biological-sex-1.json BiologicalSex ValueSet terminology.fsh 658 - 695 -ValueSet-condition-clinical.json ConditionClinicalStatusCodes ValueSet terminology.fsh 443 - 492 -ValueSet-gender-identity-response-1.json GenderIdentityResponse ValueSet terminology.fsh 562 - 614 -ValueSet-pronouns.json PersonalPronouns ValueSet terminology.fsh 616 - 656 \ No newline at end of file +ValueSet-australian-pronouns-1.json AustralianPronouns ValueSet terminology.fsh 617 - 673 +ValueSet-australian-states-territories-2.json AustralianStatesAndTerritories ValueSet terminology.fsh 499 - 561 +ValueSet-biological-sex-1.json BiologicalSex ValueSet terminology.fsh 675 - 712 +ValueSet-condition-clinical.json ConditionClinicalStatusCodes ValueSet terminology.fsh 442 - 495 +ValueSet-gender-identity-response-1.json GenderIdentityResponse ValueSet terminology.fsh 564 - 615 \ No newline at end of file diff --git a/fsh-generated/includes/fsh-link-references.md b/fsh-generated/includes/fsh-link-references.md index 674d8a3e..0dcf59e9 100644 --- a/fsh-generated/includes/fsh-link-references.md +++ b/fsh-generated/includes/fsh-link-references.md @@ -33,13 +33,13 @@ [SocialHistoryChild]: Questionnaire-SocialHistoryChild.html [SubstanceUse]: Questionnaire-SubstanceUse.html [AboriginalTorresStraitIslander]: ValueSet-AboriginalTorresStraitIslander.html +[AustralianPronouns]: ValueSet-australian-pronouns-1.html [AustralianStatesAndTerritories]: ValueSet-australian-states-territories-2.html [BiologicalSex]: ValueSet-biological-sex-1.html [ConditionClinicalStatusCodes]: ValueSet-condition-clinical.html [ContainedResourceReference]: StructureDefinition-ContainedResourceReference.html [GenderIdentityResponse]: ValueSet-gender-identity-response-1.html [MedicalHistory]: ValueSet-MedicalHistory.html -[PersonalPronouns]: ValueSet-pronouns.html [PhysicalActivityAndScreenTime]: Questionnaire-PhysicalActivityAndScreenTime.html [PrimaryCarerParentGrandparent]: ValueSet-PrimaryCarerParentGrandparent.html [QuestionnaireItemControlExtended]: CodeSystem-QuestionnaireItemControlExtended.html diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index d8acdae9..ffb62bb2 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -29,7 +29,7 @@ "dependsOn": [ { "packageId": "hl7.fhir.au.core", - "version": "0.2.0-preview", + "version": "0.3.0-ballot", "uri": "http://hl7.org.au/fhir/core/ImplementationGuide/hl7.fhir.au.core", "id": "hl7_fhir_au_core" }, @@ -322,6 +322,14 @@ "description": "The Aboriginal and/or Torres Strait Islander value set includes the Australian Indigenous statuses for Indigenous people.", "exampleBoolean": false }, + { + "reference": { + "reference": "ValueSet/australian-pronouns-1" + }, + "name": "Australian Pronouns", + "description": "The Australian Pronouns value set includes values that indicate the pronouns to be used when communicating with or about an individual.", + "exampleBoolean": false + }, { "reference": { "reference": "ValueSet/australian-states-territories-2" @@ -359,7 +367,7 @@ "reference": "ValueSet/gender-identity-response-1" }, "name": "Gender Identity Response", - "description": "The Gender Identity Response value set includes values that may be used to represent a response for an individual’s gender. A person's gender is a social and cultural identity, expression and experience.", + "description": "The Gender Identity Response value set includes values that may be used to represent a response for an individual's gender. A person's gender is a social and cultural identity, expression and experience.", "exampleBoolean": false }, { @@ -370,14 +378,6 @@ "description": "The Medical History value set includes values that may be used to represent medical history, operations and hospital admissions.", "exampleBoolean": false }, - { - "reference": { - "reference": "ValueSet/pronouns" - }, - "name": "Personal Pronouns", - "description": "Codes that indicate the pronouns to be used when communicating with or about an individual.", - "exampleBoolean": false - }, { "reference": { "reference": "Questionnaire/PhysicalActivityAndScreenTime" diff --git a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json index d4fbe549..ebb508cc 100644 --- a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json +++ b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json @@ -910,11 +910,6 @@ { "resourceType": "ValueSet", "id": "condition-clinical", - "meta": { - "profile": [ - "http://hl7.org/fhir/StructureDefinition/shareablevalueset" - ] - }, "status": "draft", "name": "ConditionClinicalStatusCodes", "title": "Condition Clinical Status Codes", @@ -940,7 +935,7 @@ "value": "urn:oid:2.16.840.1.113883.4.642.3.164" } ], - "version": "4.3.0", + "version": "4.0.1", "experimental": false, "publisher": "FHIR Project team", "contact": [ @@ -953,24 +948,34 @@ ] } ], - "copyright": "Copyright © 2011+ HL7. Creative Commons 'No Rights Reserved' (CC0)", "expansion": { - "identifier": "5d4bed14-061a-42c4-853d-e6a624c4f483", - "timestamp": "2022-10-20T09:32:48+10:00", + "identifier": "urn:uuid:79d21cca-9f34-4cfa-9020-17eee95eeed8", + "timestamp": "2024-04-02T14:17:12+10:00", "total": 6, - "offset": 0, "parameter": [ { "name": "version", "valueUri": "http://terminology.hl7.org/CodeSystem/condition-clinical|4.0.1" }, { - "name": "count", - "valueInteger": 2147483647 + "name": "used-codesystem", + "valueUri": "http://terminology.hl7.org/CodeSystem/condition-clinical|4.0.1" }, { - "name": "offset", - "valueInteger": 0 + "name": "warning-draft", + "valueUri": "http://hl7.org/fhir/ValueSet/condition-clinical|4.0.1" + }, + { + "name": "warning-trial-use", + "valueUri": "http://hl7.org/fhir/ValueSet/condition-clinical|4.0.1" + }, + { + "name": "warning-trial-use", + "valueUri": "http://terminology.hl7.org/CodeSystem/condition-clinical|4.0.1" + }, + { + "name": "warning-draft", + "valueUri": "http://terminology.hl7.org/CodeSystem/condition-clinical|4.0.1" } ], "contains": [ @@ -1170,81 +1175,85 @@ }, { "resourceType": "ValueSet", - "id": "pronouns", - "meta": { - "profile": [ - "http://hl7.org/fhir/StructureDefinition/shareablevalueset" - ] - }, + "id": "australian-pronouns-1", "status": "active", - "name": "PersonalPronouns", - "title": "Personal Pronouns", - "description": "Codes that indicate the pronouns to be used when communicating with or about an individual.", - "url": "http://terminology.hl7.org/ValueSet/pronouns", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg", - "valueCode": "pa" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", - "valueCode": "trial-use" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm", - "valueInteger": 1 - } - ], + "name": "AustralianPronouns", + "title": "Australian Pronouns", + "description": "The Australian Pronouns value set includes values that indicate the pronouns to be used when communicating with or about an individual.", + "url": "https://healthterminologies.gov.au/fhir/ValueSet/australian-pronouns-1", "identifier": [ { "system": "urn:ietf:rfc:3986", - "value": "urn:oid:2.16.840.1.113883.4.642.3.3290" + "value": "urn:oid:1.2.36.1.2001.1004.201.10284" } ], "version": "1.0.0", "experimental": false, - "date": "2023-07-17T22:16:15-06:00", - "publisher": "FHIR Project team", - "contact": [ - { - "telecom": [ - { - "system": "url", - "value": "http://hl7.org/fhir" - } - ] - } - ], - "copyright": "This material contains content from LOINC (http://loinc.org). LOINC is copyright © 1995-2020, Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee and is available at no cost under the license at http://loinc.org/license. LOINC® is a registered United States trademark of Regenstrief Institute, Inc", + "copyright": "Copyright © 2024 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\nThis material contains content from LOINC (http://loinc.org). LOINC is copyright 1995-2024, Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee and is available at no cost under the license at http://loinc.org/license. LOINC® is a registered United States trademark of Regenstrief Institute, Inc.\n\nThis material contains information which is protected by copyright. You may download, display, print and reproduce any material for your personal, non-commercial use or use within your organisation subject to the following terms and conditions: \n\nThis resource also includes all or a portion of material from the HL7 Terminology (THO). THO is copyright ©1989+ Health Level Seven International and is made available under the CC0 designation. For more licensing information see: https://terminology.hl7.org/license.", "expansion": { - "identifier": "urn:uuid:220b830c-6a1b-43e7-81e0-ccf92485fcdf", - "timestamp": "2023-10-17T10:42:37+10:00", - "total": 3, + "identifier": "urn:uuid:ca145c1c-4915-4957-888a-39e69de8b1ad", + "timestamp": "2024-04-02T14:25:01+10:00", + "total": 7, "parameter": [ { "name": "version", - "valueUri": "http://loinc.org|2.76" + "valueUri": "http://loinc.org|2.77" }, { "name": "used-codesystem", - "valueUri": "http://loinc.org|2.76" + "valueUri": "http://loinc.org|2.77" + }, + { + "name": "version", + "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" + }, + { + "name": "used-codesystem", + "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" } ], "contains": [ { "system": "http://loinc.org", + "version": "2.77", "code": "LA29518-0", "display": "he/him/his/his/himself" }, { "system": "http://loinc.org", + "version": "2.77", "code": "LA29519-8", "display": "she/her/her/hers/herself" }, { "system": "http://loinc.org", + "version": "2.77", "code": "LA29520-6", "display": "they/them/their/theirs/themselves" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "version": "5.0.0-ballot", + "code": "asked-declined", + "display": "Asked But Declined" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "version": "5.0.0-ballot", + "code": "asked-unknown", + "display": "Asked But Unknown" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "version": "5.0.0-ballot", + "code": "not-asked", + "display": "Not Asked" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "version": "5.0.0-ballot", + "code": "unknown", + "display": "Unknown" } ] }, @@ -1266,6 +1275,23 @@ "display": "they/them/their/theirs/themselves" } ] + }, + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "concept": [ + { + "code": "unknown" + }, + { + "code": "asked-declined" + }, + { + "code": "not-asked" + }, + { + "code": "asked-unknown" + } + ] } ] } @@ -1412,16 +1438,10 @@ { "resourceType": "ValueSet", "id": "gender-identity-response-1", - "meta": { - "profile": [ - "http://hl7.org/fhir/StructureDefinition/shareablevalueset", - "https://healthterminologies.gov.au/fhir/StructureDefinition/composed-value-set-4" - ] - }, "status": "active", "name": "GenderIdentityResponse", "title": "Gender Identity Response", - "description": "The Gender Identity Response value set includes values that may be used to represent a response for an individual’s gender. A person's gender is a social and cultural identity, expression and experience.", + "description": "The Gender Identity Response value set includes values that may be used to represent a response for an individual's gender. A person's gender is a social and cultural identity, expression and experience.", "url": "https://healthterminologies.gov.au/fhir/ValueSet/gender-identity-response-1", "identifier": [ { @@ -1429,59 +1449,47 @@ "value": "urn:oid:1.2.36.1.2001.1004.201.10271" } ], - "version": "1.0.0", + "version": "1.1.0", "experimental": false, - "date": "2022-09-30", - "publisher": "Australian Digital Health Agency", - "contact": [ - { - "telecom": [ - { - "system": "email", - "value": "help@digitalhealth.gov.au" - } - ] - } - ], - "copyright": "Copyright © 2022 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/.n\n\"This resource includes SNOMED Clinical Terms™ (SNOMED CT®) which is used by permission of the International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. “SNOMED” and “SNOMED CT” are registered trademarks of the IHTSDO. \n\nThe rights to use and implement or implementation of SNOMED CT content are limited to the extent it is necessary to allow for the end use of this material. No further rights are granted in respect of the International Release and no further use of any SNOMED CT content by any other party is permitted. \n\nThis resource includes material that is based on Australian Institute of Health and Welfare material. This resource includes material that is based on Australian Bureau of Statistics data.", + "copyright": "Copyright © 2022 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/.\n\n\"This resource includes SNOMED Clinical Terms™ (SNOMED CT®) which is used by permission of the International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. “SNOMED” and “SNOMED CT” are registered trademarks of the IHTSDO. \n\nThe rights to use and implement or implementation of SNOMED CT content are limited to the extent it is necessary to allow for the end use of this material. No further rights are granted in respect of the International Release and no further use of any SNOMED CT content by any other party is permitted. \n\nThis resource includes material that is based on Australian Institute of Health and Welfare material. This resource includes material that is based on Australian Bureau of Statistics data. \n\nThis resource also includes all or a portion of material from the HL7 Terminology (THO). THO is copyright ©1989+ Health Level Seven International and is made available under the CC0 designation. For more licensing information see: https://terminology.hl7.org/license.", "expansion": { - "identifier": "urn:uuid:85c2e561-69ac-41f6-8e9e-07b3072ef48f", - "timestamp": "2023-08-30T10:18:47+10:00", - "total": 5, + "identifier": "urn:uuid:a35fc104-184f-476e-a7a2-e3f3af66a3eb", + "timestamp": "2024-04-02T14:21:20+10:00", + "total": 6, "parameter": [ { "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" }, { "name": "used-codesystem", - "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" }, { "name": "version", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20230831" + "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" }, { "name": "used-codesystem", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20230831" + "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" } ], "contains": [ { "system": "http://snomed.info/sct", - "version": "http://snomed.info/sct/32506021000036107/version/20230831", + "version": "http://snomed.info/sct/32506021000036107/version/20240331", "code": "446151000124109", "display": "Identifies as male gender" }, { "system": "http://snomed.info/sct", - "version": "http://snomed.info/sct/32506021000036107/version/20230831", + "version": "http://snomed.info/sct/32506021000036107/version/20240331", "code": "446141000124107", "display": "Identifies as female gender" }, { "system": "http://snomed.info/sct", - "version": "http://snomed.info/sct/32506021000036107/version/20230831", + "version": "http://snomed.info/sct/32506021000036107/version/20240331", "code": "33791000087105", "display": "Identifies as nonbinary gender" }, @@ -1496,6 +1504,12 @@ "version": "5.0.0-ballot", "code": "asked-declined", "display": "Asked But Declined" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "version": "5.0.0-ballot", + "code": "not-asked", + "display": "Not Asked" } ] }, @@ -1523,6 +1537,9 @@ }, { "code": "asked-declined" + }, + { + "code": "not-asked" } ] } @@ -1723,7 +1740,7 @@ { "url": "https://smartforms.csiro.au/ig/StructureDefinition/ContainedResourceReference", "valueReference": { - "reference": "#pronouns" + "reference": "#australian-pronouns-1" } }, { diff --git a/fsh-generated/resources/ValueSet-australian-pronouns-1.json b/fsh-generated/resources/ValueSet-australian-pronouns-1.json new file mode 100644 index 00000000..d51fd897 --- /dev/null +++ b/fsh-generated/resources/ValueSet-australian-pronouns-1.json @@ -0,0 +1,123 @@ +{ + "resourceType": "ValueSet", + "status": "active", + "name": "AustralianPronouns", + "id": "australian-pronouns-1", + "title": "Australian Pronouns", + "description": "The Australian Pronouns value set includes values that indicate the pronouns to be used when communicating with or about an individual.", + "url": "https://healthterminologies.gov.au/fhir/ValueSet/australian-pronouns-1", + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:oid:1.2.36.1.2001.1004.201.10284" + } + ], + "version": "1.0.0", + "experimental": false, + "copyright": "Copyright © 2024 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\nThis material contains content from LOINC (http://loinc.org). LOINC is copyright 1995-2024, Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee and is available at no cost under the license at http://loinc.org/license. LOINC® is a registered United States trademark of Regenstrief Institute, Inc.\n\nThis material contains information which is protected by copyright. You may download, display, print and reproduce any material for your personal, non-commercial use or use within your organisation subject to the following terms and conditions: \n\nThis resource also includes all or a portion of material from the HL7 Terminology (THO). THO is copyright ©1989+ Health Level Seven International and is made available under the CC0 designation. For more licensing information see: https://terminology.hl7.org/license.", + "expansion": { + "identifier": "urn:uuid:ca145c1c-4915-4957-888a-39e69de8b1ad", + "timestamp": "2024-04-02T14:25:01+10:00", + "total": 7, + "parameter": [ + { + "name": "version", + "valueUri": "http://loinc.org|2.77" + }, + { + "name": "used-codesystem", + "valueUri": "http://loinc.org|2.77" + }, + { + "name": "version", + "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" + }, + { + "name": "used-codesystem", + "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" + } + ], + "contains": [ + { + "system": "http://loinc.org", + "version": "2.77", + "code": "LA29518-0", + "display": "he/him/his/his/himself" + }, + { + "system": "http://loinc.org", + "version": "2.77", + "code": "LA29519-8", + "display": "she/her/her/hers/herself" + }, + { + "system": "http://loinc.org", + "version": "2.77", + "code": "LA29520-6", + "display": "they/them/their/theirs/themselves" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "version": "5.0.0-ballot", + "code": "asked-declined", + "display": "Asked But Declined" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "version": "5.0.0-ballot", + "code": "asked-unknown", + "display": "Asked But Unknown" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "version": "5.0.0-ballot", + "code": "not-asked", + "display": "Not Asked" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "version": "5.0.0-ballot", + "code": "unknown", + "display": "Unknown" + } + ] + }, + "compose": { + "include": [ + { + "system": "http://loinc.org", + "concept": [ + { + "code": "LA29518-0", + "display": "he/him/his/his/himself" + }, + { + "code": "LA29519-8", + "display": "she/her/her/hers/herself" + }, + { + "code": "LA29520-6", + "display": "they/them/their/theirs/themselves" + } + ] + }, + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "concept": [ + { + "code": "unknown" + }, + { + "code": "asked-declined" + }, + { + "code": "not-asked" + }, + { + "code": "asked-unknown" + } + ] + } + ] + } +} diff --git a/fsh-generated/resources/ValueSet-condition-clinical.json b/fsh-generated/resources/ValueSet-condition-clinical.json index 19f83ded..6eaaab8d 100644 --- a/fsh-generated/resources/ValueSet-condition-clinical.json +++ b/fsh-generated/resources/ValueSet-condition-clinical.json @@ -6,11 +6,6 @@ "title": "Condition Clinical Status Codes", "description": "Preferred value set for Condition Clinical Status.", "url": "http://hl7.org/fhir/ValueSet/condition-clinical", - "meta": { - "profile": [ - "http://hl7.org/fhir/StructureDefinition/shareablevalueset" - ] - }, "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg", @@ -31,7 +26,7 @@ "value": "urn:oid:2.16.840.1.113883.4.642.3.164" } ], - "version": "4.3.0", + "version": "4.0.1", "experimental": false, "publisher": "FHIR Project team", "contact": [ @@ -44,24 +39,34 @@ ] } ], - "copyright": "Copyright © 2011+ HL7. Creative Commons 'No Rights Reserved' (CC0)", "expansion": { - "identifier": "5d4bed14-061a-42c4-853d-e6a624c4f483", - "timestamp": "2022-10-20T09:32:48+10:00", + "identifier": "urn:uuid:79d21cca-9f34-4cfa-9020-17eee95eeed8", + "timestamp": "2024-04-02T14:17:12+10:00", "total": 6, - "offset": 0, "parameter": [ { "name": "version", "valueUri": "http://terminology.hl7.org/CodeSystem/condition-clinical|4.0.1" }, { - "name": "count", - "valueInteger": 2147483647 + "name": "used-codesystem", + "valueUri": "http://terminology.hl7.org/CodeSystem/condition-clinical|4.0.1" + }, + { + "name": "warning-draft", + "valueUri": "http://hl7.org/fhir/ValueSet/condition-clinical|4.0.1" }, { - "name": "offset", - "valueInteger": 0 + "name": "warning-trial-use", + "valueUri": "http://hl7.org/fhir/ValueSet/condition-clinical|4.0.1" + }, + { + "name": "warning-trial-use", + "valueUri": "http://terminology.hl7.org/CodeSystem/condition-clinical|4.0.1" + }, + { + "name": "warning-draft", + "valueUri": "http://terminology.hl7.org/CodeSystem/condition-clinical|4.0.1" } ], "contains": [ diff --git a/fsh-generated/resources/ValueSet-gender-identity-response-1.json b/fsh-generated/resources/ValueSet-gender-identity-response-1.json index 7865e4b7..448285d2 100644 --- a/fsh-generated/resources/ValueSet-gender-identity-response-1.json +++ b/fsh-generated/resources/ValueSet-gender-identity-response-1.json @@ -4,73 +4,55 @@ "name": "GenderIdentityResponse", "id": "gender-identity-response-1", "title": "Gender Identity Response", - "description": "The Gender Identity Response value set includes values that may be used to represent a response for an individual’s gender. A person's gender is a social and cultural identity, expression and experience.", + "description": "The Gender Identity Response value set includes values that may be used to represent a response for an individual's gender. A person's gender is a social and cultural identity, expression and experience.", "url": "https://healthterminologies.gov.au/fhir/ValueSet/gender-identity-response-1", - "meta": { - "profile": [ - "http://hl7.org/fhir/StructureDefinition/shareablevalueset", - "https://healthterminologies.gov.au/fhir/StructureDefinition/composed-value-set-4" - ] - }, "identifier": [ { "system": "urn:ietf:rfc:3986", "value": "urn:oid:1.2.36.1.2001.1004.201.10271" } ], - "version": "1.0.0", + "version": "1.1.0", "experimental": false, - "date": "2022-09-30", - "publisher": "Australian Digital Health Agency", - "contact": [ - { - "telecom": [ - { - "system": "email", - "value": "help@digitalhealth.gov.au" - } - ] - } - ], - "copyright": "Copyright © 2022 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/.n\n\"This resource includes SNOMED Clinical Terms™ (SNOMED CT®) which is used by permission of the International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. “SNOMED” and “SNOMED CT” are registered trademarks of the IHTSDO. \n\nThe rights to use and implement or implementation of SNOMED CT content are limited to the extent it is necessary to allow for the end use of this material. No further rights are granted in respect of the International Release and no further use of any SNOMED CT content by any other party is permitted. \n\nThis resource includes material that is based on Australian Institute of Health and Welfare material. This resource includes material that is based on Australian Bureau of Statistics data.", + "copyright": "Copyright © 2022 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/.\n\n\"This resource includes SNOMED Clinical Terms™ (SNOMED CT®) which is used by permission of the International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. “SNOMED” and “SNOMED CT” are registered trademarks of the IHTSDO. \n\nThe rights to use and implement or implementation of SNOMED CT content are limited to the extent it is necessary to allow for the end use of this material. No further rights are granted in respect of the International Release and no further use of any SNOMED CT content by any other party is permitted. \n\nThis resource includes material that is based on Australian Institute of Health and Welfare material. This resource includes material that is based on Australian Bureau of Statistics data. \n\nThis resource also includes all or a portion of material from the HL7 Terminology (THO). THO is copyright ©1989+ Health Level Seven International and is made available under the CC0 designation. For more licensing information see: https://terminology.hl7.org/license.", "expansion": { - "identifier": "urn:uuid:85c2e561-69ac-41f6-8e9e-07b3072ef48f", - "timestamp": "2023-08-30T10:18:47+10:00", - "total": 5, + "identifier": "urn:uuid:a35fc104-184f-476e-a7a2-e3f3af66a3eb", + "timestamp": "2024-04-02T14:21:20+10:00", + "total": 6, "parameter": [ { "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" }, { "name": "used-codesystem", - "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" }, { "name": "version", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20230831" + "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" }, { "name": "used-codesystem", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20230831" + "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" } ], "contains": [ { "system": "http://snomed.info/sct", - "version": "http://snomed.info/sct/32506021000036107/version/20230831", + "version": "http://snomed.info/sct/32506021000036107/version/20240331", "code": "446151000124109", "display": "Identifies as male gender" }, { "system": "http://snomed.info/sct", - "version": "http://snomed.info/sct/32506021000036107/version/20230831", + "version": "http://snomed.info/sct/32506021000036107/version/20240331", "code": "446141000124107", "display": "Identifies as female gender" }, { "system": "http://snomed.info/sct", - "version": "http://snomed.info/sct/32506021000036107/version/20230831", + "version": "http://snomed.info/sct/32506021000036107/version/20240331", "code": "33791000087105", "display": "Identifies as nonbinary gender" }, @@ -85,6 +67,12 @@ "version": "5.0.0-ballot", "code": "asked-declined", "display": "Asked But Declined" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "version": "5.0.0-ballot", + "code": "not-asked", + "display": "Not Asked" } ] }, @@ -112,6 +100,9 @@ }, { "code": "asked-declined" + }, + { + "code": "not-asked" } ] } diff --git a/fsh-generated/resources/ValueSet-pronouns.json b/fsh-generated/resources/ValueSet-pronouns.json deleted file mode 100644 index 32345635..00000000 --- a/fsh-generated/resources/ValueSet-pronouns.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "resourceType": "ValueSet", - "status": "active", - "name": "PersonalPronouns", - "id": "pronouns", - "title": "Personal Pronouns", - "description": "Codes that indicate the pronouns to be used when communicating with or about an individual.", - "url": "http://terminology.hl7.org/ValueSet/pronouns", - "meta": { - "profile": [ - "http://hl7.org/fhir/StructureDefinition/shareablevalueset" - ] - }, - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg", - "valueCode": "pa" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", - "valueCode": "trial-use" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm", - "valueInteger": 1 - } - ], - "identifier": [ - { - "system": "urn:ietf:rfc:3986", - "value": "urn:oid:2.16.840.1.113883.4.642.3.3290" - } - ], - "version": "1.0.0", - "experimental": false, - "date": "2023-07-17T22:16:15-06:00", - "publisher": "FHIR Project team", - "contact": [ - { - "telecom": [ - { - "system": "url", - "value": "http://hl7.org/fhir" - } - ] - } - ], - "copyright": "This material contains content from LOINC (http://loinc.org). LOINC is copyright © 1995-2020, Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee and is available at no cost under the license at http://loinc.org/license. LOINC® is a registered United States trademark of Regenstrief Institute, Inc", - "expansion": { - "identifier": "urn:uuid:220b830c-6a1b-43e7-81e0-ccf92485fcdf", - "timestamp": "2023-10-17T10:42:37+10:00", - "total": 3, - "parameter": [ - { - "name": "version", - "valueUri": "http://loinc.org|2.76" - }, - { - "name": "used-codesystem", - "valueUri": "http://loinc.org|2.76" - } - ], - "contains": [ - { - "system": "http://loinc.org", - "code": "LA29518-0", - "display": "he/him/his/his/himself" - }, - { - "system": "http://loinc.org", - "code": "LA29519-8", - "display": "she/her/her/hers/herself" - }, - { - "system": "http://loinc.org", - "code": "LA29520-6", - "display": "they/them/their/theirs/themselves" - } - ] - }, - "compose": { - "include": [ - { - "system": "http://loinc.org", - "concept": [ - { - "code": "LA29518-0", - "display": "he/him/his/his/himself" - }, - { - "code": "LA29519-8", - "display": "she/her/her/hers/herself" - }, - { - "code": "LA29520-6", - "display": "they/them/their/theirs/themselves" - } - ] - } - ] - } -} diff --git a/input/fsh/715-AssemblyInstructions.fsh b/input/fsh/715-AssemblyInstructions.fsh index bf3cd1ab..3bfd5538 100644 --- a/input/fsh/715-AssemblyInstructions.fsh +++ b/input/fsh/715-AssemblyInstructions.fsh @@ -20,7 +20,7 @@ Description: "Aboriginal and Torres Strait Islander Health Check assessment form * contained[+] = condition-clinical * contained[+] = AboriginalTorresStraitIslander * contained[+] = PrimaryCarerParentGrandparent -* contained[+] = AustralianPronouns +* contained[+] = australian-pronouns-1 * contained[+] = australian-states-territories-2 * contained[+] = gender-identity-response-1 * contained[+] = biological-sex-1 @@ -109,7 +109,7 @@ Description: "Aboriginal and Torres Strait Islander Health Check assessment form * valueReference.reference = "#PrimaryCarerParentGrandparent" * extension[+] * url = "https://smartforms.csiro.au/ig/StructureDefinition/ContainedResourceReference" - * valueReference.reference = "#AustralianPronouns" + * valueReference.reference = "#australian-pronouns-1" * extension[+] * url = "https://smartforms.csiro.au/ig/StructureDefinition/ContainedResourceReference" * valueReference.reference = "#australian-states-territories-2" diff --git a/input/fsh/capability.fsh b/input/fsh/capability.fsh index a6cc06c9..5fd4cc46 100644 --- a/input/fsh/capability.fsh +++ b/input/fsh/capability.fsh @@ -36,7 +36,7 @@ Usage: #definition * implementationGuide[=].extension[0].valueCode = #SHOULD * rest.mode = #server -* rest.documentation = "

A Smart Forms Launcher Server SHALL:

  1. Support the AU Core Patient resource profile.
  2. Support the AU Core Practitioner resource profile.
  3. Support the AU Core Encounter resource profile.
  4. Support the AU Core Condition resource profile.
  5. Support the AU Core Observation resource profiles.
  6. Implement the RESTful behavior according to the FHIR specification.
  7. Support JSON source formats for all interactions.
" +* rest.documentation = "

A Smart Forms Launcher Server SHALL:

  1. Support the AU Core Patient resource profile.
  2. Support the AU Core Practitioner resource profile.
  3. Support the AU Core Encounter resource profile.
  4. Support the AU Core Condition resource profile.
  5. Support the AU Core Observation resource profiles.
  6. Implement the RESTful behavior according to the FHIR specification.
  7. Support JSON source formats for all interactions.
" * rest.security.cors = true * rest.security.cors.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" @@ -123,9 +123,6 @@ Usage: #definition * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "_sort" * rest.resource[=].type = #Observation -* rest.resource[=].profile = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-observation" -* rest.resource[=].profile.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].profile.extension[0].valueCode = #SHALL * rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-smokingstatus" * rest.resource[=].supportedProfile[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].supportedProfile[=].extension[0].valueCode = #SHALL @@ -135,10 +132,7 @@ Usage: #definition * rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyweight" * rest.resource[=].supportedProfile[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].supportedProfile[=].extension[0].valueCode = #SHALL -* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bmi" -* rest.resource[=].supportedProfile[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].supportedProfile[=].extension[0].valueCode = #SHALL -* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum" +* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum|0.2.2-preview" * rest.resource[=].supportedProfile[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].supportedProfile[=].extension[0].valueCode = #SHALL * rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-waistcircum" @@ -150,7 +144,7 @@ Usage: #definition * rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-heartrate" * rest.resource[=].supportedProfile[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].supportedProfile[=].extension[0].valueCode = #SHALL -* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-lipid-result" +* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-lipid-result|0.2.2-preview" * rest.resource[=].supportedProfile[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].supportedProfile[=].extension[0].valueCode = #SHALL * rest.resource[=].documentation = "

The server SHALL support the Observation resource, the AU Core profiles listed and the conformance expectations for the Observation resource.

" @@ -398,18 +392,14 @@ Usage: #definition * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "_sort" * rest.resource[=].type = #Observation -* rest.resource[=].profile = "http://hl7.org/fhir/StructureDefinition/Observation" -* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-observation" * rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-smokingstatus" * rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyheight" * rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyweight" -* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bmi" -* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum" +* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum|0.2.2-preview" * rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-waistcircum" * rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bloodpressure" * rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-heartrate" -* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-lipid-result" -* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-sexassignedatbirth" +* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-lipid-result|0.2.2-preview" * rest.resource[=].interaction[0].code = #search-type * rest.resource[=].searchParam[+].name = "patient" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" @@ -527,5 +517,4 @@ Usage: #definition * rest.interaction[+].code = #transaction * rest.interaction[+].code = #batch - */ \ No newline at end of file diff --git a/input/fsh/terminology.fsh b/input/fsh/terminology.fsh index 148d589b..0d478ac9 100644 --- a/input/fsh/terminology.fsh +++ b/input/fsh/terminology.fsh @@ -442,6 +442,7 @@ Description: "The Medical History Short List for Adults and Older People value s ValueSet: ConditionClinicalStatusCodes Id: condition-clinical Title: "Condition Clinical Status Codes" +Description: "Preferred value set for Condition Clinical Status." * ^extension[0].url = "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg" * ^extension[=].valueCode = #pc * ^extension[+].url = "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status" @@ -454,6 +455,10 @@ Title: "Condition Clinical Status Codes" * ^version = "4.0.1" * ^status = #draft * ^experimental = false +* ^publisher = "FHIR Project team" +* ^contact.telecom.system = #url +* ^contact.telecom.value = "http://hl7.org/fhir" + * ^expansion.identifier = "urn:uuid:79d21cca-9f34-4cfa-9020-17eee95eeed8" * ^expansion.timestamp = "2024-04-02T14:17:12+10:00" * ^expansion.total = 6 @@ -559,6 +564,7 @@ Description: "The Australian States and Territories value set includes values th ValueSet: GenderIdentityResponse Id: gender-identity-response-1 Title: "Gender Identity Response" +Description: "The Gender Identity Response value set includes values that may be used to represent a response for an individual's gender. A person's gender is a social and cultural identity, expression and experience." * ^url = "https://healthterminologies.gov.au/fhir/ValueSet/gender-identity-response-1" * ^identifier.system = "urn:ietf:rfc:3986" * ^identifier.value = "urn:oid:1.2.36.1.2001.1004.201.10271" @@ -609,8 +615,9 @@ Title: "Gender Identity Response" * DataAbsentReason#not-asked ValueSet: AustralianPronouns -Id: AustralianPronouns +Id: australian-pronouns-1 Title: "Australian Pronouns" +Description: "The Australian Pronouns value set includes values that indicate the pronouns to be used when communicating with or about an individual." * ^url = "https://healthterminologies.gov.au/fhir/ValueSet/australian-pronouns-1" * ^identifier.system = "urn:ietf:rfc:3986" * ^identifier.value = "urn:oid:1.2.36.1.2001.1004.201.10284" diff --git a/input/pagecontent/terminology.md b/input/pagecontent/terminology.md index ed6b3257..1ebfe293 100644 --- a/input/pagecontent/terminology.md +++ b/input/pagecontent/terminology.md @@ -27,7 +27,7 @@ See the [FHIR terminology section]({{site.data.fhir.path}}terminologies-systems. - [Yes/No/NA](ValueSet-YesNoNA.html) - [Yes/No/Not Asked/Asked But Declined](ValueSet-YesNoNotAskedDeclined.html) - [Australian States and Territories](ValueSet-australian-states-territories-2.html) -- [Personal Pronouns](ValueSet-pronouns.html) +- [Australian Pronouns](ValueSet-australian-pronouns-1.html) - [Gender Identity Response](ValueSet-gender-identity-response-1.html) - [Biological Sex](ValueSet-biological-sex-1.html) diff --git a/input/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json b/input/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json index f88b41f2..7b804a42 100644 --- a/input/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json +++ b/input/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json @@ -3,7 +3,7 @@ "id": "SFLauncherServerAboriginalTorresStraitIslanderHealthCheck", "text": { "status": "extensions", - "div": "

Smart Forms Launcher Server for the Aboriginal and Torres Strait Islander Health Check Capability Statement

  • Kind of capability statement: Requirements
  • FHIR Version: 4.0.1
  • Supported Formats: SHALL support json
  • Published by: AEHRC CSIRO

Note to Implementers: FHIR Capabilities

Any FHIR capability may be 'allowed' by the system unless explicitly marked as "SHALL NOT". Some items might be marked as MAY in the Implementation Guide to highlight their potential relevance to the use case.

SHALL Support the Following Implementation Guides

SHOULD Support the Following Implementation Guides

SHALL Implement the Following Capability Statements:

SHOULD Implement the Following Capability Statements:

FHIR RESTful Capabilities

Mode: server

A Smart Forms Launcher Server SHALL:

  1. Support the AU Core Patient resource profile.
  2. Support the AU Core Practitioner resource profile.
  3. Support the AU Core Encounter resource profile.
  4. Support the AU Core Condition resource profile.
  5. Support the AU Core Observation resource profiles.
  6. Support the SDC Questionnaire Response.
  7. Implement the RESTful behavior according to the FHIR specification.
  8. Support JSON source formats for all interactions.
Security

A Smart Forms Launcher Server SHALL:

  1. Support CORS headers
  2. Support SMART on FHIR security services

See the Structured Data Capture Security Details section for general considerations and recommendations.

Capabilities by Resource/Profile

Summary

The summary table lists the resources that are part of this configuration, and for each resource it lists:

  • The relevant profiles (if any)
  • The interactions supported by each resource (Read, Search, Update, and Create, are always shown, while VRead, Patch, Delete, History on Instance, or History on Type are only present if at least one of the resources has support for them.
  • The required, recommended, and some optional search parameters (if any).
  • The linked resources enabled for _include
  • The other resources enabled for _revinclude
  • The operations on the resource (if any)
Resource Type Profile R S U C Searches _include _revinclude Operations
Patienthttp://hl7.org.au/fhir/core/StructureDefinition/au-core-patient y
Practitionerhttp://hl7.org.au/fhir/core/StructureDefinition/au-core-practitioner y
Encounterhttp://hl7.org.au/fhir/core/StructureDefinition/au-core-encounter y
Conditionhttp://hl7.org.au/fhir/core/StructureDefinition/au-core-condition ypatient, clinical-status, patient+clinical-status
Observationhttp://hl7.org.au/fhir/core/StructureDefinition/au-core-observation
Additional supported profiles:
ycode, patient, _count, _sort, code+patient+_count+_sort
QuestionnaireResponsehttp://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaireresponse yyyypatient, questionnaire, status, _count, _sort, patient+_count+_sort, patient+questionnaire+_count+_sort, patient+status+_count+_sort

Resource Conformance: SHALLPatient

Profile Conformance
SHALL
Interaction summary
  • SHALL support read.
Documentation

The server SHALL support the Patient resource, AU Core profile and the conformance expectations for the Patient resource.

Resource Conformance: SHALLPractitioner

Interaction summary
  • SHALL support read.
Documentation

The server SHALL support the Practitioner resource, AU Core profile and the conformance expectations for the Practitioner resource.

Resource Conformance: SHALLEncounter

Profile Conformance
SHALL
Interaction summary
  • SHALL support read.
Documentation

The server SHALL support the Encounter resource, AU Core profile and the conformance expectations for the Encounter resource.

Resource Conformance: SHALLCondition

Profile Conformance
SHALL
Interaction summary
  • SHALL support search-type.
Documentation

The server SHALL support the Condition resource, the AU Core profile and the conformance expectations for the Condition resource.

Search Parameters
Conformance Parameter Type Documentation
SHALLpatientreference

The client SHALL provide at least a id value and MAY provide both the Type and id values. The server SHALL support both.

SHALLclinical-statustoken

The client SHALL provide at least a code value and MAY provide both the code and system values. The server SHALL support both.

Combined Search Parameters
Conformance Parameters Types
SHALLpatient+ clinical-status reference+token

Resource Conformance: SHALLObservation

Profile Conformance
SHALL
Interaction summary
  • SHALL support search-type.
Documentation

The server SHALL support the Observation resource, the AU Core profiles listed and the conformance expectations for the Observation resource.

Search Parameters
Conformance Parameter Type Documentation
SHALLpatientreference

The client SHALL provide at least an id value and MAY provide both the Type and id values. The server SHALL support both.

SHALLcodetoken

The client SHALL provide at least a code value and MAY provide both the code and system values. The server SHALL support both.

SHALL_countnumber

The client and server SHALL support search result limiting.

SHALL_sortstring

The client server SHALL support search result sorting by date and MAY support other values.

Combined Search Parameters
Conformance Parameters Types
SHALLpatient+ code+ _count+ _sort reference+token+number+string

Resource Conformance: SHALLQuestionnaireResponse

Interaction summary
  • SHALL support read, search-type, update, create.
Versioning

VersionId tracked fully

The server SHALL correctly track and populate the versionId meta-property on resources and support using e-tags and If-Match header for version integrity in the API.

Documentation

The server SHALL support the QuestionnaireResponse resource, Structured Data Capture profile and the conformance expectations for the QuestionnaireResponse resource.

Search Parameters
Conformance Parameter Type Documentation
SHALLpatient reference

The client SHALL provide at least a id value and MAY provide both the Type and id values. The server SHALL support both.

SHALLquestionnaire reference

The client SHALL provide at least a id value and MAY provide both the Type and id values. The server SHALL support both.

SHALLstatustoken

The client SHALL provide at least a code value and MAY provide both the code and system values. The server SHALL support both.

SHALL_countnumber

The client and server SHALL support search result limiting.

SHALL_sortstring

The client and server SHALL support search result sorting by authored and MAY support other values.

Combined Search Parameters
Conformance Parameters Types
SHALLpatient+ _count+ _sort reference+number+string
SHALLpatient+ questionnaire+ _count+ _sort reference+reference+number+string
SHALLpatient+ status+ _count+ _sort reference+token+number+string
" + "div": "

Smart Forms Launcher Server for the Aboriginal and Torres Strait Islander Health Check Capability Statement

  • Kind of capability statement: Requirements
  • FHIR Version: 4.0.1
  • Supported Formats: SHALL support json
  • Published by: AEHRC CSIRO

Note to Implementers: FHIR Capabilities

Any FHIR capability may be 'allowed' by the system unless explicitly marked as "SHALL NOT". Some items might be marked as MAY in the Implementation Guide to highlight their potential relevance to the use case.

SHALL Support the Following Implementation Guides

SHOULD Support the Following Implementation Guides

SHALL Implement the Following Capability Statements:

SHOULD Implement the Following Capability Statements:

FHIR RESTful Capabilities

Mode: server

A Smart Forms Launcher Server SHALL:

  1. Support the AU Core Patient resource profile.
  2. Support the AU Core Practitioner resource profile.
  3. Support the AU Core Encounter resource profile.
  4. Support the AU Core Condition resource profile.
  5. Support the AU Core Observation resource profiles.
  6. Support the SDC Questionnaire Response.
  7. Implement the RESTful behavior according to the FHIR specification.
  8. Support JSON source formats for all interactions.
Security

A Smart Forms Launcher Server SHALL:

  1. Support CORS headers
  2. Support SMART on FHIR security services

See the Structured Data Capture Security Details section for general considerations and recommendations.

Capabilities by Resource/Profile

Summary

The summary table lists the resources that are part of this configuration, and for each resource it lists:

  • The relevant profiles (if any)
  • The interactions supported by each resource (Read, Search, Update, and Create, are always shown, while VRead, Patch, Delete, History on Instance, or History on Type are only present if at least one of the resources has support for them.
  • The required, recommended, and some optional search parameters (if any).
  • The linked resources enabled for _include
  • The other resources enabled for _revinclude
  • The operations on the resource (if any)

Resource Conformance: SHALLPatient

Profile Conformance
SHALL
Interaction summary
  • SHALL support read.
Documentation

The server SHALL support the Patient resource, AU Core profile and the conformance expectations for the Patient resource.

Resource Conformance: SHALLPractitioner

Interaction summary
  • SHALL support read.
Documentation

The server SHALL support the Practitioner resource, AU Core profile and the conformance expectations for the Practitioner resource.

Resource Conformance: SHALLEncounter

Profile Conformance
SHALL
Interaction summary
  • SHALL support read.
Documentation

The server SHALL support the Encounter resource, AU Core profile and the conformance expectations for the Encounter resource.

Resource Conformance: SHALLCondition

Profile Conformance
SHALL
Interaction summary
  • SHALL support search-type.
Documentation

The server SHALL support the Condition resource, the AU Core profile and the conformance expectations for the Condition resource.

Search Parameters
Conformance Parameter Type Documentation
SHALLpatientreference

The client SHALL provide at least a id value and MAY provide both the Type and id values. The server SHALL support both.

SHALLclinical-statustoken

The client SHALL provide at least a code value and MAY provide both the code and system values. The server SHALL support both.

Combined Search Parameters
Conformance Parameters Types
SHALLpatient+ clinical-status reference+token

Resource Conformance: SHALLObservation

Interaction summary
  • SHALL support search-type.
Documentation

The server SHALL support the Observation resource, the AU Core profiles listed and the conformance expectations for the Observation resource.

Search Parameters
Conformance Parameter Type Documentation
SHALLpatientreference

The client SHALL provide at least an id value and MAY provide both the Type and id values. The server SHALL support both.

SHALLcodetoken

The client SHALL provide at least a code value and MAY provide both the code and system values. The server SHALL support both.

SHALL_countnumber

The client and server SHALL support search result limiting.

SHALL_sortstring

The client server SHALL support search result sorting by date and MAY support other values.

Combined Search Parameters
Conformance Parameters Types
SHALLpatient+ code+ _count+ _sort reference+token+number+string

Resource Conformance: SHALLQuestionnaireResponse

Interaction summary
  • SHALL support read, search-type, update, create.
Versioning

VersionId tracked fully

The server SHALL correctly track and populate the versionId meta-property on resources and support using e-tags and If-Match header for version integrity in the API.

Documentation

The server SHALL support the QuestionnaireResponse resource, Structured Data Capture profile and the conformance expectations for the QuestionnaireResponse resource.

Search Parameters
Conformance Parameter Type Documentation
SHALLpatient reference

The client SHALL provide at least a id value and MAY provide both the Type and id values. The server SHALL support both.

SHALLquestionnaire reference

The client SHALL provide at least a id value and MAY provide both the Type and id values. The server SHALL support both.

SHALLstatustoken

The client SHALL provide at least a code value and MAY provide both the code and system values. The server SHALL support both.

SHALL_countnumber

The client and server SHALL support search result limiting.

SHALL_sortstring

The client and server SHALL support search result sorting by authored and MAY support other values.

Combined Search Parameters
Conformance Parameters Types
SHALLpatient+ _count+ _sort reference+number+string
SHALLpatient+ questionnaire+ _count+ _sort reference+reference+number+string
SHALLpatient+ status+ _count+ _sort reference+token+number+string
" }, "url": "https://smartforms.csiro.au/ig/CapabilityStatement/SFLauncherServerAboriginalTorresStraitIslanderHealthCheck", "name": "SmartFormsLauncherServerAboriginalTorresStraitIslanderHealthCheck", @@ -94,7 +94,7 @@ "rest": [ { "mode": "server", - "documentation": "

A Smart Forms Launcher Server SHALL:

  1. Support the AU Core Patient resource profile.
  2. Support the AU Core Practitioner resource profile.
  3. Support the AU Core Encounter resource profile.
  4. Support the AU Core Condition resource profile.
  5. Support the AU Core Observation resource profiles.
  6. Implement the RESTful behavior according to the FHIR specification.
  7. Support JSON source formats for all interactions.
", + "documentation": "

A Smart Forms Launcher Server SHALL:

  1. Support the AU Core Patient resource profile.
  2. Support the AU Core Practitioner resource profile.
  3. Support the AU Core Encounter resource profile.
  4. Support the AU Core Condition resource profile.
  5. Support the AU Core Observation resource profiles.
  6. Implement the RESTful behavior according to the FHIR specification.
  7. Support JSON source formats for all interactions.
", "security": { "cors": true, "_cors": { @@ -320,25 +320,15 @@ } ], "type": "Observation", - "profile": "http://hl7.org.au/fhir/core/StructureDefinition/au-core-observation", - "_profile": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, "supportedProfile": [ "http://hl7.org.au/fhir/core/StructureDefinition/au-core-smokingstatus", "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyheight", "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyweight", - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bmi", - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum", + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum|0.2.2-preview", "http://hl7.org.au/fhir/core/StructureDefinition/au-core-waistcircum", "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bloodpressure", "http://hl7.org.au/fhir/core/StructureDefinition/au-core-heartrate", - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-lipid-result" + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-lipid-result|0.2.2-preview" ], "_supportedProfile": [ { @@ -397,14 +387,6 @@ } ] }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, { "extension": [ { diff --git a/input/resources/CapabilityStatement-SmartFormsApplication.json b/input/resources/CapabilityStatement-SmartFormsApplication.json index e02873a9..83034c30 100644 --- a/input/resources/CapabilityStatement-SmartFormsApplication.json +++ b/input/resources/CapabilityStatement-SmartFormsApplication.json @@ -3,7 +3,7 @@ "id": "SmartFormsApplication", "text": { "status": "extensions", - "div": "

Smart Forms Application Capability Statement

  • Kind of capability statement: capability
  • FHIR Version: 4.0.1
  • Supported Formats: json
  • Published by: AEHRC CSIRO

Note to Implementers: FHIR Capabilities

Additional FHIR capabilities may be 'allowed' by the system. Only the capabilities relevant to Smart Forms have been included in this capability statement.

Supports the Following Implementation Guides

Implements a Subset of the Following Capability Statements:

FHIR RESTful Capabilities

Mode: client

The Smart Forms Application performs interactions to support SMART App Launch, form prepopulation and form filling.

Security

Summary of System-wide Interactions
  • Supports the transaction interaction.
  • Supports the batch interaction.

Capabilities by Resource/Profile

Summary

The summary table lists the resources that are part of this configuration, and for each resource it lists:

  • The relevant profiles (if any)
  • The interactions supported by each resource (Read, Search, Update, and Create, are always shown, while VRead, Patch, Delete, History on Instance, or History on Type are only present if at least one of the resources has support for them.
  • The required, recommended, and some optional search parameters (if any).
  • The linked resources enabled for _include
  • The other resources enabled for _revinclude
  • The operations on the resource (if any)
Resource Type Profile R S U C Searches _include _revinclude Operations
Patienthttp://hl7.org/fhir/StructureDefinition/Patient
Additional supported profiles:
y
Practitionerhttp://hl7.org/fhir/StructureDefinition/Practitioner
Additional supported profiles:
y
Encounterhttp://hl7.org/fhir/StructureDefinition/Encounter
Additional supported profiles:
y
Conditionhttp://hl7.org/fhir/StructureDefinition/Condition
Additional supported profiles:
ypatient, clinical-status, patient+clinical-status
Observationhttp://hl7.org/fhir/StructureDefinition/Observation
Additional supported profiles:
ycode, patient, _count, _sort, code+patient+_count+_sort
Questionnairehttp://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire yyurl, version, title, _count, _sort, url+version, _count+_sort, title+_count+_sort$assemble, $populate
QuestionnaireResponsehttp://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaireresponse yyyypatient, questionnaire, questionnaire.title, status, _count, _sort, patient+_count+_sort, patient+questionnaire+_count+_sort, patient+questionnaire.title+_count+_sort, patient+status+_count+_sort
ValueSethttp://hl7.org/fhir/StructureDefinition/ValueSet $expand

Patient

Interaction summary
  • Supports read.

Practitioner

Encounter

Interaction summary
  • Supports read.

Condition

Interaction summary
  • Supports search-type.
Search Parameters
Parameter Type Documentation
patientreference

The client SHALL provide at least a id value and MAY provide both the Type and id values. The server SHALL support both.

clinical-statustoken

The client SHALL provide at least a code value and MAY provide both the code and system values. The server SHALL support both.

Combined Search Parameters
Parameters Types
patient+ clinical-status reference+token

Observation

Interaction summary
  • Supports search-type.
Search Parameters
Parameter Type Documentation
patientreference

The client SHALL provide at least an id value and MAY provide both the Type and id values. The server SHALL support both.

codetoken

The client SHALL provide at least a code value and MAY provide both the code and system values. The server SHALL support both.

_countnumber

The client supports search result limiting.

_sortstring

The client supports search result sorting by date and MAY support other values.

Combined Search Parameters
Parameters Types
patient+ code+ _count+ _sort reference+token+number+string

Questionnaire

Interaction summary
  • Supports search-type, create.
Search Parameters
Parameter Type Documentation
urluri

versiontoken

titlestring

The client supports search using the :contains modifier.

_countnumber

The client supports search result limiting.

_sortstring

The client supports search result sorting by date and MAY support other values.

Combined Search Parameters
Parameters Types
url+ version uri+token
_count+ _sort number+string
title+ _count+ _sort string+number+string
Operations
Operation Documentation
$assemble

$populate

QuestionnaireResponse

Interaction summary
  • Supports read, search-type, update, create.
  • All search requests SHALL at least include the patient parameter.
Search Parameters
Parameter Type Documentation
patient reference

The client SHALL provide at least a id value and MAY provide both the Type and id values. The server SHALL support both.

questionnaire reference

The client SHALL provide at least a id value and MAY provide both the Type and id values. The server SHALL support both.

questionnaire.title string

The client and server SHALL support chained search questionnaire.title using the search modifier :contains.

statustoken

The client SHALL provide at least a code value and MAY provide both the code and system values. The server SHALL support both.

_countnumber

The client supports search result limiting.

_sortstring

The client supports search result sorting by authored and MAY support other values.

Combined Search Parameters
Parameters Types
patient+ _count+ _sort reference+number+string
patient+ questionnaire+ _count+ _sort reference+reference+number+string
patient+ questionnaire.title+ _count+ _sort reference+string+number+string
patient+ status+ _count+ _sort reference+token+number+string

ValueSet

Operations
Operation Documentation
$expand

" + "div": "

Smart Forms Application Capability Statement

  • Kind of capability statement: capability
  • FHIR Version: 4.0.1
  • Supported Formats: json
  • Published by: AEHRC CSIRO

Note to Implementers: FHIR Capabilities

Additional FHIR capabilities may be 'allowed' by the system. Only the capabilities relevant to Smart Forms have been included in this capability statement.

Supports the Following Implementation Guides

Implements a Subset of the Following Capability Statements:

FHIR RESTful Capabilities

Mode: client

The Smart Forms Application performs interactions to support SMART App Launch, form prepopulation and form filling.

Security

Summary of System-wide Interactions
  • Supports the transaction interaction.
  • Supports the batch interaction.

Capabilities by Resource/Profile

Summary

The summary table lists the resources that are part of this configuration, and for each resource it lists:

  • The relevant profiles (if any)
  • The interactions supported by each resource (Read, Search, Update, and Create, are always shown, while VRead, Patch, Delete, History on Instance, or History on Type are only present if at least one of the resources has support for them.
  • The required, recommended, and some optional search parameters (if any).
  • The linked resources enabled for _include
  • The other resources enabled for _revinclude
  • The operations on the resource (if any)
Resource Type Profile R S U C Searches _include _revinclude Operations
Patienthttp://hl7.org/fhir/StructureDefinition/Patient
Additional supported profiles:
y
Practitionerhttp://hl7.org/fhir/StructureDefinition/Practitioner
Additional supported profiles:
y
Encounterhttp://hl7.org/fhir/StructureDefinition/Encounter
Additional supported profiles:
y
Conditionhttp://hl7.org/fhir/StructureDefinition/Condition
Additional supported profiles:
ypatient, clinical-status, patient+clinical-status
ObservationSupported profiles: ycode, patient, _count, _sort, code+patient+_count+_sort
Questionnairehttp://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire yyurl, version, title, _count, _sort, url+version, _count+_sort, title+_count+_sort$assemble, $populate
QuestionnaireResponsehttp://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaireresponse yyyypatient, questionnaire, questionnaire.title, status, _count, _sort, patient+_count+_sort, patient+questionnaire+_count+_sort, patient+questionnaire.title+_count+_sort, patient+status+_count+_sort
ValueSethttp://hl7.org/fhir/StructureDefinition/ValueSet $expand

Patient

Interaction summary
  • Supports read.

Practitioner

Encounter

Interaction summary
  • Supports read.

Condition

Interaction summary
  • Supports search-type.
Search Parameters
Parameter Type Documentation
patientreference

The client SHALL provide at least a id value and MAY provide both the Type and id values. The server SHALL support both.

clinical-statustoken

The client SHALL provide at least a code value and MAY provide both the code and system values. The server SHALL support both.

Combined Search Parameters
Parameters Types
patient+ clinical-status reference+token

Observation

Interaction summary
  • Supports search-type.
Search Parameters
Parameter Type Documentation
patientreference

The client SHALL provide at least an id value and MAY provide both the Type and id values. The server SHALL support both.

codetoken

The client SHALL provide at least a code value and MAY provide both the code and system values. The server SHALL support both.

_countnumber

The client supports search result limiting.

_sortstring

The client supports search result sorting by date and MAY support other values.

Combined Search Parameters
Parameters Types
patient+ code+ _count+ _sort reference+token+number+string

Questionnaire

Interaction summary
  • Supports search-type, create.
Search Parameters
Parameter Type Documentation
urluri

versiontoken

titlestring

The client supports search using the :contains modifier.

_countnumber

The client supports search result limiting.

_sortstring

The client supports search result sorting by date and MAY support other values.

Combined Search Parameters
Parameters Types
url+ version uri+token
_count+ _sort number+string
title+ _count+ _sort string+number+string
Operations
Operation Documentation
$assemble

$populate

QuestionnaireResponse

Interaction summary
  • Supports read, search-type, update, create.
  • All search requests SHALL at least include the patient parameter.
Search Parameters
Parameter Type Documentation
patient reference

The client SHALL provide at least a id value and MAY provide both the Type and id values. The server SHALL support both.

questionnaire reference

The client SHALL provide at least a id value and MAY provide both the Type and id values. The server SHALL support both.

questionnaire.title string

The client and server SHALL support chained search questionnaire.title using the search modifier :contains.

statustoken

The client SHALL provide at least a code value and MAY provide both the code and system values. The server SHALL support both.

_countnumber

The client supports search result limiting.

_sortstring

The client supports search result sorting by authored and MAY support other values.

Combined Search Parameters
Parameters Types
patient+ _count+ _sort reference+number+string
patient+ questionnaire+ _count+ _sort reference+reference+number+string
patient+ questionnaire.title+ _count+ _sort reference+string+number+string
patient+ status+ _count+ _sort reference+token+number+string

ValueSet

Operations
Operation Documentation
$expand

" }, "url": "https://smartforms.csiro.au/ig/CapabilityStatement/SmartFormsApplication", "name": "SmartFormsApplication", @@ -148,19 +148,15 @@ } ], "type": "Observation", - "profile": "http://hl7.org/fhir/StructureDefinition/Observation", "supportedProfile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-observation", "http://hl7.org.au/fhir/core/StructureDefinition/au-core-smokingstatus", "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyheight", "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyweight", - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bmi", - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum", + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum|0.2.2-preview", "http://hl7.org.au/fhir/core/StructureDefinition/au-core-waistcircum", "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bloodpressure", "http://hl7.org.au/fhir/core/StructureDefinition/au-core-heartrate", - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-lipid-result", - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-sexassignedatbirth" + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-lipid-result|0.2.2-preview" ], "interaction": [ { diff --git a/sushi-config.yaml b/sushi-config.yaml index 03468dc9..50b6812a 100644 --- a/sushi-config.yaml +++ b/sushi-config.yaml @@ -26,7 +26,7 @@ publisher: # dependencies: - hl7.fhir.au.core: 0.2.0-preview + hl7.fhir.au.core: 0.3.0-ballot hl7.fhir.uv.sdc: 3.0.0 # # From 80e92cb40220d2a0cddef4a4dbea054221872b1c Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Thu, 4 Apr 2024 08:50:02 +1000 Subject: [PATCH 014/177] update publisher --- smartforms-template/package/.index.db | Bin 12288 -> 12288 bytes smartforms-template/package/content/.index.db | Bin 12288 -> 12288 bytes .../package/content/assets/.index.db | Bin 12288 -> 12288 bytes .../package/content/assets/css/.index.db | Bin 12288 -> 12288 bytes .../package/content/assets/images/.index.db | Bin 12288 -> 12288 bytes .../package/includes/.index.db | Bin 12288 -> 12288 bytes 6 files changed, 0 insertions(+), 0 deletions(-) diff --git a/smartforms-template/package/.index.db b/smartforms-template/package/.index.db index acb32ab9ffa9a2091936371812233345125df4a1..504ff47b6b2f704dda56a03e8a43e7e6c048fdbf 100644 GIT binary patch delta 31 ncmZojXh@il#8=kI%m0IciI0tekBxu-W Date: Thu, 4 Apr 2024 09:02:20 +1000 Subject: [PATCH 015/177] sushi update --- .../StructureDefinition-ContainedResourceReference.json | 7 ------- 1 file changed, 7 deletions(-) diff --git a/fsh-generated/resources/StructureDefinition-ContainedResourceReference.json b/fsh-generated/resources/StructureDefinition-ContainedResourceReference.json index 30d33519..9a836e2a 100644 --- a/fsh-generated/resources/StructureDefinition-ContainedResourceReference.json +++ b/fsh-generated/resources/StructureDefinition-ContainedResourceReference.json @@ -7,13 +7,6 @@ "status": "draft", "description": "This extension is intended to be used as a work around to a known bug whereby contained resources that are not referenced with the type, 'Reference' are removed before a resource is created in a HAPI FHIR server. This is problematic when referencing with the type, 'canonical'. The extension can be used to reference contained resources so they are retained when added to a HAPI FHIR server.", "fhirVersion": "4.0.1", - "mapping": [ - { - "identity": "rim", - "uri": "http://hl7.org/v3", - "name": "RIM Mapping" - } - ], "kind": "complex-type", "abstract": false, "context": [ From 5d363fc412fca90a2fb373271829debae94e9dda Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Thu, 4 Apr 2024 09:30:16 +1000 Subject: [PATCH 016/177] remove trailing whitespace from "Section completed" xhtml --- .../resources/Questionnaire-AboutTheHealthCheck.json | 2 +- .../resources/Questionnaire-AbsoluteCVDRiskCalculation.json | 2 +- .../resources/Questionnaire-AllergiesAdverseReactions.json | 2 +- .../resources/Questionnaire-ChronicDiseaseAgeing.json | 2 +- fsh-generated/resources/Questionnaire-Consent.json | 2 +- .../resources/Questionnaire-CurrentPriorities.json | 2 +- .../resources/Questionnaire-EarHealthAndHearing.json | 2 +- fsh-generated/resources/Questionnaire-Examination.json | 2 +- fsh-generated/resources/Questionnaire-EyeHealth.json | 2 +- fsh-generated/resources/Questionnaire-FamilyHistory.json | 2 +- .../resources/Questionnaire-FinalisingHealthCheck.json | 2 +- fsh-generated/resources/Questionnaire-Gambling.json | 2 +- fsh-generated/resources/Questionnaire-HealthyEating.json | 2 +- fsh-generated/resources/Questionnaire-HomeAndFamily.json | 2 +- fsh-generated/resources/Questionnaire-Immunisation.json | 2 +- fsh-generated/resources/Questionnaire-Investigations.json | 2 +- .../resources/Questionnaire-LearningAndDevelopment.json | 2 +- fsh-generated/resources/Questionnaire-LearningAndWork.json | 4 ++-- .../Questionnaire-MedicalHistoryCurrentProblems.json | 2 +- .../resources/Questionnaire-MemoryAndThinking.json | 2 +- fsh-generated/resources/Questionnaire-Mood.json | 2 +- .../resources/Questionnaire-OralAndDentalHealth.json | 2 +- fsh-generated/resources/Questionnaire-PatientDetails.json | 2 +- .../Questionnaire-PhysicalActivityAndScreenTime.json | 4 ++-- .../Questionnaire-RedFlagsEarlyIdentificationGuide.json | 2 +- .../resources/Questionnaire-RegularMedications.json | 2 +- .../resources/Questionnaire-ScreeningPrograms.json | 2 +- fsh-generated/resources/Questionnaire-SexualHealth.json | 6 +++--- fsh-generated/resources/Questionnaire-Skin.json | 2 +- .../Questionnaire-SocialAndEmotionalWellbeing.json | 2 +- .../resources/Questionnaire-SocialHistoryChild.json | 2 +- fsh-generated/resources/Questionnaire-SubstanceUse.json | 2 +- input/fsh/715-AboutTheHealthCheck.fsh | 2 +- input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh | 2 +- input/fsh/715-Assessment-AllergiesAdverseReactions.fsh | 2 +- input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh | 2 +- input/fsh/715-Assessment-CurrentPriorities.fsh | 2 +- input/fsh/715-Assessment-EarHealthAndHearing.fsh | 2 +- input/fsh/715-Assessment-Examination.fsh | 2 +- input/fsh/715-Assessment-EyeHealth.fsh | 2 +- input/fsh/715-Assessment-FamilyHistory.fsh | 2 +- input/fsh/715-Assessment-Gambling.fsh | 2 +- input/fsh/715-Assessment-HealthyEating.fsh | 2 +- input/fsh/715-Assessment-HomeAndFamily.fsh | 2 +- input/fsh/715-Assessment-Immunisation.fsh | 2 +- input/fsh/715-Assessment-Investigations.fsh | 2 +- input/fsh/715-Assessment-LearningAndDevelopment.fsh | 2 +- input/fsh/715-Assessment-LearningAndWork.fsh | 4 ++-- input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh | 2 +- input/fsh/715-Assessment-MemoryAndThinking.fsh | 2 +- input/fsh/715-Assessment-Mood.fsh | 2 +- input/fsh/715-Assessment-OralAndDentalHealth.fsh | 2 +- input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh | 4 ++-- .../fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh | 2 +- input/fsh/715-Assessment-RegularMedications.fsh | 2 +- input/fsh/715-Assessment-ScreeningPrograms.fsh | 2 +- input/fsh/715-Assessment-SexualHealth.fsh | 6 +++--- input/fsh/715-Assessment-Skin.fsh | 2 +- input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh | 2 +- input/fsh/715-Assessment-SocialHistoryChild.fsh | 2 +- input/fsh/715-Assessment-SubstanceUse.fsh | 2 +- input/fsh/715-Consent.fsh | 2 +- input/fsh/715-FinalisingHealthCheck.fsh | 2 +- input/fsh/715-PatientDetails.fsh | 2 +- 64 files changed, 72 insertions(+), 72 deletions(-) diff --git a/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json b/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json index 338c2782..ce786359 100644 --- a/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json +++ b/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json @@ -76,7 +76,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json b/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json index d1b67950..7d1ffc5e 100644 --- a/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json +++ b/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json @@ -76,7 +76,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json index 8f860f0d..6a68ebfe 100644 --- a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json +++ b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json @@ -76,7 +76,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-ChronicDiseaseAgeing.json b/fsh-generated/resources/Questionnaire-ChronicDiseaseAgeing.json index 9b497040..cc826c22 100644 --- a/fsh-generated/resources/Questionnaire-ChronicDiseaseAgeing.json +++ b/fsh-generated/resources/Questionnaire-ChronicDiseaseAgeing.json @@ -76,7 +76,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-Consent.json b/fsh-generated/resources/Questionnaire-Consent.json index c05cca96..6843c2fd 100644 --- a/fsh-generated/resources/Questionnaire-Consent.json +++ b/fsh-generated/resources/Questionnaire-Consent.json @@ -76,7 +76,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-CurrentPriorities.json b/fsh-generated/resources/Questionnaire-CurrentPriorities.json index 33380586..09091d3e 100644 --- a/fsh-generated/resources/Questionnaire-CurrentPriorities.json +++ b/fsh-generated/resources/Questionnaire-CurrentPriorities.json @@ -80,7 +80,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json b/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json index c65c5dc8..0acc1546 100644 --- a/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json +++ b/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json @@ -76,7 +76,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-Examination.json b/fsh-generated/resources/Questionnaire-Examination.json index d5a7d589..c0ecdbe6 100644 --- a/fsh-generated/resources/Questionnaire-Examination.json +++ b/fsh-generated/resources/Questionnaire-Examination.json @@ -76,7 +76,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-EyeHealth.json b/fsh-generated/resources/Questionnaire-EyeHealth.json index bf32e047..80ce147b 100644 --- a/fsh-generated/resources/Questionnaire-EyeHealth.json +++ b/fsh-generated/resources/Questionnaire-EyeHealth.json @@ -76,7 +76,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-FamilyHistory.json b/fsh-generated/resources/Questionnaire-FamilyHistory.json index 2b2add10..72bcd0d1 100644 --- a/fsh-generated/resources/Questionnaire-FamilyHistory.json +++ b/fsh-generated/resources/Questionnaire-FamilyHistory.json @@ -76,7 +76,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json b/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json index 6b0e6479..c2281232 100644 --- a/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json +++ b/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json @@ -76,7 +76,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-Gambling.json b/fsh-generated/resources/Questionnaire-Gambling.json index 3ada37c8..619a6e8d 100644 --- a/fsh-generated/resources/Questionnaire-Gambling.json +++ b/fsh-generated/resources/Questionnaire-Gambling.json @@ -76,7 +76,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-HealthyEating.json b/fsh-generated/resources/Questionnaire-HealthyEating.json index c8444800..79715ac6 100644 --- a/fsh-generated/resources/Questionnaire-HealthyEating.json +++ b/fsh-generated/resources/Questionnaire-HealthyEating.json @@ -76,7 +76,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-HomeAndFamily.json b/fsh-generated/resources/Questionnaire-HomeAndFamily.json index 0ce5a8f9..a06cd5a9 100644 --- a/fsh-generated/resources/Questionnaire-HomeAndFamily.json +++ b/fsh-generated/resources/Questionnaire-HomeAndFamily.json @@ -76,7 +76,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-Immunisation.json b/fsh-generated/resources/Questionnaire-Immunisation.json index 239ed19d..93080921 100644 --- a/fsh-generated/resources/Questionnaire-Immunisation.json +++ b/fsh-generated/resources/Questionnaire-Immunisation.json @@ -76,7 +76,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-Investigations.json b/fsh-generated/resources/Questionnaire-Investigations.json index d71cfdb1..e48ef1ed 100644 --- a/fsh-generated/resources/Questionnaire-Investigations.json +++ b/fsh-generated/resources/Questionnaire-Investigations.json @@ -76,7 +76,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-LearningAndDevelopment.json b/fsh-generated/resources/Questionnaire-LearningAndDevelopment.json index 1029e34c..0c0ceefa 100644 --- a/fsh-generated/resources/Questionnaire-LearningAndDevelopment.json +++ b/fsh-generated/resources/Questionnaire-LearningAndDevelopment.json @@ -76,7 +76,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-LearningAndWork.json b/fsh-generated/resources/Questionnaire-LearningAndWork.json index 7308e664..23ea6d38 100644 --- a/fsh-generated/resources/Questionnaire-LearningAndWork.json +++ b/fsh-generated/resources/Questionnaire-LearningAndWork.json @@ -76,7 +76,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, @@ -317,7 +317,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json index 6d377995..ed2e312b 100644 --- a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json +++ b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json @@ -76,7 +76,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-MemoryAndThinking.json b/fsh-generated/resources/Questionnaire-MemoryAndThinking.json index 53a9942f..313af013 100644 --- a/fsh-generated/resources/Questionnaire-MemoryAndThinking.json +++ b/fsh-generated/resources/Questionnaire-MemoryAndThinking.json @@ -76,7 +76,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-Mood.json b/fsh-generated/resources/Questionnaire-Mood.json index 405aa94a..4f30fad6 100644 --- a/fsh-generated/resources/Questionnaire-Mood.json +++ b/fsh-generated/resources/Questionnaire-Mood.json @@ -76,7 +76,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-OralAndDentalHealth.json b/fsh-generated/resources/Questionnaire-OralAndDentalHealth.json index 0ab51ad6..1607ba47 100644 --- a/fsh-generated/resources/Questionnaire-OralAndDentalHealth.json +++ b/fsh-generated/resources/Questionnaire-OralAndDentalHealth.json @@ -76,7 +76,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-PatientDetails.json b/fsh-generated/resources/Questionnaire-PatientDetails.json index 3aa44306..f5d45243 100644 --- a/fsh-generated/resources/Questionnaire-PatientDetails.json +++ b/fsh-generated/resources/Questionnaire-PatientDetails.json @@ -67,7 +67,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-PhysicalActivityAndScreenTime.json b/fsh-generated/resources/Questionnaire-PhysicalActivityAndScreenTime.json index 08b8c0b3..6f2f8885 100644 --- a/fsh-generated/resources/Questionnaire-PhysicalActivityAndScreenTime.json +++ b/fsh-generated/resources/Questionnaire-PhysicalActivityAndScreenTime.json @@ -76,7 +76,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, @@ -411,7 +411,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-RedFlagsEarlyIdentificationGuide.json b/fsh-generated/resources/Questionnaire-RedFlagsEarlyIdentificationGuide.json index 4e4d2168..d23bf4fd 100644 --- a/fsh-generated/resources/Questionnaire-RedFlagsEarlyIdentificationGuide.json +++ b/fsh-generated/resources/Questionnaire-RedFlagsEarlyIdentificationGuide.json @@ -76,7 +76,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-RegularMedications.json b/fsh-generated/resources/Questionnaire-RegularMedications.json index d5d15790..93ed56b9 100644 --- a/fsh-generated/resources/Questionnaire-RegularMedications.json +++ b/fsh-generated/resources/Questionnaire-RegularMedications.json @@ -80,7 +80,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-ScreeningPrograms.json b/fsh-generated/resources/Questionnaire-ScreeningPrograms.json index c5376e8b..4ae8e4db 100644 --- a/fsh-generated/resources/Questionnaire-ScreeningPrograms.json +++ b/fsh-generated/resources/Questionnaire-ScreeningPrograms.json @@ -76,7 +76,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-SexualHealth.json b/fsh-generated/resources/Questionnaire-SexualHealth.json index f9786102..b14d8220 100644 --- a/fsh-generated/resources/Questionnaire-SexualHealth.json +++ b/fsh-generated/resources/Questionnaire-SexualHealth.json @@ -80,7 +80,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, @@ -247,7 +247,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, @@ -483,7 +483,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-Skin.json b/fsh-generated/resources/Questionnaire-Skin.json index 71486c68..d823560e 100644 --- a/fsh-generated/resources/Questionnaire-Skin.json +++ b/fsh-generated/resources/Questionnaire-Skin.json @@ -76,7 +76,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-SocialAndEmotionalWellbeing.json b/fsh-generated/resources/Questionnaire-SocialAndEmotionalWellbeing.json index 4fcce3e7..1a672c53 100644 --- a/fsh-generated/resources/Questionnaire-SocialAndEmotionalWellbeing.json +++ b/fsh-generated/resources/Questionnaire-SocialAndEmotionalWellbeing.json @@ -76,7 +76,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-SocialHistoryChild.json b/fsh-generated/resources/Questionnaire-SocialHistoryChild.json index d040e6a7..41b5f8a6 100644 --- a/fsh-generated/resources/Questionnaire-SocialHistoryChild.json +++ b/fsh-generated/resources/Questionnaire-SocialHistoryChild.json @@ -80,7 +80,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-SubstanceUse.json b/fsh-generated/resources/Questionnaire-SubstanceUse.json index 97c15ef3..a93241d7 100644 --- a/fsh-generated/resources/Questionnaire-SubstanceUse.json +++ b/fsh-generated/resources/Questionnaire-SubstanceUse.json @@ -76,7 +76,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, diff --git a/input/fsh/715-AboutTheHealthCheck.fsh b/input/fsh/715-AboutTheHealthCheck.fsh index 360376c3..dd94d93f 100644 --- a/input/fsh/715-AboutTheHealthCheck.fsh +++ b/input/fsh/715-AboutTheHealthCheck.fsh @@ -92,7 +92,7 @@ Description: "About The Health Check sub-questionnaire for Aboriginal and Torres * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-1" * text = "Complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" * type = #display * enableWhen[+] * question = "MarkComplete-1" // Section complete item diff --git a/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh b/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh index 21302b07..a75e4133 100644 --- a/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh +++ b/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh @@ -107,7 +107,7 @@ Description: "Absolute Cardiovascular Disease Risk Calculation sub-questionnaire * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-2" * text = "Complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" * type = #display * enableWhen[+] * question = "MarkComplete-2" // Section complete item diff --git a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh index 62c50aac..2db091cb 100644 --- a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh +++ b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh @@ -76,7 +76,7 @@ Description: "Allergies/Adverse Reactions sub-questionnaire for Aboriginal and T * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-3" * text = "Complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" * type = #display * enableWhen[+] * question = "MarkComplete-3" // Section complete item diff --git a/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh b/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh index 66b79eca..37509edf 100644 --- a/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh +++ b/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh @@ -77,7 +77,7 @@ Description: "Chronic Disease Ageing sub-questionnaire for Aboriginal and Torres * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-4" * text = "Complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" * type = #display * enableWhen[+] * question = "MarkComplete-4" // Section complete item diff --git a/input/fsh/715-Assessment-CurrentPriorities.fsh b/input/fsh/715-Assessment-CurrentPriorities.fsh index e34a8fba..83080ba9 100644 --- a/input/fsh/715-Assessment-CurrentPriorities.fsh +++ b/input/fsh/715-Assessment-CurrentPriorities.fsh @@ -79,7 +79,7 @@ Description: "Current Priorities sub-questionnaire for Aboriginal and Torres Str * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-5" * text = "Complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" * type = #display * enableWhen[+] * question = "MarkComplete-5" // Section complete item diff --git a/input/fsh/715-Assessment-EarHealthAndHearing.fsh b/input/fsh/715-Assessment-EarHealthAndHearing.fsh index 6e52215b..7f261167 100644 --- a/input/fsh/715-Assessment-EarHealthAndHearing.fsh +++ b/input/fsh/715-Assessment-EarHealthAndHearing.fsh @@ -78,7 +78,7 @@ Description: "Ear Health And Hearing sub-questionnaire for Aboriginal and Torres * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-6" * text = "Complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" * type = #display * enableWhen[+] * question = "MarkComplete-6" // Section complete item diff --git a/input/fsh/715-Assessment-Examination.fsh b/input/fsh/715-Assessment-Examination.fsh index 73732e3b..7a327ca4 100644 --- a/input/fsh/715-Assessment-Examination.fsh +++ b/input/fsh/715-Assessment-Examination.fsh @@ -131,7 +131,7 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-7" * text = "Complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" * type = #display * enableWhen[+] * question = "MarkComplete-7" // Section complete item diff --git a/input/fsh/715-Assessment-EyeHealth.fsh b/input/fsh/715-Assessment-EyeHealth.fsh index d0db7d83..a6a9fccd 100644 --- a/input/fsh/715-Assessment-EyeHealth.fsh +++ b/input/fsh/715-Assessment-EyeHealth.fsh @@ -78,7 +78,7 @@ Description: "Eye Health sub-questionnaire for Aboriginal and Torres Strait Isla * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-8" * text = "Complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" * type = #display * enableWhen[+] * question = "MarkComplete-8" // Section complete item diff --git a/input/fsh/715-Assessment-FamilyHistory.fsh b/input/fsh/715-Assessment-FamilyHistory.fsh index 04fe2245..5a5463e3 100644 --- a/input/fsh/715-Assessment-FamilyHistory.fsh +++ b/input/fsh/715-Assessment-FamilyHistory.fsh @@ -77,7 +77,7 @@ Description: "Family History sub-questionnaire for Aboriginal and Torres Strait * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-9" * text = "Complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" * type = #display * enableWhen[+] * question = "MarkComplete-9" // Section complete item diff --git a/input/fsh/715-Assessment-Gambling.fsh b/input/fsh/715-Assessment-Gambling.fsh index f170c799..b6d776fc 100644 --- a/input/fsh/715-Assessment-Gambling.fsh +++ b/input/fsh/715-Assessment-Gambling.fsh @@ -78,7 +78,7 @@ Description: "Gambling sub-questionnaire for Aboriginal and Torres Strait Island * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-10" * text = "Complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" * type = #display * enableWhen[+] * question = "MarkComplete-10" // Section complete item diff --git a/input/fsh/715-Assessment-HealthyEating.fsh b/input/fsh/715-Assessment-HealthyEating.fsh index 424ac20e..12b179af 100644 --- a/input/fsh/715-Assessment-HealthyEating.fsh +++ b/input/fsh/715-Assessment-HealthyEating.fsh @@ -79,7 +79,7 @@ Description: "Healthy Eating sub-questionnaire for Aboriginal and Torres Strait * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-11" * text = "Complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" * type = #display * enableWhen[+] * question = "MarkComplete-11" // Section complete item diff --git a/input/fsh/715-Assessment-HomeAndFamily.fsh b/input/fsh/715-Assessment-HomeAndFamily.fsh index 9baa33be..5526e135 100644 --- a/input/fsh/715-Assessment-HomeAndFamily.fsh +++ b/input/fsh/715-Assessment-HomeAndFamily.fsh @@ -79,7 +79,7 @@ Description: "Home And Family sub-questionnaire for Aboriginal and Torres Strait * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-12" * text = "Complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" * type = #display * enableWhen[+] * question = "MarkComplete-12" // Section complete item diff --git a/input/fsh/715-Assessment-Immunisation.fsh b/input/fsh/715-Assessment-Immunisation.fsh index d448c7d9..5013b567 100644 --- a/input/fsh/715-Assessment-Immunisation.fsh +++ b/input/fsh/715-Assessment-Immunisation.fsh @@ -78,7 +78,7 @@ Description: "Immunisation sub-questionnaire for Aboriginal and Torres Strait Is * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-13" * text = "Complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" * type = #display * enableWhen[+] * question = "MarkComplete-13" // Section complete item diff --git a/input/fsh/715-Assessment-Investigations.fsh b/input/fsh/715-Assessment-Investigations.fsh index 2433dd08..272a3b95 100644 --- a/input/fsh/715-Assessment-Investigations.fsh +++ b/input/fsh/715-Assessment-Investigations.fsh @@ -79,7 +79,7 @@ Description: "Investigations sub-questionnaire for Aboriginal and Torres Strait * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-14" * text = "Complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" * type = #display * enableWhen[+] * question = "MarkComplete-14" // Section complete item diff --git a/input/fsh/715-Assessment-LearningAndDevelopment.fsh b/input/fsh/715-Assessment-LearningAndDevelopment.fsh index c0ef3de3..c2677988 100644 --- a/input/fsh/715-Assessment-LearningAndDevelopment.fsh +++ b/input/fsh/715-Assessment-LearningAndDevelopment.fsh @@ -77,7 +77,7 @@ Description: "Learning And Development sub-questionnaire for Aboriginal and Torr * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-15" * text = "Complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" * type = #display * enableWhen[+] * question = "MarkComplete-15" // Section complete item diff --git a/input/fsh/715-Assessment-LearningAndWork.fsh b/input/fsh/715-Assessment-LearningAndWork.fsh index eb1cb19d..92b12f97 100644 --- a/input/fsh/715-Assessment-LearningAndWork.fsh +++ b/input/fsh/715-Assessment-LearningAndWork.fsh @@ -80,7 +80,7 @@ Description: "Learning And Work sub-questionnaire for Aboriginal and Torres Stra * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-33" * text = "Complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" * type = #display * enableWhen[+] * question = "MarkComplete-33" // Section complete item @@ -186,7 +186,7 @@ Description: "Learning And Work sub-questionnaire for Aboriginal and Torres Stra * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-16" * text = "Complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" * type = #display * enableWhen[+] * question = "MarkComplete-16" // Section complete item diff --git a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh index d1897554..ef7a6891 100644 --- a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh +++ b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh @@ -87,7 +87,7 @@ Description: "Medical History sub-questionnaire for Aboriginal and Torres Strait * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-17" * text = "Complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" * type = #display * enableWhen[+] * question = "MarkComplete-17" // Section complete item diff --git a/input/fsh/715-Assessment-MemoryAndThinking.fsh b/input/fsh/715-Assessment-MemoryAndThinking.fsh index 8a92bd51..fbef989b 100644 --- a/input/fsh/715-Assessment-MemoryAndThinking.fsh +++ b/input/fsh/715-Assessment-MemoryAndThinking.fsh @@ -78,7 +78,7 @@ Description: "Memory And Thinking sub-questionnaire for Aboriginal and Torres St * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-18" * text = "Complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" * type = #display * enableWhen[+] * question = "MarkComplete-18" // Section complete item diff --git a/input/fsh/715-Assessment-Mood.fsh b/input/fsh/715-Assessment-Mood.fsh index bfeed542..993e6928 100644 --- a/input/fsh/715-Assessment-Mood.fsh +++ b/input/fsh/715-Assessment-Mood.fsh @@ -77,7 +77,7 @@ Description: "Mood sub-questionnaire for Aboriginal and Torres Strait Islander H * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-19" * text = "Complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" * type = #display * enableWhen[+] * question = "MarkComplete-19" // Section complete item diff --git a/input/fsh/715-Assessment-OralAndDentalHealth.fsh b/input/fsh/715-Assessment-OralAndDentalHealth.fsh index 23fce197..15c6acf3 100644 --- a/input/fsh/715-Assessment-OralAndDentalHealth.fsh +++ b/input/fsh/715-Assessment-OralAndDentalHealth.fsh @@ -78,7 +78,7 @@ Description: "Oral And Dental Health sub-questionnaire for Aboriginal and Torres * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-20" * text = "Complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" * type = #display * enableWhen[+] * question = "MarkComplete-20" // Section complete item diff --git a/input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh b/input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh index 0f33a156..abbf94c0 100644 --- a/input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh +++ b/input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh @@ -80,7 +80,7 @@ Description: "Physical Activity And Screen Time sub-questionnaire for Aboriginal * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-34" * text = "Complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" * type = #display * enableWhen[+] * question = "MarkComplete-34" // Section complete item @@ -222,7 +222,7 @@ Description: "Physical Activity And Screen Time sub-questionnaire for Aboriginal * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-21" * text = "Complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" * type = #display * enableWhen[+] * question = "MarkComplete-21" // Section complete item diff --git a/input/fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh b/input/fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh index fd025df2..72ad66ee 100644 --- a/input/fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh +++ b/input/fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh @@ -76,7 +76,7 @@ Description: "Red Flags Early Identification Guide For Children sub-questionnair * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-22" * text = "Complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" * type = #display * enableWhen[+] * question = "MarkComplete-22" // Section complete item diff --git a/input/fsh/715-Assessment-RegularMedications.fsh b/input/fsh/715-Assessment-RegularMedications.fsh index e113b571..2ea1119d 100644 --- a/input/fsh/715-Assessment-RegularMedications.fsh +++ b/input/fsh/715-Assessment-RegularMedications.fsh @@ -79,7 +79,7 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-23" * text = "Complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" * type = #display * enableWhen[+] * question = "MarkComplete-23" // Section complete item diff --git a/input/fsh/715-Assessment-ScreeningPrograms.fsh b/input/fsh/715-Assessment-ScreeningPrograms.fsh index 19ee2451..8235b4c1 100644 --- a/input/fsh/715-Assessment-ScreeningPrograms.fsh +++ b/input/fsh/715-Assessment-ScreeningPrograms.fsh @@ -78,7 +78,7 @@ Description: "Screening Programs sub-questionnaire for Aboriginal and Torres Str * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-24" * text = "Complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" * type = #display * enableWhen[+] * question = "MarkComplete-24" // Section complete item diff --git a/input/fsh/715-Assessment-SexualHealth.fsh b/input/fsh/715-Assessment-SexualHealth.fsh index ba7aaede..8a889849 100644 --- a/input/fsh/715-Assessment-SexualHealth.fsh +++ b/input/fsh/715-Assessment-SexualHealth.fsh @@ -81,7 +81,7 @@ Description: "Sexual Health sub-questionnaire for Aboriginal and Torres Strait I * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-36" * text = "Complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" * type = #display * enableWhen[+] * question = "MarkComplete-36" // Section complete item @@ -180,7 +180,7 @@ Description: "Sexual Health sub-questionnaire for Aboriginal and Torres Strait I * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-35" * text = "Complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" * type = #display * enableWhen[+] * question = "MarkComplete-35" // Section complete item @@ -290,7 +290,7 @@ Description: "Sexual Health sub-questionnaire for Aboriginal and Torres Strait I * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-25" * text = "Complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" * type = #display * enableWhen[+] * question = "MarkComplete-25" // Section complete item diff --git a/input/fsh/715-Assessment-Skin.fsh b/input/fsh/715-Assessment-Skin.fsh index 7364da7b..ff0ef49d 100644 --- a/input/fsh/715-Assessment-Skin.fsh +++ b/input/fsh/715-Assessment-Skin.fsh @@ -79,7 +79,7 @@ Description: "Skin sub-questionnaire for Aboriginal and Torres Strait Islander H * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-26" * text = "Complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" * type = #display * enableWhen[+] * question = "MarkComplete-26" // Section complete item diff --git a/input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh b/input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh index 120af6b1..ca29def4 100644 --- a/input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh +++ b/input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh @@ -78,7 +78,7 @@ Description: "Social And Emotional Wellbeing sub-questionnaire for Aboriginal an * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-27" * text = "Complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" * type = #display * enableWhen[+] * question = "MarkComplete-27" // Section complete item diff --git a/input/fsh/715-Assessment-SocialHistoryChild.fsh b/input/fsh/715-Assessment-SocialHistoryChild.fsh index 7a6de199..b2acc89c 100644 --- a/input/fsh/715-Assessment-SocialHistoryChild.fsh +++ b/input/fsh/715-Assessment-SocialHistoryChild.fsh @@ -79,7 +79,7 @@ Description: "Social History Child sub-questionnaire for Aboriginal and Torres S * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-28" * text = "Complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" * type = #display * enableWhen[+] * question = "MarkComplete-28" // Section complete item diff --git a/input/fsh/715-Assessment-SubstanceUse.fsh b/input/fsh/715-Assessment-SubstanceUse.fsh index d29b0b80..8eadfb5f 100644 --- a/input/fsh/715-Assessment-SubstanceUse.fsh +++ b/input/fsh/715-Assessment-SubstanceUse.fsh @@ -86,7 +86,7 @@ Description: "Substance Use sub-questionnaire for Aboriginal and Torres Strait I * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-29" * text = "Complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" * type = #display * enableWhen[+] * question = "MarkComplete-29" // Section complete item diff --git a/input/fsh/715-Consent.fsh b/input/fsh/715-Consent.fsh index 4ee55908..19962e78 100644 --- a/input/fsh/715-Consent.fsh +++ b/input/fsh/715-Consent.fsh @@ -80,7 +80,7 @@ Description: "Consent sub-questionnaire for Aboriginal and Torres Strait Islande * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-30" * text = "Complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" * type = #display * enableWhen[+] * question = "MarkComplete-30" // Section complete item diff --git a/input/fsh/715-FinalisingHealthCheck.fsh b/input/fsh/715-FinalisingHealthCheck.fsh index d6c6db04..ce247184 100644 --- a/input/fsh/715-FinalisingHealthCheck.fsh +++ b/input/fsh/715-FinalisingHealthCheck.fsh @@ -78,7 +78,7 @@ Description: "Finalising the Health Check sub-questionnaire for Aboriginal and T * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-31" * text = "Complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" * type = #display * enableWhen[+] * question = "MarkComplete-31" // Section complete item diff --git a/input/fsh/715-PatientDetails.fsh b/input/fsh/715-PatientDetails.fsh index 5d1b2756..4627ae6e 100644 --- a/input/fsh/715-PatientDetails.fsh +++ b/input/fsh/715-PatientDetails.fsh @@ -94,7 +94,7 @@ Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-32" * text = "Complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" * type = #display * enableWhen[+] * question = "MarkComplete-32" // Section complete item From 5dd36f08ed4010db45638e3809c5caa5ad4a6a26 Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Thu, 4 Apr 2024 11:28:39 +1000 Subject: [PATCH 017/177] QA issue resolution --- ...stionnaire-AbsoluteCVDRiskCalculation.json | 28 ++++++++------- .../Questionnaire-ChronicDiseaseAgeing.json | 12 ++++--- .../Questionnaire-HealthyEating.json | 24 ++++++++----- .../resources/Questionnaire-SexualHealth.json | 36 ++++++++++++------- .../resources/Questionnaire-SubstanceUse.json | 12 ++++--- ...-Assessment-AbsoluteCVDRiskCalculation.fsh | 4 +-- .../715-Assessment-ChronicDiseaseAgeing.fsh | 6 ++-- input/fsh/715-Assessment-HealthyEating.fsh | 12 +++---- input/fsh/715-Assessment-SexualHealth.fsh | 24 ++++++------- input/fsh/715-Assessment-SubstanceUse.fsh | 8 ++--- input/ignoreWarnings.txt | 9 +++++ 11 files changed, 108 insertions(+), 67 deletions(-) diff --git a/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json b/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json index 7d1ffc5e..28d87cfe 100644 --- a/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json +++ b/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json @@ -90,25 +90,29 @@ ] }, { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there first.\r\n
" - } - ], "linkId": "RecordUpdate-CVDRisk", "text": "Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there.", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
\r\n Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there first.\r\n
" + } + ] + }, "type": "display" }, { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n

The Australian guideline for assessing and managing cardiovascular disease risk recommends the use of the online Australian CVD risk calculator.

\r\n

The items included in this section are a subset of variables that can be used as inputs for the online calculator.

\r\n

The final CVD risk result can be entered in the item at the bottom of this section.

\r\n
" - } - ], "linkId": "Guidance-CVDRisk", "text": "Australian CVD risk calculator - https://www.cvdcheck.org.au/calculator", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
\r\n

The Australian guideline for assessing and managing cardiovascular disease risk recommends the use of the online Australian CVD risk calculator.

\r\n

The items included in this section are a subset of variables that can be used as inputs for the online calculator.

\r\n

The final CVD risk result can be entered in the item at the bottom of this section.

\r\n
" + } + ] + }, "type": "display" }, { diff --git a/fsh-generated/resources/Questionnaire-ChronicDiseaseAgeing.json b/fsh-generated/resources/Questionnaire-ChronicDiseaseAgeing.json index cc826c22..77ea3de9 100644 --- a/fsh-generated/resources/Questionnaire-ChronicDiseaseAgeing.json +++ b/fsh-generated/resources/Questionnaire-ChronicDiseaseAgeing.json @@ -94,10 +94,6 @@ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-shortText", "valueString": "Assessment of chronic disease associated with ageing" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n
For older people with chronic disease and/or conditions associated with ageing, consider assessing:
\r\n
    \r\n
  • Osteoporosis risk
  • \r\n
  • Falls risk
  • \r\n
  • Balance, coordination and mobility
  • \r\n
  • Pain
  • \r\n
  • Nutrition
  • \r\n
  • Regularity of chronic disease management and review
  • \r\n
\r\n
" } ], "item": [ @@ -122,6 +118,14 @@ ], "linkId": "12e244c0-2887-4230-8792-9521d4f1ab33", "text": "For older people with chronic disease and/or conditions associated with ageing, consider assessing: Osteoporosis risk; Falls risk; Balance, coordination and mobility; Pain; Nutrition; Regularity of chronic disease management and review", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
\r\n
For older people with chronic disease and/or conditions associated with ageing, consider assessing:
\r\n
    \r\n
  • Osteoporosis risk
  • \r\n
  • Falls risk
  • \r\n
  • Balance, coordination and mobility
  • \r\n
  • Pain
  • \r\n
  • Nutrition
  • \r\n
  • Regularity of chronic disease management and review
  • \r\n
\r\n
" + } + ] + }, "type": "text", "repeats": false }, diff --git a/fsh-generated/resources/Questionnaire-HealthyEating.json b/fsh-generated/resources/Questionnaire-HealthyEating.json index 79715ac6..341723f1 100644 --- a/fsh-generated/resources/Questionnaire-HealthyEating.json +++ b/fsh-generated/resources/Questionnaire-HealthyEating.json @@ -385,10 +385,6 @@ "language": "text/fhirpath", "expression": "%age <= 5" } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n
Document conversation about age-appropriate healthy eating, which could include:
\r\n
    \r\n
  • current diet
  • \r\n
  • transition to solids
  • \r\n
  • dietary recommendations re fruit and vegetable intake, iron-rich foods, avoiding sugary drinks
  • \r\n
\r\n
" } ], "item": [ @@ -413,6 +409,14 @@ ], "linkId": "9f6adf74-f240-41a2-a509-d216d5308911", "text": "Document conversation about age-appropriate healthy eating, which could include: current diet; transition to solids; dietary recommendations re fruit and vegetable intake, iron-rich foods, avoiding sugary drinks", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
\r\n
Document conversation about age-appropriate healthy eating, which could include:
\r\n
    \r\n
  • current diet
  • \r\n
  • transition to solids
  • \r\n
  • dietary recommendations re fruit and vegetable intake, iron-rich foods, avoiding sugary drinks
  • \r\n
\r\n
" + } + ] + }, "type": "text", "repeats": false }, @@ -424,10 +428,6 @@ "language": "text/fhirpath", "expression": "%age > 5" } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n
Document conversation about health eating which could include:
\r\n
    \r\n
  • current diet including food and drinks
  • \r\n
  • recommendations about fruit and vegetable intake, water as the main drink, avoiding sugary drinks, avoiding highly processed foods (including supermarket-bought and take-away like KFC, Maccas, etc)
  • \r\n
\r\n
" } ], "item": [ @@ -452,6 +452,14 @@ ], "linkId": "7a22a4c4-6611-4687-af00-37c80c3f8fc0", "text": "Document conversation about health eating which could include: current diet including food and drinks; recommendations about fruit and vegetable intake, water as the main drink, avoiding sugary drinks, avoiding highly processed foods (including supermarket-bought and take-away like KFC, Maccas, etc)", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
\r\n
Document conversation about health eating which could include:
\r\n
    \r\n
  • current diet including food and drinks
  • \r\n
  • recommendations about fruit and vegetable intake, water as the main drink, avoiding sugary drinks, avoiding highly processed foods (including supermarket-bought and take-away like KFC, Maccas, etc)
  • \r\n
\r\n
" + } + ] + }, "type": "text", "repeats": false }, diff --git a/fsh-generated/resources/Questionnaire-SexualHealth.json b/fsh-generated/resources/Questionnaire-SexualHealth.json index b14d8220..933d8a98 100644 --- a/fsh-generated/resources/Questionnaire-SexualHealth.json +++ b/fsh-generated/resources/Questionnaire-SexualHealth.json @@ -143,10 +143,6 @@ }, { "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n
Consider discussing as relevant to age/sex/gender:
\r\n
    \r\n
  • menstruation (including risk of anaemia)
  • \r\n
  • current sexual activity
  • \r\n
  • contraception
  • \r\n
  • safe sex practice (eg use of condoms)
  • \r\n
  • sexually transmitted infection symptoms and screening
  • \r\n
  • blood-borne virus screening
  • \r\n
\r\n
" - }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-shortText", "valueString": "Consider discussing items relevant to age/sex/gender" @@ -154,6 +150,14 @@ ], "linkId": "0fba3972-faa3-4f40-940c-c2f1c9b55329", "text": "Consider discussing as relevant to age/sex/gender: menstruation (including risk of anaemia); current sexual activity; contraception; safe sex practice (eg use of condoms); sexually transmitted infection symptoms and screening; blood-borne virus screening", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
\r\n
Consider discussing as relevant to age/sex/gender:
\r\n
    \r\n
  • menstruation (including risk of anaemia)
  • \r\n
  • current sexual activity
  • \r\n
  • contraception
  • \r\n
  • safe sex practice (eg use of condoms)
  • \r\n
  • sexually transmitted infection symptoms and screening
  • \r\n
  • blood-borne virus screening
  • \r\n
\r\n
" + } + ] + }, "type": "text", "repeats": false }, @@ -379,10 +383,6 @@ }, { "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n
Consider discussing as relevant to age/sex/gender:
\r\n
    \r\n
  • contraception
  • \r\n
  • menstruation
  • \r\n
  • sexually transmitted infection symptoms and screening
  • \r\n
  • blood-borne virus screening
  • \r\n
  • continence
  • \r\n
  • menopause
  • \r\n
  • erectile dysfunction
  • \r\n
\r\n
" - }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-shortText", "valueString": "Consider discussing items relevant to age/sex/gender" @@ -390,6 +390,14 @@ ], "linkId": "39b02169-ea34-4af9-aa35-1c47f7f39333", "text": "Consider discussing as relevant to age/sex/gender: contraception; menstruation; sexually transmitted infection symptoms and screening; blood-borne virus screening; continence; menopause; erectile dysfunction", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
\r\n
Consider discussing as relevant to age/sex/gender:
\r\n
    \r\n
  • contraception
  • \r\n
  • menstruation
  • \r\n
  • sexually transmitted infection symptoms and screening
  • \r\n
  • blood-borne virus screening
  • \r\n
  • continence
  • \r\n
  • menopause
  • \r\n
  • erectile dysfunction
  • \r\n
\r\n
" + } + ] + }, "type": "text", "repeats": false }, @@ -594,10 +602,6 @@ }, { "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n
Consider discussing as relevant to age/sex/gender:
\r\n
    \r\n
  • menopause
  • \r\n
  • erectile dysfunction
  • \r\n
  • prostatic symptoms
  • \r\n
\r\n\t
" - }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-shortText", "valueString": "Consider discussing items relevant to age/sex/gender" @@ -605,6 +609,14 @@ ], "linkId": "8d75d1f1-290b-41fc-8e32-ad0681c650bb", "text": "Consider discussing as relevant to age/sex/gender: menopause; erectile dysfunction; prostatic symptoms", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
\r\n
Consider discussing as relevant to age/sex/gender:
\r\n
    \r\n
  • menopause
  • \r\n
  • erectile dysfunction
  • \r\n
  • prostatic symptoms
  • \r\n
\r\n\t
" + } + ] + }, "type": "text", "repeats": false }, diff --git a/fsh-generated/resources/Questionnaire-SubstanceUse.json b/fsh-generated/resources/Questionnaire-SubstanceUse.json index a93241d7..73457376 100644 --- a/fsh-generated/resources/Questionnaire-SubstanceUse.json +++ b/fsh-generated/resources/Questionnaire-SubstanceUse.json @@ -280,10 +280,6 @@ "item": [ { "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n
Quantity and frequency of:
\r\n
    \r\n
  • alcohol
  • \r\n
  • caffeine (coffee, soft drinks, iced coffee)
  • \r\n
  • cannabis/yarndi/gunja
  • \r\n
  • other substance use: IVDU, methamphetamine, opiates, solvents, other
  • \r\n
\r\n\t
" - }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-shortText", "valueString": "Quantity and frequency of substance use" @@ -311,6 +307,14 @@ ], "linkId": "ea73d52c-f831-46be-a45d-2c42250a5210", "text": "Quantity and frequency of: alcohol; caffeine (coffee, soft drinks, iced coffee); cannabis/yarndi/gunja; other substance use: IVDU, methamphetamine, opiates, solvents, other", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
\r\n
Quantity and frequency of:
\r\n
    \r\n
  • alcohol
  • \r\n
  • caffeine (coffee, soft drinks, iced coffee)
  • \r\n
  • cannabis/yarndi/gunja
  • \r\n
  • other substance use: IVDU, methamphetamine, opiates, solvents, other
  • \r\n
\r\n\t
" + } + ] + }, "type": "text", "repeats": false } diff --git a/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh b/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh index a75e4133..8e71424d 100644 --- a/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh +++ b/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh @@ -116,14 +116,14 @@ Description: "Absolute Cardiovascular Disease Risk Calculation sub-questionnaire * item[+] * linkId = "RecordUpdate-CVDRisk" * text = "Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there." - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
+ * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there first.
" * type = #display * item[+] * linkId = "Guidance-CVDRisk" * text = "Australian CVD risk calculator - https://www.cvdcheck.org.au/calculator" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
+ * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "

The Australian guideline for assessing and managing cardiovascular disease risk recommends the use of the online Australian CVD risk calculator.

The items included in this section are a subset of variables that can be used as inputs for the online calculator.

The final CVD risk result can be entered in the item at the bottom of this section.

diff --git a/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh b/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh index 37509edf..5f52821a 100644 --- a/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh +++ b/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh @@ -85,7 +85,9 @@ Description: "Chronic Disease Ageing sub-questionnaire for Aboriginal and Torres * answerBoolean = true * item[+] * extension[sdc-questionnaire-shortText].valueString = "Assessment of chronic disease associated with ageing" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
+ * linkId = "12e244c0-2887-4230-8792-9521d4f1ab33" + * text = "For older people with chronic disease and/or conditions associated with ageing, consider assessing: Osteoporosis risk; Falls risk; Balance, coordination and mobility; Pain; Nutrition; Regularity of chronic disease management and review" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
For older people with chronic disease and/or conditions associated with ageing, consider assessing:
  • Osteoporosis risk
  • @@ -96,8 +98,6 @@ Description: "Chronic Disease Ageing sub-questionnaire for Aboriginal and Torres
  • Regularity of chronic disease management and review
" - * linkId = "12e244c0-2887-4230-8792-9521d4f1ab33" - * text = "For older people with chronic disease and/or conditions associated with ageing, consider assessing: Osteoporosis risk; Falls risk; Balance, coordination and mobility; Pain; Nutrition; Regularity of chronic disease management and review" * type = #text * repeats = false * item[+] diff --git a/input/fsh/715-Assessment-HealthyEating.fsh b/input/fsh/715-Assessment-HealthyEating.fsh index 12b179af..dfb5db7b 100644 --- a/input/fsh/715-Assessment-HealthyEating.fsh +++ b/input/fsh/715-Assessment-HealthyEating.fsh @@ -210,7 +210,9 @@ Description: "Healthy Eating sub-questionnaire for Aboriginal and Torres Strait * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath * expression = "%age <= 5" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
+ * linkId = "9f6adf74-f240-41a2-a509-d216d5308911" + * text = "Document conversation about age-appropriate healthy eating, which could include: current diet; transition to solids; dietary recommendations re fruit and vegetable intake, iron-rich foods, avoiding sugary drinks" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
Document conversation about age-appropriate healthy eating, which could include:
  • current diet
  • @@ -218,8 +220,6 @@ Description: "Healthy Eating sub-questionnaire for Aboriginal and Torres Strait
  • dietary recommendations re fruit and vegetable intake, iron-rich foods, avoiding sugary drinks
" - * linkId = "9f6adf74-f240-41a2-a509-d216d5308911" - * text = "Document conversation about age-appropriate healthy eating, which could include: current diet; transition to solids; dietary recommendations re fruit and vegetable intake, iron-rich foods, avoiding sugary drinks" * type = #text * repeats = false * item[+] @@ -231,15 +231,15 @@ Description: "Healthy Eating sub-questionnaire for Aboriginal and Torres Strait * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath * expression = "%age > 5" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
+ * linkId = "7a22a4c4-6611-4687-af00-37c80c3f8fc0" + * text = "Document conversation about health eating which could include: current diet including food and drinks; recommendations about fruit and vegetable intake, water as the main drink, avoiding sugary drinks, avoiding highly processed foods (including supermarket-bought and take-away like KFC, Maccas, etc)" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
Document conversation about health eating which could include:
  • current diet including food and drinks
  • recommendations about fruit and vegetable intake, water as the main drink, avoiding sugary drinks, avoiding highly processed foods (including supermarket-bought and take-away like KFC, Maccas, etc)
" - * linkId = "7a22a4c4-6611-4687-af00-37c80c3f8fc0" - * text = "Document conversation about health eating which could include: current diet including food and drinks; recommendations about fruit and vegetable intake, water as the main drink, avoiding sugary drinks, avoiding highly processed foods (including supermarket-bought and take-away like KFC, Maccas, etc)" * type = #text * repeats = false * item[+] diff --git a/input/fsh/715-Assessment-SexualHealth.fsh b/input/fsh/715-Assessment-SexualHealth.fsh index 8a889849..e61bcbc7 100644 --- a/input/fsh/715-Assessment-SexualHealth.fsh +++ b/input/fsh/715-Assessment-SexualHealth.fsh @@ -125,7 +125,10 @@ Description: "Sexual Health sub-questionnaire for Aboriginal and Torres Strait I * operator = #= * answerCoding = http://terminology.hl7.org/CodeSystem/v2-0136#Y * item[+] - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
+ * extension[sdc-questionnaire-shortText].valueString = "Consider discussing items relevant to age/sex/gender" + * linkId = "0fba3972-faa3-4f40-940c-c2f1c9b55329" + * text = "Consider discussing as relevant to age/sex/gender: menstruation (including risk of anaemia); current sexual activity; contraception; safe sex practice (eg use of condoms); sexually transmitted infection symptoms and screening; blood-borne virus screening" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
Consider discussing as relevant to age/sex/gender:
  • menstruation (including risk of anaemia)
  • @@ -136,9 +139,6 @@ Description: "Sexual Health sub-questionnaire for Aboriginal and Torres Strait I
  • blood-borne virus screening
" - * extension[sdc-questionnaire-shortText].valueString = "Consider discussing items relevant to age/sex/gender" - * linkId = "0fba3972-faa3-4f40-940c-c2f1c9b55329" - * text = "Consider discussing as relevant to age/sex/gender: menstruation (including risk of anaemia); current sexual activity; contraception; safe sex practice (eg use of condoms); sexually transmitted infection symptoms and screening; blood-borne virus screening" * type = #text * repeats = false @@ -234,7 +234,10 @@ Description: "Sexual Health sub-questionnaire for Aboriginal and Torres Strait I * type = #text * repeats = false * item[+] - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
+ * extension[sdc-questionnaire-shortText].valueString = "Consider discussing items relevant to age/sex/gender" + * linkId = "39b02169-ea34-4af9-aa35-1c47f7f39333" + * text = "Consider discussing as relevant to age/sex/gender: contraception; menstruation; sexually transmitted infection symptoms and screening; blood-borne virus screening; continence; menopause; erectile dysfunction" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
Consider discussing as relevant to age/sex/gender:
  • contraception
  • @@ -246,9 +249,6 @@ Description: "Sexual Health sub-questionnaire for Aboriginal and Torres Strait I
  • erectile dysfunction
" - * extension[sdc-questionnaire-shortText].valueString = "Consider discussing items relevant to age/sex/gender" - * linkId = "39b02169-ea34-4af9-aa35-1c47f7f39333" - * text = "Consider discussing as relevant to age/sex/gender: contraception; menstruation; sexually transmitted infection symptoms and screening; blood-borne virus screening; continence; menopause; erectile dysfunction" * type = #text * repeats = false @@ -341,7 +341,10 @@ Description: "Sexual Health sub-questionnaire for Aboriginal and Torres Strait I * operator = #= * answerCoding = http://terminology.hl7.org/CodeSystem/v2-0136#Y * item[+] - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
+ * extension[sdc-questionnaire-shortText].valueString = "Consider discussing items relevant to age/sex/gender" + * linkId = "8d75d1f1-290b-41fc-8e32-ad0681c650bb" + * text = "Consider discussing as relevant to age/sex/gender: menopause; erectile dysfunction; prostatic symptoms" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
Consider discussing as relevant to age/sex/gender:
  • menopause
  • @@ -349,9 +352,6 @@ Description: "Sexual Health sub-questionnaire for Aboriginal and Torres Strait I
  • prostatic symptoms
" - * extension[sdc-questionnaire-shortText].valueString = "Consider discussing items relevant to age/sex/gender" - * linkId = "8d75d1f1-290b-41fc-8e32-ad0681c650bb" - * text = "Consider discussing as relevant to age/sex/gender: menopause; erectile dysfunction; prostatic symptoms" * type = #text * repeats = false diff --git a/input/fsh/715-Assessment-SubstanceUse.fsh b/input/fsh/715-Assessment-SubstanceUse.fsh index 8eadfb5f..61ce6cd7 100644 --- a/input/fsh/715-Assessment-SubstanceUse.fsh +++ b/input/fsh/715-Assessment-SubstanceUse.fsh @@ -174,7 +174,10 @@ Description: "Substance Use sub-questionnaire for Aboriginal and Torres Strait I * type = #group * repeats = false * item[+] - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
+ * extension[sdc-questionnaire-shortText].valueString = "Quantity and frequency of substance use" + * linkId = "ea73d52c-f831-46be-a45d-2c42250a5210" + * text = "Quantity and frequency of: alcohol; caffeine (coffee, soft drinks, iced coffee); cannabis/yarndi/gunja; other substance use: IVDU, methamphetamine, opiates, solvents, other" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
Quantity and frequency of:
  • alcohol
  • @@ -183,9 +186,6 @@ Description: "Substance Use sub-questionnaire for Aboriginal and Torres Strait I
  • other substance use: IVDU, methamphetamine, opiates, solvents, other
" - * extension[sdc-questionnaire-shortText].valueString = "Quantity and frequency of substance use" - * linkId = "ea73d52c-f831-46be-a45d-2c42250a5210" - * text = "Quantity and frequency of: alcohol; caffeine (coffee, soft drinks, iced coffee); cannabis/yarndi/gunja; other substance use: IVDU, methamphetamine, opiates, solvents, other" * type = #text * repeats = false * item[+] diff --git a/input/ignoreWarnings.txt b/input/ignoreWarnings.txt index 0daf61ab..66fbb6fe 100644 --- a/input/ignoreWarnings.txt +++ b/input/ignoreWarnings.txt @@ -24,6 +24,15 @@ Review the extension type for ContainedResourceReference: extensions should not # Draft code systems referenced as intended Reference to draft CodeSystem http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext|3.0.0 +Reference to draft CodeSystem https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended|0.1.0 +Reference to draft CodeSystem http://hl7.org/fhir/questionnaire-item-control|4.0.1 +Reference to draft CodeSystem http://hl7.org/fhir/questionnaire-display-category|4.0.1 + +# Embedded HTML warnings checked +The string value contains text that looks like embedded HTML tags. If this content is rendered to HTML without appropriate post-processing, it may be a security risk + +# Invalid errors - invariant bug +The extension http://hl7.org/fhir/StructureDefinition/questionnaire-displayCategory is not allowed to be used at this point (based on context invariant 'type!='display'') # HL7 core warnings WARNING: 1: The HTML fragment 'ip-statements.xhtml' is not included anywhere in the produced implementation guide From dfe1a3cbaa9affecdb827fa861a3d8d1dd45399b Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Thu, 4 Apr 2024 12:50:46 +1000 Subject: [PATCH 018/177] fix some displays --- .../resources/Questionnaire-AbsoluteCVDRiskCalculation.json | 2 +- fsh-generated/resources/Questionnaire-Examination.json | 4 ++-- fsh-generated/resources/Questionnaire-EyeHealth.json | 4 ++-- fsh-generated/resources/Questionnaire-SubstanceUse.json | 2 +- input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh | 2 +- input/fsh/715-Assessment-Examination.fsh | 4 ++-- input/fsh/715-Assessment-EyeHealth.fsh | 4 ++-- input/fsh/715-Assessment-SubstanceUse.fsh | 2 +- 8 files changed, 12 insertions(+), 12 deletions(-) diff --git a/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json b/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json index 28d87cfe..afedeff7 100644 --- a/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json +++ b/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json @@ -210,7 +210,7 @@ "valueCoding": { "code": "8517006", "system": "http://snomed.info/sct", - "display": "Ex-Smoker" + "display": "Ex-smoker" } }, { diff --git a/fsh-generated/resources/Questionnaire-Examination.json b/fsh-generated/resources/Questionnaire-Examination.json index c0ecdbe6..eaa141ff 100644 --- a/fsh-generated/resources/Questionnaire-Examination.json +++ b/fsh-generated/resources/Questionnaire-Examination.json @@ -644,14 +644,14 @@ "valueCoding": { "code": "271636001", "system": "http://snomed.info/sct", - "display": "Pulse Regular" + "display": "Pulse regular" } }, { "valueCoding": { "code": "61086009", "system": "http://snomed.info/sct", - "display": "Pulse Irregular" + "display": "Pulse irregular" } } ] diff --git a/fsh-generated/resources/Questionnaire-EyeHealth.json b/fsh-generated/resources/Questionnaire-EyeHealth.json index 80ce147b..16b33229 100644 --- a/fsh-generated/resources/Questionnaire-EyeHealth.json +++ b/fsh-generated/resources/Questionnaire-EyeHealth.json @@ -328,7 +328,7 @@ "valueCoding": { "code": "95726001", "system": "http://snomed.info/sct", - "display": "Corneal scarring" + "display": "Corneal scar" } } ] @@ -363,7 +363,7 @@ "valueCoding": { "code": "95726001", "system": "http://snomed.info/sct", - "display": "Corneal scarring" + "display": "Corneal scar" } } ] diff --git a/fsh-generated/resources/Questionnaire-SubstanceUse.json b/fsh-generated/resources/Questionnaire-SubstanceUse.json index 73457376..87bdea3e 100644 --- a/fsh-generated/resources/Questionnaire-SubstanceUse.json +++ b/fsh-generated/resources/Questionnaire-SubstanceUse.json @@ -148,7 +148,7 @@ "valueCoding": { "code": "8517006", "system": "http://snomed.info/sct", - "display": "Ex-Smoker" + "display": "Ex-smoker" } }, { diff --git a/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh b/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh index 8e71424d..96f3d997 100644 --- a/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh +++ b/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh @@ -171,7 +171,7 @@ Description: "Absolute Cardiovascular Disease Risk Calculation sub-questionnaire // better as a standard answerValueSet when missing concepts are available * answerOption[+].valueCoding = http://snomed.info/sct#266919005 "Never smoked" * answerOption[+].valueCoding = http://snomed.info/sct#77176002 "Smoker" - * answerOption[+].valueCoding = http://snomed.info/sct#8517006 "Ex-Smoker" + * answerOption[+].valueCoding = http://snomed.info/sct#8517006 "Ex-smoker" * answerOption[+].valueCoding = http://snomed.info/sct#16090371000119103 "Environmental exposure to tobacco smoke (home, car, etc)" * answerOption[+].valueString = "Wants to quit" * answerOption[+].valueString = "Other tobacco use" diff --git a/input/fsh/715-Assessment-Examination.fsh b/input/fsh/715-Assessment-Examination.fsh index 7a327ca4..0fffda9d 100644 --- a/input/fsh/715-Assessment-Examination.fsh +++ b/input/fsh/715-Assessment-Examination.fsh @@ -367,8 +367,8 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * text = "Value" * type = #choice * repeats = false - * answerOption[+].valueCoding = $SCT#271636001 "Pulse Regular" - * answerOption[+].valueCoding = $SCT#61086009 "Pulse Irregular" + * answerOption[+].valueCoding = $SCT#271636001 "Pulse regular" + * answerOption[+].valueCoding = $SCT#61086009 "Pulse irregular" * item[+] * linkId = "eeb56682-0eae-4428-9c37-0e63852026c0" * text = "Date performed" diff --git a/input/fsh/715-Assessment-EyeHealth.fsh b/input/fsh/715-Assessment-EyeHealth.fsh index a6a9fccd..a552b779 100644 --- a/input/fsh/715-Assessment-EyeHealth.fsh +++ b/input/fsh/715-Assessment-EyeHealth.fsh @@ -202,7 +202,7 @@ Description: "Eye Health sub-questionnaire for Aboriginal and Torres Strait Isla * type = #choice * repeats = false * answerOption[+].valueCoding = $SCT#60332004 "Trichiasis" - * answerOption[+].valueCoding = $SCT#95726001 "Corneal scarring" + * answerOption[+].valueCoding = $SCT#95726001 "Corneal scar" * item[+] * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#check-box * linkId = "6ae69487-345e-46a0-a8db-b1356671ee59" @@ -210,7 +210,7 @@ Description: "Eye Health sub-questionnaire for Aboriginal and Torres Strait Isla * type = #choice * repeats = false * answerOption[+].valueCoding = $SCT#60332004 "Trichiasis" - * answerOption[+].valueCoding = $SCT#95726001 "Corneal scarring" + * answerOption[+].valueCoding = $SCT#95726001 "Corneal scar" * item[+] diff --git a/input/fsh/715-Assessment-SubstanceUse.fsh b/input/fsh/715-Assessment-SubstanceUse.fsh index 61ce6cd7..327e6263 100644 --- a/input/fsh/715-Assessment-SubstanceUse.fsh +++ b/input/fsh/715-Assessment-SubstanceUse.fsh @@ -116,7 +116,7 @@ Description: "Substance Use sub-questionnaire for Aboriginal and Torres Strait I // better as a standard answerValueSet when missing concepts are available or national standard adoption * answerOption[+].valueCoding = http://snomed.info/sct#266919005 "Never smoked" * answerOption[+].valueCoding = http://snomed.info/sct#77176002 "Smoker" - * answerOption[+].valueCoding = http://snomed.info/sct#8517006 "Ex-Smoker" + * answerOption[+].valueCoding = http://snomed.info/sct#8517006 "Ex-smoker" * answerOption[+].valueCoding = http://snomed.info/sct#16090371000119103 "Environmental exposure to tobacco smoke (home, car, etc)" * answerOption[+].valueString = "Wants to quit" * answerOption[+].valueString = "Other tobacco use" From 086e759223d3ad4de0b985d52f5135fb0e3e6023 Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Thu, 4 Apr 2024 15:20:07 +1000 Subject: [PATCH 019/177] Add updated assembled health check questionnaire --- ...esStraitIslanderHealthCheck-assembled.json | 227 +++++++++++------- 1 file changed, 136 insertions(+), 91 deletions(-) diff --git a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json index 0549cc9d..926102b9 100644 --- a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json +++ b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json @@ -2,6 +2,9 @@ "resourceType": "Questionnaire", "id": "AboriginalTorresStraitIslanderHealthCheck", "meta": { + "versionId": "11", + "lastUpdated": "2024-04-04T02:51:25.955+00:00", + "source": "#HE6iRtnNvR4rbTv8", "profile": [ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp", "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" @@ -455,7 +458,7 @@ { "url": "https://smartforms.csiro.au/ig/StructureDefinition/ContainedResourceReference", "valueReference": { - "reference": "#pronouns" + "reference": "#australian-pronouns-1" } }, { @@ -658,7 +661,7 @@ "subjectType": [ "Patient" ], - "date": "2022-05-24", + "date": "2024-04-02", "publisher": "AEHRC CSIRO", "contact": [ { @@ -1015,7 +1018,7 @@ "valueExpression": { "name": "ObsTobaccoSmokingStatus", "language": "application/x-fhir-query", - "expression": "Observation?code=72166-2&_count=1&_sort=-date&patient={{%patient.id}}" + "expression": "Observation?code=266918002&_count=1&_sort=-date&patient={{%patient.id}}" } }, { @@ -1162,7 +1165,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, @@ -1362,7 +1365,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, @@ -1757,7 +1760,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, @@ -1821,7 +1824,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%patient.extension.where(url='http://hl7.org/fhir/StructureDefinition/individual-pronouns').extension.where(url='value').value.coding" + "expression": "%patient.extension.where(exists(url='http://hl7.org/fhir/StructureDefinition/individual-pronouns') and extension.where(url='period').valuePeriod.end.empty()).extension.where(url='value').value.coding" } }, { @@ -1841,7 +1844,7 @@ "type": "choice", "repeats": false, "readOnly": true, - "answerValueSet": "http://terminology.hl7.org/ValueSet/pronouns" + "answerValueSet": "https://healthterminologies.gov.au/fhir/ValueSet/australian-pronouns-1" }, { "extension": [ @@ -1849,7 +1852,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%patient.extension.where(url='http://hl7.org/fhir/StructureDefinition/patient-genderIdentity').value.coding" + "expression": "%patient.extension.where(exists(url='http://hl7.org/fhir/StructureDefinition/individual-genderIdentity') and extension.where(url='period').valuePeriod.end.empty()).extension.where(url='value').value.coding" } }, { @@ -1908,7 +1911,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%ObsSex.entry.resource.value.coding" + "expression": "%patient.extension.where(exists(url='http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender' and extension.where(exists(url='type' and valueCodeableConcept.coding.code='1515311000168102')) and extension.where(url='effectivePeriod').valuePeriod.end.empty())).extension.where(url='value').value.coding" } }, { @@ -2416,6 +2419,16 @@ "repeats": true }, { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemPopulationContext", + "valueExpression": { + "name": "EmergencyContactRepeat", + "language": "text/fhirpath", + "expression": "%patient.contact.where(relationship.coding.exists(code = 'C'))" + } + } + ], "linkId": "c22390d3-1be6-4fd1-b775-6443b7239a6b", "text": "Emergency contact", "type": "group", @@ -2427,7 +2440,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%patient.contact.where(relationship.coding.exists(code = 'C')).name.select((family | (given | prefix).join(' ')).join(', ').where($this != '') | text)" + "expression": "%EmergencyContactRepeat.name.select((family | (given | prefix).join(' ')).join(', ').where($this != '') | text)" } } ], @@ -2472,7 +2485,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%patient.contact.where(relationship.coding.exists(code = 'C')).telecom.value" + "expression": "%EmergencyContactRepeat.telecom.value" } } ], @@ -3142,7 +3155,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, @@ -3451,7 +3464,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, @@ -3841,7 +3854,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, @@ -4072,7 +4085,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, @@ -4194,7 +4207,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, @@ -4371,7 +4384,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, @@ -4575,7 +4588,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, @@ -4787,7 +4800,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, @@ -5012,7 +5025,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, @@ -5447,7 +5460,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, @@ -5688,7 +5701,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, @@ -5835,7 +5848,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, @@ -6022,7 +6035,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, @@ -6247,7 +6260,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, @@ -6265,14 +6278,18 @@ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-shortText", "valueString": "Assessment of chronic disease associated with ageing" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n
For older people with chronic disease and/or conditions associated with ageing, consider assessing:
\r\n
    \r\n
  • Osteoporosis risk
  • \r\n
  • Falls risk
  • \r\n
  • Balance, coordination and mobility
  • \r\n
  • Pain
  • \r\n
  • Nutrition
  • \r\n
  • Regularity of chronic disease management and review
  • \r\n
\r\n
" } ], "linkId": "12e244c0-2887-4230-8792-9521d4f1ab33", "text": "For older people with chronic disease and/or conditions associated with ageing, consider assessing: Osteoporosis risk; Falls risk; Balance, coordination and mobility; Pain; Nutrition; Regularity of chronic disease management and review", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
\r\n
For older people with chronic disease and/or conditions associated with ageing, consider assessing:
\r\n
    \r\n
  • Osteoporosis risk
  • \r\n
  • Falls risk
  • \r\n
  • Balance, coordination and mobility
  • \r\n
  • Pain
  • \r\n
  • Nutrition
  • \r\n
  • Regularity of chronic disease management and review
  • \r\n
\r\n
" + } + ] + }, "type": "text", "repeats": false, "item": [ @@ -6386,7 +6403,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, @@ -6670,7 +6687,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, @@ -6979,14 +6996,18 @@ "language": "text/fhirpath", "expression": "%age <= 5" } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n
Document conversation about age-appropriate healthy eating, which could include:
\r\n
    \r\n
  • current diet
  • \r\n
  • transition to solids
  • \r\n
  • dietary recommendations re fruit and vegetable intake, iron-rich foods, avoiding sugary drinks
  • \r\n
\r\n
" } ], "linkId": "9f6adf74-f240-41a2-a509-d216d5308911", "text": "Document conversation about age-appropriate healthy eating, which could include: current diet; transition to solids; dietary recommendations re fruit and vegetable intake, iron-rich foods, avoiding sugary drinks", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
\r\n
Document conversation about age-appropriate healthy eating, which could include:
\r\n
    \r\n
  • current diet
  • \r\n
  • transition to solids
  • \r\n
  • dietary recommendations re fruit and vegetable intake, iron-rich foods, avoiding sugary drinks
  • \r\n
\r\n
" + } + ] + }, "type": "text", "repeats": false, "item": [ @@ -7018,14 +7039,18 @@ "language": "text/fhirpath", "expression": "%age > 5" } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n
Document conversation about health eating which could include:
\r\n
    \r\n
  • current diet including food and drinks
  • \r\n
  • recommendations about fruit and vegetable intake, water as the main drink, avoiding sugary drinks, avoiding highly processed foods (including supermarket-bought and take-away like KFC, Maccas, etc)
  • \r\n
\r\n
" } ], "linkId": "7a22a4c4-6611-4687-af00-37c80c3f8fc0", "text": "Document conversation about health eating which could include: current diet including food and drinks; recommendations about fruit and vegetable intake, water as the main drink, avoiding sugary drinks, avoiding highly processed foods (including supermarket-bought and take-away like KFC, Maccas, etc)", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
\r\n
Document conversation about health eating which could include:
\r\n
    \r\n
  • current diet including food and drinks
  • \r\n
  • recommendations about fruit and vegetable intake, water as the main drink, avoiding sugary drinks, avoiding highly processed foods (including supermarket-bought and take-away like KFC, Maccas, etc)
  • \r\n
\r\n
" + } + ] + }, "type": "text", "repeats": false, "item": [ @@ -7187,7 +7212,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, @@ -7522,7 +7547,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, @@ -7699,7 +7724,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, @@ -8978,7 +9003,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, @@ -9054,7 +9079,7 @@ "valueCoding": { "system": "http://snomed.info/sct", "code": "8517006", - "display": "Ex-Smoker" + "display": "Ex-smoker" } }, { @@ -9186,10 +9211,6 @@ "item": [ { "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n
Quantity and frequency of:
\r\n
    \r\n
  • alcohol
  • \r\n
  • caffeine (coffee, soft drinks, iced coffee)
  • \r\n
  • cannabis/yarndi/gunja
  • \r\n
  • other substance use: IVDU, methamphetamine, opiates, solvents, other
  • \r\n
\r\n\t
" - }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-shortText", "valueString": "Quantity and frequency of substance use" @@ -9197,6 +9218,14 @@ ], "linkId": "ea73d52c-f831-46be-a45d-2c42250a5210", "text": "Quantity and frequency of: alcohol; caffeine (coffee, soft drinks, iced coffee); cannabis/yarndi/gunja; other substance use: IVDU, methamphetamine, opiates, solvents, other", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
\r\n
Quantity and frequency of:
\r\n
    \r\n
  • alcohol
  • \r\n
  • caffeine (coffee, soft drinks, iced coffee)
  • \r\n
  • cannabis/yarndi/gunja
  • \r\n
  • other substance use: IVDU, methamphetamine, opiates, solvents, other
  • \r\n
\r\n\t
" + } + ] + }, "type": "text", "repeats": false, "item": [ @@ -9312,7 +9341,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, @@ -9467,7 +9496,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, @@ -9530,10 +9559,6 @@ }, { "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n
Consider discussing as relevant to age/sex/gender:
\r\n
    \r\n
  • menstruation (including risk of anaemia)
  • \r\n
  • current sexual activity
  • \r\n
  • contraception
  • \r\n
  • safe sex practice (eg use of condoms)
  • \r\n
  • sexually transmitted infection symptoms and screening
  • \r\n
  • blood-borne virus screening
  • \r\n
\r\n
" - }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-shortText", "valueString": "Consider discussing items relevant to age/sex/gender" @@ -9541,6 +9566,14 @@ ], "linkId": "0fba3972-faa3-4f40-940c-c2f1c9b55329", "text": "Consider discussing as relevant to age/sex/gender: menstruation (including risk of anaemia); current sexual activity; contraception; safe sex practice (eg use of condoms); sexually transmitted infection symptoms and screening; blood-borne virus screening", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
\r\n
Consider discussing as relevant to age/sex/gender:
\r\n
    \r\n
  • menstruation (including risk of anaemia)
  • \r\n
  • current sexual activity
  • \r\n
  • contraception
  • \r\n
  • safe sex practice (eg use of condoms)
  • \r\n
  • sexually transmitted infection symptoms and screening
  • \r\n
  • blood-borne virus screening
  • \r\n
\r\n
" + } + ] + }, "type": "text", "repeats": false }, @@ -9634,7 +9667,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, @@ -9766,10 +9799,6 @@ }, { "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n
Consider discussing as relevant to age/sex/gender:
\r\n
    \r\n
  • contraception
  • \r\n
  • menstruation
  • \r\n
  • sexually transmitted infection symptoms and screening
  • \r\n
  • blood-borne virus screening
  • \r\n
  • continence
  • \r\n
  • menopause
  • \r\n
  • erectile dysfunction
  • \r\n
\r\n
" - }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-shortText", "valueString": "Consider discussing items relevant to age/sex/gender" @@ -9777,6 +9806,14 @@ ], "linkId": "39b02169-ea34-4af9-aa35-1c47f7f39333", "text": "Consider discussing as relevant to age/sex/gender: contraception; menstruation; sexually transmitted infection symptoms and screening; blood-borne virus screening; continence; menopause; erectile dysfunction", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
\r\n
Consider discussing as relevant to age/sex/gender:
\r\n
    \r\n
  • contraception
  • \r\n
  • menstruation
  • \r\n
  • sexually transmitted infection symptoms and screening
  • \r\n
  • blood-borne virus screening
  • \r\n
  • continence
  • \r\n
  • menopause
  • \r\n
  • erectile dysfunction
  • \r\n
\r\n
" + } + ] + }, "type": "text", "repeats": false }, @@ -9870,7 +9907,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, @@ -9981,10 +10018,6 @@ }, { "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n
Consider discussing as relevant to age/sex/gender:
\r\n
    \r\n
  • menopause
  • \r\n
  • erectile dysfunction
  • \r\n
  • prostatic symptoms
  • \r\n
\r\n\t
" - }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-shortText", "valueString": "Consider discussing items relevant to age/sex/gender" @@ -9992,6 +10025,14 @@ ], "linkId": "8d75d1f1-290b-41fc-8e32-ad0681c650bb", "text": "Consider discussing as relevant to age/sex/gender: menopause; erectile dysfunction; prostatic symptoms", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
\r\n
Consider discussing as relevant to age/sex/gender:
\r\n
    \r\n
  • menopause
  • \r\n
  • erectile dysfunction
  • \r\n
  • prostatic symptoms
  • \r\n
\r\n\t
" + } + ] + }, "type": "text", "repeats": false }, @@ -10085,7 +10126,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, @@ -10345,7 +10386,7 @@ "valueCoding": { "system": "http://snomed.info/sct", "code": "95726001", - "display": "Corneal scarring" + "display": "Corneal scar" } } ] @@ -10380,7 +10421,7 @@ "valueCoding": { "system": "http://snomed.info/sct", "code": "95726001", - "display": "Corneal scarring" + "display": "Corneal scar" } } ] @@ -10479,7 +10520,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, @@ -11116,7 +11157,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, @@ -11391,7 +11432,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, @@ -11652,7 +11693,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, @@ -11889,7 +11930,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, @@ -12464,14 +12505,14 @@ "valueCoding": { "system": "http://snomed.info/sct", "code": "271636001", - "display": "Pulse Regular" + "display": "Pulse regular" } }, { "valueCoding": { "system": "http://snomed.info/sct", "code": "61086009", - "display": "Pulse Irregular" + "display": "Pulse irregular" } } ] @@ -12788,7 +12829,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, @@ -12802,25 +12843,29 @@ ] }, { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there first.\r\n
" - } - ], "linkId": "RecordUpdate-CVDRisk", "text": "Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there.", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
\r\n Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there first.\r\n
" + } + ] + }, "type": "display" }, { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n

The Australian guideline for assessing and managing cardiovascular disease risk recommends the use of the online Australian CVD risk calculator.

\r\n

The items included in this section are a subset of variables that can be used as inputs for the online calculator.

\r\n

The final CVD risk result can be entered in the item at the bottom of this section.

\r\n
" - } - ], "linkId": "Guidance-CVDRisk", "text": "Australian CVD risk calculator - https://www.cvdcheck.org.au/calculator", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
\r\n

The Australian guideline for assessing and managing cardiovascular disease risk recommends the use of the online Australian CVD risk calculator.

\r\n

The items included in this section are a subset of variables that can be used as inputs for the online calculator.

\r\n

The final CVD risk result can be entered in the item at the bottom of this section.

\r\n
" + } + ] + }, "type": "display" }, { @@ -12923,7 +12968,7 @@ "valueCoding": { "system": "http://snomed.info/sct", "code": "8517006", - "display": "Ex-Smoker" + "display": "Ex-smoker" } }, { @@ -13382,7 +13427,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, @@ -14316,7 +14361,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n" + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" } ] }, From ca6f8225de307f317dc2d4863e674e3314e8ca58 Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Thu, 4 Apr 2024 15:27:09 +1000 Subject: [PATCH 020/177] Add acceptable canonical url --- sushi-config.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sushi-config.yaml b/sushi-config.yaml index 50b6812a..28f12b9f 100644 --- a/sushi-config.yaml +++ b/sushi-config.yaml @@ -101,8 +101,9 @@ parameters: - 'https://healthterminologies.gov.au/fhir/ValueSet/biological-sex-1' - 'http://hl7.org/fhir/ValueSet/condition-clinical' - 'https://healthterminologies.gov.au/fhir/ValueSet/gender-identity-response-1' - - 'http://terminology.hl7.org/ValueSet/pronouns' + - 'https://healthterminologies.gov.au/fhir/ValueSet/australian-pronouns-1' - 'https://healthterminologies.gov.au/fhir/ValueSet/australian-states-territories-2' + apply-publisher: false default-publisher: true apply-version: false From e0bce7ace79ab0ba22d2919d495d10236412d4e4 Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Thu, 4 Apr 2024 16:12:09 +1000 Subject: [PATCH 021/177] improve consistency of internal references of terminology --- fsh-generated/fsh-index.json | 36 +- fsh-generated/fsh-index.txt | 19 +- fsh-generated/includes/fsh-link-references.md | 1 + ...ntationGuide-csiro.fhir.au.smartforms.json | 14 +- ...stionnaire-AbsoluteCVDRiskCalculation.json | 91 ++- .../Questionnaire-AssemblyInstructions.json | 108 ++++ ...onnaire-MedicalHistoryCurrentProblems.json | 116 +++- .../Questionnaire-PatientDetails.json | 574 +++++++++++++++++- .../ValueSet-administrative-gender.json | 102 ++++ input/fsh/715-AssemblyInstructions.fsh | 4 + ...-Assessment-AbsoluteCVDRiskCalculation.fsh | 5 +- ...sessment-MedicalHistoryCurrentProblems.fsh | 5 +- input/fsh/715-PatientDetails.fsh | 17 +- input/fsh/terminology.fsh | 49 ++ sushi-config.yaml | 1 + 15 files changed, 1100 insertions(+), 42 deletions(-) create mode 100644 fsh-generated/resources/ValueSet-administrative-gender.json diff --git a/fsh-generated/fsh-index.json b/fsh-generated/fsh-index.json index 77265261..ff240135 100644 --- a/fsh-generated/fsh-index.json +++ b/fsh-generated/fsh-index.json @@ -21,7 +21,7 @@ "fshType": "Instance", "fshFile": "715-Assessment-AbsoluteCVDRiskCalculation.fsh", "startLine": 5, - "endLine": 415 + "endLine": 418 }, { "outputFile": "Questionnaire-AllergiesAdverseReactions.json", @@ -37,7 +37,7 @@ "fshType": "Instance", "fshFile": "715-AssemblyInstructions.fsh", "startLine": 5, - "endLine": 577 + "endLine": 581 }, { "outputFile": "Questionnaire-ChronicDiseaseAgeing.json", @@ -173,7 +173,7 @@ "fshType": "Instance", "fshFile": "715-Assessment-MedicalHistoryCurrentProblems.fsh", "startLine": 5, - "endLine": 300 + "endLine": 301 }, { "outputFile": "Questionnaire-MemoryAndThinking.json", @@ -205,7 +205,7 @@ "fshType": "Instance", "fshFile": "715-PatientDetails.fsh", "startLine": 5, - "endLine": 713 + "endLine": 718 }, { "outputFile": "Questionnaire-PhysicalActivityAndScreenTime.json", @@ -335,44 +335,52 @@ "startLine": 16, "endLine": 51 }, + { + "outputFile": "ValueSet-administrative-gender.json", + "fshName": "AdministrativeGender", + "fshType": "ValueSet", + "fshFile": "terminology.fsh", + "startLine": 444, + "endLine": 489 + }, { "outputFile": "ValueSet-australian-pronouns-1.json", "fshName": "AustralianPronouns", "fshType": "ValueSet", "fshFile": "terminology.fsh", - "startLine": 617, - "endLine": 673 + "startLine": 666, + "endLine": 722 }, { "outputFile": "ValueSet-australian-states-territories-2.json", "fshName": "AustralianStatesAndTerritories", "fshType": "ValueSet", "fshFile": "terminology.fsh", - "startLine": 499, - "endLine": 561 + "startLine": 548, + "endLine": 610 }, { "outputFile": "ValueSet-biological-sex-1.json", "fshName": "BiologicalSex", "fshType": "ValueSet", "fshFile": "terminology.fsh", - "startLine": 675, - "endLine": 712 + "startLine": 724, + "endLine": 761 }, { "outputFile": "ValueSet-condition-clinical.json", "fshName": "ConditionClinicalStatusCodes", "fshType": "ValueSet", "fshFile": "terminology.fsh", - "startLine": 442, - "endLine": 495 + "startLine": 491, + "endLine": 544 }, { "outputFile": "ValueSet-gender-identity-response-1.json", "fshName": "GenderIdentityResponse", "fshType": "ValueSet", "fshFile": "terminology.fsh", - "startLine": 564, - "endLine": 615 + "startLine": 613, + "endLine": 664 } ] diff --git a/fsh-generated/fsh-index.txt b/fsh-generated/fsh-index.txt index 4b4e3ad1..97c01d7e 100644 --- a/fsh-generated/fsh-index.txt +++ b/fsh-generated/fsh-index.txt @@ -1,9 +1,9 @@ Output File Name Type FSH File Lines CodeSystem-QuestionnaireItemControlExtended.json QuestionnaireItemControlExtended CodeSystem terminology.fsh 7 - 14 Questionnaire-AboutTheHealthCheck.json AboutTheHealthCheck Instance 715-AboutTheHealthCheck.fsh 5 - 163 -Questionnaire-AbsoluteCVDRiskCalculation.json AbsoluteCVDRiskCalculation Instance 715-Assessment-AbsoluteCVDRiskCalculation.fsh 5 - 415 +Questionnaire-AbsoluteCVDRiskCalculation.json AbsoluteCVDRiskCalculation Instance 715-Assessment-AbsoluteCVDRiskCalculation.fsh 5 - 418 Questionnaire-AllergiesAdverseReactions.json AllergiesAdverseReactions Instance 715-Assessment-AllergiesAdverseReactions.fsh 5 - 103 -Questionnaire-AssemblyInstructions.json AssemblyInstructions Instance 715-AssemblyInstructions.fsh 5 - 577 +Questionnaire-AssemblyInstructions.json AssemblyInstructions Instance 715-AssemblyInstructions.fsh 5 - 581 Questionnaire-ChronicDiseaseAgeing.json ChronicDiseaseAgeing Instance 715-Assessment-ChronicDiseaseAgeing.fsh 5 - 120 Questionnaire-Consent.json Consent Instance 715-Consent.fsh 7 - 216 Questionnaire-CurrentPriorities.json CurrentPriorities Instance 715-Assessment-CurrentPriorities.fsh 5 - 182 @@ -20,11 +20,11 @@ Questionnaire-Immunisation.json Immunisation Questionnaire-Investigations.json Investigations Instance 715-Assessment-Investigations.fsh 5 - 133 Questionnaire-LearningAndDevelopment.json LearningAndDevelopment Instance 715-Assessment-LearningAndDevelopment.fsh 5 - 224 Questionnaire-LearningAndWork.json LearningAndWork Instance 715-Assessment-LearningAndWork.fsh 5 - 227 -Questionnaire-MedicalHistoryCurrentProblems.json MedicalHistoryCurrentProblems Instance 715-Assessment-MedicalHistoryCurrentProblems.fsh 5 - 300 +Questionnaire-MedicalHistoryCurrentProblems.json MedicalHistoryCurrentProblems Instance 715-Assessment-MedicalHistoryCurrentProblems.fsh 5 - 301 Questionnaire-MemoryAndThinking.json MemoryAndThinking Instance 715-Assessment-MemoryAndThinking.fsh 5 - 155 Questionnaire-Mood.json Mood Instance 715-Assessment-Mood.fsh 5 - 130 Questionnaire-OralAndDentalHealth.json OralAndDentalHealth Instance 715-Assessment-OralAndDentalHealth.fsh 5 - 177 -Questionnaire-PatientDetails.json PatientDetails Instance 715-PatientDetails.fsh 5 - 713 +Questionnaire-PatientDetails.json PatientDetails Instance 715-PatientDetails.fsh 5 - 718 Questionnaire-PhysicalActivityAndScreenTime.json PhysicalActivityAndScreenTime Instance 715-Assessment-PhysicalActivityAndScreenTime.fsh 5 - 276 Questionnaire-RedFlagsEarlyIdentificationGuide.json RedFlagsEarlyIdentificationGuide Instance 715-Assessment-RedFlagsEarlyIdentificationGuide.fsh 5 - 518 Questionnaire-RegularMedications.json RegularMedications Instance 715-Assessment-RegularMedications.fsh 5 - 157 @@ -41,8 +41,9 @@ ValueSet-PrimaryCarerParentGrandparent.json PrimaryCarerParentGrandpare ValueSet-YesNo.json YesNo ValueSet terminology.fsh 79 - 98 ValueSet-YesNoNA.json YesNoNA ValueSet terminology.fsh 53 - 76 ValueSet-YesNoNotAskedDeclined.json YesNoNotAskedDeclined ValueSet terminology.fsh 16 - 51 -ValueSet-australian-pronouns-1.json AustralianPronouns ValueSet terminology.fsh 617 - 673 -ValueSet-australian-states-territories-2.json AustralianStatesAndTerritories ValueSet terminology.fsh 499 - 561 -ValueSet-biological-sex-1.json BiologicalSex ValueSet terminology.fsh 675 - 712 -ValueSet-condition-clinical.json ConditionClinicalStatusCodes ValueSet terminology.fsh 442 - 495 -ValueSet-gender-identity-response-1.json GenderIdentityResponse ValueSet terminology.fsh 564 - 615 \ No newline at end of file +ValueSet-administrative-gender.json AdministrativeGender ValueSet terminology.fsh 444 - 489 +ValueSet-australian-pronouns-1.json AustralianPronouns ValueSet terminology.fsh 666 - 722 +ValueSet-australian-states-territories-2.json AustralianStatesAndTerritories ValueSet terminology.fsh 548 - 610 +ValueSet-biological-sex-1.json BiologicalSex ValueSet terminology.fsh 724 - 761 +ValueSet-condition-clinical.json ConditionClinicalStatusCodes ValueSet terminology.fsh 491 - 544 +ValueSet-gender-identity-response-1.json GenderIdentityResponse ValueSet terminology.fsh 613 - 664 \ No newline at end of file diff --git a/fsh-generated/includes/fsh-link-references.md b/fsh-generated/includes/fsh-link-references.md index 0dcf59e9..96b0d97e 100644 --- a/fsh-generated/includes/fsh-link-references.md +++ b/fsh-generated/includes/fsh-link-references.md @@ -33,6 +33,7 @@ [SocialHistoryChild]: Questionnaire-SocialHistoryChild.html [SubstanceUse]: Questionnaire-SubstanceUse.html [AboriginalTorresStraitIslander]: ValueSet-AboriginalTorresStraitIslander.html +[AdministrativeGender]: ValueSet-administrative-gender.html [AustralianPronouns]: ValueSet-australian-pronouns-1.html [AustralianStatesAndTerritories]: ValueSet-australian-states-territories-2.html [BiologicalSex]: ValueSet-biological-sex-1.html diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index ffb62bb2..77939f0b 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -322,6 +322,14 @@ "description": "The Aboriginal and/or Torres Strait Islander value set includes the Australian Indigenous statuses for Indigenous people.", "exampleBoolean": false }, + { + "reference": { + "reference": "ValueSet/administrative-gender" + }, + "name": "AdministrativeGender", + "description": "The gender of a person used for administrative purposes.", + "exampleBoolean": false + }, { "reference": { "reference": "ValueSet/australian-pronouns-1" @@ -679,6 +687,10 @@ "code": "special-url", "value": "https://healthterminologies.gov.au/fhir/ValueSet/biological-sex-1" }, + { + "code": "special-url", + "value": "http://hl7.org/fhir/ValueSet/administrative-gender" + }, { "code": "special-url", "value": "http://hl7.org/fhir/ValueSet/condition-clinical" @@ -689,7 +701,7 @@ }, { "code": "special-url", - "value": "http://terminology.hl7.org/ValueSet/pronouns" + "value": "https://healthterminologies.gov.au/fhir/ValueSet/australian-pronouns-1" }, { "code": "special-url", diff --git a/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json b/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json index afedeff7..6c12ab34 100644 --- a/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json +++ b/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json @@ -174,7 +174,7 @@ "text": "Sex at birth", "type": "choice", "repeats": false, - "answerValueSet": "https://healthterminologies.gov.au/fhir/ValueSet/biological-sex-1" + "answerValueSet": "#biological-sex-1" }, { "extension": [ @@ -611,6 +611,95 @@ "repeats": false } ], + "contained": [ + { + "resourceType": "ValueSet", + "id": "biological-sex-1", + "meta": { + "profile": [ + "http://hl7.org/fhir/StructureDefinition/shareablevalueset", + "https://healthterminologies.gov.au/fhir/StructureDefinition/composed-value-set-4" + ] + }, + "status": "active", + "name": "BiologicalSex", + "title": "Biological Sex", + "description": "The Biological Sex value set includes values that represent the biological sex of an individual.", + "url": "https://healthterminologies.gov.au/fhir/ValueSet/biological-sex-1", + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:oid:1.2.36.1.2001.1004.201.10198" + } + ], + "version": "1.0.0", + "experimental": false, + "date": "2020-12-31", + "publisher": "Australian Digital Health Agency", + "contact": [ + { + "telecom": [ + { + "system": "email", + "value": "help@digitalhealth.gov.au" + } + ] + } + ], + "copyright": "Copyright © 2020 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\nThis resource includes SNOMED Clinical Terms™ (SNOMED CT®) which is used by permission of the International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. “SNOMED” and “SNOMED CT” are registered trademarks of the IHTSDO. \n\nThe rights to use and implement or implementation of SNOMED CT content are limited to the extent it is necessary to allow for the end use of this material. No further rights are granted in respect of the International Release and no further use of any SNOMED CT content by any other party is permitted. \n\nAll copies of this resource must include this copyright statement and all information contained in this statement.", + "expansion": { + "identifier": "urn:uuid:e9cff1c2-8743-48cb-9bde-8f4af914544b", + "timestamp": "2023-08-30T10:41:59+10:00", + "total": 4, + "parameter": [ + { + "name": "version", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20230831" + }, + { + "name": "used-codesystem", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20230831" + } + ], + "contains": [ + { + "system": "http://snomed.info/sct", + "code": "248152002", + "display": "Female" + }, + { + "system": "http://snomed.info/sct", + "code": "32570681000036106", + "display": "Indeterminate sex" + }, + { + "system": "http://snomed.info/sct", + "code": "32570691000036108", + "display": "Intersex" + }, + { + "system": "http://snomed.info/sct", + "code": "248153007", + "display": "Male" + } + ] + }, + "compose": { + "include": [ + { + "system": "http://snomed.info/sct", + "filter": [ + { + "property": "constraint", + "op": "=", + "value": "^ 32570631000036107|Sex reference set|" + } + ] + } + ] + } + } + ], "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assemble-expectation", diff --git a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json index ebb508cc..be14894c 100644 --- a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json +++ b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json @@ -907,6 +907,108 @@ ] } }, + { + "resourceType": "ValueSet", + "id": "administrative-gender", + "meta": { + "lastUpdated": "2019-11-01T09:29:23.356+11:00", + "profile": [ + "http://hl7.org/fhir/StructureDefinition/shareablevalueset" + ] + }, + "status": "active", + "name": "AdministrativeGender", + "title": "AdministrativeGender", + "description": "The gender of a person used for administrative purposes.", + "url": "https://smartforms.csiro.au/ig/ValueSet/administrative-gender", + "contact": [ + { + "telecom": [ + { + "system": "url", + "value": "http://hl7.org/fhir" + }, + { + "system": "email", + "value": "fhir@lists.hl7.org" + } + ] + } + ], + "date": "2019-11-01T09:29:23+11:00", + "experimental": false, + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg", + "valueCode": "pa" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", + "valueCode": "normative" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm", + "valueInteger": 5 + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version", + "valueCode": "4.0.0" + } + ], + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:oid:2.16.840.1.113883.4.642.3.1" + } + ], + "immutable": true, + "publisher": "HL7 (FHIR Project)", + "version": "4.0.1", + "expansion": { + "identifier": "urn:uuid:797238aa-61be-4165-9fa6-3595bbfd16f6", + "timestamp": "2024-04-04T05:36:01+00:00", + "total": 4, + "parameter": [ + { + "name": "version", + "valueUri": "http://hl7.org/fhir/administrative-gender|4.3.0" + }, + { + "name": "used-codesystem", + "valueUri": "http://hl7.org/fhir/administrative-gender|4.3.0" + } + ], + "contains": [ + { + "system": "http://hl7.org/fhir/administrative-gender", + "code": "female", + "display": "Female" + }, + { + "system": "http://hl7.org/fhir/administrative-gender", + "code": "male", + "display": "Male" + }, + { + "system": "http://hl7.org/fhir/administrative-gender", + "code": "other", + "display": "Other" + }, + { + "system": "http://hl7.org/fhir/administrative-gender", + "code": "unknown", + "display": "Unknown" + } + ] + }, + "compose": { + "include": [ + { + "system": "http://hl7.org/fhir/administrative-gender" + } + ] + } + }, { "resourceType": "ValueSet", "id": "condition-clinical", @@ -1719,6 +1821,12 @@ "reference": "#MedicalHistory" } }, + { + "url": "https://smartforms.csiro.au/ig/StructureDefinition/ContainedResourceReference", + "valueReference": { + "reference": "#administrative-gender" + } + }, { "url": "https://smartforms.csiro.au/ig/StructureDefinition/ContainedResourceReference", "valueReference": { diff --git a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json index ed2e312b..8d274e21 100644 --- a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json +++ b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json @@ -259,7 +259,7 @@ "linkId": "88bcfad7-386b-4d87-b34b-2e50482e4d2c", "text": "Clinical Status", "type": "choice", - "answerValueSet": "http://hl7.org/fhir/ValueSet/condition-clinical" + "answerValueSet": "#condition-clinical" }, { "extension": [ @@ -354,7 +354,7 @@ "linkId": "a7e056be-fb6f-4f7f-b04d-5b809e1e18e3", "text": "Clinical Status", "type": "choice", - "answerValueSet": "http://hl7.org/fhir/ValueSet/condition-clinical" + "answerValueSet": "#condition-clinical" }, { "linkId": "e4524654-f6de-4717-b288-34919394d46b", @@ -423,6 +423,118 @@ } ] } + }, + { + "resourceType": "ValueSet", + "id": "condition-clinical", + "status": "draft", + "name": "ConditionClinicalStatusCodes", + "title": "Condition Clinical Status Codes", + "description": "Preferred value set for Condition Clinical Status.", + "url": "http://hl7.org/fhir/ValueSet/condition-clinical", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg", + "valueCode": "pc" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", + "valueCode": "trial-use" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm", + "valueInteger": 3 + } + ], + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:oid:2.16.840.1.113883.4.642.3.164" + } + ], + "version": "4.0.1", + "experimental": false, + "publisher": "FHIR Project team", + "contact": [ + { + "telecom": [ + { + "system": "url", + "value": "http://hl7.org/fhir" + } + ] + } + ], + "expansion": { + "identifier": "urn:uuid:79d21cca-9f34-4cfa-9020-17eee95eeed8", + "timestamp": "2024-04-02T14:17:12+10:00", + "total": 6, + "parameter": [ + { + "name": "version", + "valueUri": "http://terminology.hl7.org/CodeSystem/condition-clinical|4.0.1" + }, + { + "name": "used-codesystem", + "valueUri": "http://terminology.hl7.org/CodeSystem/condition-clinical|4.0.1" + }, + { + "name": "warning-draft", + "valueUri": "http://hl7.org/fhir/ValueSet/condition-clinical|4.0.1" + }, + { + "name": "warning-trial-use", + "valueUri": "http://hl7.org/fhir/ValueSet/condition-clinical|4.0.1" + }, + { + "name": "warning-trial-use", + "valueUri": "http://terminology.hl7.org/CodeSystem/condition-clinical|4.0.1" + }, + { + "name": "warning-draft", + "valueUri": "http://terminology.hl7.org/CodeSystem/condition-clinical|4.0.1" + } + ], + "contains": [ + { + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", + "code": "active", + "display": "Active" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", + "code": "inactive", + "display": "Inactive" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", + "code": "recurrence", + "display": "Recurrence" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", + "code": "relapse", + "display": "Relapse" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", + "code": "remission", + "display": "Remission" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", + "code": "resolved", + "display": "Resolved" + } + ] + }, + "compose": { + "include": [ + { + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical" + } + ] + } } ], "extension": [ diff --git a/fsh-generated/resources/Questionnaire-PatientDetails.json b/fsh-generated/resources/Questionnaire-PatientDetails.json index f5d45243..1d43f9bd 100644 --- a/fsh-generated/resources/Questionnaire-PatientDetails.json +++ b/fsh-generated/resources/Questionnaire-PatientDetails.json @@ -151,7 +151,7 @@ "type": "choice", "repeats": false, "readOnly": true, - "answerValueSet": "https://healthterminologies.gov.au/fhir/ValueSet/australian-pronouns-1" + "answerValueSet": "#australian-pronouns-1" }, { "extension": [ @@ -179,7 +179,7 @@ "type": "choice", "repeats": false, "readOnly": true, - "answerValueSet": "https://healthterminologies.gov.au/fhir/ValueSet/gender-identity-response-1" + "answerValueSet": "#gender-identity-response-1" }, { "extension": [ @@ -210,7 +210,7 @@ "text": "Administrative gender", "type": "choice", "repeats": false, - "answerValueSet": "http://hl7.org/fhir/ValueSet/administrative-gender" + "answerValueSet": "#administrative-gender" }, { "extension": [ @@ -238,7 +238,7 @@ "type": "choice", "repeats": false, "readOnly": true, - "answerValueSet": "https://healthterminologies.gov.au/fhir/ValueSet/biological-sex-1" + "answerValueSet": "#biological-sex-1" }, { "extension": [ @@ -524,7 +524,7 @@ "definition": "http://hl7.org.au/fhir/StructureDefinition/au-address#Address.state", "text": "State", "type": "choice", - "answerValueSet": "https://healthterminologies.gov.au/fhir/ValueSet/australian-states-territories-2", + "answerValueSet": "#australian-states-territories-2", "repeats": false }, { @@ -661,7 +661,7 @@ "definition": "http://hl7.org.au/fhir/StructureDefinition/au-address#Address.state", "text": "State", "type": "choice", - "answerValueSet": "https://healthterminologies.gov.au/fhir/ValueSet/australian-states-territories-2", + "answerValueSet": "#australian-states-territories-2", "repeats": false }, { @@ -1612,6 +1612,568 @@ } ] } + }, + { + "resourceType": "ValueSet", + "id": "administrative-gender", + "meta": { + "lastUpdated": "2019-11-01T09:29:23.356+11:00", + "profile": [ + "http://hl7.org/fhir/StructureDefinition/shareablevalueset" + ] + }, + "status": "active", + "name": "AdministrativeGender", + "title": "AdministrativeGender", + "description": "The gender of a person used for administrative purposes.", + "url": "https://smartforms.csiro.au/ig/ValueSet/administrative-gender", + "contact": [ + { + "telecom": [ + { + "system": "url", + "value": "http://hl7.org/fhir" + }, + { + "system": "email", + "value": "fhir@lists.hl7.org" + } + ] + } + ], + "date": "2019-11-01T09:29:23+11:00", + "experimental": false, + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg", + "valueCode": "pa" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", + "valueCode": "normative" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm", + "valueInteger": 5 + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version", + "valueCode": "4.0.0" + } + ], + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:oid:2.16.840.1.113883.4.642.3.1" + } + ], + "immutable": true, + "publisher": "HL7 (FHIR Project)", + "version": "4.0.1", + "expansion": { + "identifier": "urn:uuid:797238aa-61be-4165-9fa6-3595bbfd16f6", + "timestamp": "2024-04-04T05:36:01+00:00", + "total": 4, + "parameter": [ + { + "name": "version", + "valueUri": "http://hl7.org/fhir/administrative-gender|4.3.0" + }, + { + "name": "used-codesystem", + "valueUri": "http://hl7.org/fhir/administrative-gender|4.3.0" + } + ], + "contains": [ + { + "system": "http://hl7.org/fhir/administrative-gender", + "code": "female", + "display": "Female" + }, + { + "system": "http://hl7.org/fhir/administrative-gender", + "code": "male", + "display": "Male" + }, + { + "system": "http://hl7.org/fhir/administrative-gender", + "code": "other", + "display": "Other" + }, + { + "system": "http://hl7.org/fhir/administrative-gender", + "code": "unknown", + "display": "Unknown" + } + ] + }, + "compose": { + "include": [ + { + "system": "http://hl7.org/fhir/administrative-gender" + } + ] + } + }, + { + "resourceType": "ValueSet", + "id": "australian-pronouns-1", + "status": "active", + "name": "AustralianPronouns", + "title": "Australian Pronouns", + "description": "The Australian Pronouns value set includes values that indicate the pronouns to be used when communicating with or about an individual.", + "url": "https://healthterminologies.gov.au/fhir/ValueSet/australian-pronouns-1", + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:oid:1.2.36.1.2001.1004.201.10284" + } + ], + "version": "1.0.0", + "experimental": false, + "copyright": "Copyright © 2024 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\nThis material contains content from LOINC (http://loinc.org). LOINC is copyright 1995-2024, Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee and is available at no cost under the license at http://loinc.org/license. LOINC® is a registered United States trademark of Regenstrief Institute, Inc.\n\nThis material contains information which is protected by copyright. You may download, display, print and reproduce any material for your personal, non-commercial use or use within your organisation subject to the following terms and conditions: \n\nThis resource also includes all or a portion of material from the HL7 Terminology (THO). THO is copyright ©1989+ Health Level Seven International and is made available under the CC0 designation. For more licensing information see: https://terminology.hl7.org/license.", + "expansion": { + "identifier": "urn:uuid:ca145c1c-4915-4957-888a-39e69de8b1ad", + "timestamp": "2024-04-02T14:25:01+10:00", + "total": 7, + "parameter": [ + { + "name": "version", + "valueUri": "http://loinc.org|2.77" + }, + { + "name": "used-codesystem", + "valueUri": "http://loinc.org|2.77" + }, + { + "name": "version", + "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" + }, + { + "name": "used-codesystem", + "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" + } + ], + "contains": [ + { + "system": "http://loinc.org", + "version": "2.77", + "code": "LA29518-0", + "display": "he/him/his/his/himself" + }, + { + "system": "http://loinc.org", + "version": "2.77", + "code": "LA29519-8", + "display": "she/her/her/hers/herself" + }, + { + "system": "http://loinc.org", + "version": "2.77", + "code": "LA29520-6", + "display": "they/them/their/theirs/themselves" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "version": "5.0.0-ballot", + "code": "asked-declined", + "display": "Asked But Declined" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "version": "5.0.0-ballot", + "code": "asked-unknown", + "display": "Asked But Unknown" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "version": "5.0.0-ballot", + "code": "not-asked", + "display": "Not Asked" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "version": "5.0.0-ballot", + "code": "unknown", + "display": "Unknown" + } + ] + }, + "compose": { + "include": [ + { + "system": "http://loinc.org", + "concept": [ + { + "code": "LA29518-0", + "display": "he/him/his/his/himself" + }, + { + "code": "LA29519-8", + "display": "she/her/her/hers/herself" + }, + { + "code": "LA29520-6", + "display": "they/them/their/theirs/themselves" + } + ] + }, + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "concept": [ + { + "code": "unknown" + }, + { + "code": "asked-declined" + }, + { + "code": "not-asked" + }, + { + "code": "asked-unknown" + } + ] + } + ] + } + }, + { + "resourceType": "ValueSet", + "id": "gender-identity-response-1", + "status": "active", + "name": "GenderIdentityResponse", + "title": "Gender Identity Response", + "description": "The Gender Identity Response value set includes values that may be used to represent a response for an individual's gender. A person's gender is a social and cultural identity, expression and experience.", + "url": "https://healthterminologies.gov.au/fhir/ValueSet/gender-identity-response-1", + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:oid:1.2.36.1.2001.1004.201.10271" + } + ], + "version": "1.1.0", + "experimental": false, + "copyright": "Copyright © 2022 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/.\n\n\"This resource includes SNOMED Clinical Terms™ (SNOMED CT®) which is used by permission of the International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. “SNOMED” and “SNOMED CT” are registered trademarks of the IHTSDO. \n\nThe rights to use and implement or implementation of SNOMED CT content are limited to the extent it is necessary to allow for the end use of this material. No further rights are granted in respect of the International Release and no further use of any SNOMED CT content by any other party is permitted. \n\nThis resource includes material that is based on Australian Institute of Health and Welfare material. This resource includes material that is based on Australian Bureau of Statistics data. \n\nThis resource also includes all or a portion of material from the HL7 Terminology (THO). THO is copyright ©1989+ Health Level Seven International and is made available under the CC0 designation. For more licensing information see: https://terminology.hl7.org/license.", + "expansion": { + "identifier": "urn:uuid:a35fc104-184f-476e-a7a2-e3f3af66a3eb", + "timestamp": "2024-04-02T14:21:20+10:00", + "total": 6, + "parameter": [ + { + "name": "version", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" + }, + { + "name": "used-codesystem", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" + }, + { + "name": "version", + "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" + }, + { + "name": "used-codesystem", + "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" + } + ], + "contains": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20240331", + "code": "446151000124109", + "display": "Identifies as male gender" + }, + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20240331", + "code": "446141000124107", + "display": "Identifies as female gender" + }, + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20240331", + "code": "33791000087105", + "display": "Identifies as nonbinary gender" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "version": "5.0.0-ballot", + "code": "unknown", + "display": "Unknown" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "version": "5.0.0-ballot", + "code": "asked-declined", + "display": "Asked But Declined" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "version": "5.0.0-ballot", + "code": "not-asked", + "display": "Not Asked" + } + ] + }, + "compose": { + "include": [ + { + "system": "http://snomed.info/sct", + "concept": [ + { + "code": "446151000124109" + }, + { + "code": "446141000124107" + }, + { + "code": "33791000087105" + } + ] + }, + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "concept": [ + { + "code": "unknown" + }, + { + "code": "asked-declined" + }, + { + "code": "not-asked" + } + ] + } + ] + } + }, + { + "resourceType": "ValueSet", + "id": "biological-sex-1", + "meta": { + "profile": [ + "http://hl7.org/fhir/StructureDefinition/shareablevalueset", + "https://healthterminologies.gov.au/fhir/StructureDefinition/composed-value-set-4" + ] + }, + "status": "active", + "name": "BiologicalSex", + "title": "Biological Sex", + "description": "The Biological Sex value set includes values that represent the biological sex of an individual.", + "url": "https://healthterminologies.gov.au/fhir/ValueSet/biological-sex-1", + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:oid:1.2.36.1.2001.1004.201.10198" + } + ], + "version": "1.0.0", + "experimental": false, + "date": "2020-12-31", + "publisher": "Australian Digital Health Agency", + "contact": [ + { + "telecom": [ + { + "system": "email", + "value": "help@digitalhealth.gov.au" + } + ] + } + ], + "copyright": "Copyright © 2020 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\nThis resource includes SNOMED Clinical Terms™ (SNOMED CT®) which is used by permission of the International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. “SNOMED” and “SNOMED CT” are registered trademarks of the IHTSDO. \n\nThe rights to use and implement or implementation of SNOMED CT content are limited to the extent it is necessary to allow for the end use of this material. No further rights are granted in respect of the International Release and no further use of any SNOMED CT content by any other party is permitted. \n\nAll copies of this resource must include this copyright statement and all information contained in this statement.", + "expansion": { + "identifier": "urn:uuid:e9cff1c2-8743-48cb-9bde-8f4af914544b", + "timestamp": "2023-08-30T10:41:59+10:00", + "total": 4, + "parameter": [ + { + "name": "version", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20230831" + }, + { + "name": "used-codesystem", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20230831" + } + ], + "contains": [ + { + "system": "http://snomed.info/sct", + "code": "248152002", + "display": "Female" + }, + { + "system": "http://snomed.info/sct", + "code": "32570681000036106", + "display": "Indeterminate sex" + }, + { + "system": "http://snomed.info/sct", + "code": "32570691000036108", + "display": "Intersex" + }, + { + "system": "http://snomed.info/sct", + "code": "248153007", + "display": "Male" + } + ] + }, + "compose": { + "include": [ + { + "system": "http://snomed.info/sct", + "filter": [ + { + "property": "constraint", + "op": "=", + "value": "^ 32570631000036107|Sex reference set|" + } + ] + } + ] + } + }, + { + "resourceType": "ValueSet", + "id": "australian-states-territories-2", + "meta": { + "profile": [ + "http://hl7.org/fhir/StructureDefinition/shareablevalueset", + "https://healthterminologies.gov.au/fhir/StructureDefinition/composed-value-set-4" + ] + }, + "status": "active", + "name": "AustralianStatesAndTerritories", + "title": "Australian States and Territories", + "description": "The Australian States and Territories value set includes values that represent the Australian states and territories.", + "url": "https://healthterminologies.gov.au/fhir/ValueSet/australian-states-territories-2", + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:oid:1.2.36.1.2001.1004.201.10026" + } + ], + "version": "2.0.2", + "experimental": false, + "date": "2020-05-31", + "publisher": "Australian Digital Health Agency", + "contact": [ + { + "telecom": [ + { + "system": "email", + "value": "help@digitalhealth.gov.au" + } + ] + } + ], + "copyright": "Copyright © 2018 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\nThis resource includes material that is based on Australian Institute of Health and Welfare material. \n\nAll copies of this resource must include this copyright statement and all information contained in this statement.", + "expansion": { + "identifier": "e9439195-c1d8-4069-a349-98c1d552a351", + "timestamp": "2023-06-20T04:20:58+00:00", + "total": 9, + "offset": 0, + "parameter": [ + { + "name": "version", + "valueUri": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1|1.1.3" + }, + { + "name": "count", + "valueInteger": 2147483647 + }, + { + "name": "offset", + "valueInteger": 0 + } + ], + "contains": [ + { + "system": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1", + "code": "ACT", + "display": "Australian Capital Territory" + }, + { + "system": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1", + "code": "NSW", + "display": "New South Wales" + }, + { + "system": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1", + "code": "NT", + "display": "Northern Territory" + }, + { + "system": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1", + "code": "OTHER", + "display": "Other territories" + }, + { + "system": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1", + "code": "QLD", + "display": "Queensland" + }, + { + "system": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1", + "code": "SA", + "display": "South Australia" + }, + { + "system": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1", + "code": "TAS", + "display": "Tasmania" + }, + { + "system": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1", + "code": "VIC", + "display": "Victoria" + }, + { + "system": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1", + "code": "WA", + "display": "Western Australia" + } + ] + }, + "compose": { + "include": [ + { + "system": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1", + "concept": [ + { + "code": "ACT" + }, + { + "code": "NSW" + }, + { + "code": "NT" + }, + { + "code": "OTHER" + }, + { + "code": "QLD" + }, + { + "code": "SA" + }, + { + "code": "TAS" + }, + { + "code": "VIC" + }, + { + "code": "WA" + } + ] + } + ] + } } ], "extension": [ diff --git a/fsh-generated/resources/ValueSet-administrative-gender.json b/fsh-generated/resources/ValueSet-administrative-gender.json new file mode 100644 index 00000000..9fed999f --- /dev/null +++ b/fsh-generated/resources/ValueSet-administrative-gender.json @@ -0,0 +1,102 @@ +{ + "resourceType": "ValueSet", + "status": "active", + "name": "AdministrativeGender", + "id": "administrative-gender", + "title": "AdministrativeGender", + "description": "The gender of a person used for administrative purposes.", + "url": "https://smartforms.csiro.au/ig/ValueSet/administrative-gender", + "contact": [ + { + "telecom": [ + { + "system": "url", + "value": "http://hl7.org/fhir" + }, + { + "system": "email", + "value": "fhir@lists.hl7.org" + } + ] + } + ], + "date": "2019-11-01T09:29:23+11:00", + "experimental": false, + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg", + "valueCode": "pa" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", + "valueCode": "normative" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm", + "valueInteger": 5 + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version", + "valueCode": "4.0.0" + } + ], + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:oid:2.16.840.1.113883.4.642.3.1" + } + ], + "immutable": true, + "meta": { + "lastUpdated": "2019-11-01T09:29:23.356+11:00", + "profile": [ + "http://hl7.org/fhir/StructureDefinition/shareablevalueset" + ] + }, + "publisher": "HL7 (FHIR Project)", + "version": "4.0.1", + "expansion": { + "identifier": "urn:uuid:797238aa-61be-4165-9fa6-3595bbfd16f6", + "timestamp": "2024-04-04T05:36:01+00:00", + "total": 4, + "parameter": [ + { + "name": "version", + "valueUri": "http://hl7.org/fhir/administrative-gender|4.3.0" + }, + { + "name": "used-codesystem", + "valueUri": "http://hl7.org/fhir/administrative-gender|4.3.0" + } + ], + "contains": [ + { + "system": "http://hl7.org/fhir/administrative-gender", + "code": "female", + "display": "Female" + }, + { + "system": "http://hl7.org/fhir/administrative-gender", + "code": "male", + "display": "Male" + }, + { + "system": "http://hl7.org/fhir/administrative-gender", + "code": "other", + "display": "Other" + }, + { + "system": "http://hl7.org/fhir/administrative-gender", + "code": "unknown", + "display": "Unknown" + } + ] + }, + "compose": { + "include": [ + { + "system": "http://hl7.org/fhir/administrative-gender" + } + ] + } +} diff --git a/input/fsh/715-AssemblyInstructions.fsh b/input/fsh/715-AssemblyInstructions.fsh index 3bfd5538..70d6f76d 100644 --- a/input/fsh/715-AssemblyInstructions.fsh +++ b/input/fsh/715-AssemblyInstructions.fsh @@ -17,6 +17,7 @@ Description: "Aboriginal and Torres Strait Islander Health Check assessment form * contained[+] = MedicalHistoryShortListPrimarySchool * contained[+] = MedicalHistoryShortListAdolescents * contained[+] = MedicalHistoryShortListAdultsAndOlderPeople*/ +* contained[+] = administrative-gender * contained[+] = condition-clinical * contained[+] = AboriginalTorresStraitIslander * contained[+] = PrimaryCarerParentGrandparent @@ -98,6 +99,9 @@ Description: "Aboriginal and Torres Strait Islander Health Check assessment form * extension[+] * url = "https://smartforms.csiro.au/ig/StructureDefinition/ContainedResourceReference" * valueReference.reference = "#MedicalHistoryShortListAdultsAndOlderPeople"*/ +* extension[+] + * url = "https://smartforms.csiro.au/ig/StructureDefinition/ContainedResourceReference" + * valueReference.reference = "#administrative-gender" * extension[+] * url = "https://smartforms.csiro.au/ig/StructureDefinition/ContainedResourceReference" * valueReference.reference = "#condition-clinical" diff --git a/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh b/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh index 96f3d997..461bbada 100644 --- a/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh +++ b/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh @@ -9,6 +9,9 @@ Title: "Aboriginal and Torres Strait Islander Health Check - Absolute Cardiovasc Description: "Absolute Cardiovascular Disease Risk Calculation sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." +* contained[+] = biological-sex-1 + + //assemble expectation * extension[+] * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assemble-expectation" @@ -158,7 +161,7 @@ Description: "Absolute Cardiovascular Disease Risk Calculation sub-questionnaire * text = "Sex at birth" * type = #choice * repeats = false - * answerValueSet = "https://healthterminologies.gov.au/fhir/ValueSet/biological-sex-1" + * answerValueSet = "#biological-sex-1" * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression].valueExpression * description = "CVD Risk Smoking Status" diff --git a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh index ef7a6891..6d3b8620 100644 --- a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh +++ b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh @@ -9,6 +9,7 @@ Title: "Aboriginal and Torres Strait Islander Health Check - Medical History" Description: "Medical History sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." * contained[+] = MedicalHistory +* contained[+] = condition-clinical /* * contained[+] = MedicalHistoryShortListInfants * contained[+] = MedicalHistoryShortListPrimarySchool @@ -242,7 +243,7 @@ Description: "Medical History sub-questionnaire for Aboriginal and Torres Strait * linkId = "88bcfad7-386b-4d87-b34b-2e50482e4d2c" * text = "Clinical Status" * type = #choice - * answerValueSet = "http://hl7.org/fhir/ValueSet/condition-clinical" + * answerValueSet = "#condition-clinical" * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath @@ -276,7 +277,7 @@ Description: "Medical History sub-questionnaire for Aboriginal and Torres Strait * linkId = "a7e056be-fb6f-4f7f-b04d-5b809e1e18e3" * text = "Clinical Status" * type = #choice - * answerValueSet = "http://hl7.org/fhir/ValueSet/condition-clinical" + * answerValueSet = "#condition-clinical" * item[+] * linkId = "e4524654-f6de-4717-b288-34919394d46b" * text = "Onset Date" diff --git a/input/fsh/715-PatientDetails.fsh b/input/fsh/715-PatientDetails.fsh index 4627ae6e..ee2cd95a 100644 --- a/input/fsh/715-PatientDetails.fsh +++ b/input/fsh/715-PatientDetails.fsh @@ -11,6 +11,11 @@ Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait * contained[+] = YesNoNA * contained[+] = AboriginalTorresStraitIslander * contained[+] = PrimaryCarerParentGrandparent +* contained[+] = administrative-gender +* contained[+] = australian-pronouns-1 +* contained[+] = gender-identity-response-1 +* contained[+] = biological-sex-1 +* contained[+] = australian-states-territories-2 //assemble expectation * extension[+] @@ -135,7 +140,7 @@ Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait * type = #choice * repeats = false * readOnly = true - * answerValueSet = "https://healthterminologies.gov.au/fhir/ValueSet/australian-pronouns-1" + * answerValueSet = "#australian-pronouns-1" * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath @@ -146,7 +151,7 @@ Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait * type = #choice * repeats = false * readOnly = true - * answerValueSet = "https://healthterminologies.gov.au/fhir/ValueSet/gender-identity-response-1" + * answerValueSet = "#gender-identity-response-1" * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath @@ -157,7 +162,7 @@ Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait * text = "Administrative gender" * type = #choice * repeats = false - * answerValueSet = "http://hl7.org/fhir/ValueSet/administrative-gender" + * answerValueSet = "#administrative-gender" * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath @@ -168,7 +173,7 @@ Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait * type = #choice * repeats = false * readOnly = true - * answerValueSet = "https://healthterminologies.gov.au/fhir/ValueSet/biological-sex-1" + * answerValueSet = "#biological-sex-1" * item[+] @@ -308,7 +313,7 @@ Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait * definition = "http://hl7.org.au/fhir/StructureDefinition/au-address#Address.state" * text = "State" * type = #choice - * answerValueSet = "https://healthterminologies.gov.au/fhir/ValueSet/australian-states-territories-2" + * answerValueSet = "#australian-states-territories-2" * repeats = false * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression @@ -370,7 +375,7 @@ Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait * definition = "http://hl7.org.au/fhir/StructureDefinition/au-address#Address.state" * text = "State" * type = #choice - * answerValueSet = "https://healthterminologies.gov.au/fhir/ValueSet/australian-states-territories-2" + * answerValueSet = "#australian-states-territories-2" * repeats = false * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression diff --git a/input/fsh/terminology.fsh b/input/fsh/terminology.fsh index 0d478ac9..ebf6b994 100644 --- a/input/fsh/terminology.fsh +++ b/input/fsh/terminology.fsh @@ -439,6 +439,55 @@ Description: "The Medical History Short List for Adults and Older People value s * $SCT#413307004 // "Mental health" */ +Alias: $administrative-gender = http://hl7.org/fhir/administrative-gender + +ValueSet: AdministrativeGender +Id: administrative-gender +Title: "AdministrativeGender" +Description: "The gender of a person used for administrative purposes." +* ^contact.telecom[0].system = #url +* ^contact.telecom[=].value = "http://hl7.org/fhir" +* ^contact.telecom[+].system = #email +* ^contact.telecom[=].value = "fhir@lists.hl7.org" +* ^date = "2019-11-01T09:29:23+11:00" +* ^experimental = false +* ^extension[0].url = "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg" +* ^extension[=].valueCode = #pa +* ^extension[+].url = "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status" +* ^extension[=].valueCode = #normative +* ^extension[+].url = "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm" +* ^extension[=].valueInteger = 5 +* ^extension[+].url = "http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version" +* ^extension[=].valueCode = #4.0.0 +* ^identifier.system = "urn:ietf:rfc:3986" +* ^identifier.value = "urn:oid:2.16.840.1.113883.4.642.3.1" +* ^immutable = true +* ^meta.lastUpdated = "2019-11-01T09:29:23.356+11:00" +* ^meta.profile = "http://hl7.org/fhir/StructureDefinition/shareablevalueset" +* ^publisher = "HL7 (FHIR Project)" +* ^status = #active +* ^version = "4.0.1" +* ^expansion.identifier = "urn:uuid:797238aa-61be-4165-9fa6-3595bbfd16f6" +* ^expansion.timestamp = "2024-04-04T05:36:01+00:00" +* ^expansion.total = 4 +* ^expansion.parameter[0].name = "version" +* ^expansion.parameter[=].valueUri = "http://hl7.org/fhir/administrative-gender|4.3.0" +* ^expansion.parameter[+].name = "used-codesystem" +* ^expansion.parameter[=].valueUri = "http://hl7.org/fhir/administrative-gender|4.3.0" +* ^expansion.contains[0].system = "http://hl7.org/fhir/administrative-gender" +* ^expansion.contains[=].code = #female +* ^expansion.contains[=].display = "Female" +* ^expansion.contains[+].system = "http://hl7.org/fhir/administrative-gender" +* ^expansion.contains[=].code = #male +* ^expansion.contains[=].display = "Male" +* ^expansion.contains[+].system = "http://hl7.org/fhir/administrative-gender" +* ^expansion.contains[=].code = #other +* ^expansion.contains[=].display = "Other" +* ^expansion.contains[+].system = "http://hl7.org/fhir/administrative-gender" +* ^expansion.contains[=].code = #unknown +* ^expansion.contains[=].display = "Unknown" +* include codes from system $administrative-gender + ValueSet: ConditionClinicalStatusCodes Id: condition-clinical Title: "Condition Clinical Status Codes" diff --git a/sushi-config.yaml b/sushi-config.yaml index 28f12b9f..c6de0ea5 100644 --- a/sushi-config.yaml +++ b/sushi-config.yaml @@ -99,6 +99,7 @@ parameters: - 'http://hl7.org/fhir/questionnaire-item-control' - 'http://hl7.org/fhir/ValueSet/questionnaire-item-control' - 'https://healthterminologies.gov.au/fhir/ValueSet/biological-sex-1' + - 'http://hl7.org/fhir/ValueSet/administrative-gender' - 'http://hl7.org/fhir/ValueSet/condition-clinical' - 'https://healthterminologies.gov.au/fhir/ValueSet/gender-identity-response-1' - 'https://healthterminologies.gov.au/fhir/ValueSet/australian-pronouns-1' From 69e3311d1271c6652cfc99c48e4af4b53faff9a7 Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Thu, 4 Apr 2024 16:12:22 +1000 Subject: [PATCH 022/177] Add updated assembled health check questionnaire --- ...esStraitIslanderHealthCheck-assembled.json | 703 +++++++++++++++++- 1 file changed, 691 insertions(+), 12 deletions(-) diff --git a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json index 926102b9..2d5b33ce 100644 --- a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json +++ b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json @@ -2,9 +2,9 @@ "resourceType": "Questionnaire", "id": "AboriginalTorresStraitIslanderHealthCheck", "meta": { - "versionId": "11", - "lastUpdated": "2024-04-04T02:51:25.955+00:00", - "source": "#HE6iRtnNvR4rbTv8", + "versionId": "12", + "lastUpdated": "2024-04-04T06:10:32.535+00:00", + "source": "#grqZ2xSgx1fDAU96", "profile": [ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp", "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" @@ -228,6 +228,567 @@ ] } }, + { + "resourceType": "ValueSet", + "id": "administrative-gender", + "meta": { + "profile": [ + "http://hl7.org/fhir/StructureDefinition/shareablevalueset" + ] + }, + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg", + "valueCode": "pa" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", + "valueCode": "normative" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm", + "valueInteger": 5 + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version", + "valueCode": "4.0.0" + } + ], + "url": "https://smartforms.csiro.au/ig/ValueSet/administrative-gender", + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:oid:2.16.840.1.113883.4.642.3.1" + } + ], + "version": "4.0.1", + "name": "AdministrativeGender", + "title": "AdministrativeGender", + "status": "active", + "experimental": false, + "date": "2019-11-01T09:29:23+11:00", + "publisher": "HL7 (FHIR Project)", + "contact": [ + { + "telecom": [ + { + "system": "url", + "value": "http://hl7.org/fhir" + }, + { + "system": "email", + "value": "fhir@lists.hl7.org" + } + ] + } + ], + "description": "The gender of a person used for administrative purposes.", + "immutable": true, + "compose": { + "include": [ + { + "system": "http://hl7.org/fhir/administrative-gender" + } + ] + }, + "expansion": { + "identifier": "urn:uuid:797238aa-61be-4165-9fa6-3595bbfd16f6", + "timestamp": "2024-04-04T05:36:01+00:00", + "total": 4, + "parameter": [ + { + "name": "version", + "valueUri": "http://hl7.org/fhir/administrative-gender|4.3.0" + }, + { + "name": "used-codesystem", + "valueUri": "http://hl7.org/fhir/administrative-gender|4.3.0" + } + ], + "contains": [ + { + "system": "http://hl7.org/fhir/administrative-gender", + "code": "female", + "display": "Female" + }, + { + "system": "http://hl7.org/fhir/administrative-gender", + "code": "male", + "display": "Male" + }, + { + "system": "http://hl7.org/fhir/administrative-gender", + "code": "other", + "display": "Other" + }, + { + "system": "http://hl7.org/fhir/administrative-gender", + "code": "unknown", + "display": "Unknown" + } + ] + } + }, + { + "resourceType": "ValueSet", + "id": "australian-pronouns-1", + "url": "https://healthterminologies.gov.au/fhir/ValueSet/australian-pronouns-1", + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:oid:1.2.36.1.2001.1004.201.10284" + } + ], + "version": "1.0.0", + "name": "AustralianPronouns", + "title": "Australian Pronouns", + "status": "active", + "experimental": false, + "description": "The Australian Pronouns value set includes values that indicate the pronouns to be used when communicating with or about an individual.", + "copyright": "Copyright © 2024 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\nThis material contains content from LOINC (http://loinc.org). LOINC is copyright 1995-2024, Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee and is available at no cost under the license at http://loinc.org/license. LOINC® is a registered United States trademark of Regenstrief Institute, Inc.\n\nThis material contains information which is protected by copyright. You may download, display, print and reproduce any material for your personal, non-commercial use or use within your organisation subject to the following terms and conditions: \n\nThis resource also includes all or a portion of material from the HL7 Terminology (THO). THO is copyright ©1989+ Health Level Seven International and is made available under the CC0 designation. For more licensing information see: https://terminology.hl7.org/license.", + "compose": { + "include": [ + { + "system": "http://loinc.org", + "concept": [ + { + "code": "LA29518-0", + "display": "he/him/his/his/himself" + }, + { + "code": "LA29519-8", + "display": "she/her/her/hers/herself" + }, + { + "code": "LA29520-6", + "display": "they/them/their/theirs/themselves" + } + ] + }, + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "concept": [ + { + "code": "unknown" + }, + { + "code": "asked-declined" + }, + { + "code": "not-asked" + }, + { + "code": "asked-unknown" + } + ] + } + ] + }, + "expansion": { + "identifier": "urn:uuid:ca145c1c-4915-4957-888a-39e69de8b1ad", + "timestamp": "2024-04-02T14:25:01+10:00", + "total": 7, + "parameter": [ + { + "name": "version", + "valueUri": "http://loinc.org|2.77" + }, + { + "name": "used-codesystem", + "valueUri": "http://loinc.org|2.77" + }, + { + "name": "version", + "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" + }, + { + "name": "used-codesystem", + "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" + } + ], + "contains": [ + { + "system": "http://loinc.org", + "version": "2.77", + "code": "LA29518-0", + "display": "he/him/his/his/himself" + }, + { + "system": "http://loinc.org", + "version": "2.77", + "code": "LA29519-8", + "display": "she/her/her/hers/herself" + }, + { + "system": "http://loinc.org", + "version": "2.77", + "code": "LA29520-6", + "display": "they/them/their/theirs/themselves" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "version": "5.0.0-ballot", + "code": "asked-declined", + "display": "Asked But Declined" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "version": "5.0.0-ballot", + "code": "asked-unknown", + "display": "Asked But Unknown" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "version": "5.0.0-ballot", + "code": "not-asked", + "display": "Not Asked" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "version": "5.0.0-ballot", + "code": "unknown", + "display": "Unknown" + } + ] + } + }, + { + "resourceType": "ValueSet", + "id": "gender-identity-response-1", + "url": "https://healthterminologies.gov.au/fhir/ValueSet/gender-identity-response-1", + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:oid:1.2.36.1.2001.1004.201.10271" + } + ], + "version": "1.1.0", + "name": "GenderIdentityResponse", + "title": "Gender Identity Response", + "status": "active", + "experimental": false, + "description": "The Gender Identity Response value set includes values that may be used to represent a response for an individual's gender. A person's gender is a social and cultural identity, expression and experience.", + "copyright": "Copyright © 2022 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/.\n\n\"This resource includes SNOMED Clinical Terms™ (SNOMED CT®) which is used by permission of the International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. “SNOMED” and “SNOMED CT” are registered trademarks of the IHTSDO. \n\nThe rights to use and implement or implementation of SNOMED CT content are limited to the extent it is necessary to allow for the end use of this material. No further rights are granted in respect of the International Release and no further use of any SNOMED CT content by any other party is permitted. \n\nThis resource includes material that is based on Australian Institute of Health and Welfare material. This resource includes material that is based on Australian Bureau of Statistics data. \n\nThis resource also includes all or a portion of material from the HL7 Terminology (THO). THO is copyright ©1989+ Health Level Seven International and is made available under the CC0 designation. For more licensing information see: https://terminology.hl7.org/license.", + "compose": { + "include": [ + { + "system": "http://snomed.info/sct", + "concept": [ + { + "code": "446151000124109" + }, + { + "code": "446141000124107" + }, + { + "code": "33791000087105" + } + ] + }, + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "concept": [ + { + "code": "unknown" + }, + { + "code": "asked-declined" + }, + { + "code": "not-asked" + } + ] + } + ] + }, + "expansion": { + "identifier": "urn:uuid:a35fc104-184f-476e-a7a2-e3f3af66a3eb", + "timestamp": "2024-04-02T14:21:20+10:00", + "total": 6, + "parameter": [ + { + "name": "version", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" + }, + { + "name": "used-codesystem", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" + }, + { + "name": "version", + "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" + }, + { + "name": "used-codesystem", + "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" + } + ], + "contains": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20240331", + "code": "446151000124109", + "display": "Identifies as male gender" + }, + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20240331", + "code": "446141000124107", + "display": "Identifies as female gender" + }, + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20240331", + "code": "33791000087105", + "display": "Identifies as nonbinary gender" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "version": "5.0.0-ballot", + "code": "unknown", + "display": "Unknown" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "version": "5.0.0-ballot", + "code": "asked-declined", + "display": "Asked But Declined" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "version": "5.0.0-ballot", + "code": "not-asked", + "display": "Not Asked" + } + ] + } + }, + { + "resourceType": "ValueSet", + "id": "biological-sex-1", + "meta": { + "profile": [ + "http://hl7.org/fhir/StructureDefinition/shareablevalueset", + "https://healthterminologies.gov.au/fhir/StructureDefinition/composed-value-set-4" + ] + }, + "url": "https://healthterminologies.gov.au/fhir/ValueSet/biological-sex-1", + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:oid:1.2.36.1.2001.1004.201.10198" + } + ], + "version": "1.0.0", + "name": "BiologicalSex", + "title": "Biological Sex", + "status": "active", + "experimental": false, + "date": "2020-12-31", + "publisher": "Australian Digital Health Agency", + "contact": [ + { + "telecom": [ + { + "system": "email", + "value": "help@digitalhealth.gov.au" + } + ] + } + ], + "description": "The Biological Sex value set includes values that represent the biological sex of an individual.", + "copyright": "Copyright © 2020 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\nThis resource includes SNOMED Clinical Terms™ (SNOMED CT®) which is used by permission of the International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. “SNOMED” and “SNOMED CT” are registered trademarks of the IHTSDO. \n\nThe rights to use and implement or implementation of SNOMED CT content are limited to the extent it is necessary to allow for the end use of this material. No further rights are granted in respect of the International Release and no further use of any SNOMED CT content by any other party is permitted. \n\nAll copies of this resource must include this copyright statement and all information contained in this statement.", + "compose": { + "include": [ + { + "system": "http://snomed.info/sct", + "filter": [ + { + "property": "constraint", + "op": "=", + "value": "^ 32570631000036107|Sex reference set|" + } + ] + } + ] + }, + "expansion": { + "identifier": "urn:uuid:e9cff1c2-8743-48cb-9bde-8f4af914544b", + "timestamp": "2023-08-30T10:41:59+10:00", + "total": 4, + "parameter": [ + { + "name": "version", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20230831" + }, + { + "name": "used-codesystem", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20230831" + } + ], + "contains": [ + { + "system": "http://snomed.info/sct", + "code": "248152002", + "display": "Female" + }, + { + "system": "http://snomed.info/sct", + "code": "32570681000036106", + "display": "Indeterminate sex" + }, + { + "system": "http://snomed.info/sct", + "code": "32570691000036108", + "display": "Intersex" + }, + { + "system": "http://snomed.info/sct", + "code": "248153007", + "display": "Male" + } + ] + } + }, + { + "resourceType": "ValueSet", + "id": "australian-states-territories-2", + "meta": { + "profile": [ + "http://hl7.org/fhir/StructureDefinition/shareablevalueset", + "https://healthterminologies.gov.au/fhir/StructureDefinition/composed-value-set-4" + ] + }, + "url": "https://healthterminologies.gov.au/fhir/ValueSet/australian-states-territories-2", + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:oid:1.2.36.1.2001.1004.201.10026" + } + ], + "version": "2.0.2", + "name": "AustralianStatesAndTerritories", + "title": "Australian States and Territories", + "status": "active", + "experimental": false, + "date": "2020-05-31", + "publisher": "Australian Digital Health Agency", + "contact": [ + { + "telecom": [ + { + "system": "email", + "value": "help@digitalhealth.gov.au" + } + ] + } + ], + "description": "The Australian States and Territories value set includes values that represent the Australian states and territories.", + "copyright": "Copyright © 2018 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\nThis resource includes material that is based on Australian Institute of Health and Welfare material. \n\nAll copies of this resource must include this copyright statement and all information contained in this statement.", + "compose": { + "include": [ + { + "system": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1", + "concept": [ + { + "code": "ACT" + }, + { + "code": "NSW" + }, + { + "code": "NT" + }, + { + "code": "OTHER" + }, + { + "code": "QLD" + }, + { + "code": "SA" + }, + { + "code": "TAS" + }, + { + "code": "VIC" + }, + { + "code": "WA" + } + ] + } + ] + }, + "expansion": { + "identifier": "e9439195-c1d8-4069-a349-98c1d552a351", + "timestamp": "2023-06-20T04:20:58+00:00", + "total": 9, + "offset": 0, + "parameter": [ + { + "name": "version", + "valueUri": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1|1.1.3" + }, + { + "name": "count", + "valueInteger": 2147483647 + }, + { + "name": "offset", + "valueInteger": 0 + } + ], + "contains": [ + { + "system": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1", + "code": "ACT", + "display": "Australian Capital Territory" + }, + { + "system": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1", + "code": "NSW", + "display": "New South Wales" + }, + { + "system": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1", + "code": "NT", + "display": "Northern Territory" + }, + { + "system": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1", + "code": "OTHER", + "display": "Other territories" + }, + { + "system": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1", + "code": "QLD", + "display": "Queensland" + }, + { + "system": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1", + "code": "SA", + "display": "South Australia" + }, + { + "system": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1", + "code": "TAS", + "display": "Tasmania" + }, + { + "system": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1", + "code": "VIC", + "display": "Victoria" + }, + { + "system": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1", + "code": "WA", + "display": "Western Australia" + } + ] + } + }, { "resourceType": "ValueSet", "id": "YesNo", @@ -306,6 +867,118 @@ ] } }, + { + "resourceType": "ValueSet", + "id": "condition-clinical", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg", + "valueCode": "pc" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", + "valueCode": "trial-use" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm", + "valueInteger": 3 + } + ], + "url": "http://hl7.org/fhir/ValueSet/condition-clinical", + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:oid:2.16.840.1.113883.4.642.3.164" + } + ], + "version": "4.0.1", + "name": "ConditionClinicalStatusCodes", + "title": "Condition Clinical Status Codes", + "status": "draft", + "experimental": false, + "publisher": "FHIR Project team", + "contact": [ + { + "telecom": [ + { + "system": "url", + "value": "http://hl7.org/fhir" + } + ] + } + ], + "description": "Preferred value set for Condition Clinical Status.", + "compose": { + "include": [ + { + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical" + } + ] + }, + "expansion": { + "identifier": "urn:uuid:79d21cca-9f34-4cfa-9020-17eee95eeed8", + "timestamp": "2024-04-02T14:17:12+10:00", + "total": 6, + "parameter": [ + { + "name": "version", + "valueUri": "http://terminology.hl7.org/CodeSystem/condition-clinical|4.0.1" + }, + { + "name": "used-codesystem", + "valueUri": "http://terminology.hl7.org/CodeSystem/condition-clinical|4.0.1" + }, + { + "name": "warning-draft", + "valueUri": "http://hl7.org/fhir/ValueSet/condition-clinical|4.0.1" + }, + { + "name": "warning-trial-use", + "valueUri": "http://hl7.org/fhir/ValueSet/condition-clinical|4.0.1" + }, + { + "name": "warning-trial-use", + "valueUri": "http://terminology.hl7.org/CodeSystem/condition-clinical|4.0.1" + }, + { + "name": "warning-draft", + "valueUri": "http://terminology.hl7.org/CodeSystem/condition-clinical|4.0.1" + } + ], + "contains": [ + { + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", + "code": "active", + "display": "Active" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", + "code": "inactive", + "display": "Inactive" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", + "code": "recurrence", + "display": "Recurrence" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", + "code": "relapse", + "display": "Relapse" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", + "code": "remission", + "display": "Remission" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", + "code": "resolved", + "display": "Resolved" + } + ] + } + }, { "resourceType": "ValueSet", "id": "YesNoNotAskedDeclined", @@ -437,6 +1110,12 @@ "reference": "#MedicalHistory" } }, + { + "url": "https://smartforms.csiro.au/ig/StructureDefinition/ContainedResourceReference", + "valueReference": { + "reference": "#administrative-gender" + } + }, { "url": "https://smartforms.csiro.au/ig/StructureDefinition/ContainedResourceReference", "valueReference": { @@ -1844,7 +2523,7 @@ "type": "choice", "repeats": false, "readOnly": true, - "answerValueSet": "https://healthterminologies.gov.au/fhir/ValueSet/australian-pronouns-1" + "answerValueSet": "#australian-pronouns-1" }, { "extension": [ @@ -1872,7 +2551,7 @@ "type": "choice", "repeats": false, "readOnly": true, - "answerValueSet": "https://healthterminologies.gov.au/fhir/ValueSet/gender-identity-response-1" + "answerValueSet": "#gender-identity-response-1" }, { "extension": [ @@ -1903,7 +2582,7 @@ "text": "Administrative gender", "type": "choice", "repeats": false, - "answerValueSet": "http://hl7.org/fhir/ValueSet/administrative-gender" + "answerValueSet": "#administrative-gender" }, { "extension": [ @@ -1931,7 +2610,7 @@ "type": "choice", "repeats": false, "readOnly": true, - "answerValueSet": "https://healthterminologies.gov.au/fhir/ValueSet/biological-sex-1" + "answerValueSet": "#biological-sex-1" }, { "extension": [ @@ -2232,7 +2911,7 @@ "text": "State", "type": "choice", "repeats": false, - "answerValueSet": "https://healthterminologies.gov.au/fhir/ValueSet/australian-states-territories-2" + "answerValueSet": "#australian-states-territories-2" }, { "extension": [ @@ -2360,7 +3039,7 @@ "text": "State", "type": "choice", "repeats": false, - "answerValueSet": "https://healthterminologies.gov.au/fhir/ValueSet/australian-states-territories-2" + "answerValueSet": "#australian-states-territories-2" }, { "extension": [ @@ -3659,7 +4338,7 @@ "linkId": "88bcfad7-386b-4d87-b34b-2e50482e4d2c", "text": "Clinical Status", "type": "choice", - "answerValueSet": "http://hl7.org/fhir/ValueSet/condition-clinical" + "answerValueSet": "#condition-clinical" }, { "extension": [ @@ -3746,7 +4425,7 @@ "linkId": "a7e056be-fb6f-4f7f-b04d-5b809e1e18e3", "text": "Clinical Status", "type": "choice", - "answerValueSet": "http://hl7.org/fhir/ValueSet/condition-clinical" + "answerValueSet": "#condition-clinical" }, { "linkId": "e4524654-f6de-4717-b288-34919394d46b", @@ -12932,7 +13611,7 @@ "text": "Sex at birth", "type": "choice", "repeats": false, - "answerValueSet": "https://healthterminologies.gov.au/fhir/ValueSet/biological-sex-1" + "answerValueSet": "#biological-sex-1" }, { "extension": [ From 4d520faa2ea03b14970879aecb884c0ae2587805 Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Fri, 5 Apr 2024 14:14:48 +1000 Subject: [PATCH 023/177] Fix terminology dependency and fhirpath bugs --- fsh-generated/fsh-index.json | 22 +++++++++---------- fsh-generated/fsh-index.txt | 12 +++++----- .../Questionnaire-AssemblyInstructions.json | 9 ++++---- .../Questionnaire-PatientDetails.json | 15 ++++++------- .../ValueSet-administrative-gender.json | 9 ++++---- input/fsh/715-PatientDetails.fsh | 6 ++--- input/fsh/terminology.fsh | 12 +++++----- input/pagecontent/terminology.md | 1 + ...esStraitIslanderHealthCheck-assembled.json | 22 +++++++++---------- 9 files changed, 52 insertions(+), 56 deletions(-) diff --git a/fsh-generated/fsh-index.json b/fsh-generated/fsh-index.json index ff240135..4c1e6a9e 100644 --- a/fsh-generated/fsh-index.json +++ b/fsh-generated/fsh-index.json @@ -341,46 +341,46 @@ "fshType": "ValueSet", "fshFile": "terminology.fsh", "startLine": 444, - "endLine": 489 + "endLine": 488 }, { "outputFile": "ValueSet-australian-pronouns-1.json", "fshName": "AustralianPronouns", "fshType": "ValueSet", "fshFile": "terminology.fsh", - "startLine": 666, - "endLine": 722 + "startLine": 664, + "endLine": 720 }, { "outputFile": "ValueSet-australian-states-territories-2.json", "fshName": "AustralianStatesAndTerritories", "fshType": "ValueSet", "fshFile": "terminology.fsh", - "startLine": 548, - "endLine": 610 + "startLine": 546, + "endLine": 608 }, { "outputFile": "ValueSet-biological-sex-1.json", "fshName": "BiologicalSex", "fshType": "ValueSet", "fshFile": "terminology.fsh", - "startLine": 724, - "endLine": 761 + "startLine": 722, + "endLine": 759 }, { "outputFile": "ValueSet-condition-clinical.json", "fshName": "ConditionClinicalStatusCodes", "fshType": "ValueSet", "fshFile": "terminology.fsh", - "startLine": 491, - "endLine": 544 + "startLine": 490, + "endLine": 542 }, { "outputFile": "ValueSet-gender-identity-response-1.json", "fshName": "GenderIdentityResponse", "fshType": "ValueSet", "fshFile": "terminology.fsh", - "startLine": 613, - "endLine": 664 + "startLine": 611, + "endLine": 662 } ] diff --git a/fsh-generated/fsh-index.txt b/fsh-generated/fsh-index.txt index 97c01d7e..24e97d49 100644 --- a/fsh-generated/fsh-index.txt +++ b/fsh-generated/fsh-index.txt @@ -41,9 +41,9 @@ ValueSet-PrimaryCarerParentGrandparent.json PrimaryCarerParentGrandpare ValueSet-YesNo.json YesNo ValueSet terminology.fsh 79 - 98 ValueSet-YesNoNA.json YesNoNA ValueSet terminology.fsh 53 - 76 ValueSet-YesNoNotAskedDeclined.json YesNoNotAskedDeclined ValueSet terminology.fsh 16 - 51 -ValueSet-administrative-gender.json AdministrativeGender ValueSet terminology.fsh 444 - 489 -ValueSet-australian-pronouns-1.json AustralianPronouns ValueSet terminology.fsh 666 - 722 -ValueSet-australian-states-territories-2.json AustralianStatesAndTerritories ValueSet terminology.fsh 548 - 610 -ValueSet-biological-sex-1.json BiologicalSex ValueSet terminology.fsh 724 - 761 -ValueSet-condition-clinical.json ConditionClinicalStatusCodes ValueSet terminology.fsh 491 - 544 -ValueSet-gender-identity-response-1.json GenderIdentityResponse ValueSet terminology.fsh 613 - 664 \ No newline at end of file +ValueSet-administrative-gender.json AdministrativeGender ValueSet terminology.fsh 444 - 488 +ValueSet-australian-pronouns-1.json AustralianPronouns ValueSet terminology.fsh 664 - 720 +ValueSet-australian-states-territories-2.json AustralianStatesAndTerritories ValueSet terminology.fsh 546 - 608 +ValueSet-biological-sex-1.json BiologicalSex ValueSet terminology.fsh 722 - 759 +ValueSet-condition-clinical.json ConditionClinicalStatusCodes ValueSet terminology.fsh 490 - 542 +ValueSet-gender-identity-response-1.json GenderIdentityResponse ValueSet terminology.fsh 611 - 662 \ No newline at end of file diff --git a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json index be14894c..78758546 100644 --- a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json +++ b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json @@ -911,7 +911,6 @@ "resourceType": "ValueSet", "id": "administrative-gender", "meta": { - "lastUpdated": "2019-11-01T09:29:23.356+11:00", "profile": [ "http://hl7.org/fhir/StructureDefinition/shareablevalueset" ] @@ -965,17 +964,17 @@ "publisher": "HL7 (FHIR Project)", "version": "4.0.1", "expansion": { - "identifier": "urn:uuid:797238aa-61be-4165-9fa6-3595bbfd16f6", - "timestamp": "2024-04-04T05:36:01+00:00", + "identifier": "urn:uuid:50f050c9-3975-48d6-bdb7-baae4ebc70cd", + "timestamp": "2024-04-05T12:31:27+10:00", "total": 4, "parameter": [ { "name": "version", - "valueUri": "http://hl7.org/fhir/administrative-gender|4.3.0" + "valueUri": "http://hl7.org/fhir/administrative-gender|4.0.1" }, { "name": "used-codesystem", - "valueUri": "http://hl7.org/fhir/administrative-gender|4.3.0" + "valueUri": "http://hl7.org/fhir/administrative-gender|4.0.1" } ], "contains": [ diff --git a/fsh-generated/resources/Questionnaire-PatientDetails.json b/fsh-generated/resources/Questionnaire-PatientDetails.json index 1d43f9bd..6653cdad 100644 --- a/fsh-generated/resources/Questionnaire-PatientDetails.json +++ b/fsh-generated/resources/Questionnaire-PatientDetails.json @@ -131,7 +131,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%patient.extension.where(exists(url='http://hl7.org/fhir/StructureDefinition/individual-pronouns') and extension.where(url='period').valuePeriod.end.empty()).extension.where(url='value').value.coding" + "expression": "%patient.extension.where(exists(url='http://hl7.org/fhir/StructureDefinition/individual-pronouns') and extension.where(url='period').value.end.empty()).extension.where(url='value').value.coding" } }, { @@ -159,7 +159,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%patient.extension.where(exists(url='http://hl7.org/fhir/StructureDefinition/individual-genderIdentity') and extension.where(url='period').valuePeriod.end.empty()).extension.where(url='value').value.coding" + "expression": "%patient.extension.where(exists(url='http://hl7.org/fhir/StructureDefinition/individual-genderIdentity') and extension.where(url='period').value.end.empty()).extension.where(url='value').value.coding" } }, { @@ -218,7 +218,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%patient.extension.where(exists(url='http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender' and extension.where(exists(url='type' and valueCodeableConcept.coding.code='1515311000168102')) and extension.where(url='effectivePeriod').valuePeriod.end.empty())).extension.where(url='value').value.coding" + "expression": "%patient.extension.where(exists(url='http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender' and extension.where(exists(url='type' and value.coding.code='1515311000168102')) and extension.where(url='effectivePeriod').value.end.empty())).extension.where(url='value').value.coding" } }, { @@ -1617,7 +1617,6 @@ "resourceType": "ValueSet", "id": "administrative-gender", "meta": { - "lastUpdated": "2019-11-01T09:29:23.356+11:00", "profile": [ "http://hl7.org/fhir/StructureDefinition/shareablevalueset" ] @@ -1671,17 +1670,17 @@ "publisher": "HL7 (FHIR Project)", "version": "4.0.1", "expansion": { - "identifier": "urn:uuid:797238aa-61be-4165-9fa6-3595bbfd16f6", - "timestamp": "2024-04-04T05:36:01+00:00", + "identifier": "urn:uuid:50f050c9-3975-48d6-bdb7-baae4ebc70cd", + "timestamp": "2024-04-05T12:31:27+10:00", "total": 4, "parameter": [ { "name": "version", - "valueUri": "http://hl7.org/fhir/administrative-gender|4.3.0" + "valueUri": "http://hl7.org/fhir/administrative-gender|4.0.1" }, { "name": "used-codesystem", - "valueUri": "http://hl7.org/fhir/administrative-gender|4.3.0" + "valueUri": "http://hl7.org/fhir/administrative-gender|4.0.1" } ], "contains": [ diff --git a/fsh-generated/resources/ValueSet-administrative-gender.json b/fsh-generated/resources/ValueSet-administrative-gender.json index 9fed999f..ce15bae1 100644 --- a/fsh-generated/resources/ValueSet-administrative-gender.json +++ b/fsh-generated/resources/ValueSet-administrative-gender.json @@ -48,7 +48,6 @@ ], "immutable": true, "meta": { - "lastUpdated": "2019-11-01T09:29:23.356+11:00", "profile": [ "http://hl7.org/fhir/StructureDefinition/shareablevalueset" ] @@ -56,17 +55,17 @@ "publisher": "HL7 (FHIR Project)", "version": "4.0.1", "expansion": { - "identifier": "urn:uuid:797238aa-61be-4165-9fa6-3595bbfd16f6", - "timestamp": "2024-04-04T05:36:01+00:00", + "identifier": "urn:uuid:50f050c9-3975-48d6-bdb7-baae4ebc70cd", + "timestamp": "2024-04-05T12:31:27+10:00", "total": 4, "parameter": [ { "name": "version", - "valueUri": "http://hl7.org/fhir/administrative-gender|4.3.0" + "valueUri": "http://hl7.org/fhir/administrative-gender|4.0.1" }, { "name": "used-codesystem", - "valueUri": "http://hl7.org/fhir/administrative-gender|4.3.0" + "valueUri": "http://hl7.org/fhir/administrative-gender|4.0.1" } ], "contains": [ diff --git a/input/fsh/715-PatientDetails.fsh b/input/fsh/715-PatientDetails.fsh index ee2cd95a..a2d66af9 100644 --- a/input/fsh/715-PatientDetails.fsh +++ b/input/fsh/715-PatientDetails.fsh @@ -133,7 +133,7 @@ Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath - * expression = "%patient.extension.where(exists(url='http://hl7.org/fhir/StructureDefinition/individual-pronouns') and extension.where(url='period').valuePeriod.end.empty()).extension.where(url='value').value.coding" + * expression = "%patient.extension.where(exists(url='http://hl7.org/fhir/StructureDefinition/individual-pronouns') and extension.where(url='period').value.end.empty()).extension.where(url='value').value.coding" * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#drop-down * linkId = "540b1034-7c9a-4aba-a9ef-afb77d445a58" * text = "Preferred pronouns" @@ -144,7 +144,7 @@ Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath - * expression = "%patient.extension.where(exists(url='http://hl7.org/fhir/StructureDefinition/individual-genderIdentity') and extension.where(url='period').valuePeriod.end.empty()).extension.where(url='value').value.coding" + * expression = "%patient.extension.where(exists(url='http://hl7.org/fhir/StructureDefinition/individual-genderIdentity') and extension.where(url='period').value.end.empty()).extension.where(url='value').value.coding" * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#drop-down * linkId = "f669a4fe-4818-429a-8847-d20da88d2bb3" * text = "Gender identity" @@ -166,7 +166,7 @@ Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath - * expression = "%patient.extension.where(exists(url='http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender' and extension.where(exists(url='type' and valueCodeableConcept.coding.code='1515311000168102')) and extension.where(url='effectivePeriod').valuePeriod.end.empty())).extension.where(url='value').value.coding" + * expression = "%patient.extension.where(exists(url='http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender' and extension.where(exists(url='type' and value.coding.code='1515311000168102')) and extension.where(url='effectivePeriod').value.end.empty())).extension.where(url='value').value.coding" * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#drop-down * linkId = "56ef44bb-3d1d-4972-aad1-834b69185d61" * text = "Sex assigned at birth" diff --git a/input/fsh/terminology.fsh b/input/fsh/terminology.fsh index ebf6b994..e0519490 100644 --- a/input/fsh/terminology.fsh +++ b/input/fsh/terminology.fsh @@ -462,20 +462,19 @@ Description: "The gender of a person used for administrative purposes." * ^identifier.system = "urn:ietf:rfc:3986" * ^identifier.value = "urn:oid:2.16.840.1.113883.4.642.3.1" * ^immutable = true -* ^meta.lastUpdated = "2019-11-01T09:29:23.356+11:00" * ^meta.profile = "http://hl7.org/fhir/StructureDefinition/shareablevalueset" * ^publisher = "HL7 (FHIR Project)" * ^status = #active * ^version = "4.0.1" -* ^expansion.identifier = "urn:uuid:797238aa-61be-4165-9fa6-3595bbfd16f6" -* ^expansion.timestamp = "2024-04-04T05:36:01+00:00" +* ^expansion.identifier = "urn:uuid:50f050c9-3975-48d6-bdb7-baae4ebc70cd" +* ^expansion.timestamp = "2024-04-05T12:31:27+10:00" * ^expansion.total = 4 * ^expansion.parameter[0].name = "version" -* ^expansion.parameter[=].valueUri = "http://hl7.org/fhir/administrative-gender|4.3.0" +* ^expansion.parameter[=].valueUri = "http://hl7.org/fhir/administrative-gender|4.0.1" * ^expansion.parameter[+].name = "used-codesystem" -* ^expansion.parameter[=].valueUri = "http://hl7.org/fhir/administrative-gender|4.3.0" +* ^expansion.parameter[=].valueUri = "http://hl7.org/fhir/administrative-gender|4.0.1" * ^expansion.contains[0].system = "http://hl7.org/fhir/administrative-gender" -* ^expansion.contains[=].code = #female +* ^expansion.contains[=].code = #female * ^expansion.contains[=].display = "Female" * ^expansion.contains[+].system = "http://hl7.org/fhir/administrative-gender" * ^expansion.contains[=].code = #male @@ -507,7 +506,6 @@ Description: "Preferred value set for Condition Clinical Status." * ^publisher = "FHIR Project team" * ^contact.telecom.system = #url * ^contact.telecom.value = "http://hl7.org/fhir" - * ^expansion.identifier = "urn:uuid:79d21cca-9f34-4cfa-9020-17eee95eeed8" * ^expansion.timestamp = "2024-04-02T14:17:12+10:00" * ^expansion.total = 6 diff --git a/input/pagecontent/terminology.md b/input/pagecontent/terminology.md index 1ebfe293..1151be02 100644 --- a/input/pagecontent/terminology.md +++ b/input/pagecontent/terminology.md @@ -30,6 +30,7 @@ See the [FHIR terminology section]({{site.data.fhir.path}}terminologies-systems. - [Australian Pronouns](ValueSet-australian-pronouns-1.html) - [Gender Identity Response](ValueSet-gender-identity-response-1.html) - [Biological Sex](ValueSet-biological-sex-1.html) +- [AdministrativeGender](ValueSet-administrative-gender.html) ### Code systems diff --git a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json index 2d5b33ce..948d72ce 100644 --- a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json +++ b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json @@ -2,9 +2,9 @@ "resourceType": "Questionnaire", "id": "AboriginalTorresStraitIslanderHealthCheck", "meta": { - "versionId": "12", - "lastUpdated": "2024-04-04T06:10:32.535+00:00", - "source": "#grqZ2xSgx1fDAU96", + "versionId": "14", + "lastUpdated": "2024-04-05T03:59:42.302+00:00", + "source": "#1EysdimOTKWcWJDs", "profile": [ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp", "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" @@ -292,17 +292,17 @@ ] }, "expansion": { - "identifier": "urn:uuid:797238aa-61be-4165-9fa6-3595bbfd16f6", - "timestamp": "2024-04-04T05:36:01+00:00", + "identifier": "urn:uuid:50f050c9-3975-48d6-bdb7-baae4ebc70cd", + "timestamp": "2024-04-05T12:31:27+10:00", "total": 4, "parameter": [ { "name": "version", - "valueUri": "http://hl7.org/fhir/administrative-gender|4.3.0" + "valueUri": "http://hl7.org/fhir/administrative-gender|4.0.1" }, { "name": "used-codesystem", - "valueUri": "http://hl7.org/fhir/administrative-gender|4.3.0" + "valueUri": "http://hl7.org/fhir/administrative-gender|4.0.1" } ], "contains": [ @@ -2503,7 +2503,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%patient.extension.where(exists(url='http://hl7.org/fhir/StructureDefinition/individual-pronouns') and extension.where(url='period').valuePeriod.end.empty()).extension.where(url='value').value.coding" + "expression": "%patient.extension.where(exists(url='http://hl7.org/fhir/StructureDefinition/individual-pronouns') and extension.where(url='period').value.end.empty()).extension.where(url='value').value.coding" } }, { @@ -2531,7 +2531,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%patient.extension.where(exists(url='http://hl7.org/fhir/StructureDefinition/individual-genderIdentity') and extension.where(url='period').valuePeriod.end.empty()).extension.where(url='value').value.coding" + "expression": "%patient.extension.where(exists(url='http://hl7.org/fhir/StructureDefinition/individual-genderIdentity') and extension.where(url='period').value.end.empty()).extension.where(url='value').value.coding" } }, { @@ -2590,7 +2590,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%patient.extension.where(exists(url='http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender' and extension.where(exists(url='type' and valueCodeableConcept.coding.code='1515311000168102')) and extension.where(url='effectivePeriod').valuePeriod.end.empty())).extension.where(url='value').value.coding" + "expression": "%patient.extension.where(exists(url='http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender' and extension.where(exists(url='type' and value.coding.code='1515311000168102')) and extension.where(url='effectivePeriod').value.end.empty())).extension.where(url='value').value.coding" } }, { @@ -15961,4 +15961,4 @@ ] } ] -} +} \ No newline at end of file From 312f36d320c19484cae721a06e905c5979778cb2 Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Fri, 5 Apr 2024 15:36:44 +1000 Subject: [PATCH 024/177] Fix context display enableWhen --- .../Questionnaire-AboutTheHealthCheck.json | 4 +- ...stionnaire-AbsoluteCVDRiskCalculation.json | 4 +- ...estionnaire-AllergiesAdverseReactions.json | 4 +- .../Questionnaire-ChronicDiseaseAgeing.json | 4 +- .../resources/Questionnaire-Consent.json | 4 +- .../Questionnaire-CurrentPriorities.json | 4 +- .../Questionnaire-EarHealthAndHearing.json | 4 +- .../resources/Questionnaire-Examination.json | 4 +- .../resources/Questionnaire-EyeHealth.json | 4 +- .../Questionnaire-FamilyHistory.json | 4 +- .../Questionnaire-FinalisingHealthCheck.json | 4 +- .../resources/Questionnaire-Gambling.json | 4 +- .../Questionnaire-HealthyEating.json | 4 +- .../Questionnaire-HomeAndFamily.json | 4 +- .../resources/Questionnaire-Immunisation.json | 4 +- .../Questionnaire-Investigations.json | 4 +- .../Questionnaire-LearningAndDevelopment.json | 4 +- .../Questionnaire-LearningAndWork.json | 8 +- ...onnaire-MedicalHistoryCurrentProblems.json | 4 +- .../Questionnaire-MemoryAndThinking.json | 4 +- .../resources/Questionnaire-Mood.json | 4 +- .../Questionnaire-OralAndDentalHealth.json | 4 +- .../Questionnaire-PatientDetails.json | 4 +- ...onnaire-PhysicalActivityAndScreenTime.json | 8 +- ...aire-RedFlagsEarlyIdentificationGuide.json | 4 +- .../Questionnaire-RegularMedications.json | 4 +- .../Questionnaire-ScreeningPrograms.json | 4 +- .../resources/Questionnaire-SexualHealth.json | 12 +- .../resources/Questionnaire-Skin.json | 4 +- ...tionnaire-SocialAndEmotionalWellbeing.json | 4 +- .../Questionnaire-SocialHistoryChild.json | 4 +- .../resources/Questionnaire-SubstanceUse.json | 4 +- input/fsh/715-AboutTheHealthCheck.fsh | 4 +- ...-Assessment-AbsoluteCVDRiskCalculation.fsh | 4 +- ...5-Assessment-AllergiesAdverseReactions.fsh | 4 +- .../715-Assessment-ChronicDiseaseAgeing.fsh | 4 +- .../fsh/715-Assessment-CurrentPriorities.fsh | 4 +- .../715-Assessment-EarHealthAndHearing.fsh | 4 +- input/fsh/715-Assessment-Examination.fsh | 4 +- input/fsh/715-Assessment-EyeHealth.fsh | 4 +- input/fsh/715-Assessment-FamilyHistory.fsh | 4 +- input/fsh/715-Assessment-Gambling.fsh | 4 +- input/fsh/715-Assessment-HealthyEating.fsh | 4 +- input/fsh/715-Assessment-HomeAndFamily.fsh | 4 +- input/fsh/715-Assessment-Immunisation.fsh | 4 +- input/fsh/715-Assessment-Investigations.fsh | 4 +- .../715-Assessment-LearningAndDevelopment.fsh | 4 +- input/fsh/715-Assessment-LearningAndWork.fsh | 8 +- ...sessment-MedicalHistoryCurrentProblems.fsh | 4 +- .../fsh/715-Assessment-MemoryAndThinking.fsh | 4 +- input/fsh/715-Assessment-Mood.fsh | 4 +- .../715-Assessment-OralAndDentalHealth.fsh | 4 +- ...sessment-PhysicalActivityAndScreenTime.fsh | 8 +- ...sment-RedFlagsEarlyIdentificationGuide.fsh | 4 +- .../fsh/715-Assessment-RegularMedications.fsh | 4 +- .../fsh/715-Assessment-ScreeningPrograms.fsh | 4 +- input/fsh/715-Assessment-SexualHealth.fsh | 12 +- input/fsh/715-Assessment-Skin.fsh | 4 +- ...Assessment-SocialAndEmotionalWellbeing.fsh | 4 +- .../fsh/715-Assessment-SocialHistoryChild.fsh | 4 +- input/fsh/715-Assessment-SubstanceUse.fsh | 4 +- input/fsh/715-Consent.fsh | 4 +- input/fsh/715-FinalisingHealthCheck.fsh | 4 +- input/fsh/715-PatientDetails.fsh | 4 +- ...esStraitIslanderHealthCheck-assembled.json | 150 +++++++++--------- 65 files changed, 219 insertions(+), 219 deletions(-) diff --git a/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json b/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json index ce786359..ff73d2b0 100644 --- a/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json +++ b/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json @@ -51,8 +51,8 @@ "enableWhen": [ { "question": "MarkComplete-1", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, diff --git a/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json b/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json index 6c12ab34..69c43a37 100644 --- a/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json +++ b/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json @@ -51,8 +51,8 @@ "enableWhen": [ { "question": "MarkComplete-2", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, diff --git a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json index 6a68ebfe..fdb820ae 100644 --- a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json +++ b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json @@ -51,8 +51,8 @@ "enableWhen": [ { "question": "MarkComplete-3", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, diff --git a/fsh-generated/resources/Questionnaire-ChronicDiseaseAgeing.json b/fsh-generated/resources/Questionnaire-ChronicDiseaseAgeing.json index 77ea3de9..44d25988 100644 --- a/fsh-generated/resources/Questionnaire-ChronicDiseaseAgeing.json +++ b/fsh-generated/resources/Questionnaire-ChronicDiseaseAgeing.json @@ -51,8 +51,8 @@ "enableWhen": [ { "question": "MarkComplete-4", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, diff --git a/fsh-generated/resources/Questionnaire-Consent.json b/fsh-generated/resources/Questionnaire-Consent.json index 6843c2fd..a84d7784 100644 --- a/fsh-generated/resources/Questionnaire-Consent.json +++ b/fsh-generated/resources/Questionnaire-Consent.json @@ -51,8 +51,8 @@ "enableWhen": [ { "question": "MarkComplete-30", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, diff --git a/fsh-generated/resources/Questionnaire-CurrentPriorities.json b/fsh-generated/resources/Questionnaire-CurrentPriorities.json index 09091d3e..1bcab534 100644 --- a/fsh-generated/resources/Questionnaire-CurrentPriorities.json +++ b/fsh-generated/resources/Questionnaire-CurrentPriorities.json @@ -55,8 +55,8 @@ "enableWhen": [ { "question": "MarkComplete-5", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, diff --git a/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json b/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json index 0acc1546..4fe0b054 100644 --- a/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json +++ b/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json @@ -51,8 +51,8 @@ "enableWhen": [ { "question": "MarkComplete-6", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, diff --git a/fsh-generated/resources/Questionnaire-Examination.json b/fsh-generated/resources/Questionnaire-Examination.json index eaa141ff..0819f5d5 100644 --- a/fsh-generated/resources/Questionnaire-Examination.json +++ b/fsh-generated/resources/Questionnaire-Examination.json @@ -51,8 +51,8 @@ "enableWhen": [ { "question": "MarkComplete-7", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, diff --git a/fsh-generated/resources/Questionnaire-EyeHealth.json b/fsh-generated/resources/Questionnaire-EyeHealth.json index 16b33229..65911851 100644 --- a/fsh-generated/resources/Questionnaire-EyeHealth.json +++ b/fsh-generated/resources/Questionnaire-EyeHealth.json @@ -51,8 +51,8 @@ "enableWhen": [ { "question": "MarkComplete-8", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, diff --git a/fsh-generated/resources/Questionnaire-FamilyHistory.json b/fsh-generated/resources/Questionnaire-FamilyHistory.json index 72bcd0d1..64473881 100644 --- a/fsh-generated/resources/Questionnaire-FamilyHistory.json +++ b/fsh-generated/resources/Questionnaire-FamilyHistory.json @@ -51,8 +51,8 @@ "enableWhen": [ { "question": "MarkComplete-9", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, diff --git a/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json b/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json index c2281232..0a78f9c8 100644 --- a/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json +++ b/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json @@ -51,8 +51,8 @@ "enableWhen": [ { "question": "MarkComplete-31", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, diff --git a/fsh-generated/resources/Questionnaire-Gambling.json b/fsh-generated/resources/Questionnaire-Gambling.json index 619a6e8d..14f820f6 100644 --- a/fsh-generated/resources/Questionnaire-Gambling.json +++ b/fsh-generated/resources/Questionnaire-Gambling.json @@ -51,8 +51,8 @@ "enableWhen": [ { "question": "MarkComplete-10", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, diff --git a/fsh-generated/resources/Questionnaire-HealthyEating.json b/fsh-generated/resources/Questionnaire-HealthyEating.json index 341723f1..8582bc44 100644 --- a/fsh-generated/resources/Questionnaire-HealthyEating.json +++ b/fsh-generated/resources/Questionnaire-HealthyEating.json @@ -51,8 +51,8 @@ "enableWhen": [ { "question": "MarkComplete-11", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, diff --git a/fsh-generated/resources/Questionnaire-HomeAndFamily.json b/fsh-generated/resources/Questionnaire-HomeAndFamily.json index a06cd5a9..e7659c83 100644 --- a/fsh-generated/resources/Questionnaire-HomeAndFamily.json +++ b/fsh-generated/resources/Questionnaire-HomeAndFamily.json @@ -51,8 +51,8 @@ "enableWhen": [ { "question": "MarkComplete-12", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, diff --git a/fsh-generated/resources/Questionnaire-Immunisation.json b/fsh-generated/resources/Questionnaire-Immunisation.json index 93080921..4e5f6f82 100644 --- a/fsh-generated/resources/Questionnaire-Immunisation.json +++ b/fsh-generated/resources/Questionnaire-Immunisation.json @@ -51,8 +51,8 @@ "enableWhen": [ { "question": "MarkComplete-13", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, diff --git a/fsh-generated/resources/Questionnaire-Investigations.json b/fsh-generated/resources/Questionnaire-Investigations.json index e48ef1ed..8ee90e3e 100644 --- a/fsh-generated/resources/Questionnaire-Investigations.json +++ b/fsh-generated/resources/Questionnaire-Investigations.json @@ -51,8 +51,8 @@ "enableWhen": [ { "question": "MarkComplete-14", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, diff --git a/fsh-generated/resources/Questionnaire-LearningAndDevelopment.json b/fsh-generated/resources/Questionnaire-LearningAndDevelopment.json index 0c0ceefa..b1fb0bc6 100644 --- a/fsh-generated/resources/Questionnaire-LearningAndDevelopment.json +++ b/fsh-generated/resources/Questionnaire-LearningAndDevelopment.json @@ -51,8 +51,8 @@ "enableWhen": [ { "question": "MarkComplete-15", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, diff --git a/fsh-generated/resources/Questionnaire-LearningAndWork.json b/fsh-generated/resources/Questionnaire-LearningAndWork.json index 23ea6d38..95973e47 100644 --- a/fsh-generated/resources/Questionnaire-LearningAndWork.json +++ b/fsh-generated/resources/Questionnaire-LearningAndWork.json @@ -51,8 +51,8 @@ "enableWhen": [ { "question": "MarkComplete-33", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, @@ -292,8 +292,8 @@ "enableWhen": [ { "question": "MarkComplete-16", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, diff --git a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json index 8d274e21..9ead5eab 100644 --- a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json +++ b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json @@ -51,8 +51,8 @@ "enableWhen": [ { "question": "MarkComplete-17", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, diff --git a/fsh-generated/resources/Questionnaire-MemoryAndThinking.json b/fsh-generated/resources/Questionnaire-MemoryAndThinking.json index 313af013..c745b88e 100644 --- a/fsh-generated/resources/Questionnaire-MemoryAndThinking.json +++ b/fsh-generated/resources/Questionnaire-MemoryAndThinking.json @@ -51,8 +51,8 @@ "enableWhen": [ { "question": "MarkComplete-18", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, diff --git a/fsh-generated/resources/Questionnaire-Mood.json b/fsh-generated/resources/Questionnaire-Mood.json index 4f30fad6..4ff5eeec 100644 --- a/fsh-generated/resources/Questionnaire-Mood.json +++ b/fsh-generated/resources/Questionnaire-Mood.json @@ -51,8 +51,8 @@ "enableWhen": [ { "question": "MarkComplete-19", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, diff --git a/fsh-generated/resources/Questionnaire-OralAndDentalHealth.json b/fsh-generated/resources/Questionnaire-OralAndDentalHealth.json index 1607ba47..b23af9ea 100644 --- a/fsh-generated/resources/Questionnaire-OralAndDentalHealth.json +++ b/fsh-generated/resources/Questionnaire-OralAndDentalHealth.json @@ -51,8 +51,8 @@ "enableWhen": [ { "question": "MarkComplete-20", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, diff --git a/fsh-generated/resources/Questionnaire-PatientDetails.json b/fsh-generated/resources/Questionnaire-PatientDetails.json index 6653cdad..a5d6919e 100644 --- a/fsh-generated/resources/Questionnaire-PatientDetails.json +++ b/fsh-generated/resources/Questionnaire-PatientDetails.json @@ -42,8 +42,8 @@ "enableWhen": [ { "question": "MarkComplete-32", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, diff --git a/fsh-generated/resources/Questionnaire-PhysicalActivityAndScreenTime.json b/fsh-generated/resources/Questionnaire-PhysicalActivityAndScreenTime.json index 6f2f8885..22d38453 100644 --- a/fsh-generated/resources/Questionnaire-PhysicalActivityAndScreenTime.json +++ b/fsh-generated/resources/Questionnaire-PhysicalActivityAndScreenTime.json @@ -51,8 +51,8 @@ "enableWhen": [ { "question": "MarkComplete-34", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, @@ -386,8 +386,8 @@ "enableWhen": [ { "question": "MarkComplete-21", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, diff --git a/fsh-generated/resources/Questionnaire-RedFlagsEarlyIdentificationGuide.json b/fsh-generated/resources/Questionnaire-RedFlagsEarlyIdentificationGuide.json index d23bf4fd..876c08d7 100644 --- a/fsh-generated/resources/Questionnaire-RedFlagsEarlyIdentificationGuide.json +++ b/fsh-generated/resources/Questionnaire-RedFlagsEarlyIdentificationGuide.json @@ -51,8 +51,8 @@ "enableWhen": [ { "question": "MarkComplete-22", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, diff --git a/fsh-generated/resources/Questionnaire-RegularMedications.json b/fsh-generated/resources/Questionnaire-RegularMedications.json index 93ed56b9..ebd9f0db 100644 --- a/fsh-generated/resources/Questionnaire-RegularMedications.json +++ b/fsh-generated/resources/Questionnaire-RegularMedications.json @@ -55,8 +55,8 @@ "enableWhen": [ { "question": "MarkComplete-23", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, diff --git a/fsh-generated/resources/Questionnaire-ScreeningPrograms.json b/fsh-generated/resources/Questionnaire-ScreeningPrograms.json index 4ae8e4db..1dbfd7d2 100644 --- a/fsh-generated/resources/Questionnaire-ScreeningPrograms.json +++ b/fsh-generated/resources/Questionnaire-ScreeningPrograms.json @@ -51,8 +51,8 @@ "enableWhen": [ { "question": "MarkComplete-24", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, diff --git a/fsh-generated/resources/Questionnaire-SexualHealth.json b/fsh-generated/resources/Questionnaire-SexualHealth.json index 933d8a98..7594eb7e 100644 --- a/fsh-generated/resources/Questionnaire-SexualHealth.json +++ b/fsh-generated/resources/Questionnaire-SexualHealth.json @@ -55,8 +55,8 @@ "enableWhen": [ { "question": "MarkComplete-36", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, @@ -226,8 +226,8 @@ "enableWhen": [ { "question": "MarkComplete-35", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, @@ -466,8 +466,8 @@ "enableWhen": [ { "question": "MarkComplete-25", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, diff --git a/fsh-generated/resources/Questionnaire-Skin.json b/fsh-generated/resources/Questionnaire-Skin.json index d823560e..4aa14c05 100644 --- a/fsh-generated/resources/Questionnaire-Skin.json +++ b/fsh-generated/resources/Questionnaire-Skin.json @@ -51,8 +51,8 @@ "enableWhen": [ { "question": "MarkComplete-26", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, diff --git a/fsh-generated/resources/Questionnaire-SocialAndEmotionalWellbeing.json b/fsh-generated/resources/Questionnaire-SocialAndEmotionalWellbeing.json index 1a672c53..c9f44a32 100644 --- a/fsh-generated/resources/Questionnaire-SocialAndEmotionalWellbeing.json +++ b/fsh-generated/resources/Questionnaire-SocialAndEmotionalWellbeing.json @@ -51,8 +51,8 @@ "enableWhen": [ { "question": "MarkComplete-27", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, diff --git a/fsh-generated/resources/Questionnaire-SocialHistoryChild.json b/fsh-generated/resources/Questionnaire-SocialHistoryChild.json index 41b5f8a6..d8f28b60 100644 --- a/fsh-generated/resources/Questionnaire-SocialHistoryChild.json +++ b/fsh-generated/resources/Questionnaire-SocialHistoryChild.json @@ -55,8 +55,8 @@ "enableWhen": [ { "question": "MarkComplete-28", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, diff --git a/fsh-generated/resources/Questionnaire-SubstanceUse.json b/fsh-generated/resources/Questionnaire-SubstanceUse.json index 87bdea3e..34964f67 100644 --- a/fsh-generated/resources/Questionnaire-SubstanceUse.json +++ b/fsh-generated/resources/Questionnaire-SubstanceUse.json @@ -51,8 +51,8 @@ "enableWhen": [ { "question": "MarkComplete-29", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, diff --git a/input/fsh/715-AboutTheHealthCheck.fsh b/input/fsh/715-AboutTheHealthCheck.fsh index dd94d93f..16664bb4 100644 --- a/input/fsh/715-AboutTheHealthCheck.fsh +++ b/input/fsh/715-AboutTheHealthCheck.fsh @@ -86,8 +86,8 @@ Description: "About The Health Check sub-questionnaire for Aboriginal and Torres * type = #display * enableWhen[+] * question = "MarkComplete-1" // Section complete item - * operator = #= - * answerBoolean = false + * operator = #!= + * answerBoolean = true * item[+] //complete * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-1" diff --git a/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh b/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh index 461bbada..947d8cbd 100644 --- a/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh +++ b/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh @@ -104,8 +104,8 @@ Description: "Absolute Cardiovascular Disease Risk Calculation sub-questionnaire * type = #display * enableWhen[+] * question = "MarkComplete-2" // Section complete item - * operator = #= - * answerBoolean = false + * operator = #!= + * answerBoolean = true * item[+] //complete * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-2" diff --git a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh index 2db091cb..46c87735 100644 --- a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh +++ b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh @@ -70,8 +70,8 @@ Description: "Allergies/Adverse Reactions sub-questionnaire for Aboriginal and T * type = #display * enableWhen[+] * question = "MarkComplete-3" // Section complete item - * operator = #= - * answerBoolean = false + * operator = #!= + * answerBoolean = true * item[+] //complete * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-3" diff --git a/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh b/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh index 5f52821a..1806f8e8 100644 --- a/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh +++ b/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh @@ -71,8 +71,8 @@ Description: "Chronic Disease Ageing sub-questionnaire for Aboriginal and Torres * type = #display * enableWhen[+] * question = "MarkComplete-4" // Section complete item - * operator = #= - * answerBoolean = false + * operator = #!= + * answerBoolean = true * item[+] //complete * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-4" diff --git a/input/fsh/715-Assessment-CurrentPriorities.fsh b/input/fsh/715-Assessment-CurrentPriorities.fsh index 83080ba9..28fe2be8 100644 --- a/input/fsh/715-Assessment-CurrentPriorities.fsh +++ b/input/fsh/715-Assessment-CurrentPriorities.fsh @@ -73,8 +73,8 @@ Description: "Current Priorities sub-questionnaire for Aboriginal and Torres Str * type = #display * enableWhen[+] * question = "MarkComplete-5" // Section complete item - * operator = #= - * answerBoolean = false + * operator = #!= + * answerBoolean = true * item[+] //complete * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-5" diff --git a/input/fsh/715-Assessment-EarHealthAndHearing.fsh b/input/fsh/715-Assessment-EarHealthAndHearing.fsh index 7f261167..1d855218 100644 --- a/input/fsh/715-Assessment-EarHealthAndHearing.fsh +++ b/input/fsh/715-Assessment-EarHealthAndHearing.fsh @@ -72,8 +72,8 @@ Description: "Ear Health And Hearing sub-questionnaire for Aboriginal and Torres * type = #display * enableWhen[+] * question = "MarkComplete-6" // Section complete item - * operator = #= - * answerBoolean = false + * operator = #!= + * answerBoolean = true * item[+] //complete * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-6" diff --git a/input/fsh/715-Assessment-Examination.fsh b/input/fsh/715-Assessment-Examination.fsh index 0fffda9d..aaf3b0d5 100644 --- a/input/fsh/715-Assessment-Examination.fsh +++ b/input/fsh/715-Assessment-Examination.fsh @@ -125,8 +125,8 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * type = #display * enableWhen[+] * question = "MarkComplete-7" // Section complete item - * operator = #= - * answerBoolean = false + * operator = #!= + * answerBoolean = true * item[+] //complete * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-7" diff --git a/input/fsh/715-Assessment-EyeHealth.fsh b/input/fsh/715-Assessment-EyeHealth.fsh index a552b779..9aa1b6a6 100644 --- a/input/fsh/715-Assessment-EyeHealth.fsh +++ b/input/fsh/715-Assessment-EyeHealth.fsh @@ -72,8 +72,8 @@ Description: "Eye Health sub-questionnaire for Aboriginal and Torres Strait Isla * type = #display * enableWhen[+] * question = "MarkComplete-8" // Section complete item - * operator = #= - * answerBoolean = false + * operator = #!= + * answerBoolean = true * item[+] //complete * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-8" diff --git a/input/fsh/715-Assessment-FamilyHistory.fsh b/input/fsh/715-Assessment-FamilyHistory.fsh index 5a5463e3..95b2d24a 100644 --- a/input/fsh/715-Assessment-FamilyHistory.fsh +++ b/input/fsh/715-Assessment-FamilyHistory.fsh @@ -71,8 +71,8 @@ Description: "Family History sub-questionnaire for Aboriginal and Torres Strait * type = #display * enableWhen[+] * question = "MarkComplete-9" // Section complete item - * operator = #= - * answerBoolean = false + * operator = #!= + * answerBoolean = true * item[+] //complete * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-9" diff --git a/input/fsh/715-Assessment-Gambling.fsh b/input/fsh/715-Assessment-Gambling.fsh index b6d776fc..86f27c5a 100644 --- a/input/fsh/715-Assessment-Gambling.fsh +++ b/input/fsh/715-Assessment-Gambling.fsh @@ -72,8 +72,8 @@ Description: "Gambling sub-questionnaire for Aboriginal and Torres Strait Island * type = #display * enableWhen[+] * question = "MarkComplete-10" // Section complete item - * operator = #= - * answerBoolean = false + * operator = #!= + * answerBoolean = true * item[+] //complete * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-10" diff --git a/input/fsh/715-Assessment-HealthyEating.fsh b/input/fsh/715-Assessment-HealthyEating.fsh index dfb5db7b..92c04ba2 100644 --- a/input/fsh/715-Assessment-HealthyEating.fsh +++ b/input/fsh/715-Assessment-HealthyEating.fsh @@ -73,8 +73,8 @@ Description: "Healthy Eating sub-questionnaire for Aboriginal and Torres Strait * type = #display * enableWhen[+] * question = "MarkComplete-11" // Section complete item - * operator = #= - * answerBoolean = false + * operator = #!= + * answerBoolean = true * item[+] //complete * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-11" diff --git a/input/fsh/715-Assessment-HomeAndFamily.fsh b/input/fsh/715-Assessment-HomeAndFamily.fsh index 5526e135..7ef8f7ca 100644 --- a/input/fsh/715-Assessment-HomeAndFamily.fsh +++ b/input/fsh/715-Assessment-HomeAndFamily.fsh @@ -73,8 +73,8 @@ Description: "Home And Family sub-questionnaire for Aboriginal and Torres Strait * type = #display * enableWhen[+] * question = "MarkComplete-12" // Section complete item - * operator = #= - * answerBoolean = false + * operator = #!= + * answerBoolean = true * item[+] //complete * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-12" diff --git a/input/fsh/715-Assessment-Immunisation.fsh b/input/fsh/715-Assessment-Immunisation.fsh index 5013b567..ab9d3e10 100644 --- a/input/fsh/715-Assessment-Immunisation.fsh +++ b/input/fsh/715-Assessment-Immunisation.fsh @@ -72,8 +72,8 @@ Description: "Immunisation sub-questionnaire for Aboriginal and Torres Strait Is * type = #display * enableWhen[+] * question = "MarkComplete-13" // Section complete item - * operator = #= - * answerBoolean = false + * operator = #!= + * answerBoolean = true * item[+] //complete * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-13" diff --git a/input/fsh/715-Assessment-Investigations.fsh b/input/fsh/715-Assessment-Investigations.fsh index 272a3b95..ff560fdb 100644 --- a/input/fsh/715-Assessment-Investigations.fsh +++ b/input/fsh/715-Assessment-Investigations.fsh @@ -73,8 +73,8 @@ Description: "Investigations sub-questionnaire for Aboriginal and Torres Strait * type = #display * enableWhen[+] * question = "MarkComplete-14" // Section complete item - * operator = #= - * answerBoolean = false + * operator = #!= + * answerBoolean = true * item[+] //complete * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-14" diff --git a/input/fsh/715-Assessment-LearningAndDevelopment.fsh b/input/fsh/715-Assessment-LearningAndDevelopment.fsh index c2677988..0c0b7b2e 100644 --- a/input/fsh/715-Assessment-LearningAndDevelopment.fsh +++ b/input/fsh/715-Assessment-LearningAndDevelopment.fsh @@ -71,8 +71,8 @@ Description: "Learning And Development sub-questionnaire for Aboriginal and Torr * type = #display * enableWhen[+] * question = "MarkComplete-15" // Section complete item - * operator = #= - * answerBoolean = false + * operator = #!= + * answerBoolean = true * item[+] //complete * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-15" diff --git a/input/fsh/715-Assessment-LearningAndWork.fsh b/input/fsh/715-Assessment-LearningAndWork.fsh index 92b12f97..177e7b8f 100644 --- a/input/fsh/715-Assessment-LearningAndWork.fsh +++ b/input/fsh/715-Assessment-LearningAndWork.fsh @@ -74,8 +74,8 @@ Description: "Learning And Work sub-questionnaire for Aboriginal and Torres Stra * type = #display * enableWhen[+] * question = "MarkComplete-33" // Section complete item - * operator = #= - * answerBoolean = false + * operator = #!= + * answerBoolean = true * item[+] //complete * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-33" @@ -180,8 +180,8 @@ Description: "Learning And Work sub-questionnaire for Aboriginal and Torres Stra * type = #display * enableWhen[+] * question = "MarkComplete-16" // Section complete item - * operator = #= - * answerBoolean = false + * operator = #!= + * answerBoolean = true * item[+] //complete * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-16" diff --git a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh index 6d3b8620..00688fdd 100644 --- a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh +++ b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh @@ -82,8 +82,8 @@ Description: "Medical History sub-questionnaire for Aboriginal and Torres Strait * type = #display * enableWhen[+] * question = "MarkComplete-17" // Section complete item - * operator = #= - * answerBoolean = false + * operator = #!= + * answerBoolean = true * item[+] //complete * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-17" diff --git a/input/fsh/715-Assessment-MemoryAndThinking.fsh b/input/fsh/715-Assessment-MemoryAndThinking.fsh index fbef989b..e88898bd 100644 --- a/input/fsh/715-Assessment-MemoryAndThinking.fsh +++ b/input/fsh/715-Assessment-MemoryAndThinking.fsh @@ -72,8 +72,8 @@ Description: "Memory And Thinking sub-questionnaire for Aboriginal and Torres St * type = #display * enableWhen[+] * question = "MarkComplete-18" // Section complete item - * operator = #= - * answerBoolean = false + * operator = #!= + * answerBoolean = true * item[+] //complete * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-18" diff --git a/input/fsh/715-Assessment-Mood.fsh b/input/fsh/715-Assessment-Mood.fsh index 993e6928..ec89ff03 100644 --- a/input/fsh/715-Assessment-Mood.fsh +++ b/input/fsh/715-Assessment-Mood.fsh @@ -71,8 +71,8 @@ Description: "Mood sub-questionnaire for Aboriginal and Torres Strait Islander H * type = #display * enableWhen[+] * question = "MarkComplete-19" // Section complete item - * operator = #= - * answerBoolean = false + * operator = #!= + * answerBoolean = true * item[+] //complete * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-19" diff --git a/input/fsh/715-Assessment-OralAndDentalHealth.fsh b/input/fsh/715-Assessment-OralAndDentalHealth.fsh index 15c6acf3..d8f91d08 100644 --- a/input/fsh/715-Assessment-OralAndDentalHealth.fsh +++ b/input/fsh/715-Assessment-OralAndDentalHealth.fsh @@ -72,8 +72,8 @@ Description: "Oral And Dental Health sub-questionnaire for Aboriginal and Torres * type = #display * enableWhen[+] * question = "MarkComplete-20" // Section complete item - * operator = #= - * answerBoolean = false + * operator = #!= + * answerBoolean = true * item[+] //complete * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-20" diff --git a/input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh b/input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh index abbf94c0..ef05e93b 100644 --- a/input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh +++ b/input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh @@ -74,8 +74,8 @@ Description: "Physical Activity And Screen Time sub-questionnaire for Aboriginal * type = #display * enableWhen[+] * question = "MarkComplete-34" // Section complete item - * operator = #= - * answerBoolean = false + * operator = #!= + * answerBoolean = true * item[+] //complete * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-34" @@ -216,8 +216,8 @@ Description: "Physical Activity And Screen Time sub-questionnaire for Aboriginal * type = #display * enableWhen[+] * question = "MarkComplete-21" // Section complete item - * operator = #= - * answerBoolean = false + * operator = #!= + * answerBoolean = true * item[+] //complete * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-21" diff --git a/input/fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh b/input/fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh index 72ad66ee..9cc03af9 100644 --- a/input/fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh +++ b/input/fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh @@ -70,8 +70,8 @@ Description: "Red Flags Early Identification Guide For Children sub-questionnair * type = #display * enableWhen[+] * question = "MarkComplete-22" // Section complete item - * operator = #= - * answerBoolean = false + * operator = #!= + * answerBoolean = true * item[+] //complete * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-22" diff --git a/input/fsh/715-Assessment-RegularMedications.fsh b/input/fsh/715-Assessment-RegularMedications.fsh index 2ea1119d..a7cf47b0 100644 --- a/input/fsh/715-Assessment-RegularMedications.fsh +++ b/input/fsh/715-Assessment-RegularMedications.fsh @@ -73,8 +73,8 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * type = #display * enableWhen[+] * question = "MarkComplete-23" // Section complete item - * operator = #= - * answerBoolean = false + * operator = #!= + * answerBoolean = true * item[+] //complete * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-23" diff --git a/input/fsh/715-Assessment-ScreeningPrograms.fsh b/input/fsh/715-Assessment-ScreeningPrograms.fsh index 8235b4c1..bb322513 100644 --- a/input/fsh/715-Assessment-ScreeningPrograms.fsh +++ b/input/fsh/715-Assessment-ScreeningPrograms.fsh @@ -72,8 +72,8 @@ Description: "Screening Programs sub-questionnaire for Aboriginal and Torres Str * type = #display * enableWhen[+] * question = "MarkComplete-24" // Section complete item - * operator = #= - * answerBoolean = false + * operator = #!= + * answerBoolean = true * item[+] //complete * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-24" diff --git a/input/fsh/715-Assessment-SexualHealth.fsh b/input/fsh/715-Assessment-SexualHealth.fsh index e61bcbc7..516433a5 100644 --- a/input/fsh/715-Assessment-SexualHealth.fsh +++ b/input/fsh/715-Assessment-SexualHealth.fsh @@ -75,8 +75,8 @@ Description: "Sexual Health sub-questionnaire for Aboriginal and Torres Strait I * type = #display * enableWhen[+] * question = "MarkComplete-36" // Section complete item - * operator = #= - * answerBoolean = false + * operator = #!= + * answerBoolean = true * item[+] //complete * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-36" @@ -174,8 +174,8 @@ Description: "Sexual Health sub-questionnaire for Aboriginal and Torres Strait I * type = #display * enableWhen[+] * question = "MarkComplete-35" // Section complete item - * operator = #= - * answerBoolean = false + * operator = #!= + * answerBoolean = true * item[+] //complete * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-35" @@ -284,8 +284,8 @@ Description: "Sexual Health sub-questionnaire for Aboriginal and Torres Strait I * type = #display * enableWhen[+] * question = "MarkComplete-25" // Section complete item - * operator = #= - * answerBoolean = false + * operator = #!= + * answerBoolean = true * item[+] //complete * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-25" diff --git a/input/fsh/715-Assessment-Skin.fsh b/input/fsh/715-Assessment-Skin.fsh index ff0ef49d..8e177d59 100644 --- a/input/fsh/715-Assessment-Skin.fsh +++ b/input/fsh/715-Assessment-Skin.fsh @@ -73,8 +73,8 @@ Description: "Skin sub-questionnaire for Aboriginal and Torres Strait Islander H * type = #display * enableWhen[+] * question = "MarkComplete-26" // Section complete item - * operator = #= - * answerBoolean = false + * operator = #!= + * answerBoolean = true * item[+] //complete * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-26" diff --git a/input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh b/input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh index ca29def4..d959320d 100644 --- a/input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh +++ b/input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh @@ -72,8 +72,8 @@ Description: "Social And Emotional Wellbeing sub-questionnaire for Aboriginal an * type = #display * enableWhen[+] * question = "MarkComplete-27" // Section complete item - * operator = #= - * answerBoolean = false + * operator = #!= + * answerBoolean = true * item[+] //complete * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-27" diff --git a/input/fsh/715-Assessment-SocialHistoryChild.fsh b/input/fsh/715-Assessment-SocialHistoryChild.fsh index b2acc89c..373649b4 100644 --- a/input/fsh/715-Assessment-SocialHistoryChild.fsh +++ b/input/fsh/715-Assessment-SocialHistoryChild.fsh @@ -73,8 +73,8 @@ Description: "Social History Child sub-questionnaire for Aboriginal and Torres S * type = #display * enableWhen[+] * question = "MarkComplete-28" // Section complete item - * operator = #= - * answerBoolean = false + * operator = #!= + * answerBoolean = true * item[+] //complete * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-28" diff --git a/input/fsh/715-Assessment-SubstanceUse.fsh b/input/fsh/715-Assessment-SubstanceUse.fsh index 327e6263..e52b73dc 100644 --- a/input/fsh/715-Assessment-SubstanceUse.fsh +++ b/input/fsh/715-Assessment-SubstanceUse.fsh @@ -80,8 +80,8 @@ Description: "Substance Use sub-questionnaire for Aboriginal and Torres Strait I * type = #display * enableWhen[+] * question = "MarkComplete-29" // Section complete item - * operator = #= - * answerBoolean = false + * operator = #!= + * answerBoolean = true * item[+] //complete * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-29" diff --git a/input/fsh/715-Consent.fsh b/input/fsh/715-Consent.fsh index 19962e78..ca3996ef 100644 --- a/input/fsh/715-Consent.fsh +++ b/input/fsh/715-Consent.fsh @@ -74,8 +74,8 @@ Description: "Consent sub-questionnaire for Aboriginal and Torres Strait Islande * type = #display * enableWhen[+] * question = "MarkComplete-30" // Section complete item - * operator = #= - * answerBoolean = false + * operator = #!= + * answerBoolean = true * item[+] //complete * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-30" diff --git a/input/fsh/715-FinalisingHealthCheck.fsh b/input/fsh/715-FinalisingHealthCheck.fsh index ce247184..11323620 100644 --- a/input/fsh/715-FinalisingHealthCheck.fsh +++ b/input/fsh/715-FinalisingHealthCheck.fsh @@ -72,8 +72,8 @@ Description: "Finalising the Health Check sub-questionnaire for Aboriginal and T * type = #display * enableWhen[+] * question = "MarkComplete-31" // Section complete item - * operator = #= - * answerBoolean = false + * operator = #!= + * answerBoolean = true * item[+] //complete * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-31" diff --git a/input/fsh/715-PatientDetails.fsh b/input/fsh/715-PatientDetails.fsh index a2d66af9..53fc9704 100644 --- a/input/fsh/715-PatientDetails.fsh +++ b/input/fsh/715-PatientDetails.fsh @@ -93,8 +93,8 @@ Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait * type = #display * enableWhen[+] * question = "MarkComplete-32" // Section complete item - * operator = #= - * answerBoolean = false + * operator = #!= + * answerBoolean = true * item[+] //complete * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display * linkId = "CD-complete-32" diff --git a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json index 948d72ce..c94f943b 100644 --- a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json +++ b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json @@ -2,9 +2,9 @@ "resourceType": "Questionnaire", "id": "AboriginalTorresStraitIslanderHealthCheck", "meta": { - "versionId": "14", - "lastUpdated": "2024-04-05T03:59:42.302+00:00", - "source": "#1EysdimOTKWcWJDs", + "versionId": "15", + "lastUpdated": "2024-04-05T05:17:18.147+00:00", + "source": "#FxlSV4OVRPbxYkDd", "profile": [ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp", "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" @@ -1819,8 +1819,8 @@ "enableWhen": [ { "question": "MarkComplete-1", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, @@ -2019,8 +2019,8 @@ "enableWhen": [ { "question": "MarkComplete-30", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, @@ -2414,8 +2414,8 @@ "enableWhen": [ { "question": "MarkComplete-32", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, @@ -3809,8 +3809,8 @@ "enableWhen": [ { "question": "MarkComplete-5", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, @@ -4118,8 +4118,8 @@ "enableWhen": [ { "question": "MarkComplete-17", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, @@ -4508,8 +4508,8 @@ "enableWhen": [ { "question": "MarkComplete-23", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, @@ -4739,8 +4739,8 @@ "enableWhen": [ { "question": "MarkComplete-3", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, @@ -4861,8 +4861,8 @@ "enableWhen": [ { "question": "MarkComplete-9", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, @@ -5038,8 +5038,8 @@ "enableWhen": [ { "question": "MarkComplete-27", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, @@ -5242,8 +5242,8 @@ "enableWhen": [ { "question": "MarkComplete-28", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, @@ -5454,8 +5454,8 @@ "enableWhen": [ { "question": "MarkComplete-12", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, @@ -5679,8 +5679,8 @@ "enableWhen": [ { "question": "MarkComplete-15", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, @@ -6114,8 +6114,8 @@ "enableWhen": [ { "question": "MarkComplete-33", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, @@ -6355,8 +6355,8 @@ "enableWhen": [ { "question": "MarkComplete-16", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, @@ -6502,8 +6502,8 @@ "enableWhen": [ { "question": "MarkComplete-19", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, @@ -6689,8 +6689,8 @@ "enableWhen": [ { "question": "MarkComplete-18", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, @@ -6914,8 +6914,8 @@ "enableWhen": [ { "question": "MarkComplete-4", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, @@ -7057,8 +7057,8 @@ "enableWhen": [ { "question": "MarkComplete-24", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, @@ -7341,8 +7341,8 @@ "enableWhen": [ { "question": "MarkComplete-11", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, @@ -7866,8 +7866,8 @@ "enableWhen": [ { "question": "MarkComplete-34", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, @@ -8201,8 +8201,8 @@ "enableWhen": [ { "question": "MarkComplete-21", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, @@ -8378,8 +8378,8 @@ "enableWhen": [ { "question": "MarkComplete-22", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, @@ -9657,8 +9657,8 @@ "enableWhen": [ { "question": "MarkComplete-29", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, @@ -9995,8 +9995,8 @@ "enableWhen": [ { "question": "MarkComplete-10", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, @@ -10150,8 +10150,8 @@ "enableWhen": [ { "question": "MarkComplete-36", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, @@ -10321,8 +10321,8 @@ "enableWhen": [ { "question": "MarkComplete-35", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, @@ -10561,8 +10561,8 @@ "enableWhen": [ { "question": "MarkComplete-25", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, @@ -10780,8 +10780,8 @@ "enableWhen": [ { "question": "MarkComplete-8", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, @@ -11174,8 +11174,8 @@ "enableWhen": [ { "question": "MarkComplete-6", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, @@ -11811,8 +11811,8 @@ "enableWhen": [ { "question": "MarkComplete-20", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, @@ -12086,8 +12086,8 @@ "enableWhen": [ { "question": "MarkComplete-26", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, @@ -12347,8 +12347,8 @@ "enableWhen": [ { "question": "MarkComplete-13", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, @@ -12584,8 +12584,8 @@ "enableWhen": [ { "question": "MarkComplete-7", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, @@ -13483,8 +13483,8 @@ "enableWhen": [ { "question": "MarkComplete-2", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, @@ -14081,8 +14081,8 @@ "enableWhen": [ { "question": "MarkComplete-14", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, @@ -15015,8 +15015,8 @@ "enableWhen": [ { "question": "MarkComplete-31", - "operator": "=", - "answerBoolean": false + "operator": "!=", + "answerBoolean": true } ] }, From 33383614180f3b76eef5a11d99708fda6c971b35 Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Fri, 5 Apr 2024 15:49:32 +1000 Subject: [PATCH 025/177] Add copyright --- input/fsh/terminology.fsh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/input/fsh/terminology.fsh b/input/fsh/terminology.fsh index e0519490..6d2a461b 100644 --- a/input/fsh/terminology.fsh +++ b/input/fsh/terminology.fsh @@ -445,10 +445,13 @@ ValueSet: AdministrativeGender Id: administrative-gender Title: "AdministrativeGender" Description: "The gender of a person used for administrative purposes." + +* ^url = "http://hl7.org/fhir/ValueSet/administrative-gender" * ^contact.telecom[0].system = #url * ^contact.telecom[=].value = "http://hl7.org/fhir" * ^contact.telecom[+].system = #email * ^contact.telecom[=].value = "fhir@lists.hl7.org" +* ^copyright = "Copyright © 2011+ HL7. Licensed under Creative Commons \"No Rights Reserved\"." * ^date = "2019-11-01T09:29:23+11:00" * ^experimental = false * ^extension[0].url = "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg" @@ -506,6 +509,7 @@ Description: "Preferred value set for Condition Clinical Status." * ^publisher = "FHIR Project team" * ^contact.telecom.system = #url * ^contact.telecom.value = "http://hl7.org/fhir" +* ^copyright = "Copyright © 2011+ HL7. Licensed under Creative Commons \"No Rights Reserved\"." * ^expansion.identifier = "urn:uuid:79d21cca-9f34-4cfa-9020-17eee95eeed8" * ^expansion.timestamp = "2024-04-02T14:17:12+10:00" * ^expansion.total = 6 From 69f690c7c3be7ce49a64609cc50c7314a5fb14b6 Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Mon, 8 Apr 2024 13:13:23 +1000 Subject: [PATCH 026/177] Add SCT supplement and associated value sets to support consumer friendly terms --- fsh-generated/fsh-index.json | 48 ++++++-- fsh-generated/fsh-index.txt | 17 +-- fsh-generated/includes/fsh-link-references.md | 3 + .../CodeSystem-HealthChecksSCTSupplement.json | 34 ++++++ ...ntationGuide-csiro.fhir.au.smartforms.json | 24 ++++ .../Questionnaire-AssemblyInstructions.json | 4 +- ...onnaire-MedicalHistoryCurrentProblems.json | 1 + .../Questionnaire-PatientDetails.json | 3 +- .../resources/Questionnaire-SexualHealth.json | 109 +++++++++++++----- .../resources/Questionnaire-SubstanceUse.json | 79 ++++++++++--- .../ValueSet-CervicalScreeningStatus-1.json | 78 +++++++++++++ .../ValueSet-SmokingQuitStatus-1.json | 60 ++++++++++ .../ValueSet-administrative-gender.json | 3 +- .../ValueSet-condition-clinical.json | 1 + input/fsh/715-Assessment-SexualHealth.fsh | 6 +- input/fsh/715-Assessment-SubstanceUse.fsh | 4 +- input/fsh/terminology.fsh | 69 +++++++++++ 17 files changed, 469 insertions(+), 74 deletions(-) create mode 100644 fsh-generated/resources/CodeSystem-HealthChecksSCTSupplement.json create mode 100644 fsh-generated/resources/ValueSet-CervicalScreeningStatus-1.json create mode 100644 fsh-generated/resources/ValueSet-SmokingQuitStatus-1.json diff --git a/fsh-generated/fsh-index.json b/fsh-generated/fsh-index.json index 4c1e6a9e..04e65a2c 100644 --- a/fsh-generated/fsh-index.json +++ b/fsh-generated/fsh-index.json @@ -1,4 +1,12 @@ [ + { + "outputFile": "CodeSystem-HealthChecksSCTSupplement.json", + "fshName": "HealthChecksSCTSupplement", + "fshType": "CodeSystem", + "fshFile": "terminology.fsh", + "startLine": 766, + "endLine": 777 + }, { "outputFile": "CodeSystem-QuestionnaireItemControlExtended.json", "fshName": "QuestionnaireItemControlExtended", @@ -245,7 +253,7 @@ "fshType": "Instance", "fshFile": "715-Assessment-SexualHealth.fsh", "startLine": 5, - "endLine": 370 + "endLine": 368 }, { "outputFile": "Questionnaire-Skin.json", @@ -295,6 +303,14 @@ "startLine": 102, "endLine": 128 }, + { + "outputFile": "ValueSet-CervicalScreeningStatus-1.json", + "fshName": "CervicalScreeningStatus", + "fshType": "ValueSet", + "fshFile": "terminology.fsh", + "startLine": 780, + "endLine": 809 + }, { "outputFile": "ValueSet-MedicalHistory.json", "fshName": "MedicalHistory", @@ -311,6 +327,14 @@ "startLine": 133, "endLine": 169 }, + { + "outputFile": "ValueSet-SmokingQuitStatus-1.json", + "fshName": "SmokingQuitStatus", + "fshType": "ValueSet", + "fshFile": "terminology.fsh", + "startLine": 811, + "endLine": 832 + }, { "outputFile": "ValueSet-YesNo.json", "fshName": "YesNo", @@ -341,46 +365,46 @@ "fshType": "ValueSet", "fshFile": "terminology.fsh", "startLine": 444, - "endLine": 488 + "endLine": 491 }, { "outputFile": "ValueSet-australian-pronouns-1.json", "fshName": "AustralianPronouns", "fshType": "ValueSet", "fshFile": "terminology.fsh", - "startLine": 664, - "endLine": 720 + "startLine": 668, + "endLine": 724 }, { "outputFile": "ValueSet-australian-states-territories-2.json", "fshName": "AustralianStatesAndTerritories", "fshType": "ValueSet", "fshFile": "terminology.fsh", - "startLine": 546, - "endLine": 608 + "startLine": 550, + "endLine": 612 }, { "outputFile": "ValueSet-biological-sex-1.json", "fshName": "BiologicalSex", "fshType": "ValueSet", "fshFile": "terminology.fsh", - "startLine": 722, - "endLine": 759 + "startLine": 726, + "endLine": 763 }, { "outputFile": "ValueSet-condition-clinical.json", "fshName": "ConditionClinicalStatusCodes", "fshType": "ValueSet", "fshFile": "terminology.fsh", - "startLine": 490, - "endLine": 542 + "startLine": 493, + "endLine": 546 }, { "outputFile": "ValueSet-gender-identity-response-1.json", "fshName": "GenderIdentityResponse", "fshType": "ValueSet", "fshFile": "terminology.fsh", - "startLine": 611, - "endLine": 662 + "startLine": 615, + "endLine": 666 } ] diff --git a/fsh-generated/fsh-index.txt b/fsh-generated/fsh-index.txt index 24e97d49..da0f93c6 100644 --- a/fsh-generated/fsh-index.txt +++ b/fsh-generated/fsh-index.txt @@ -1,4 +1,5 @@ Output File Name Type FSH File Lines +CodeSystem-HealthChecksSCTSupplement.json HealthChecksSCTSupplement CodeSystem terminology.fsh 766 - 777 CodeSystem-QuestionnaireItemControlExtended.json QuestionnaireItemControlExtended CodeSystem terminology.fsh 7 - 14 Questionnaire-AboutTheHealthCheck.json AboutTheHealthCheck Instance 715-AboutTheHealthCheck.fsh 5 - 163 Questionnaire-AbsoluteCVDRiskCalculation.json AbsoluteCVDRiskCalculation Instance 715-Assessment-AbsoluteCVDRiskCalculation.fsh 5 - 418 @@ -29,21 +30,23 @@ Questionnaire-PhysicalActivityAndScreenTime.json PhysicalActivityAndScreenTi Questionnaire-RedFlagsEarlyIdentificationGuide.json RedFlagsEarlyIdentificationGuide Instance 715-Assessment-RedFlagsEarlyIdentificationGuide.fsh 5 - 518 Questionnaire-RegularMedications.json RegularMedications Instance 715-Assessment-RegularMedications.fsh 5 - 157 Questionnaire-ScreeningPrograms.json ScreeningPrograms Instance 715-Assessment-ScreeningPrograms.fsh 5 - 187 -Questionnaire-SexualHealth.json SexualHealth Instance 715-Assessment-SexualHealth.fsh 5 - 370 +Questionnaire-SexualHealth.json SexualHealth Instance 715-Assessment-SexualHealth.fsh 5 - 368 Questionnaire-Skin.json Skin Instance 715-Assessment-Skin.fsh 5 - 168 Questionnaire-SocialAndEmotionalWellbeing.json SocialAndEmotionalWellbeing Instance 715-Assessment-SocialAndEmotionalWellbeing.fsh 5 - 142 Questionnaire-SocialHistoryChild.json SocialHistoryChild Instance 715-Assessment-SocialHistoryChild.fsh 5 - 146 Questionnaire-SubstanceUse.json SubstanceUse Instance 715-Assessment-SubstanceUse.fsh 5 - 209 StructureDefinition-ContainedResourceReference.json ContainedResourceReference Extension extensions.fsh 1 - 6 ValueSet-AboriginalTorresStraitIslander.json AboriginalTorresStraitIslander ValueSet terminology.fsh 102 - 128 +ValueSet-CervicalScreeningStatus-1.json CervicalScreeningStatus ValueSet terminology.fsh 780 - 809 ValueSet-MedicalHistory.json MedicalHistory ValueSet terminology.fsh 172 - 178 ValueSet-PrimaryCarerParentGrandparent.json PrimaryCarerParentGrandparent ValueSet terminology.fsh 133 - 169 +ValueSet-SmokingQuitStatus-1.json SmokingQuitStatus ValueSet terminology.fsh 811 - 832 ValueSet-YesNo.json YesNo ValueSet terminology.fsh 79 - 98 ValueSet-YesNoNA.json YesNoNA ValueSet terminology.fsh 53 - 76 ValueSet-YesNoNotAskedDeclined.json YesNoNotAskedDeclined ValueSet terminology.fsh 16 - 51 -ValueSet-administrative-gender.json AdministrativeGender ValueSet terminology.fsh 444 - 488 -ValueSet-australian-pronouns-1.json AustralianPronouns ValueSet terminology.fsh 664 - 720 -ValueSet-australian-states-territories-2.json AustralianStatesAndTerritories ValueSet terminology.fsh 546 - 608 -ValueSet-biological-sex-1.json BiologicalSex ValueSet terminology.fsh 722 - 759 -ValueSet-condition-clinical.json ConditionClinicalStatusCodes ValueSet terminology.fsh 490 - 542 -ValueSet-gender-identity-response-1.json GenderIdentityResponse ValueSet terminology.fsh 611 - 662 \ No newline at end of file +ValueSet-administrative-gender.json AdministrativeGender ValueSet terminology.fsh 444 - 491 +ValueSet-australian-pronouns-1.json AustralianPronouns ValueSet terminology.fsh 668 - 724 +ValueSet-australian-states-territories-2.json AustralianStatesAndTerritories ValueSet terminology.fsh 550 - 612 +ValueSet-biological-sex-1.json BiologicalSex ValueSet terminology.fsh 726 - 763 +ValueSet-condition-clinical.json ConditionClinicalStatusCodes ValueSet terminology.fsh 493 - 546 +ValueSet-gender-identity-response-1.json GenderIdentityResponse ValueSet terminology.fsh 615 - 666 \ No newline at end of file diff --git a/fsh-generated/includes/fsh-link-references.md b/fsh-generated/includes/fsh-link-references.md index 96b0d97e..f8d145f0 100644 --- a/fsh-generated/includes/fsh-link-references.md +++ b/fsh-generated/includes/fsh-link-references.md @@ -37,6 +37,7 @@ [AustralianPronouns]: ValueSet-australian-pronouns-1.html [AustralianStatesAndTerritories]: ValueSet-australian-states-territories-2.html [BiologicalSex]: ValueSet-biological-sex-1.html +[CervicalScreeningStatus]: ValueSet-CervicalScreeningStatus-1.html [ConditionClinicalStatusCodes]: ValueSet-condition-clinical.html [ContainedResourceReference]: StructureDefinition-ContainedResourceReference.html [GenderIdentityResponse]: ValueSet-gender-identity-response-1.html @@ -49,6 +50,8 @@ [SmartFormsApplication]: CapabilityStatement-SmartFormsApplication.html [SmartFormsLauncherServerAboriginalTorresStraitIslanderHealthCheck]: CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.html [SmartFormsServer]: CapabilityStatement-SmartFormsServer.html +[SmokingQuitStatus]: ValueSet-SmokingQuitStatus-1.html +[HealthChecksSCTSupplement]: CodeSystem-HealthChecksSCTSupplement.html [YesNo]: ValueSet-YesNo.html [YesNoNA]: ValueSet-YesNoNA.html [YesNoNotAskedDeclined]: ValueSet-YesNoNotAskedDeclined.html \ No newline at end of file diff --git a/fsh-generated/resources/CodeSystem-HealthChecksSCTSupplement.json b/fsh-generated/resources/CodeSystem-HealthChecksSCTSupplement.json new file mode 100644 index 00000000..13412faa --- /dev/null +++ b/fsh-generated/resources/CodeSystem-HealthChecksSCTSupplement.json @@ -0,0 +1,34 @@ +{ + "resourceType": "CodeSystem", + "status": "draft", + "content": "supplement", + "name": "HealthChecksSCTSupplement", + "id": "HealthChecksSCTSupplement", + "title": "SNOMED CT Supplement for Aboriginal and Torres Strait Islander Health Check", + "description": "The SNOMED CT Supplement for Aboriginal and Torres Strait Islander Health Check code system supplement defines consumer friendly terms for use in the health check Questionnaire.", + "url": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement", + "concept": [ + { + "code": "736595007", + "display": "Declined" + }, + { + "code": "171154002", + "display": "Not required" + }, + { + "code": "171155001", + "display": "Up to date" + }, + { + "code": "48031000119106", + "display": "Quit >12 months" + }, + { + "code": "735128000", + "display": "Quit <12 months" + } + ], + "experimental": false, + "supplements": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107" +} diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index 77939f0b..ad3059f5 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -354,6 +354,14 @@ "description": "The Biological Sex value set includes values that represent the biological sex of an individual.", "exampleBoolean": false }, + { + "reference": { + "reference": "ValueSet/CervicalScreeningStatus-1" + }, + "name": "Cervical Screening Status", + "description": "The Cervical Screening Status value set includes values that can be used to represent the status of an individual's participation in a cervical screening program.", + "exampleBoolean": false + }, { "reference": { "reference": "ValueSet/condition-clinical" @@ -450,6 +458,22 @@ "exampleBoolean": false, "name": "Smart Forms Server" }, + { + "reference": { + "reference": "ValueSet/SmokingQuitStatus-1" + }, + "name": "Smoking Quit Status", + "description": "The Smoking Quit Status value set includes values that can indicate how long ago an individual quit smoking.", + "exampleBoolean": false + }, + { + "reference": { + "reference": "CodeSystem/HealthChecksSCTSupplement" + }, + "name": "SNOMED CT Supplement for Aboriginal and Torres Strait Islander Health Check", + "description": "The SNOMED CT Supplement for Aboriginal and Torres Strait Islander Health Check code system supplement defines consumer friendly terms for use in the health check Questionnaire.", + "exampleBoolean": false + }, { "reference": { "reference": "ValueSet/YesNo" diff --git a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json index 78758546..129ec1bb 100644 --- a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json +++ b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json @@ -919,7 +919,7 @@ "name": "AdministrativeGender", "title": "AdministrativeGender", "description": "The gender of a person used for administrative purposes.", - "url": "https://smartforms.csiro.au/ig/ValueSet/administrative-gender", + "url": "http://hl7.org/fhir/ValueSet/administrative-gender", "contact": [ { "telecom": [ @@ -934,6 +934,7 @@ ] } ], + "copyright": "Copyright © 2011+ HL7. Licensed under Creative Commons \"No Rights Reserved\".", "date": "2019-11-01T09:29:23+11:00", "experimental": false, "extension": [ @@ -1049,6 +1050,7 @@ ] } ], + "copyright": "Copyright © 2011+ HL7. Licensed under Creative Commons \"No Rights Reserved\".", "expansion": { "identifier": "urn:uuid:79d21cca-9f34-4cfa-9020-17eee95eeed8", "timestamp": "2024-04-02T14:17:12+10:00", diff --git a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json index 9ead5eab..66f33975 100644 --- a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json +++ b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json @@ -465,6 +465,7 @@ ] } ], + "copyright": "Copyright © 2011+ HL7. Licensed under Creative Commons \"No Rights Reserved\".", "expansion": { "identifier": "urn:uuid:79d21cca-9f34-4cfa-9020-17eee95eeed8", "timestamp": "2024-04-02T14:17:12+10:00", diff --git a/fsh-generated/resources/Questionnaire-PatientDetails.json b/fsh-generated/resources/Questionnaire-PatientDetails.json index a5d6919e..36bde633 100644 --- a/fsh-generated/resources/Questionnaire-PatientDetails.json +++ b/fsh-generated/resources/Questionnaire-PatientDetails.json @@ -1625,7 +1625,7 @@ "name": "AdministrativeGender", "title": "AdministrativeGender", "description": "The gender of a person used for administrative purposes.", - "url": "https://smartforms.csiro.au/ig/ValueSet/administrative-gender", + "url": "http://hl7.org/fhir/ValueSet/administrative-gender", "contact": [ { "telecom": [ @@ -1640,6 +1640,7 @@ ] } ], + "copyright": "Copyright © 2011+ HL7. Licensed under Creative Commons \"No Rights Reserved\".", "date": "2019-11-01T09:29:23+11:00", "experimental": false, "extension": [ diff --git a/fsh-generated/resources/Questionnaire-SexualHealth.json b/fsh-generated/resources/Questionnaire-SexualHealth.json index 7594eb7e..66fb7e3b 100644 --- a/fsh-generated/resources/Questionnaire-SexualHealth.json +++ b/fsh-generated/resources/Questionnaire-SexualHealth.json @@ -332,36 +332,7 @@ "text": "Cervical screening status", "type": "choice", "repeats": false, - "answerOption": [ - { - "valueCoding": { - "code": "736595007", - "system": "http://snomed.info/sct", - "display": "Declined" - } - }, - { - "valueCoding": { - "code": "410527000", - "system": "http://snomed.info/sct", - "display": "Offered" - } - }, - { - "valueCoding": { - "code": "171154002", - "system": "http://snomed.info/sct", - "display": "Not required" - } - }, - { - "valueCoding": { - "code": "171155001", - "system": "http://snomed.info/sct", - "display": "Up to date" - } - } - ] + "answerValueSet": "#CervicalScreeningStatus-1" }, { "linkId": "f93eb998-1502-4d8a-88a4-986117a387c5", @@ -790,6 +761,84 @@ } ] } + }, + { + "resourceType": "ValueSet", + "id": "CervicalScreeningStatus-1", + "status": "draft", + "name": "CervicalScreeningStatus", + "title": "Cervical Screening Status", + "description": "The Cervical Screening Status value set includes values that can be used to represent the status of an individual's participation in a cervical screening program.", + "url": "https://smartforms.csiro.au/ig/ValueSet/CervicalScreeningStatus-1", + "experimental": false, + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/valueset-supplement", + "valueCanonical": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement" + } + ], + "expansion": { + "identifier": "urn:uuid:7642a243-4f23-4b17-933d-57b448902d5d", + "timestamp": "2024-04-08T10:41:42+10:00", + "total": 4, + "parameter": [ + { + "name": "version", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" + }, + { + "name": "used-codesystem", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" + } + ], + "contains": [ + { + "system": "http://snomed.info/sct", + "code": "736595007", + "display": "Declined" + }, + { + "system": "http://snomed.info/sct", + "code": "410527000", + "display": "Offered" + }, + { + "system": "http://snomed.info/sct", + "code": "171154002", + "display": "Not required" + }, + { + "system": "http://snomed.info/sct", + "code": "171155001", + "display": "Up to date" + } + ] + }, + "compose": { + "include": [ + { + "system": "http://snomed.info/sct", + "concept": [ + { + "code": "736595007", + "display": "Declined" + }, + { + "code": "410527000", + "display": "Offered" + }, + { + "code": "171154002", + "display": "Not required" + }, + { + "code": "171155001", + "display": "Up to date" + } + ] + } + ] + } } ], "extension": [ diff --git a/fsh-generated/resources/Questionnaire-SubstanceUse.json b/fsh-generated/resources/Questionnaire-SubstanceUse.json index 34964f67..548ba364 100644 --- a/fsh-generated/resources/Questionnaire-SubstanceUse.json +++ b/fsh-generated/resources/Questionnaire-SubstanceUse.json @@ -194,22 +194,7 @@ } } ], - "answerOption": [ - { - "valueCoding": { - "code": "48031000119106", - "system": "http://snomed.info/sct", - "display": "Quit >=12 months" - } - }, - { - "valueCoding": { - "code": "735128000", - "system": "http://snomed.info/sct", - "display": "Quit <12 months" - } - } - ] + "answerValueSet": "#SmokingQuitStatus-1" }, { "linkId": "9e86387d-1be4-4c26-9047-9dd6b03e1ee0", @@ -351,6 +336,68 @@ "repeats": false } ], + "contained": [ + { + "resourceType": "ValueSet", + "id": "SmokingQuitStatus-1", + "status": "draft", + "name": "SmokingQuitStatus", + "title": "Smoking Quit Status", + "description": "The Smoking Quit Status value set includes values that can indicate how long ago an individual quit smoking.", + "url": "https://smartforms.csiro.au/ig/ValueSet/SmokingQuitStatus-1", + "experimental": false, + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/valueset-supplement", + "valueCanonical": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement" + } + ], + "expansion": { + "identifier": "urn:uuid:86b4329d-aca5-4e54-9b5e-67296c7ce9db", + "timestamp": "2024-04-08T12:56:59+10:00", + "total": 2, + "parameter": [ + { + "name": "version", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" + }, + { + "name": "used-codesystem", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" + } + ], + "contains": [ + { + "system": "http://snomed.info/sct", + "code": "48031000119106", + "display": "Quit >12 months" + }, + { + "system": "http://snomed.info/sct", + "code": "735128000", + "display": "Quit <12 months" + } + ] + }, + "compose": { + "include": [ + { + "system": "http://snomed.info/sct", + "concept": [ + { + "code": "48031000119106", + "display": "Quit >12 months" + }, + { + "code": "735128000", + "display": "Quit <12 months" + } + ] + } + ] + } + } + ], "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assemble-expectation", diff --git a/fsh-generated/resources/ValueSet-CervicalScreeningStatus-1.json b/fsh-generated/resources/ValueSet-CervicalScreeningStatus-1.json new file mode 100644 index 00000000..bf91ab45 --- /dev/null +++ b/fsh-generated/resources/ValueSet-CervicalScreeningStatus-1.json @@ -0,0 +1,78 @@ +{ + "resourceType": "ValueSet", + "status": "draft", + "name": "CervicalScreeningStatus", + "id": "CervicalScreeningStatus-1", + "title": "Cervical Screening Status", + "description": "The Cervical Screening Status value set includes values that can be used to represent the status of an individual's participation in a cervical screening program.", + "url": "https://smartforms.csiro.au/ig/ValueSet/CervicalScreeningStatus-1", + "experimental": false, + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/valueset-supplement", + "valueCanonical": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement" + } + ], + "expansion": { + "identifier": "urn:uuid:7642a243-4f23-4b17-933d-57b448902d5d", + "timestamp": "2024-04-08T10:41:42+10:00", + "total": 4, + "parameter": [ + { + "name": "version", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" + }, + { + "name": "used-codesystem", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" + } + ], + "contains": [ + { + "system": "http://snomed.info/sct", + "code": "736595007", + "display": "Declined" + }, + { + "system": "http://snomed.info/sct", + "code": "410527000", + "display": "Offered" + }, + { + "system": "http://snomed.info/sct", + "code": "171154002", + "display": "Not required" + }, + { + "system": "http://snomed.info/sct", + "code": "171155001", + "display": "Up to date" + } + ] + }, + "compose": { + "include": [ + { + "system": "http://snomed.info/sct", + "concept": [ + { + "code": "736595007", + "display": "Declined" + }, + { + "code": "410527000", + "display": "Offered" + }, + { + "code": "171154002", + "display": "Not required" + }, + { + "code": "171155001", + "display": "Up to date" + } + ] + } + ] + } +} diff --git a/fsh-generated/resources/ValueSet-SmokingQuitStatus-1.json b/fsh-generated/resources/ValueSet-SmokingQuitStatus-1.json new file mode 100644 index 00000000..2fa6ec9b --- /dev/null +++ b/fsh-generated/resources/ValueSet-SmokingQuitStatus-1.json @@ -0,0 +1,60 @@ +{ + "resourceType": "ValueSet", + "status": "draft", + "name": "SmokingQuitStatus", + "id": "SmokingQuitStatus-1", + "title": "Smoking Quit Status", + "description": "The Smoking Quit Status value set includes values that can indicate how long ago an individual quit smoking.", + "url": "https://smartforms.csiro.au/ig/ValueSet/SmokingQuitStatus-1", + "experimental": false, + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/valueset-supplement", + "valueCanonical": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement" + } + ], + "expansion": { + "identifier": "urn:uuid:86b4329d-aca5-4e54-9b5e-67296c7ce9db", + "timestamp": "2024-04-08T12:56:59+10:00", + "total": 2, + "parameter": [ + { + "name": "version", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" + }, + { + "name": "used-codesystem", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" + } + ], + "contains": [ + { + "system": "http://snomed.info/sct", + "code": "48031000119106", + "display": "Quit >12 months" + }, + { + "system": "http://snomed.info/sct", + "code": "735128000", + "display": "Quit <12 months" + } + ] + }, + "compose": { + "include": [ + { + "system": "http://snomed.info/sct", + "concept": [ + { + "code": "48031000119106", + "display": "Quit >12 months" + }, + { + "code": "735128000", + "display": "Quit <12 months" + } + ] + } + ] + } +} diff --git a/fsh-generated/resources/ValueSet-administrative-gender.json b/fsh-generated/resources/ValueSet-administrative-gender.json index ce15bae1..e0931385 100644 --- a/fsh-generated/resources/ValueSet-administrative-gender.json +++ b/fsh-generated/resources/ValueSet-administrative-gender.json @@ -5,7 +5,7 @@ "id": "administrative-gender", "title": "AdministrativeGender", "description": "The gender of a person used for administrative purposes.", - "url": "https://smartforms.csiro.au/ig/ValueSet/administrative-gender", + "url": "http://hl7.org/fhir/ValueSet/administrative-gender", "contact": [ { "telecom": [ @@ -20,6 +20,7 @@ ] } ], + "copyright": "Copyright © 2011+ HL7. Licensed under Creative Commons \"No Rights Reserved\".", "date": "2019-11-01T09:29:23+11:00", "experimental": false, "extension": [ diff --git a/fsh-generated/resources/ValueSet-condition-clinical.json b/fsh-generated/resources/ValueSet-condition-clinical.json index 6eaaab8d..abd7c0a0 100644 --- a/fsh-generated/resources/ValueSet-condition-clinical.json +++ b/fsh-generated/resources/ValueSet-condition-clinical.json @@ -39,6 +39,7 @@ ] } ], + "copyright": "Copyright © 2011+ HL7. Licensed under Creative Commons \"No Rights Reserved\".", "expansion": { "identifier": "urn:uuid:79d21cca-9f34-4cfa-9020-17eee95eeed8", "timestamp": "2024-04-02T14:17:12+10:00", diff --git a/input/fsh/715-Assessment-SexualHealth.fsh b/input/fsh/715-Assessment-SexualHealth.fsh index 516433a5..bd8b13bd 100644 --- a/input/fsh/715-Assessment-SexualHealth.fsh +++ b/input/fsh/715-Assessment-SexualHealth.fsh @@ -10,6 +10,7 @@ Description: "Sexual Health sub-questionnaire for Aboriginal and Torres Strait I * contained[+] = YesNo * contained[+] = YesNoNotAskedDeclined +* contained[+] = CervicalScreeningStatus-1 //assemble expectation * extension[+] @@ -219,10 +220,7 @@ Description: "Sexual Health sub-questionnaire for Aboriginal and Torres Strait I * text = "Cervical screening status" * type = #choice * repeats = false - * answerOption[+].valueCoding = $SCT#736595007 "Declined" - * answerOption[+].valueCoding = http://snomed.info/sct#410527000 "Offered" // a better concept is required - * answerOption[+].valueCoding = $SCT#171154002 "Not required" - * answerOption[+].valueCoding = $SCT#171155001 "Up to date" + * answerValueSet = "#CervicalScreeningStatus-1" * item[+] * linkId = "f93eb998-1502-4d8a-88a4-986117a387c5" * text = "Next due" diff --git a/input/fsh/715-Assessment-SubstanceUse.fsh b/input/fsh/715-Assessment-SubstanceUse.fsh index e52b73dc..f29e1d09 100644 --- a/input/fsh/715-Assessment-SubstanceUse.fsh +++ b/input/fsh/715-Assessment-SubstanceUse.fsh @@ -8,6 +8,7 @@ Usage: #definition Title: "Aboriginal and Torres Strait Islander Health Check - Substance Use" Description: "Substance Use sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." +* contained[+] = SmokingQuitStatus-1 //assemble expectation * extension[+] @@ -130,8 +131,7 @@ Description: "Substance Use sub-questionnaire for Aboriginal and Torres Strait I * question = "b639a3a8-f476-4cc8-b5c7-f5d2abb23511" * operator = #= * answerCoding = http://snomed.info/sct#8517006 - * answerOption[+].valueCoding = http://snomed.info/sct#48031000119106 "Quit >=12 months" - * answerOption[+].valueCoding = http://snomed.info/sct#735128000 "Quit <12 months" + * answerValueSet = "#SmokingQuitStatus-1" * item[+] * linkId = "9e86387d-1be4-4c26-9047-9dd6b03e1ee0" diff --git a/input/fsh/terminology.fsh b/input/fsh/terminology.fsh index 6d2a461b..69437a67 100644 --- a/input/fsh/terminology.fsh +++ b/input/fsh/terminology.fsh @@ -761,3 +761,72 @@ Description: "The Biological Sex value set includes values that represent the bi * ^expansion.contains[=].display = "Male" * include codes from system $SCT where constraint = "^ 32570631000036107|Sex reference set|" + + +CodeSystem: HealthChecksSCTSupplement +Id: HealthChecksSCTSupplement +Title: "SNOMED CT Supplement for Aboriginal and Torres Strait Islander Health Check" +Description: "The SNOMED CT Supplement for Aboriginal and Torres Strait Islander Health Check code system supplement defines consumer friendly terms for use in the health check Questionnaire." +* ^experimental = false +* ^content = #supplement +* ^supplements = "http://snomed.info/sct|http://snomed.info/sct/32506021000036107" +* #736595007 "Declined" +* #171154002 "Not required" +* #171155001 "Up to date" +* #48031000119106 "Quit >12 months" +* #735128000 "Quit <12 months" + + +ValueSet: CervicalScreeningStatus +Id: CervicalScreeningStatus-1 +Title: "Cervical Screening Status" +Description: "The Cervical Screening Status value set includes values that can be used to represent the status of an individual's participation in a cervical screening program." +* ^experimental = false +* ^extension[+].url = "http://hl7.org/fhir/StructureDefinition/valueset-supplement" +* ^extension[=].valueCanonical = "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement" +* $SCT#736595007 "Declined" +* $SCT#410527000 "Offered" // a better concept is required +* $SCT#171154002 "Not required" +* $SCT#171155001 "Up to date" +* ^expansion.identifier = "urn:uuid:7642a243-4f23-4b17-933d-57b448902d5d" +* ^expansion.timestamp = "2024-04-08T10:41:42+10:00" +* ^expansion.total = 4 +* ^expansion.parameter[0].name = "version" +* ^expansion.parameter[=].valueUri = "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" +* ^expansion.parameter[+].name = "used-codesystem" +* ^expansion.parameter[=].valueUri = "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" +* ^expansion.contains[0].system = "http://snomed.info/sct" +* ^expansion.contains[=].code = #736595007 +* ^expansion.contains[=].display = "Declined" +* ^expansion.contains[+].system = "http://snomed.info/sct" +* ^expansion.contains[=].code = #410527000 +* ^expansion.contains[=].display = "Offered" +* ^expansion.contains[+].system = "http://snomed.info/sct" +* ^expansion.contains[=].code = #171154002 +* ^expansion.contains[=].display = "Not required" +* ^expansion.contains[+].system = "http://snomed.info/sct" +* ^expansion.contains[=].code = #171155001 +* ^expansion.contains[=].display = "Up to date" + +ValueSet: SmokingQuitStatus +Id: SmokingQuitStatus-1 +Title: "Smoking Quit Status" +Description: "The Smoking Quit Status value set includes values that can indicate how long ago an individual quit smoking." +* ^experimental = false +* ^extension[+].url = "http://hl7.org/fhir/StructureDefinition/valueset-supplement" +* ^extension[=].valueCanonical = "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement" +* ^expansion.identifier = "urn:uuid:86b4329d-aca5-4e54-9b5e-67296c7ce9db" +* ^expansion.timestamp = "2024-04-08T12:56:59+10:00" +* ^expansion.total = 2 +* ^expansion.parameter[0].name = "version" +* ^expansion.parameter[=].valueUri = "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" +* ^expansion.parameter[+].name = "used-codesystem" +* ^expansion.parameter[=].valueUri = "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" +* ^expansion.contains[0].system = "http://snomed.info/sct" +* ^expansion.contains[=].code = #48031000119106 +* ^expansion.contains[=].display = "Quit >12 months" +* ^expansion.contains[+].system = "http://snomed.info/sct" +* ^expansion.contains[=].code = #735128000 +* ^expansion.contains[=].display = "Quit <12 months" +* $SCT#48031000119106 "Quit >12 months" +* $SCT#735128000 "Quit <12 months" \ No newline at end of file From 540c53c978a0ff0526604c07960498b21a9ce264 Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Mon, 8 Apr 2024 13:28:05 +1000 Subject: [PATCH 027/177] Align displays accurately to SNOMED CT --- .../resources/Questionnaire-AbsoluteCVDRiskCalculation.json | 2 +- fsh-generated/resources/Questionnaire-Consent.json | 2 +- fsh-generated/resources/Questionnaire-SubstanceUse.json | 2 +- input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh | 2 +- input/fsh/715-Assessment-SubstanceUse.fsh | 2 +- input/fsh/715-Consent.fsh | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json b/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json index 69c43a37..74a79be0 100644 --- a/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json +++ b/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json @@ -217,7 +217,7 @@ "valueCoding": { "code": "16090371000119103", "system": "http://snomed.info/sct", - "display": "Environmental exposure to tobacco smoke (home, car, etc)" + "display": "Exposure to second hand tobacco smoke" } }, { diff --git a/fsh-generated/resources/Questionnaire-Consent.json b/fsh-generated/resources/Questionnaire-Consent.json index a84d7784..4f203b81 100644 --- a/fsh-generated/resources/Questionnaire-Consent.json +++ b/fsh-generated/resources/Questionnaire-Consent.json @@ -391,7 +391,7 @@ "valueCoding": { "code": "413817003", "system": "http://snomed.info/sct", - "display": "Early learning centre" + "display": "Child day care centre" } } ] diff --git a/fsh-generated/resources/Questionnaire-SubstanceUse.json b/fsh-generated/resources/Questionnaire-SubstanceUse.json index 548ba364..c80ea2b5 100644 --- a/fsh-generated/resources/Questionnaire-SubstanceUse.json +++ b/fsh-generated/resources/Questionnaire-SubstanceUse.json @@ -155,7 +155,7 @@ "valueCoding": { "code": "16090371000119103", "system": "http://snomed.info/sct", - "display": "Environmental exposure to tobacco smoke (home, car, etc)" + "display": "Exposure to second hand tobacco smoke" } }, { diff --git a/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh b/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh index 947d8cbd..7965ead8 100644 --- a/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh +++ b/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh @@ -175,7 +175,7 @@ Description: "Absolute Cardiovascular Disease Risk Calculation sub-questionnaire * answerOption[+].valueCoding = http://snomed.info/sct#266919005 "Never smoked" * answerOption[+].valueCoding = http://snomed.info/sct#77176002 "Smoker" * answerOption[+].valueCoding = http://snomed.info/sct#8517006 "Ex-smoker" - * answerOption[+].valueCoding = http://snomed.info/sct#16090371000119103 "Environmental exposure to tobacco smoke (home, car, etc)" + * answerOption[+].valueCoding = http://snomed.info/sct#16090371000119103 "Exposure to second hand tobacco smoke" * answerOption[+].valueString = "Wants to quit" * answerOption[+].valueString = "Other tobacco use" diff --git a/input/fsh/715-Assessment-SubstanceUse.fsh b/input/fsh/715-Assessment-SubstanceUse.fsh index f29e1d09..65467668 100644 --- a/input/fsh/715-Assessment-SubstanceUse.fsh +++ b/input/fsh/715-Assessment-SubstanceUse.fsh @@ -118,7 +118,7 @@ Description: "Substance Use sub-questionnaire for Aboriginal and Torres Strait I * answerOption[+].valueCoding = http://snomed.info/sct#266919005 "Never smoked" * answerOption[+].valueCoding = http://snomed.info/sct#77176002 "Smoker" * answerOption[+].valueCoding = http://snomed.info/sct#8517006 "Ex-smoker" - * answerOption[+].valueCoding = http://snomed.info/sct#16090371000119103 "Environmental exposure to tobacco smoke (home, car, etc)" + * answerOption[+].valueCoding = http://snomed.info/sct#16090371000119103 "Exposure to second hand tobacco smoke" * answerOption[+].valueString = "Wants to quit" * answerOption[+].valueString = "Other tobacco use" * item[+] diff --git a/input/fsh/715-Consent.fsh b/input/fsh/715-Consent.fsh index ca3996ef..c86994df 100644 --- a/input/fsh/715-Consent.fsh +++ b/input/fsh/715-Consent.fsh @@ -204,7 +204,7 @@ Description: "Consent sub-questionnaire for Aboriginal and Torres Strait Islande * repeats = false * answerOption[+].valueCoding = $SCT#257585005 "Clinic" * answerOption[+].valueCoding = $SCT#264362003 "Home" - * answerOption[+].valueCoding = $SCT#413817003 "Early learning centre" //concept id for child day care. Would be better with a new specific SCTAU concept. Could even remove conditional questioning and create a single value set to support the answer. + * answerOption[+].valueCoding = $SCT#413817003 "Child day care centre" //may require more specific "Early learning centre" concept created From ca77927ce847d7dad26aa96dab9a13bd98c048fb Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Mon, 8 Apr 2024 13:34:48 +1000 Subject: [PATCH 028/177] Add updated assembled health check questionnaire --- ...esStraitIslanderHealthCheck-assembled.json | 202 +++++++++++++----- 1 file changed, 149 insertions(+), 53 deletions(-) diff --git a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json index c94f943b..7adb2d0a 100644 --- a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json +++ b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json @@ -2,9 +2,9 @@ "resourceType": "Questionnaire", "id": "AboriginalTorresStraitIslanderHealthCheck", "meta": { - "versionId": "15", - "lastUpdated": "2024-04-05T05:17:18.147+00:00", - "source": "#FxlSV4OVRPbxYkDd", + "versionId": "16", + "lastUpdated": "2024-04-08T03:28:22.147+00:00", + "source": "#rg8YaN4DUJY8o7Qe", "profile": [ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp", "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" @@ -254,7 +254,7 @@ "valueCode": "4.0.0" } ], - "url": "https://smartforms.csiro.au/ig/ValueSet/administrative-gender", + "url": "http://hl7.org/fhir/ValueSet/administrative-gender", "identifier": [ { "system": "urn:ietf:rfc:3986", @@ -284,6 +284,7 @@ ], "description": "The gender of a person used for administrative purposes.", "immutable": true, + "copyright": "Copyright © 2011+ HL7. Licensed under Creative Commons \"No Rights Reserved\".", "compose": { "include": [ { @@ -908,6 +909,7 @@ } ], "description": "Preferred value set for Condition Clinical Status.", + "copyright": "Copyright © 2011+ HL7. Licensed under Creative Commons \"No Rights Reserved\".", "compose": { "include": [ { @@ -979,6 +981,66 @@ ] } }, + { + "resourceType": "ValueSet", + "id": "SmokingQuitStatus-1", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/valueset-supplement", + "valueCanonical": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement" + } + ], + "url": "https://smartforms.csiro.au/ig/ValueSet/SmokingQuitStatus-1", + "name": "SmokingQuitStatus", + "title": "Smoking Quit Status", + "status": "draft", + "experimental": false, + "description": "The Smoking Quit Status value set includes values that can indicate how long ago an individual quit smoking.", + "compose": { + "include": [ + { + "system": "http://snomed.info/sct", + "concept": [ + { + "code": "48031000119106", + "display": "Quit >12 months" + }, + { + "code": "735128000", + "display": "Quit <12 months" + } + ] + } + ] + }, + "expansion": { + "identifier": "urn:uuid:86b4329d-aca5-4e54-9b5e-67296c7ce9db", + "timestamp": "2024-04-08T12:56:59+10:00", + "total": 2, + "parameter": [ + { + "name": "version", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" + }, + { + "name": "used-codesystem", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" + } + ], + "contains": [ + { + "system": "http://snomed.info/sct", + "code": "48031000119106", + "display": "Quit >12 months" + }, + { + "system": "http://snomed.info/sct", + "code": "735128000", + "display": "Quit <12 months" + } + ] + } + }, { "resourceType": "ValueSet", "id": "YesNoNotAskedDeclined", @@ -1067,6 +1129,84 @@ } ] } + }, + { + "resourceType": "ValueSet", + "id": "CervicalScreeningStatus-1", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/valueset-supplement", + "valueCanonical": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement" + } + ], + "url": "https://smartforms.csiro.au/ig/ValueSet/CervicalScreeningStatus-1", + "name": "CervicalScreeningStatus", + "title": "Cervical Screening Status", + "status": "draft", + "experimental": false, + "description": "The Cervical Screening Status value set includes values that can be used to represent the status of an individual's participation in a cervical screening program.", + "compose": { + "include": [ + { + "system": "http://snomed.info/sct", + "concept": [ + { + "code": "736595007", + "display": "Declined" + }, + { + "code": "410527000", + "display": "Offered" + }, + { + "code": "171154002", + "display": "Not required" + }, + { + "code": "171155001", + "display": "Up to date" + } + ] + } + ] + }, + "expansion": { + "identifier": "urn:uuid:7642a243-4f23-4b17-933d-57b448902d5d", + "timestamp": "2024-04-08T10:41:42+10:00", + "total": 4, + "parameter": [ + { + "name": "version", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" + }, + { + "name": "used-codesystem", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" + } + ], + "contains": [ + { + "system": "http://snomed.info/sct", + "code": "736595007", + "display": "Declined" + }, + { + "system": "http://snomed.info/sct", + "code": "410527000", + "display": "Offered" + }, + { + "system": "http://snomed.info/sct", + "code": "171154002", + "display": "Not required" + }, + { + "system": "http://snomed.info/sct", + "code": "171155001", + "display": "Up to date" + } + ] + } } ], "extension": [ @@ -2359,7 +2499,7 @@ "valueCoding": { "system": "http://snomed.info/sct", "code": "413817003", - "display": "Early learning centre" + "display": "Child day care centre" } } ] @@ -9765,7 +9905,7 @@ "valueCoding": { "system": "http://snomed.info/sct", "code": "16090371000119103", - "display": "Environmental exposure to tobacco smoke (home, car, etc)" + "display": "Exposure to second hand tobacco smoke" } }, { @@ -9804,22 +9944,7 @@ } ], "repeats": false, - "answerOption": [ - { - "valueCoding": { - "system": "http://snomed.info/sct", - "code": "48031000119106", - "display": "Quit >=12 months" - } - }, - { - "valueCoding": { - "system": "http://snomed.info/sct", - "code": "735128000", - "display": "Quit <12 months" - } - } - ] + "answerValueSet": "#SmokingQuitStatus-1" }, { "linkId": "9e86387d-1be4-4c26-9047-9dd6b03e1ee0", @@ -10431,36 +10556,7 @@ "text": "Cervical screening status", "type": "choice", "repeats": false, - "answerOption": [ - { - "valueCoding": { - "system": "http://snomed.info/sct", - "code": "736595007", - "display": "Declined" - } - }, - { - "valueCoding": { - "system": "http://snomed.info/sct", - "code": "410527000", - "display": "Offered" - } - }, - { - "valueCoding": { - "system": "http://snomed.info/sct", - "code": "171154002", - "display": "Not required" - } - }, - { - "valueCoding": { - "system": "http://snomed.info/sct", - "code": "171155001", - "display": "Up to date" - } - } - ] + "answerValueSet": "#CervicalScreeningStatus-1" }, { "linkId": "f93eb998-1502-4d8a-88a4-986117a387c5", @@ -13654,7 +13750,7 @@ "valueCoding": { "system": "http://snomed.info/sct", "code": "16090371000119103", - "display": "Environmental exposure to tobacco smoke (home, car, etc)" + "display": "Exposure to second hand tobacco smoke" } }, { From cdc7b6de5040497d16fb5520651f083c71afaa26 Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Tue, 9 Apr 2024 10:04:02 +1000 Subject: [PATCH 029/177] Add additional contained value sets to assembly and updated assembled health check Questionnnaire --- fsh-generated/fsh-index.json | 2 +- fsh-generated/fsh-index.txt | 2 +- .../Questionnaire-AssemblyInstructions.json | 150 ++++++++++++++++++ input/fsh/715-AssemblyInstructions.fsh | 8 + ...esStraitIslanderHealthCheck-assembled.json | 18 ++- 5 files changed, 175 insertions(+), 5 deletions(-) diff --git a/fsh-generated/fsh-index.json b/fsh-generated/fsh-index.json index 04e65a2c..7ce453b5 100644 --- a/fsh-generated/fsh-index.json +++ b/fsh-generated/fsh-index.json @@ -45,7 +45,7 @@ "fshType": "Instance", "fshFile": "715-AssemblyInstructions.fsh", "startLine": 5, - "endLine": 581 + "endLine": 589 }, { "outputFile": "Questionnaire-ChronicDiseaseAgeing.json", diff --git a/fsh-generated/fsh-index.txt b/fsh-generated/fsh-index.txt index da0f93c6..2298b717 100644 --- a/fsh-generated/fsh-index.txt +++ b/fsh-generated/fsh-index.txt @@ -4,7 +4,7 @@ CodeSystem-QuestionnaireItemControlExtended.json QuestionnaireItemControlExt Questionnaire-AboutTheHealthCheck.json AboutTheHealthCheck Instance 715-AboutTheHealthCheck.fsh 5 - 163 Questionnaire-AbsoluteCVDRiskCalculation.json AbsoluteCVDRiskCalculation Instance 715-Assessment-AbsoluteCVDRiskCalculation.fsh 5 - 418 Questionnaire-AllergiesAdverseReactions.json AllergiesAdverseReactions Instance 715-Assessment-AllergiesAdverseReactions.fsh 5 - 103 -Questionnaire-AssemblyInstructions.json AssemblyInstructions Instance 715-AssemblyInstructions.fsh 5 - 581 +Questionnaire-AssemblyInstructions.json AssemblyInstructions Instance 715-AssemblyInstructions.fsh 5 - 589 Questionnaire-ChronicDiseaseAgeing.json ChronicDiseaseAgeing Instance 715-Assessment-ChronicDiseaseAgeing.fsh 5 - 120 Questionnaire-Consent.json Consent Instance 715-Consent.fsh 7 - 216 Questionnaire-CurrentPriorities.json CurrentPriorities Instance 715-Assessment-CurrentPriorities.fsh 5 - 182 diff --git a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json index 129ec1bb..e2a21a16 100644 --- a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json +++ b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json @@ -1735,6 +1735,144 @@ } ] } + }, + { + "resourceType": "ValueSet", + "id": "SmokingQuitStatus-1", + "status": "draft", + "name": "SmokingQuitStatus", + "title": "Smoking Quit Status", + "description": "The Smoking Quit Status value set includes values that can indicate how long ago an individual quit smoking.", + "url": "https://smartforms.csiro.au/ig/ValueSet/SmokingQuitStatus-1", + "experimental": false, + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/valueset-supplement", + "valueCanonical": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement" + } + ], + "expansion": { + "identifier": "urn:uuid:86b4329d-aca5-4e54-9b5e-67296c7ce9db", + "timestamp": "2024-04-08T12:56:59+10:00", + "total": 2, + "parameter": [ + { + "name": "version", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" + }, + { + "name": "used-codesystem", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" + } + ], + "contains": [ + { + "system": "http://snomed.info/sct", + "code": "48031000119106", + "display": "Quit >12 months" + }, + { + "system": "http://snomed.info/sct", + "code": "735128000", + "display": "Quit <12 months" + } + ] + }, + "compose": { + "include": [ + { + "system": "http://snomed.info/sct", + "concept": [ + { + "code": "48031000119106", + "display": "Quit >12 months" + }, + { + "code": "735128000", + "display": "Quit <12 months" + } + ] + } + ] + } + }, + { + "resourceType": "ValueSet", + "id": "CervicalScreeningStatus-1", + "status": "draft", + "name": "CervicalScreeningStatus", + "title": "Cervical Screening Status", + "description": "The Cervical Screening Status value set includes values that can be used to represent the status of an individual's participation in a cervical screening program.", + "url": "https://smartforms.csiro.au/ig/ValueSet/CervicalScreeningStatus-1", + "experimental": false, + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/valueset-supplement", + "valueCanonical": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement" + } + ], + "expansion": { + "identifier": "urn:uuid:7642a243-4f23-4b17-933d-57b448902d5d", + "timestamp": "2024-04-08T10:41:42+10:00", + "total": 4, + "parameter": [ + { + "name": "version", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" + }, + { + "name": "used-codesystem", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" + } + ], + "contains": [ + { + "system": "http://snomed.info/sct", + "code": "736595007", + "display": "Declined" + }, + { + "system": "http://snomed.info/sct", + "code": "410527000", + "display": "Offered" + }, + { + "system": "http://snomed.info/sct", + "code": "171154002", + "display": "Not required" + }, + { + "system": "http://snomed.info/sct", + "code": "171155001", + "display": "Up to date" + } + ] + }, + "compose": { + "include": [ + { + "system": "http://snomed.info/sct", + "concept": [ + { + "code": "736595007", + "display": "Declined" + }, + { + "code": "410527000", + "display": "Offered" + }, + { + "code": "171154002", + "display": "Not required" + }, + { + "code": "171155001", + "display": "Up to date" + } + ] + } + ] + } } ], "extension": [ @@ -1869,6 +2007,18 @@ "valueReference": { "reference": "#biological-sex-1" } + }, + { + "url": "https://smartforms.csiro.au/ig/StructureDefinition/ContainedResourceReference", + "valueReference": { + "reference": "#SmokingQuitStatus-1" + } + }, + { + "url": "https://smartforms.csiro.au/ig/StructureDefinition/ContainedResourceReference", + "valueReference": { + "reference": "#CervicalScreeningStatus-1" + } } ], "version": "0.1.0", diff --git a/input/fsh/715-AssemblyInstructions.fsh b/input/fsh/715-AssemblyInstructions.fsh index 70d6f76d..1c1fb9df 100644 --- a/input/fsh/715-AssemblyInstructions.fsh +++ b/input/fsh/715-AssemblyInstructions.fsh @@ -25,6 +25,8 @@ Description: "Aboriginal and Torres Strait Islander Health Check assessment form * contained[+] = australian-states-territories-2 * contained[+] = gender-identity-response-1 * contained[+] = biological-sex-1 +* contained[+] = SmokingQuitStatus-1 +* contained[+] = CervicalScreeningStatus-1 //assemble expectation * extension[+] @@ -123,6 +125,12 @@ Description: "Aboriginal and Torres Strait Islander Health Check assessment form * extension[+] * url = "https://smartforms.csiro.au/ig/StructureDefinition/ContainedResourceReference" * valueReference.reference = "#biological-sex-1" +* extension[+] + * url = "https://smartforms.csiro.au/ig/StructureDefinition/ContainedResourceReference" + * valueReference.reference = "#SmokingQuitStatus-1" +* extension[+] + * url = "https://smartforms.csiro.au/ig/StructureDefinition/ContainedResourceReference" + * valueReference.reference = "#CervicalScreeningStatus-1" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" diff --git a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json index 7adb2d0a..c08216b6 100644 --- a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json +++ b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json @@ -2,9 +2,9 @@ "resourceType": "Questionnaire", "id": "AboriginalTorresStraitIslanderHealthCheck", "meta": { - "versionId": "16", - "lastUpdated": "2024-04-08T03:28:22.147+00:00", - "source": "#rg8YaN4DUJY8o7Qe", + "versionId": "17", + "lastUpdated": "2024-04-08T23:49:42.142+00:00", + "source": "#qG2CoPlXjUZJvCJd", "profile": [ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp", "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" @@ -1298,6 +1298,18 @@ "reference": "#biological-sex-1" } }, + { + "url": "https://smartforms.csiro.au/ig/StructureDefinition/ContainedResourceReference", + "valueReference": { + "reference": "#SmokingQuitStatus-1" + } + }, + { + "url": "https://smartforms.csiro.au/ig/StructureDefinition/ContainedResourceReference", + "valueReference": { + "reference": "#CervicalScreeningStatus-1" + } + }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext", "extension": [ From 2ccc7242e1fb3680d004fc9d2cefa657e53731ba Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Fri, 19 Apr 2024 09:44:16 +1000 Subject: [PATCH 030/177] remove required --- fsh-generated/fsh-index.json | 4 ++-- fsh-generated/fsh-index.txt | 4 ++-- fsh-generated/resources/Questionnaire-Consent.json | 3 +-- fsh-generated/resources/Questionnaire-RegularMedications.json | 2 -- input/fsh/715-Assessment-RegularMedications.fsh | 2 -- input/fsh/715-Consent.fsh | 1 - 6 files changed, 5 insertions(+), 11 deletions(-) diff --git a/fsh-generated/fsh-index.json b/fsh-generated/fsh-index.json index 7ce453b5..c591f205 100644 --- a/fsh-generated/fsh-index.json +++ b/fsh-generated/fsh-index.json @@ -61,7 +61,7 @@ "fshType": "Instance", "fshFile": "715-Consent.fsh", "startLine": 7, - "endLine": 216 + "endLine": 215 }, { "outputFile": "Questionnaire-CurrentPriorities.json", @@ -237,7 +237,7 @@ "fshType": "Instance", "fshFile": "715-Assessment-RegularMedications.fsh", "startLine": 5, - "endLine": 157 + "endLine": 155 }, { "outputFile": "Questionnaire-ScreeningPrograms.json", diff --git a/fsh-generated/fsh-index.txt b/fsh-generated/fsh-index.txt index 2298b717..1baf7413 100644 --- a/fsh-generated/fsh-index.txt +++ b/fsh-generated/fsh-index.txt @@ -6,7 +6,7 @@ Questionnaire-AbsoluteCVDRiskCalculation.json AbsoluteCVDRiskCalculation Questionnaire-AllergiesAdverseReactions.json AllergiesAdverseReactions Instance 715-Assessment-AllergiesAdverseReactions.fsh 5 - 103 Questionnaire-AssemblyInstructions.json AssemblyInstructions Instance 715-AssemblyInstructions.fsh 5 - 589 Questionnaire-ChronicDiseaseAgeing.json ChronicDiseaseAgeing Instance 715-Assessment-ChronicDiseaseAgeing.fsh 5 - 120 -Questionnaire-Consent.json Consent Instance 715-Consent.fsh 7 - 216 +Questionnaire-Consent.json Consent Instance 715-Consent.fsh 7 - 215 Questionnaire-CurrentPriorities.json CurrentPriorities Instance 715-Assessment-CurrentPriorities.fsh 5 - 182 Questionnaire-EarHealthAndHearing.json EarHealthAndHearing Instance 715-Assessment-EarHealthAndHearing.fsh 5 - 321 Questionnaire-Examination.json Examination Instance 715-Assessment-Examination.fsh 5 - 504 @@ -28,7 +28,7 @@ Questionnaire-OralAndDentalHealth.json OralAndDentalHealth Questionnaire-PatientDetails.json PatientDetails Instance 715-PatientDetails.fsh 5 - 718 Questionnaire-PhysicalActivityAndScreenTime.json PhysicalActivityAndScreenTime Instance 715-Assessment-PhysicalActivityAndScreenTime.fsh 5 - 276 Questionnaire-RedFlagsEarlyIdentificationGuide.json RedFlagsEarlyIdentificationGuide Instance 715-Assessment-RedFlagsEarlyIdentificationGuide.fsh 5 - 518 -Questionnaire-RegularMedications.json RegularMedications Instance 715-Assessment-RegularMedications.fsh 5 - 157 +Questionnaire-RegularMedications.json RegularMedications Instance 715-Assessment-RegularMedications.fsh 5 - 155 Questionnaire-ScreeningPrograms.json ScreeningPrograms Instance 715-Assessment-ScreeningPrograms.fsh 5 - 187 Questionnaire-SexualHealth.json SexualHealth Instance 715-Assessment-SexualHealth.fsh 5 - 368 Questionnaire-Skin.json Skin Instance 715-Assessment-Skin.fsh 5 - 168 diff --git a/fsh-generated/resources/Questionnaire-Consent.json b/fsh-generated/resources/Questionnaire-Consent.json index 4f203b81..2b1f3358 100644 --- a/fsh-generated/resources/Questionnaire-Consent.json +++ b/fsh-generated/resources/Questionnaire-Consent.json @@ -269,8 +269,7 @@ "linkId": "84162f36-f4af-4509-b178-ef2a3849d0b6", "text": "Date", "type": "date", - "repeats": false, - "required": true + "repeats": false }, { "linkId": "0f92eb2d-4629-4215-96f8-46722a2efa73", diff --git a/fsh-generated/resources/Questionnaire-RegularMedications.json b/fsh-generated/resources/Questionnaire-RegularMedications.json index ebd9f0db..7c686fd9 100644 --- a/fsh-generated/resources/Questionnaire-RegularMedications.json +++ b/fsh-generated/resources/Questionnaire-RegularMedications.json @@ -168,7 +168,6 @@ "text": "Up to date in the health record?", "type": "boolean", "repeats": false, - "required": true, "enableWhen": [ { "question": "6eb59145-ed9a-4184-af83-3506d47e4d4e", @@ -200,7 +199,6 @@ "text": "Medication understanding and adherence has been checked with patient", "type": "boolean", "repeats": false, - "required": true, "enableWhen": [ { "question": "6eb59145-ed9a-4184-af83-3506d47e4d4e", diff --git a/input/fsh/715-Assessment-RegularMedications.fsh b/input/fsh/715-Assessment-RegularMedications.fsh index a7cf47b0..94c1709a 100644 --- a/input/fsh/715-Assessment-RegularMedications.fsh +++ b/input/fsh/715-Assessment-RegularMedications.fsh @@ -114,7 +114,6 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * text = "Up to date in the health record?" * type = #boolean * repeats = false - * required = true * enableWhen[+] * question = "6eb59145-ed9a-4184-af83-3506d47e4d4e" * operator = #= @@ -130,7 +129,6 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * extension[sdc-questionnaire-shortText].valueString = "Understanding and adherence checked" * type = #boolean * repeats = false - * required = true * enableWhen[+] * question = "6eb59145-ed9a-4184-af83-3506d47e4d4e" * operator = #= diff --git a/input/fsh/715-Consent.fsh b/input/fsh/715-Consent.fsh index c86994df..4d0c6ae5 100644 --- a/input/fsh/715-Consent.fsh +++ b/input/fsh/715-Consent.fsh @@ -163,7 +163,6 @@ Description: "Consent sub-questionnaire for Aboriginal and Torres Strait Islande * text = "Date" * type = #date * repeats = false - * required = true * item[+] * linkId = "0f92eb2d-4629-4215-96f8-46722a2efa73" * text = "Doctor" From b27af3dc5fda92bf97c4e16776c6d8babaa4834e Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Mon, 22 Apr 2024 15:11:43 +1000 Subject: [PATCH 031/177] Add encounter launch context --- fsh-generated/fsh-index.json | 68 +++++++++---------- fsh-generated/fsh-index.txt | 68 +++++++++---------- .../Questionnaire-AboutTheHealthCheck.json | 20 ++++++ ...stionnaire-AbsoluteCVDRiskCalculation.json | 20 ++++++ ...estionnaire-AllergiesAdverseReactions.json | 20 ++++++ .../Questionnaire-AssemblyInstructions.json | 20 ++++++ .../Questionnaire-ChronicDiseaseAgeing.json | 20 ++++++ .../resources/Questionnaire-Consent.json | 20 ++++++ .../Questionnaire-CurrentPriorities.json | 20 ++++++ .../Questionnaire-EarHealthAndHearing.json | 20 ++++++ .../resources/Questionnaire-Examination.json | 20 ++++++ .../resources/Questionnaire-EyeHealth.json | 20 ++++++ .../Questionnaire-FamilyHistory.json | 20 ++++++ .../Questionnaire-FinalisingHealthCheck.json | 20 ++++++ .../resources/Questionnaire-Gambling.json | 20 ++++++ ...Questionnaire-HealthPrioritiesSummary.json | 20 ++++++ .../Questionnaire-HealthyEating.json | 20 ++++++ .../Questionnaire-HomeAndFamily.json | 20 ++++++ .../resources/Questionnaire-Immunisation.json | 20 ++++++ .../Questionnaire-Investigations.json | 20 ++++++ .../Questionnaire-LearningAndDevelopment.json | 20 ++++++ .../Questionnaire-LearningAndWork.json | 20 ++++++ ...onnaire-MedicalHistoryCurrentProblems.json | 20 ++++++ .../Questionnaire-MemoryAndThinking.json | 20 ++++++ .../resources/Questionnaire-Mood.json | 20 ++++++ .../Questionnaire-OralAndDentalHealth.json | 20 ++++++ .../Questionnaire-PatientDetails.json | 20 ++++++ ...onnaire-PhysicalActivityAndScreenTime.json | 20 ++++++ ...aire-RedFlagsEarlyIdentificationGuide.json | 20 ++++++ .../Questionnaire-RegularMedications.json | 20 ++++++ .../Questionnaire-ScreeningPrograms.json | 20 ++++++ .../resources/Questionnaire-SexualHealth.json | 20 ++++++ .../resources/Questionnaire-Skin.json | 20 ++++++ ...tionnaire-SocialAndEmotionalWellbeing.json | 20 ++++++ .../Questionnaire-SocialHistoryChild.json | 20 ++++++ .../resources/Questionnaire-SubstanceUse.json | 20 ++++++ input/fsh/715-AboutTheHealthCheck.fsh | 11 +++ input/fsh/715-AssemblyInstructions.fsh | 11 +++ ...-Assessment-AbsoluteCVDRiskCalculation.fsh | 11 +++ ...5-Assessment-AllergiesAdverseReactions.fsh | 11 +++ .../715-Assessment-ChronicDiseaseAgeing.fsh | 11 +++ .../fsh/715-Assessment-CurrentPriorities.fsh | 11 +++ .../715-Assessment-EarHealthAndHearing.fsh | 11 +++ input/fsh/715-Assessment-Examination.fsh | 11 +++ input/fsh/715-Assessment-EyeHealth.fsh | 11 +++ input/fsh/715-Assessment-FamilyHistory.fsh | 11 +++ input/fsh/715-Assessment-Gambling.fsh | 11 +++ input/fsh/715-Assessment-HealthyEating.fsh | 11 +++ input/fsh/715-Assessment-HomeAndFamily.fsh | 11 +++ input/fsh/715-Assessment-Immunisation.fsh | 11 +++ input/fsh/715-Assessment-Investigations.fsh | 11 +++ .../715-Assessment-LearningAndDevelopment.fsh | 11 +++ input/fsh/715-Assessment-LearningAndWork.fsh | 11 +++ ...sessment-MedicalHistoryCurrentProblems.fsh | 11 +++ .../fsh/715-Assessment-MemoryAndThinking.fsh | 11 +++ input/fsh/715-Assessment-Mood.fsh | 11 +++ .../715-Assessment-OralAndDentalHealth.fsh | 11 +++ ...sessment-PhysicalActivityAndScreenTime.fsh | 11 +++ ...sment-RedFlagsEarlyIdentificationGuide.fsh | 11 +++ .../fsh/715-Assessment-RegularMedications.fsh | 11 +++ .../fsh/715-Assessment-ScreeningPrograms.fsh | 11 +++ input/fsh/715-Assessment-SexualHealth.fsh | 11 +++ input/fsh/715-Assessment-Skin.fsh | 11 +++ ...Assessment-SocialAndEmotionalWellbeing.fsh | 11 +++ .../fsh/715-Assessment-SocialHistoryChild.fsh | 11 +++ input/fsh/715-Assessment-SubstanceUse.fsh | 11 +++ input/fsh/715-Consent.fsh | 11 +++ input/fsh/715-FinalisingHealthCheck.fsh | 11 +++ input/fsh/715-HealthPrioritiesSummary.fsh | 11 +++ input/fsh/715-PatientDetails.fsh | 11 +++ 70 files changed, 1122 insertions(+), 68 deletions(-) diff --git a/fsh-generated/fsh-index.json b/fsh-generated/fsh-index.json index c591f205..d32972b1 100644 --- a/fsh-generated/fsh-index.json +++ b/fsh-generated/fsh-index.json @@ -21,7 +21,7 @@ "fshType": "Instance", "fshFile": "715-AboutTheHealthCheck.fsh", "startLine": 5, - "endLine": 163 + "endLine": 174 }, { "outputFile": "Questionnaire-AbsoluteCVDRiskCalculation.json", @@ -29,7 +29,7 @@ "fshType": "Instance", "fshFile": "715-Assessment-AbsoluteCVDRiskCalculation.fsh", "startLine": 5, - "endLine": 418 + "endLine": 429 }, { "outputFile": "Questionnaire-AllergiesAdverseReactions.json", @@ -37,7 +37,7 @@ "fshType": "Instance", "fshFile": "715-Assessment-AllergiesAdverseReactions.fsh", "startLine": 5, - "endLine": 103 + "endLine": 114 }, { "outputFile": "Questionnaire-AssemblyInstructions.json", @@ -45,7 +45,7 @@ "fshType": "Instance", "fshFile": "715-AssemblyInstructions.fsh", "startLine": 5, - "endLine": 589 + "endLine": 600 }, { "outputFile": "Questionnaire-ChronicDiseaseAgeing.json", @@ -53,7 +53,7 @@ "fshType": "Instance", "fshFile": "715-Assessment-ChronicDiseaseAgeing.fsh", "startLine": 5, - "endLine": 120 + "endLine": 131 }, { "outputFile": "Questionnaire-Consent.json", @@ -61,7 +61,7 @@ "fshType": "Instance", "fshFile": "715-Consent.fsh", "startLine": 7, - "endLine": 215 + "endLine": 226 }, { "outputFile": "Questionnaire-CurrentPriorities.json", @@ -69,7 +69,7 @@ "fshType": "Instance", "fshFile": "715-Assessment-CurrentPriorities.fsh", "startLine": 5, - "endLine": 182 + "endLine": 193 }, { "outputFile": "Questionnaire-EarHealthAndHearing.json", @@ -77,7 +77,7 @@ "fshType": "Instance", "fshFile": "715-Assessment-EarHealthAndHearing.fsh", "startLine": 5, - "endLine": 321 + "endLine": 332 }, { "outputFile": "Questionnaire-Examination.json", @@ -85,7 +85,7 @@ "fshType": "Instance", "fshFile": "715-Assessment-Examination.fsh", "startLine": 5, - "endLine": 504 + "endLine": 515 }, { "outputFile": "Questionnaire-EyeHealth.json", @@ -93,7 +93,7 @@ "fshType": "Instance", "fshFile": "715-Assessment-EyeHealth.fsh", "startLine": 5, - "endLine": 228 + "endLine": 239 }, { "outputFile": "Questionnaire-FamilyHistory.json", @@ -101,7 +101,7 @@ "fshType": "Instance", "fshFile": "715-Assessment-FamilyHistory.fsh", "startLine": 5, - "endLine": 126 + "endLine": 137 }, { "outputFile": "Questionnaire-FinalisingHealthCheck.json", @@ -109,7 +109,7 @@ "fshType": "Instance", "fshFile": "715-FinalisingHealthCheck.fsh", "startLine": 5, - "endLine": 448 + "endLine": 459 }, { "outputFile": "Questionnaire-Gambling.json", @@ -117,7 +117,7 @@ "fshType": "Instance", "fshFile": "715-Assessment-Gambling.fsh", "startLine": 5, - "endLine": 122 + "endLine": 133 }, { "outputFile": "Questionnaire-HealthPrioritiesSummary.json", @@ -125,7 +125,7 @@ "fshType": "Instance", "fshFile": "715-HealthPrioritiesSummary.fsh", "startLine": 5, - "endLine": 568 + "endLine": 579 }, { "outputFile": "Questionnaire-HealthyEating.json", @@ -133,7 +133,7 @@ "fshType": "Instance", "fshFile": "715-Assessment-HealthyEating.fsh", "startLine": 5, - "endLine": 285 + "endLine": 296 }, { "outputFile": "Questionnaire-HomeAndFamily.json", @@ -141,7 +141,7 @@ "fshType": "Instance", "fshFile": "715-Assessment-HomeAndFamily.fsh", "startLine": 5, - "endLine": 155 + "endLine": 166 }, { "outputFile": "Questionnaire-Immunisation.json", @@ -149,7 +149,7 @@ "fshType": "Instance", "fshFile": "715-Assessment-Immunisation.fsh", "startLine": 5, - "endLine": 163 + "endLine": 174 }, { "outputFile": "Questionnaire-Investigations.json", @@ -157,7 +157,7 @@ "fshType": "Instance", "fshFile": "715-Assessment-Investigations.fsh", "startLine": 5, - "endLine": 133 + "endLine": 144 }, { "outputFile": "Questionnaire-LearningAndDevelopment.json", @@ -165,7 +165,7 @@ "fshType": "Instance", "fshFile": "715-Assessment-LearningAndDevelopment.fsh", "startLine": 5, - "endLine": 224 + "endLine": 235 }, { "outputFile": "Questionnaire-LearningAndWork.json", @@ -173,7 +173,7 @@ "fshType": "Instance", "fshFile": "715-Assessment-LearningAndWork.fsh", "startLine": 5, - "endLine": 227 + "endLine": 238 }, { "outputFile": "Questionnaire-MedicalHistoryCurrentProblems.json", @@ -181,7 +181,7 @@ "fshType": "Instance", "fshFile": "715-Assessment-MedicalHistoryCurrentProblems.fsh", "startLine": 5, - "endLine": 301 + "endLine": 312 }, { "outputFile": "Questionnaire-MemoryAndThinking.json", @@ -189,7 +189,7 @@ "fshType": "Instance", "fshFile": "715-Assessment-MemoryAndThinking.fsh", "startLine": 5, - "endLine": 155 + "endLine": 166 }, { "outputFile": "Questionnaire-Mood.json", @@ -197,7 +197,7 @@ "fshType": "Instance", "fshFile": "715-Assessment-Mood.fsh", "startLine": 5, - "endLine": 130 + "endLine": 141 }, { "outputFile": "Questionnaire-OralAndDentalHealth.json", @@ -205,7 +205,7 @@ "fshType": "Instance", "fshFile": "715-Assessment-OralAndDentalHealth.fsh", "startLine": 5, - "endLine": 177 + "endLine": 188 }, { "outputFile": "Questionnaire-PatientDetails.json", @@ -213,7 +213,7 @@ "fshType": "Instance", "fshFile": "715-PatientDetails.fsh", "startLine": 5, - "endLine": 718 + "endLine": 729 }, { "outputFile": "Questionnaire-PhysicalActivityAndScreenTime.json", @@ -221,7 +221,7 @@ "fshType": "Instance", "fshFile": "715-Assessment-PhysicalActivityAndScreenTime.fsh", "startLine": 5, - "endLine": 276 + "endLine": 287 }, { "outputFile": "Questionnaire-RedFlagsEarlyIdentificationGuide.json", @@ -229,7 +229,7 @@ "fshType": "Instance", "fshFile": "715-Assessment-RedFlagsEarlyIdentificationGuide.fsh", "startLine": 5, - "endLine": 518 + "endLine": 529 }, { "outputFile": "Questionnaire-RegularMedications.json", @@ -237,7 +237,7 @@ "fshType": "Instance", "fshFile": "715-Assessment-RegularMedications.fsh", "startLine": 5, - "endLine": 155 + "endLine": 166 }, { "outputFile": "Questionnaire-ScreeningPrograms.json", @@ -245,7 +245,7 @@ "fshType": "Instance", "fshFile": "715-Assessment-ScreeningPrograms.fsh", "startLine": 5, - "endLine": 187 + "endLine": 198 }, { "outputFile": "Questionnaire-SexualHealth.json", @@ -253,7 +253,7 @@ "fshType": "Instance", "fshFile": "715-Assessment-SexualHealth.fsh", "startLine": 5, - "endLine": 368 + "endLine": 379 }, { "outputFile": "Questionnaire-Skin.json", @@ -261,7 +261,7 @@ "fshType": "Instance", "fshFile": "715-Assessment-Skin.fsh", "startLine": 5, - "endLine": 168 + "endLine": 179 }, { "outputFile": "Questionnaire-SocialAndEmotionalWellbeing.json", @@ -269,7 +269,7 @@ "fshType": "Instance", "fshFile": "715-Assessment-SocialAndEmotionalWellbeing.fsh", "startLine": 5, - "endLine": 142 + "endLine": 153 }, { "outputFile": "Questionnaire-SocialHistoryChild.json", @@ -277,7 +277,7 @@ "fshType": "Instance", "fshFile": "715-Assessment-SocialHistoryChild.fsh", "startLine": 5, - "endLine": 146 + "endLine": 157 }, { "outputFile": "Questionnaire-SubstanceUse.json", @@ -285,7 +285,7 @@ "fshType": "Instance", "fshFile": "715-Assessment-SubstanceUse.fsh", "startLine": 5, - "endLine": 209 + "endLine": 220 }, { "outputFile": "StructureDefinition-ContainedResourceReference.json", diff --git a/fsh-generated/fsh-index.txt b/fsh-generated/fsh-index.txt index 1baf7413..791f9d54 100644 --- a/fsh-generated/fsh-index.txt +++ b/fsh-generated/fsh-index.txt @@ -1,40 +1,40 @@ Output File Name Type FSH File Lines CodeSystem-HealthChecksSCTSupplement.json HealthChecksSCTSupplement CodeSystem terminology.fsh 766 - 777 CodeSystem-QuestionnaireItemControlExtended.json QuestionnaireItemControlExtended CodeSystem terminology.fsh 7 - 14 -Questionnaire-AboutTheHealthCheck.json AboutTheHealthCheck Instance 715-AboutTheHealthCheck.fsh 5 - 163 -Questionnaire-AbsoluteCVDRiskCalculation.json AbsoluteCVDRiskCalculation Instance 715-Assessment-AbsoluteCVDRiskCalculation.fsh 5 - 418 -Questionnaire-AllergiesAdverseReactions.json AllergiesAdverseReactions Instance 715-Assessment-AllergiesAdverseReactions.fsh 5 - 103 -Questionnaire-AssemblyInstructions.json AssemblyInstructions Instance 715-AssemblyInstructions.fsh 5 - 589 -Questionnaire-ChronicDiseaseAgeing.json ChronicDiseaseAgeing Instance 715-Assessment-ChronicDiseaseAgeing.fsh 5 - 120 -Questionnaire-Consent.json Consent Instance 715-Consent.fsh 7 - 215 -Questionnaire-CurrentPriorities.json CurrentPriorities Instance 715-Assessment-CurrentPriorities.fsh 5 - 182 -Questionnaire-EarHealthAndHearing.json EarHealthAndHearing Instance 715-Assessment-EarHealthAndHearing.fsh 5 - 321 -Questionnaire-Examination.json Examination Instance 715-Assessment-Examination.fsh 5 - 504 -Questionnaire-EyeHealth.json EyeHealth Instance 715-Assessment-EyeHealth.fsh 5 - 228 -Questionnaire-FamilyHistory.json FamilyHistory Instance 715-Assessment-FamilyHistory.fsh 5 - 126 -Questionnaire-FinalisingHealthCheck.json FinalisingHealthCheck Instance 715-FinalisingHealthCheck.fsh 5 - 448 -Questionnaire-Gambling.json Gambling Instance 715-Assessment-Gambling.fsh 5 - 122 -Questionnaire-HealthPrioritiesSummary.json HealthPrioritiesSummary Instance 715-HealthPrioritiesSummary.fsh 5 - 568 -Questionnaire-HealthyEating.json HealthyEating Instance 715-Assessment-HealthyEating.fsh 5 - 285 -Questionnaire-HomeAndFamily.json HomeAndFamily Instance 715-Assessment-HomeAndFamily.fsh 5 - 155 -Questionnaire-Immunisation.json Immunisation Instance 715-Assessment-Immunisation.fsh 5 - 163 -Questionnaire-Investigations.json Investigations Instance 715-Assessment-Investigations.fsh 5 - 133 -Questionnaire-LearningAndDevelopment.json LearningAndDevelopment Instance 715-Assessment-LearningAndDevelopment.fsh 5 - 224 -Questionnaire-LearningAndWork.json LearningAndWork Instance 715-Assessment-LearningAndWork.fsh 5 - 227 -Questionnaire-MedicalHistoryCurrentProblems.json MedicalHistoryCurrentProblems Instance 715-Assessment-MedicalHistoryCurrentProblems.fsh 5 - 301 -Questionnaire-MemoryAndThinking.json MemoryAndThinking Instance 715-Assessment-MemoryAndThinking.fsh 5 - 155 -Questionnaire-Mood.json Mood Instance 715-Assessment-Mood.fsh 5 - 130 -Questionnaire-OralAndDentalHealth.json OralAndDentalHealth Instance 715-Assessment-OralAndDentalHealth.fsh 5 - 177 -Questionnaire-PatientDetails.json PatientDetails Instance 715-PatientDetails.fsh 5 - 718 -Questionnaire-PhysicalActivityAndScreenTime.json PhysicalActivityAndScreenTime Instance 715-Assessment-PhysicalActivityAndScreenTime.fsh 5 - 276 -Questionnaire-RedFlagsEarlyIdentificationGuide.json RedFlagsEarlyIdentificationGuide Instance 715-Assessment-RedFlagsEarlyIdentificationGuide.fsh 5 - 518 -Questionnaire-RegularMedications.json RegularMedications Instance 715-Assessment-RegularMedications.fsh 5 - 155 -Questionnaire-ScreeningPrograms.json ScreeningPrograms Instance 715-Assessment-ScreeningPrograms.fsh 5 - 187 -Questionnaire-SexualHealth.json SexualHealth Instance 715-Assessment-SexualHealth.fsh 5 - 368 -Questionnaire-Skin.json Skin Instance 715-Assessment-Skin.fsh 5 - 168 -Questionnaire-SocialAndEmotionalWellbeing.json SocialAndEmotionalWellbeing Instance 715-Assessment-SocialAndEmotionalWellbeing.fsh 5 - 142 -Questionnaire-SocialHistoryChild.json SocialHistoryChild Instance 715-Assessment-SocialHistoryChild.fsh 5 - 146 -Questionnaire-SubstanceUse.json SubstanceUse Instance 715-Assessment-SubstanceUse.fsh 5 - 209 +Questionnaire-AboutTheHealthCheck.json AboutTheHealthCheck Instance 715-AboutTheHealthCheck.fsh 5 - 174 +Questionnaire-AbsoluteCVDRiskCalculation.json AbsoluteCVDRiskCalculation Instance 715-Assessment-AbsoluteCVDRiskCalculation.fsh 5 - 429 +Questionnaire-AllergiesAdverseReactions.json AllergiesAdverseReactions Instance 715-Assessment-AllergiesAdverseReactions.fsh 5 - 114 +Questionnaire-AssemblyInstructions.json AssemblyInstructions Instance 715-AssemblyInstructions.fsh 5 - 600 +Questionnaire-ChronicDiseaseAgeing.json ChronicDiseaseAgeing Instance 715-Assessment-ChronicDiseaseAgeing.fsh 5 - 131 +Questionnaire-Consent.json Consent Instance 715-Consent.fsh 7 - 226 +Questionnaire-CurrentPriorities.json CurrentPriorities Instance 715-Assessment-CurrentPriorities.fsh 5 - 193 +Questionnaire-EarHealthAndHearing.json EarHealthAndHearing Instance 715-Assessment-EarHealthAndHearing.fsh 5 - 332 +Questionnaire-Examination.json Examination Instance 715-Assessment-Examination.fsh 5 - 515 +Questionnaire-EyeHealth.json EyeHealth Instance 715-Assessment-EyeHealth.fsh 5 - 239 +Questionnaire-FamilyHistory.json FamilyHistory Instance 715-Assessment-FamilyHistory.fsh 5 - 137 +Questionnaire-FinalisingHealthCheck.json FinalisingHealthCheck Instance 715-FinalisingHealthCheck.fsh 5 - 459 +Questionnaire-Gambling.json Gambling Instance 715-Assessment-Gambling.fsh 5 - 133 +Questionnaire-HealthPrioritiesSummary.json HealthPrioritiesSummary Instance 715-HealthPrioritiesSummary.fsh 5 - 579 +Questionnaire-HealthyEating.json HealthyEating Instance 715-Assessment-HealthyEating.fsh 5 - 296 +Questionnaire-HomeAndFamily.json HomeAndFamily Instance 715-Assessment-HomeAndFamily.fsh 5 - 166 +Questionnaire-Immunisation.json Immunisation Instance 715-Assessment-Immunisation.fsh 5 - 174 +Questionnaire-Investigations.json Investigations Instance 715-Assessment-Investigations.fsh 5 - 144 +Questionnaire-LearningAndDevelopment.json LearningAndDevelopment Instance 715-Assessment-LearningAndDevelopment.fsh 5 - 235 +Questionnaire-LearningAndWork.json LearningAndWork Instance 715-Assessment-LearningAndWork.fsh 5 - 238 +Questionnaire-MedicalHistoryCurrentProblems.json MedicalHistoryCurrentProblems Instance 715-Assessment-MedicalHistoryCurrentProblems.fsh 5 - 312 +Questionnaire-MemoryAndThinking.json MemoryAndThinking Instance 715-Assessment-MemoryAndThinking.fsh 5 - 166 +Questionnaire-Mood.json Mood Instance 715-Assessment-Mood.fsh 5 - 141 +Questionnaire-OralAndDentalHealth.json OralAndDentalHealth Instance 715-Assessment-OralAndDentalHealth.fsh 5 - 188 +Questionnaire-PatientDetails.json PatientDetails Instance 715-PatientDetails.fsh 5 - 729 +Questionnaire-PhysicalActivityAndScreenTime.json PhysicalActivityAndScreenTime Instance 715-Assessment-PhysicalActivityAndScreenTime.fsh 5 - 287 +Questionnaire-RedFlagsEarlyIdentificationGuide.json RedFlagsEarlyIdentificationGuide Instance 715-Assessment-RedFlagsEarlyIdentificationGuide.fsh 5 - 529 +Questionnaire-RegularMedications.json RegularMedications Instance 715-Assessment-RegularMedications.fsh 5 - 166 +Questionnaire-ScreeningPrograms.json ScreeningPrograms Instance 715-Assessment-ScreeningPrograms.fsh 5 - 198 +Questionnaire-SexualHealth.json SexualHealth Instance 715-Assessment-SexualHealth.fsh 5 - 379 +Questionnaire-Skin.json Skin Instance 715-Assessment-Skin.fsh 5 - 179 +Questionnaire-SocialAndEmotionalWellbeing.json SocialAndEmotionalWellbeing Instance 715-Assessment-SocialAndEmotionalWellbeing.fsh 5 - 153 +Questionnaire-SocialHistoryChild.json SocialHistoryChild Instance 715-Assessment-SocialHistoryChild.fsh 5 - 157 +Questionnaire-SubstanceUse.json SubstanceUse Instance 715-Assessment-SubstanceUse.fsh 5 - 220 StructureDefinition-ContainedResourceReference.json ContainedResourceReference Extension extensions.fsh 1 - 6 ValueSet-AboriginalTorresStraitIslander.json AboriginalTorresStraitIslander ValueSet terminology.fsh 102 - 128 ValueSet-CervicalScreeningStatus-1.json CervicalScreeningStatus ValueSet terminology.fsh 780 - 809 diff --git a/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json b/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json index ff73d2b0..e6767abf 100644 --- a/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json +++ b/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json @@ -327,6 +327,26 @@ } ] }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext", + "extension": [ + { + "url": "name", + "valueCoding": { + "code": "encounter", + "system": "http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext" + } + }, + { + "url": "type", + "valueCode": "Encounter" + }, + { + "url": "description", + "valueString": "The encounter that is to be used to pre-populate the form" + } + ] + }, { "url": "http://hl7.org/fhir/StructureDefinition/variable", "valueExpression": { diff --git a/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json b/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json index 74a79be0..1f3715a9 100644 --- a/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json +++ b/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json @@ -745,6 +745,26 @@ } ] }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext", + "extension": [ + { + "url": "name", + "valueCoding": { + "code": "encounter", + "system": "http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext" + } + }, + { + "url": "type", + "valueCode": "Encounter" + }, + { + "url": "description", + "valueString": "The encounter that is to be used to pre-populate the form" + } + ] + }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" diff --git a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json index fdb820ae..4ffbf135 100644 --- a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json +++ b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json @@ -180,6 +180,26 @@ } ] }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext", + "extension": [ + { + "url": "name", + "valueCoding": { + "code": "encounter", + "system": "http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext" + } + }, + { + "url": "type", + "valueCode": "Encounter" + }, + { + "url": "description", + "valueString": "The encounter that is to be used to pre-populate the form" + } + ] + }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" diff --git a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json index e2a21a16..74d155cb 100644 --- a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json +++ b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json @@ -1920,6 +1920,26 @@ } ] }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext", + "extension": [ + { + "url": "name", + "valueCoding": { + "code": "encounter", + "system": "http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext" + } + }, + { + "url": "type", + "valueCode": "Encounter" + }, + { + "url": "description", + "valueString": "The encounter that is to be used to pre-populate the form" + } + ] + }, { "url": "http://hl7.org/fhir/StructureDefinition/variable", "valueExpression": { diff --git a/fsh-generated/resources/Questionnaire-ChronicDiseaseAgeing.json b/fsh-generated/resources/Questionnaire-ChronicDiseaseAgeing.json index 44d25988..b25c3fd3 100644 --- a/fsh-generated/resources/Questionnaire-ChronicDiseaseAgeing.json +++ b/fsh-generated/resources/Questionnaire-ChronicDiseaseAgeing.json @@ -201,6 +201,26 @@ } ] }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext", + "extension": [ + { + "url": "name", + "valueCoding": { + "code": "encounter", + "system": "http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext" + } + }, + { + "url": "type", + "valueCode": "Encounter" + }, + { + "url": "description", + "valueString": "The encounter that is to be used to pre-populate the form" + } + ] + }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" diff --git a/fsh-generated/resources/Questionnaire-Consent.json b/fsh-generated/resources/Questionnaire-Consent.json index 2b1f3358..6165c99f 100644 --- a/fsh-generated/resources/Questionnaire-Consent.json +++ b/fsh-generated/resources/Questionnaire-Consent.json @@ -526,6 +526,26 @@ } ] }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext", + "extension": [ + { + "url": "name", + "valueCoding": { + "code": "encounter", + "system": "http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext" + } + }, + { + "url": "type", + "valueCode": "Encounter" + }, + { + "url": "description", + "valueString": "The encounter that is to be used to pre-populate the form" + } + ] + }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" diff --git a/fsh-generated/resources/Questionnaire-CurrentPriorities.json b/fsh-generated/resources/Questionnaire-CurrentPriorities.json index 1bcab534..df617f10 100644 --- a/fsh-generated/resources/Questionnaire-CurrentPriorities.json +++ b/fsh-generated/resources/Questionnaire-CurrentPriorities.json @@ -427,6 +427,26 @@ } ] }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext", + "extension": [ + { + "url": "name", + "valueCoding": { + "code": "encounter", + "system": "http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext" + } + }, + { + "url": "type", + "valueCode": "Encounter" + }, + { + "url": "description", + "valueString": "The encounter that is to be used to pre-populate the form" + } + ] + }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" diff --git a/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json b/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json index 4fe0b054..c50c7763 100644 --- a/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json +++ b/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json @@ -751,6 +751,26 @@ } ] }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext", + "extension": [ + { + "url": "name", + "valueCoding": { + "code": "encounter", + "system": "http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext" + } + }, + { + "url": "type", + "valueCode": "Encounter" + }, + { + "url": "description", + "valueString": "The encounter that is to be used to pre-populate the form" + } + ] + }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" diff --git a/fsh-generated/resources/Questionnaire-Examination.json b/fsh-generated/resources/Questionnaire-Examination.json index 0819f5d5..1c583dcf 100644 --- a/fsh-generated/resources/Questionnaire-Examination.json +++ b/fsh-generated/resources/Questionnaire-Examination.json @@ -957,6 +957,26 @@ } ] }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext", + "extension": [ + { + "url": "name", + "valueCoding": { + "code": "encounter", + "system": "http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext" + } + }, + { + "url": "type", + "valueCode": "Encounter" + }, + { + "url": "description", + "valueString": "The encounter that is to be used to pre-populate the form" + } + ] + }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "ObsBloodPressure" diff --git a/fsh-generated/resources/Questionnaire-EyeHealth.json b/fsh-generated/resources/Questionnaire-EyeHealth.json index 65911851..0f9c8de3 100644 --- a/fsh-generated/resources/Questionnaire-EyeHealth.json +++ b/fsh-generated/resources/Questionnaire-EyeHealth.json @@ -508,6 +508,26 @@ } ] }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext", + "extension": [ + { + "url": "name", + "valueCoding": { + "code": "encounter", + "system": "http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext" + } + }, + { + "url": "type", + "valueCode": "Encounter" + }, + { + "url": "description", + "valueString": "The encounter that is to be used to pre-populate the form" + } + ] + }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" diff --git a/fsh-generated/resources/Questionnaire-FamilyHistory.json b/fsh-generated/resources/Questionnaire-FamilyHistory.json index 64473881..1619e64a 100644 --- a/fsh-generated/resources/Questionnaire-FamilyHistory.json +++ b/fsh-generated/resources/Questionnaire-FamilyHistory.json @@ -235,6 +235,26 @@ } ] }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext", + "extension": [ + { + "url": "name", + "valueCoding": { + "code": "encounter", + "system": "http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext" + } + }, + { + "url": "type", + "valueCode": "Encounter" + }, + { + "url": "description", + "valueString": "The encounter that is to be used to pre-populate the form" + } + ] + }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" diff --git a/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json b/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json index 0a78f9c8..07d47dcb 100644 --- a/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json +++ b/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json @@ -1044,6 +1044,26 @@ } ] }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext", + "extension": [ + { + "url": "name", + "valueCoding": { + "code": "encounter", + "system": "http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext" + } + }, + { + "url": "type", + "valueCode": "Encounter" + }, + { + "url": "description", + "valueString": "The encounter that is to be used to pre-populate the form" + } + ] + }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" diff --git a/fsh-generated/resources/Questionnaire-Gambling.json b/fsh-generated/resources/Questionnaire-Gambling.json index 14f820f6..3bfea2fb 100644 --- a/fsh-generated/resources/Questionnaire-Gambling.json +++ b/fsh-generated/resources/Questionnaire-Gambling.json @@ -265,6 +265,26 @@ } ] }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext", + "extension": [ + { + "url": "name", + "valueCoding": { + "code": "encounter", + "system": "http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext" + } + }, + { + "url": "type", + "valueCode": "Encounter" + }, + { + "url": "description", + "valueString": "The encounter that is to be used to pre-populate the form" + } + ] + }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" diff --git a/fsh-generated/resources/Questionnaire-HealthPrioritiesSummary.json b/fsh-generated/resources/Questionnaire-HealthPrioritiesSummary.json index a1f3f00f..95eae1af 100644 --- a/fsh-generated/resources/Questionnaire-HealthPrioritiesSummary.json +++ b/fsh-generated/resources/Questionnaire-HealthPrioritiesSummary.json @@ -828,6 +828,26 @@ } ] }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext", + "extension": [ + { + "url": "name", + "valueCoding": { + "code": "encounter", + "system": "http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext" + } + }, + { + "url": "type", + "valueCode": "Encounter" + }, + { + "url": "description", + "valueString": "The encounter that is to be used to pre-populate the form" + } + ] + }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" diff --git a/fsh-generated/resources/Questionnaire-HealthyEating.json b/fsh-generated/resources/Questionnaire-HealthyEating.json index 8582bc44..95676a97 100644 --- a/fsh-generated/resources/Questionnaire-HealthyEating.json +++ b/fsh-generated/resources/Questionnaire-HealthyEating.json @@ -639,6 +639,26 @@ } ] }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext", + "extension": [ + { + "url": "name", + "valueCoding": { + "code": "encounter", + "system": "http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext" + } + }, + { + "url": "type", + "valueCode": "Encounter" + }, + { + "url": "description", + "valueString": "The encounter that is to be used to pre-populate the form" + } + ] + }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" diff --git a/fsh-generated/resources/Questionnaire-HomeAndFamily.json b/fsh-generated/resources/Questionnaire-HomeAndFamily.json index e7659c83..8d62fe06 100644 --- a/fsh-generated/resources/Questionnaire-HomeAndFamily.json +++ b/fsh-generated/resources/Questionnaire-HomeAndFamily.json @@ -339,6 +339,26 @@ } ] }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext", + "extension": [ + { + "url": "name", + "valueCoding": { + "code": "encounter", + "system": "http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext" + } + }, + { + "url": "type", + "valueCode": "Encounter" + }, + { + "url": "description", + "valueString": "The encounter that is to be used to pre-populate the form" + } + ] + }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" diff --git a/fsh-generated/resources/Questionnaire-Immunisation.json b/fsh-generated/resources/Questionnaire-Immunisation.json index 4e5f6f82..92e73c3a 100644 --- a/fsh-generated/resources/Questionnaire-Immunisation.json +++ b/fsh-generated/resources/Questionnaire-Immunisation.json @@ -351,6 +351,26 @@ } ] }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext", + "extension": [ + { + "url": "name", + "valueCoding": { + "code": "encounter", + "system": "http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext" + } + }, + { + "url": "type", + "valueCode": "Encounter" + }, + { + "url": "description", + "valueString": "The encounter that is to be used to pre-populate the form" + } + ] + }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" diff --git a/fsh-generated/resources/Questionnaire-Investigations.json b/fsh-generated/resources/Questionnaire-Investigations.json index 8ee90e3e..18c835fe 100644 --- a/fsh-generated/resources/Questionnaire-Investigations.json +++ b/fsh-generated/resources/Questionnaire-Investigations.json @@ -222,6 +222,26 @@ } ] }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext", + "extension": [ + { + "url": "name", + "valueCoding": { + "code": "encounter", + "system": "http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext" + } + }, + { + "url": "type", + "valueCode": "Encounter" + }, + { + "url": "description", + "valueString": "The encounter that is to be used to pre-populate the form" + } + ] + }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" diff --git a/fsh-generated/resources/Questionnaire-LearningAndDevelopment.json b/fsh-generated/resources/Questionnaire-LearningAndDevelopment.json index b1fb0bc6..bc8a3f4c 100644 --- a/fsh-generated/resources/Questionnaire-LearningAndDevelopment.json +++ b/fsh-generated/resources/Questionnaire-LearningAndDevelopment.json @@ -493,6 +493,26 @@ } ] }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext", + "extension": [ + { + "url": "name", + "valueCoding": { + "code": "encounter", + "system": "http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext" + } + }, + { + "url": "type", + "valueCode": "Encounter" + }, + { + "url": "description", + "valueString": "The encounter that is to be used to pre-populate the form" + } + ] + }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" diff --git a/fsh-generated/resources/Questionnaire-LearningAndWork.json b/fsh-generated/resources/Questionnaire-LearningAndWork.json index 95973e47..12c4a3ea 100644 --- a/fsh-generated/resources/Questionnaire-LearningAndWork.json +++ b/fsh-generated/resources/Questionnaire-LearningAndWork.json @@ -565,6 +565,26 @@ } ] }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext", + "extension": [ + { + "url": "name", + "valueCoding": { + "code": "encounter", + "system": "http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext" + } + }, + { + "url": "type", + "valueCode": "Encounter" + }, + { + "url": "description", + "valueString": "The encounter that is to be used to pre-populate the form" + } + ] + }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" diff --git a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json index 66f33975..4c0234f0 100644 --- a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json +++ b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json @@ -583,6 +583,26 @@ } ] }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext", + "extension": [ + { + "url": "name", + "valueCoding": { + "code": "encounter", + "system": "http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext" + } + }, + { + "url": "type", + "valueCode": "Encounter" + }, + { + "url": "description", + "valueString": "The encounter that is to be used to pre-populate the form" + } + ] + }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" diff --git a/fsh-generated/resources/Questionnaire-MemoryAndThinking.json b/fsh-generated/resources/Questionnaire-MemoryAndThinking.json index c745b88e..dc1b433b 100644 --- a/fsh-generated/resources/Questionnaire-MemoryAndThinking.json +++ b/fsh-generated/resources/Questionnaire-MemoryAndThinking.json @@ -339,6 +339,26 @@ } ] }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext", + "extension": [ + { + "url": "name", + "valueCoding": { + "code": "encounter", + "system": "http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext" + } + }, + { + "url": "type", + "valueCode": "Encounter" + }, + { + "url": "description", + "valueString": "The encounter that is to be used to pre-populate the form" + } + ] + }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" diff --git a/fsh-generated/resources/Questionnaire-Mood.json b/fsh-generated/resources/Questionnaire-Mood.json index 4ff5eeec..36700b6d 100644 --- a/fsh-generated/resources/Questionnaire-Mood.json +++ b/fsh-generated/resources/Questionnaire-Mood.json @@ -245,6 +245,26 @@ } ] }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext", + "extension": [ + { + "url": "name", + "valueCoding": { + "code": "encounter", + "system": "http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext" + } + }, + { + "url": "type", + "valueCode": "Encounter" + }, + { + "url": "description", + "valueString": "The encounter that is to be used to pre-populate the form" + } + ] + }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" diff --git a/fsh-generated/resources/Questionnaire-OralAndDentalHealth.json b/fsh-generated/resources/Questionnaire-OralAndDentalHealth.json index b23af9ea..2aa68c00 100644 --- a/fsh-generated/resources/Questionnaire-OralAndDentalHealth.json +++ b/fsh-generated/resources/Questionnaire-OralAndDentalHealth.json @@ -389,6 +389,26 @@ } ] }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext", + "extension": [ + { + "url": "name", + "valueCoding": { + "code": "encounter", + "system": "http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext" + } + }, + { + "url": "type", + "valueCode": "Encounter" + }, + { + "url": "description", + "valueString": "The encounter that is to be used to pre-populate the form" + } + ] + }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" diff --git a/fsh-generated/resources/Questionnaire-PatientDetails.json b/fsh-generated/resources/Questionnaire-PatientDetails.json index 36bde633..4ad2b7e9 100644 --- a/fsh-generated/resources/Questionnaire-PatientDetails.json +++ b/fsh-generated/resources/Questionnaire-PatientDetails.json @@ -2221,6 +2221,26 @@ } ] }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext", + "extension": [ + { + "url": "name", + "valueCoding": { + "code": "encounter", + "system": "http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext" + } + }, + { + "url": "type", + "valueCode": "Encounter" + }, + { + "url": "description", + "valueString": "The encounter that is to be used to pre-populate the form" + } + ] + }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" diff --git a/fsh-generated/resources/Questionnaire-PhysicalActivityAndScreenTime.json b/fsh-generated/resources/Questionnaire-PhysicalActivityAndScreenTime.json index 22d38453..7b020024 100644 --- a/fsh-generated/resources/Questionnaire-PhysicalActivityAndScreenTime.json +++ b/fsh-generated/resources/Questionnaire-PhysicalActivityAndScreenTime.json @@ -626,6 +626,26 @@ } ] }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext", + "extension": [ + { + "url": "name", + "valueCoding": { + "code": "encounter", + "system": "http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext" + } + }, + { + "url": "type", + "valueCode": "Encounter" + }, + { + "url": "description", + "valueString": "The encounter that is to be used to pre-populate the form" + } + ] + }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" diff --git a/fsh-generated/resources/Questionnaire-RedFlagsEarlyIdentificationGuide.json b/fsh-generated/resources/Questionnaire-RedFlagsEarlyIdentificationGuide.json index 876c08d7..d256b2a6 100644 --- a/fsh-generated/resources/Questionnaire-RedFlagsEarlyIdentificationGuide.json +++ b/fsh-generated/resources/Questionnaire-RedFlagsEarlyIdentificationGuide.json @@ -1337,6 +1337,26 @@ } ] }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext", + "extension": [ + { + "url": "name", + "valueCoding": { + "code": "encounter", + "system": "http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext" + } + }, + { + "url": "type", + "valueCode": "Encounter" + }, + { + "url": "description", + "valueString": "The encounter that is to be used to pre-populate the form" + } + ] + }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" diff --git a/fsh-generated/resources/Questionnaire-RegularMedications.json b/fsh-generated/resources/Questionnaire-RegularMedications.json index 7c686fd9..edcba170 100644 --- a/fsh-generated/resources/Questionnaire-RegularMedications.json +++ b/fsh-generated/resources/Questionnaire-RegularMedications.json @@ -347,6 +347,26 @@ } ] }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext", + "extension": [ + { + "url": "name", + "valueCoding": { + "code": "encounter", + "system": "http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext" + } + }, + { + "url": "type", + "valueCode": "Encounter" + }, + { + "url": "description", + "valueString": "The encounter that is to be used to pre-populate the form" + } + ] + }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" diff --git a/fsh-generated/resources/Questionnaire-ScreeningPrograms.json b/fsh-generated/resources/Questionnaire-ScreeningPrograms.json index 1dbfd7d2..537bf88f 100644 --- a/fsh-generated/resources/Questionnaire-ScreeningPrograms.json +++ b/fsh-generated/resources/Questionnaire-ScreeningPrograms.json @@ -342,6 +342,26 @@ } ] }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext", + "extension": [ + { + "url": "name", + "valueCoding": { + "code": "encounter", + "system": "http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext" + } + }, + { + "url": "type", + "valueCode": "Encounter" + }, + { + "url": "description", + "valueString": "The encounter that is to be used to pre-populate the form" + } + ] + }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" diff --git a/fsh-generated/resources/Questionnaire-SexualHealth.json b/fsh-generated/resources/Questionnaire-SexualHealth.json index 66fb7e3b..baf879a8 100644 --- a/fsh-generated/resources/Questionnaire-SexualHealth.json +++ b/fsh-generated/resources/Questionnaire-SexualHealth.json @@ -886,6 +886,26 @@ } ] }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext", + "extension": [ + { + "url": "name", + "valueCoding": { + "code": "encounter", + "system": "http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext" + } + }, + { + "url": "type", + "valueCode": "Encounter" + }, + { + "url": "description", + "valueString": "The encounter that is to be used to pre-populate the form" + } + ] + }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" diff --git a/fsh-generated/resources/Questionnaire-Skin.json b/fsh-generated/resources/Questionnaire-Skin.json index 4aa14c05..f85dd756 100644 --- a/fsh-generated/resources/Questionnaire-Skin.json +++ b/fsh-generated/resources/Questionnaire-Skin.json @@ -375,6 +375,26 @@ } ] }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext", + "extension": [ + { + "url": "name", + "valueCoding": { + "code": "encounter", + "system": "http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext" + } + }, + { + "url": "type", + "valueCode": "Encounter" + }, + { + "url": "description", + "valueString": "The encounter that is to be used to pre-populate the form" + } + ] + }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" diff --git a/fsh-generated/resources/Questionnaire-SocialAndEmotionalWellbeing.json b/fsh-generated/resources/Questionnaire-SocialAndEmotionalWellbeing.json index c9f44a32..42c6ca1a 100644 --- a/fsh-generated/resources/Questionnaire-SocialAndEmotionalWellbeing.json +++ b/fsh-generated/resources/Questionnaire-SocialAndEmotionalWellbeing.json @@ -314,6 +314,26 @@ } ] }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext", + "extension": [ + { + "url": "name", + "valueCoding": { + "code": "encounter", + "system": "http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext" + } + }, + { + "url": "type", + "valueCode": "Encounter" + }, + { + "url": "description", + "valueString": "The encounter that is to be used to pre-populate the form" + } + ] + }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" diff --git a/fsh-generated/resources/Questionnaire-SocialHistoryChild.json b/fsh-generated/resources/Questionnaire-SocialHistoryChild.json index d8f28b60..46618cc6 100644 --- a/fsh-generated/resources/Questionnaire-SocialHistoryChild.json +++ b/fsh-generated/resources/Questionnaire-SocialHistoryChild.json @@ -330,6 +330,26 @@ } ] }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext", + "extension": [ + { + "url": "name", + "valueCoding": { + "code": "encounter", + "system": "http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext" + } + }, + { + "url": "type", + "valueCode": "Encounter" + }, + { + "url": "description", + "valueString": "The encounter that is to be used to pre-populate the form" + } + ] + }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" diff --git a/fsh-generated/resources/Questionnaire-SubstanceUse.json b/fsh-generated/resources/Questionnaire-SubstanceUse.json index c80ea2b5..185612db 100644 --- a/fsh-generated/resources/Questionnaire-SubstanceUse.json +++ b/fsh-generated/resources/Questionnaire-SubstanceUse.json @@ -443,6 +443,26 @@ } ] }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext", + "extension": [ + { + "url": "name", + "valueCoding": { + "code": "encounter", + "system": "http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext" + } + }, + { + "url": "type", + "valueCode": "Encounter" + }, + { + "url": "description", + "valueString": "The encounter that is to be used to pre-populate the form" + } + ] + }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" diff --git a/input/fsh/715-AboutTheHealthCheck.fsh b/input/fsh/715-AboutTheHealthCheck.fsh index 16664bb4..dd51462a 100644 --- a/input/fsh/715-AboutTheHealthCheck.fsh +++ b/input/fsh/715-AboutTheHealthCheck.fsh @@ -43,6 +43,17 @@ Description: "About The Health Check sub-questionnaire for Aboriginal and Torres * extension[+] * url = "description" * valueString = "The practitioner user that is to be used to pre-populate the form" +* extension[+] + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" + * extension[+] + * url = "name" + * valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#encounter + * extension[+] + * url = "type" + * valueCode = #Encounter + * extension[+] + * url = "description" + * valueString = "The encounter that is to be used to pre-populate the form" //fhir query variables * extension[+] diff --git a/input/fsh/715-AssemblyInstructions.fsh b/input/fsh/715-AssemblyInstructions.fsh index 1c1fb9df..8dc73e1c 100644 --- a/input/fsh/715-AssemblyInstructions.fsh +++ b/input/fsh/715-AssemblyInstructions.fsh @@ -56,6 +56,17 @@ Description: "Aboriginal and Torres Strait Islander Health Check assessment form * extension[+] * url = "description" * valueString = "The practitioner user that is to be used to pre-populate the form" +* extension[+] + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" + * extension[+] + * url = "name" + * valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#encounter + * extension[+] + * url = "type" + * valueCode = #Encounter + * extension[+] + * url = "description" + * valueString = "The encounter that is to be used to pre-populate the form" //Prepop query //* extension[sdc-questionnaire-sourceQueries].valueReference = Reference(PrePopQuery) diff --git a/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh b/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh index 7965ead8..e67f4dae 100644 --- a/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh +++ b/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh @@ -40,6 +40,17 @@ Description: "Absolute Cardiovascular Disease Risk Calculation sub-questionnaire * extension[+] * url = "description" * valueString = "The practitioner user that is to be used to pre-populate the form" +* extension[+] + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" + * extension[+] + * url = "name" + * valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#encounter + * extension[+] + * url = "type" + * valueCode = #Encounter + * extension[+] + * url = "description" + * valueString = "The encounter that is to be used to pre-populate the form" //assemble context * extension[+] diff --git a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh index 46c87735..c8bb6c5c 100644 --- a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh +++ b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh @@ -36,6 +36,17 @@ Description: "Allergies/Adverse Reactions sub-questionnaire for Aboriginal and T * extension[+] * url = "description" * valueString = "The practitioner user that is to be used to pre-populate the form" +* extension[+] + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" + * extension[+] + * url = "name" + * valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#encounter + * extension[+] + * url = "type" + * valueCode = #Encounter + * extension[+] + * url = "description" + * valueString = "The encounter that is to be used to pre-populate the form" //assemble context * extension[+] diff --git a/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh b/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh index 1806f8e8..012de4c5 100644 --- a/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh +++ b/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh @@ -37,6 +37,17 @@ Description: "Chronic Disease Ageing sub-questionnaire for Aboriginal and Torres * extension[+] * url = "description" * valueString = "The practitioner user that is to be used to pre-populate the form" +* extension[+] + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" + * extension[+] + * url = "name" + * valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#encounter + * extension[+] + * url = "type" + * valueCode = #Encounter + * extension[+] + * url = "description" + * valueString = "The encounter that is to be used to pre-populate the form" //assemble context * extension[+] diff --git a/input/fsh/715-Assessment-CurrentPriorities.fsh b/input/fsh/715-Assessment-CurrentPriorities.fsh index 28fe2be8..667d708b 100644 --- a/input/fsh/715-Assessment-CurrentPriorities.fsh +++ b/input/fsh/715-Assessment-CurrentPriorities.fsh @@ -38,6 +38,17 @@ Description: "Current Priorities sub-questionnaire for Aboriginal and Torres Str * extension[+] * url = "description" * valueString = "The practitioner user that is to be used to pre-populate the form" +* extension[+] + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" + * extension[+] + * url = "name" + * valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#encounter + * extension[+] + * url = "type" + * valueCode = #Encounter + * extension[+] + * url = "description" + * valueString = "The encounter that is to be used to pre-populate the form" //assemble context * extension[+] diff --git a/input/fsh/715-Assessment-EarHealthAndHearing.fsh b/input/fsh/715-Assessment-EarHealthAndHearing.fsh index 1d855218..cc411d24 100644 --- a/input/fsh/715-Assessment-EarHealthAndHearing.fsh +++ b/input/fsh/715-Assessment-EarHealthAndHearing.fsh @@ -38,6 +38,17 @@ Description: "Ear Health And Hearing sub-questionnaire for Aboriginal and Torres * extension[+] * url = "description" * valueString = "The practitioner user that is to be used to pre-populate the form" +* extension[+] + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" + * extension[+] + * url = "name" + * valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#encounter + * extension[+] + * url = "type" + * valueCode = #Encounter + * extension[+] + * url = "description" + * valueString = "The encounter that is to be used to pre-populate the form" //assemble context * extension[+] diff --git a/input/fsh/715-Assessment-Examination.fsh b/input/fsh/715-Assessment-Examination.fsh index aaf3b0d5..8a9eba9f 100644 --- a/input/fsh/715-Assessment-Examination.fsh +++ b/input/fsh/715-Assessment-Examination.fsh @@ -37,6 +37,17 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * extension[+] * url = "description" * valueString = "The practitioner user that is to be used to pre-populate the form" +* extension[+] + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" + * extension[+] + * url = "name" + * valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#encounter + * extension[+] + * url = "type" + * valueCode = #Encounter + * extension[+] + * url = "description" + * valueString = "The encounter that is to be used to pre-populate the form" //assemble context * extension[+] diff --git a/input/fsh/715-Assessment-EyeHealth.fsh b/input/fsh/715-Assessment-EyeHealth.fsh index 9aa1b6a6..46338337 100644 --- a/input/fsh/715-Assessment-EyeHealth.fsh +++ b/input/fsh/715-Assessment-EyeHealth.fsh @@ -38,6 +38,17 @@ Description: "Eye Health sub-questionnaire for Aboriginal and Torres Strait Isla * extension[+] * url = "description" * valueString = "The practitioner user that is to be used to pre-populate the form" +* extension[+] + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" + * extension[+] + * url = "name" + * valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#encounter + * extension[+] + * url = "type" + * valueCode = #Encounter + * extension[+] + * url = "description" + * valueString = "The encounter that is to be used to pre-populate the form" //assemble context * extension[+] diff --git a/input/fsh/715-Assessment-FamilyHistory.fsh b/input/fsh/715-Assessment-FamilyHistory.fsh index 95b2d24a..ef04ad9b 100644 --- a/input/fsh/715-Assessment-FamilyHistory.fsh +++ b/input/fsh/715-Assessment-FamilyHistory.fsh @@ -37,6 +37,17 @@ Description: "Family History sub-questionnaire for Aboriginal and Torres Strait * extension[+] * url = "description" * valueString = "The practitioner user that is to be used to pre-populate the form" +* extension[+] + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" + * extension[+] + * url = "name" + * valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#encounter + * extension[+] + * url = "type" + * valueCode = #Encounter + * extension[+] + * url = "description" + * valueString = "The encounter that is to be used to pre-populate the form" //assemble context * extension[+] diff --git a/input/fsh/715-Assessment-Gambling.fsh b/input/fsh/715-Assessment-Gambling.fsh index 86f27c5a..3dad3da1 100644 --- a/input/fsh/715-Assessment-Gambling.fsh +++ b/input/fsh/715-Assessment-Gambling.fsh @@ -38,6 +38,17 @@ Description: "Gambling sub-questionnaire for Aboriginal and Torres Strait Island * extension[+] * url = "description" * valueString = "The practitioner user that is to be used to pre-populate the form" +* extension[+] + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" + * extension[+] + * url = "name" + * valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#encounter + * extension[+] + * url = "type" + * valueCode = #Encounter + * extension[+] + * url = "description" + * valueString = "The encounter that is to be used to pre-populate the form" //assemble context * extension[+] diff --git a/input/fsh/715-Assessment-HealthyEating.fsh b/input/fsh/715-Assessment-HealthyEating.fsh index 92c04ba2..9b3f4b18 100644 --- a/input/fsh/715-Assessment-HealthyEating.fsh +++ b/input/fsh/715-Assessment-HealthyEating.fsh @@ -38,6 +38,17 @@ Description: "Healthy Eating sub-questionnaire for Aboriginal and Torres Strait * extension[+] * url = "description" * valueString = "The practitioner user that is to be used to pre-populate the form" +* extension[+] + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" + * extension[+] + * url = "name" + * valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#encounter + * extension[+] + * url = "type" + * valueCode = #Encounter + * extension[+] + * url = "description" + * valueString = "The encounter that is to be used to pre-populate the form" //assemble context * extension[+] diff --git a/input/fsh/715-Assessment-HomeAndFamily.fsh b/input/fsh/715-Assessment-HomeAndFamily.fsh index 7ef8f7ca..d1b48c78 100644 --- a/input/fsh/715-Assessment-HomeAndFamily.fsh +++ b/input/fsh/715-Assessment-HomeAndFamily.fsh @@ -38,6 +38,17 @@ Description: "Home And Family sub-questionnaire for Aboriginal and Torres Strait * extension[+] * url = "description" * valueString = "The practitioner user that is to be used to pre-populate the form" +* extension[+] + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" + * extension[+] + * url = "name" + * valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#encounter + * extension[+] + * url = "type" + * valueCode = #Encounter + * extension[+] + * url = "description" + * valueString = "The encounter that is to be used to pre-populate the form" //assemble context * extension[+] diff --git a/input/fsh/715-Assessment-Immunisation.fsh b/input/fsh/715-Assessment-Immunisation.fsh index ab9d3e10..a945a338 100644 --- a/input/fsh/715-Assessment-Immunisation.fsh +++ b/input/fsh/715-Assessment-Immunisation.fsh @@ -38,6 +38,17 @@ Description: "Immunisation sub-questionnaire for Aboriginal and Torres Strait Is * extension[+] * url = "description" * valueString = "The practitioner user that is to be used to pre-populate the form" +* extension[+] + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" + * extension[+] + * url = "name" + * valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#encounter + * extension[+] + * url = "type" + * valueCode = #Encounter + * extension[+] + * url = "description" + * valueString = "The encounter that is to be used to pre-populate the form" //assemble context * extension[+] diff --git a/input/fsh/715-Assessment-Investigations.fsh b/input/fsh/715-Assessment-Investigations.fsh index ff560fdb..6e526301 100644 --- a/input/fsh/715-Assessment-Investigations.fsh +++ b/input/fsh/715-Assessment-Investigations.fsh @@ -37,6 +37,17 @@ Description: "Investigations sub-questionnaire for Aboriginal and Torres Strait * extension[+] * url = "description" * valueString = "The practitioner user that is to be used to pre-populate the form" +* extension[+] + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" + * extension[+] + * url = "name" + * valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#encounter + * extension[+] + * url = "type" + * valueCode = #Encounter + * extension[+] + * url = "description" + * valueString = "The encounter that is to be used to pre-populate the form" //assemble context * extension[+] diff --git a/input/fsh/715-Assessment-LearningAndDevelopment.fsh b/input/fsh/715-Assessment-LearningAndDevelopment.fsh index 0c0b7b2e..5883ad51 100644 --- a/input/fsh/715-Assessment-LearningAndDevelopment.fsh +++ b/input/fsh/715-Assessment-LearningAndDevelopment.fsh @@ -36,6 +36,17 @@ Description: "Learning And Development sub-questionnaire for Aboriginal and Torr * extension[+] * url = "description" * valueString = "The practitioner user that is to be used to pre-populate the form" +* extension[+] + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" + * extension[+] + * url = "name" + * valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#encounter + * extension[+] + * url = "type" + * valueCode = #Encounter + * extension[+] + * url = "description" + * valueString = "The encounter that is to be used to pre-populate the form" //assemble context * extension[+] diff --git a/input/fsh/715-Assessment-LearningAndWork.fsh b/input/fsh/715-Assessment-LearningAndWork.fsh index 177e7b8f..6c99e493 100644 --- a/input/fsh/715-Assessment-LearningAndWork.fsh +++ b/input/fsh/715-Assessment-LearningAndWork.fsh @@ -39,6 +39,17 @@ Description: "Learning And Work sub-questionnaire for Aboriginal and Torres Stra * extension[+] * url = "description" * valueString = "The practitioner user that is to be used to pre-populate the form" +* extension[+] + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" + * extension[+] + * url = "name" + * valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#encounter + * extension[+] + * url = "type" + * valueCode = #Encounter + * extension[+] + * url = "description" + * valueString = "The encounter that is to be used to pre-populate the form" //assemble context * extension[+] diff --git a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh index 00688fdd..2c13191c 100644 --- a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh +++ b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh @@ -45,6 +45,17 @@ Description: "Medical History sub-questionnaire for Aboriginal and Torres Strait * extension[+] * url = "description" * valueString = "The practitioner user that is to be used to pre-populate the form" +* extension[+] + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" + * extension[+] + * url = "name" + * valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#encounter + * extension[+] + * url = "type" + * valueCode = #Encounter + * extension[+] + * url = "description" + * valueString = "The encounter that is to be used to pre-populate the form" //assemble context * extension[+] diff --git a/input/fsh/715-Assessment-MemoryAndThinking.fsh b/input/fsh/715-Assessment-MemoryAndThinking.fsh index e88898bd..c8223c70 100644 --- a/input/fsh/715-Assessment-MemoryAndThinking.fsh +++ b/input/fsh/715-Assessment-MemoryAndThinking.fsh @@ -38,6 +38,17 @@ Description: "Memory And Thinking sub-questionnaire for Aboriginal and Torres St * extension[+] * url = "description" * valueString = "The practitioner user that is to be used to pre-populate the form" +* extension[+] + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" + * extension[+] + * url = "name" + * valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#encounter + * extension[+] + * url = "type" + * valueCode = #Encounter + * extension[+] + * url = "description" + * valueString = "The encounter that is to be used to pre-populate the form" //assemble context * extension[+] diff --git a/input/fsh/715-Assessment-Mood.fsh b/input/fsh/715-Assessment-Mood.fsh index ec89ff03..b2f604d9 100644 --- a/input/fsh/715-Assessment-Mood.fsh +++ b/input/fsh/715-Assessment-Mood.fsh @@ -37,6 +37,17 @@ Description: "Mood sub-questionnaire for Aboriginal and Torres Strait Islander H * extension[+] * url = "description" * valueString = "The practitioner user that is to be used to pre-populate the form" +* extension[+] + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" + * extension[+] + * url = "name" + * valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#encounter + * extension[+] + * url = "type" + * valueCode = #Encounter + * extension[+] + * url = "description" + * valueString = "The encounter that is to be used to pre-populate the form" //assemble context * extension[+] diff --git a/input/fsh/715-Assessment-OralAndDentalHealth.fsh b/input/fsh/715-Assessment-OralAndDentalHealth.fsh index d8f91d08..18e14929 100644 --- a/input/fsh/715-Assessment-OralAndDentalHealth.fsh +++ b/input/fsh/715-Assessment-OralAndDentalHealth.fsh @@ -38,6 +38,17 @@ Description: "Oral And Dental Health sub-questionnaire for Aboriginal and Torres * extension[+] * url = "description" * valueString = "The practitioner user that is to be used to pre-populate the form" +* extension[+] + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" + * extension[+] + * url = "name" + * valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#encounter + * extension[+] + * url = "type" + * valueCode = #Encounter + * extension[+] + * url = "description" + * valueString = "The encounter that is to be used to pre-populate the form" //assemble context * extension[+] diff --git a/input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh b/input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh index ef05e93b..8d80c60a 100644 --- a/input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh +++ b/input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh @@ -38,6 +38,17 @@ Description: "Physical Activity And Screen Time sub-questionnaire for Aboriginal * extension[+] * url = "description" * valueString = "The practitioner user that is to be used to pre-populate the form" +* extension[+] + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" + * extension[+] + * url = "name" + * valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#encounter + * extension[+] + * url = "type" + * valueCode = #Encounter + * extension[+] + * url = "description" + * valueString = "The encounter that is to be used to pre-populate the form" //assemble context * extension[+] diff --git a/input/fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh b/input/fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh index 9cc03af9..f28068f9 100644 --- a/input/fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh +++ b/input/fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh @@ -36,6 +36,17 @@ Description: "Red Flags Early Identification Guide For Children sub-questionnair * extension[+] * url = "description" * valueString = "The practitioner user that is to be used to pre-populate the form" +* extension[+] + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" + * extension[+] + * url = "name" + * valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#encounter + * extension[+] + * url = "type" + * valueCode = #Encounter + * extension[+] + * url = "description" + * valueString = "The encounter that is to be used to pre-populate the form" //assemble context * extension[+] diff --git a/input/fsh/715-Assessment-RegularMedications.fsh b/input/fsh/715-Assessment-RegularMedications.fsh index 94c1709a..c6a1c1f2 100644 --- a/input/fsh/715-Assessment-RegularMedications.fsh +++ b/input/fsh/715-Assessment-RegularMedications.fsh @@ -38,6 +38,17 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * extension[+] * url = "description" * valueString = "The practitioner user that is to be used to pre-populate the form" +* extension[+] + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" + * extension[+] + * url = "name" + * valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#encounter + * extension[+] + * url = "type" + * valueCode = #Encounter + * extension[+] + * url = "description" + * valueString = "The encounter that is to be used to pre-populate the form" //assemble context * extension[+] diff --git a/input/fsh/715-Assessment-ScreeningPrograms.fsh b/input/fsh/715-Assessment-ScreeningPrograms.fsh index bb322513..62e76be9 100644 --- a/input/fsh/715-Assessment-ScreeningPrograms.fsh +++ b/input/fsh/715-Assessment-ScreeningPrograms.fsh @@ -36,6 +36,17 @@ Description: "Screening Programs sub-questionnaire for Aboriginal and Torres Str * extension[+] * url = "description" * valueString = "The practitioner user that is to be used to pre-populate the form" +* extension[+] + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" + * extension[+] + * url = "name" + * valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#encounter + * extension[+] + * url = "type" + * valueCode = #Encounter + * extension[+] + * url = "description" + * valueString = "The encounter that is to be used to pre-populate the form" //assemble context * extension[+] diff --git a/input/fsh/715-Assessment-SexualHealth.fsh b/input/fsh/715-Assessment-SexualHealth.fsh index bd8b13bd..185dbac0 100644 --- a/input/fsh/715-Assessment-SexualHealth.fsh +++ b/input/fsh/715-Assessment-SexualHealth.fsh @@ -40,6 +40,17 @@ Description: "Sexual Health sub-questionnaire for Aboriginal and Torres Strait I * extension[+] * url = "description" * valueString = "The practitioner user that is to be used to pre-populate the form" +* extension[+] + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" + * extension[+] + * url = "name" + * valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#encounter + * extension[+] + * url = "type" + * valueCode = #Encounter + * extension[+] + * url = "description" + * valueString = "The encounter that is to be used to pre-populate the form" //assemble context * extension[+] diff --git a/input/fsh/715-Assessment-Skin.fsh b/input/fsh/715-Assessment-Skin.fsh index 8e177d59..c3de9692 100644 --- a/input/fsh/715-Assessment-Skin.fsh +++ b/input/fsh/715-Assessment-Skin.fsh @@ -38,6 +38,17 @@ Description: "Skin sub-questionnaire for Aboriginal and Torres Strait Islander H * extension[+] * url = "description" * valueString = "The practitioner user that is to be used to pre-populate the form" +* extension[+] + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" + * extension[+] + * url = "name" + * valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#encounter + * extension[+] + * url = "type" + * valueCode = #Encounter + * extension[+] + * url = "description" + * valueString = "The encounter that is to be used to pre-populate the form" //assemble context * extension[+] diff --git a/input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh b/input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh index d959320d..9b62797a 100644 --- a/input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh +++ b/input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh @@ -38,6 +38,17 @@ Description: "Social And Emotional Wellbeing sub-questionnaire for Aboriginal an * extension[+] * url = "description" * valueString = "The practitioner user that is to be used to pre-populate the form" +* extension[+] + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" + * extension[+] + * url = "name" + * valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#encounter + * extension[+] + * url = "type" + * valueCode = #Encounter + * extension[+] + * url = "description" + * valueString = "The encounter that is to be used to pre-populate the form" //assemble context * extension[+] diff --git a/input/fsh/715-Assessment-SocialHistoryChild.fsh b/input/fsh/715-Assessment-SocialHistoryChild.fsh index 373649b4..d584ef96 100644 --- a/input/fsh/715-Assessment-SocialHistoryChild.fsh +++ b/input/fsh/715-Assessment-SocialHistoryChild.fsh @@ -38,6 +38,17 @@ Description: "Social History Child sub-questionnaire for Aboriginal and Torres S * extension[+] * url = "description" * valueString = "The practitioner user that is to be used to pre-populate the form" +* extension[+] + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" + * extension[+] + * url = "name" + * valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#encounter + * extension[+] + * url = "type" + * valueCode = #Encounter + * extension[+] + * url = "description" + * valueString = "The encounter that is to be used to pre-populate the form" //assemble context * extension[+] diff --git a/input/fsh/715-Assessment-SubstanceUse.fsh b/input/fsh/715-Assessment-SubstanceUse.fsh index 65467668..fa48a037 100644 --- a/input/fsh/715-Assessment-SubstanceUse.fsh +++ b/input/fsh/715-Assessment-SubstanceUse.fsh @@ -38,6 +38,17 @@ Description: "Substance Use sub-questionnaire for Aboriginal and Torres Strait I * extension[+] * url = "description" * valueString = "The practitioner user that is to be used to pre-populate the form" +* extension[+] + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" + * extension[+] + * url = "name" + * valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#encounter + * extension[+] + * url = "type" + * valueCode = #Encounter + * extension[+] + * url = "description" + * valueString = "The encounter that is to be used to pre-populate the form" //assemble context * extension[+] diff --git a/input/fsh/715-Consent.fsh b/input/fsh/715-Consent.fsh index 4d0c6ae5..3db3dcc8 100644 --- a/input/fsh/715-Consent.fsh +++ b/input/fsh/715-Consent.fsh @@ -40,6 +40,17 @@ Description: "Consent sub-questionnaire for Aboriginal and Torres Strait Islande * extension[+] * url = "description" * valueString = "The practitioner user that is to be used to pre-populate the form" +* extension[+] + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" + * extension[+] + * url = "name" + * valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#encounter + * extension[+] + * url = "type" + * valueCode = #Encounter + * extension[+] + * url = "description" + * valueString = "The encounter that is to be used to pre-populate the form" //assemble context * extension[+] diff --git a/input/fsh/715-FinalisingHealthCheck.fsh b/input/fsh/715-FinalisingHealthCheck.fsh index 11323620..32a79478 100644 --- a/input/fsh/715-FinalisingHealthCheck.fsh +++ b/input/fsh/715-FinalisingHealthCheck.fsh @@ -37,6 +37,17 @@ Description: "Finalising the Health Check sub-questionnaire for Aboriginal and T * extension[+] * url = "description" * valueString = "The practitioner user that is to be used to pre-populate the form" +* extension[+] + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" + * extension[+] + * url = "name" + * valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#encounter + * extension[+] + * url = "type" + * valueCode = #Encounter + * extension[+] + * url = "description" + * valueString = "The encounter that is to be used to pre-populate the form" //assemble context * extension[+] diff --git a/input/fsh/715-HealthPrioritiesSummary.fsh b/input/fsh/715-HealthPrioritiesSummary.fsh index e45d657b..6878f01d 100644 --- a/input/fsh/715-HealthPrioritiesSummary.fsh +++ b/input/fsh/715-HealthPrioritiesSummary.fsh @@ -37,6 +37,17 @@ Description: "Health Priorities, Actions And Follow-Up Summary sub-questionnaire * extension[+] * url = "description" * valueString = "The practitioner user that is to be used to pre-populate the form" +* extension[+] + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" + * extension[+] + * url = "name" + * valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#encounter + * extension[+] + * url = "type" + * valueCode = #Encounter + * extension[+] + * url = "description" + * valueString = "The encounter that is to be used to pre-populate the form" //assemble context * extension[+] diff --git a/input/fsh/715-PatientDetails.fsh b/input/fsh/715-PatientDetails.fsh index 53fc9704..978e0adf 100644 --- a/input/fsh/715-PatientDetails.fsh +++ b/input/fsh/715-PatientDetails.fsh @@ -45,6 +45,17 @@ Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait * extension[+] * url = "description" * valueString = "The practitioner user that is to be used to pre-populate the form" +* extension[+] + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" + * extension[+] + * url = "name" + * valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#encounter + * extension[+] + * url = "type" + * valueCode = #Encounter + * extension[+] + * url = "description" + * valueString = "The encounter that is to be used to pre-populate the form" //assemble context * extension[+] From a7a402e25b858e3f6d97889199cd05278504636f Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Mon, 22 Apr 2024 15:12:49 +1000 Subject: [PATCH 032/177] Add updated assembled health check questionnaire --- ...esStraitIslanderHealthCheck-assembled.json | 29 +++++++++++++++---- 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json index c08216b6..d2d816b3 100644 --- a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json +++ b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json @@ -2,9 +2,9 @@ "resourceType": "Questionnaire", "id": "AboriginalTorresStraitIslanderHealthCheck", "meta": { - "versionId": "17", - "lastUpdated": "2024-04-08T23:49:42.142+00:00", - "source": "#qG2CoPlXjUZJvCJd", + "versionId": "18", + "lastUpdated": "2024-04-22T05:11:07.440+00:00", + "source": "#TZohXBVe35PdsfUc", "profile": [ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp", "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" @@ -1350,6 +1350,26 @@ } ] }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext", + "extension": [ + { + "url": "name", + "valueCoding": { + "system": "http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext", + "code": "encounter" + } + }, + { + "url": "type", + "valueCode": "Encounter" + }, + { + "url": "description", + "valueString": "The encounter that is to be used to pre-populate the form" + } + ] + }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/AboutTheHealthCheck|0.1.0" @@ -2389,7 +2409,6 @@ "linkId": "84162f36-f4af-4509-b178-ef2a3849d0b6", "text": "Date", "type": "date", - "required": true, "repeats": false }, { @@ -4791,7 +4810,6 @@ } ], "enableBehavior": "any", - "required": true, "repeats": false }, { @@ -4823,7 +4841,6 @@ } ], "enableBehavior": "any", - "required": true, "repeats": false }, { From acd19abef20f9d02e1f7da9fcc909830cb06c81f Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Wed, 8 May 2024 10:25:19 +1000 Subject: [PATCH 033/177] Update licence --- .../ImplementationGuide-csiro.fhir.au.smartforms.json | 4 ++-- ...originalTorresStraitIslanderHealthCheck-assembled.json | 8 ++++---- sushi-config.yaml | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index ad3059f5..39fa8699 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -20,9 +20,9 @@ } ], "description": "Smart Forms FHIR Implementation Guide.", - "copyright": "CSIRO © 2022+; Licensed under Apache License, Version 2.0", + "copyright": "Copyright © 2022+ Australian Government Department of Health and Aged Care - All rights reserved. This content is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. See https://creativecommons.org/licenses/by-sa/4.0/.", "packageId": "csiro.fhir.au.smartforms", - "license": "Apache-2.0", + "license": "CC-BY-SA-4.0", "fhirVersion": [ "4.0.1" ], diff --git a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json index d2d816b3..cc96d1c3 100644 --- a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json +++ b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json @@ -2,9 +2,9 @@ "resourceType": "Questionnaire", "id": "AboriginalTorresStraitIslanderHealthCheck", "meta": { - "versionId": "18", - "lastUpdated": "2024-04-22T05:11:07.440+00:00", - "source": "#TZohXBVe35PdsfUc", + "versionId": "19", + "lastUpdated": "2024-05-08T00:07:47.227+00:00", + "source": "#0rt8Jr4QoWfsKLzM", "profile": [ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp", "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" @@ -1536,7 +1536,7 @@ ] } ], - "copyright": "CSIRO © 2022+; Licensed under Apache License, Version 2.0", + "copyright": "Copyright © 2022+ Australian Government Department of Health and Aged Care - All rights reserved. This content is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. See https://creativecommons.org/licenses/by-sa/4.0/.", "item": [ { "extension": [ diff --git a/sushi-config.yaml b/sushi-config.yaml index c6de0ea5..56e9456b 100644 --- a/sushi-config.yaml +++ b/sushi-config.yaml @@ -13,7 +13,7 @@ version: 0.1.0 fhirVersion: 4.0.1 # https://www.hl7.org/fhir/valueset-FHIR-version.html copyrightYear: 2022+ releaseLabel: ci-build # ci-build | draft | qa-preview | ballot | trial-use | release | update | normative+trial-use -license: Apache-2.0 # https://www.hl7.org/fhir/valueset-spdx-license.html +license: CC-BY-SA-4.0 # https://www.hl7.org/fhir/valueset-spdx-license.html # jurisdiction: urn:iso:std:iso:3166#US "United States of America" # https://www.hl7.org/fhir/valueset-jurisdiction.html publisher: name: AEHRC CSIRO @@ -241,7 +241,7 @@ menu: # * modifierExtension experimental: false # * useContext -copyright: CSIRO © 2022+; Licensed under Apache License, Version 2.0 +copyright: Copyright © 2022+ Australian Government Department of Health and Aged Care - All rights reserved. This content is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. See https://creativecommons.org/licenses/by-sa/4.0/. packageId: csiro.fhir.au.smartforms # # From 6517a8610c7472e57fc59aaa14b6b2bd1ebedfd0 Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Tue, 21 May 2024 17:08:27 +1000 Subject: [PATCH 034/177] Update integration requirements document --- ...martHealthCheck-PMSIntegration_20240409.pdf | Bin 0 -> 735605 bytes ...rt-health-check-application-integration.xml | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 input/images/CSIRO-SmartHealthCheck-PMSIntegration_20240409.pdf diff --git a/input/images/CSIRO-SmartHealthCheck-PMSIntegration_20240409.pdf b/input/images/CSIRO-SmartHealthCheck-PMSIntegration_20240409.pdf new file mode 100644 index 0000000000000000000000000000000000000000..676c5bf44762d5e20825851ce928f30dc062b24a GIT binary patch literal 735605 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

s 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�mO?uCnDK|FB2GyP!`aO=crjPSv%&I}jx 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�X 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℞D?vZ_Q`&54Gpw&*7lewAqL!EJRtKeQPj#B8)Mz!|pw@AUeINZ;_ zX0%SSk-R*c1lJ14nW7sK_MaxMnur`3_@8!O5sp*Uo! z&ZVTw2=gqbOul#%6SloNnyQ%X2(b3~)#B6q8m-G}LDH#rRskYJ-E(N}N~4<=ZkT9( z* zQ5@!*E#&T?9v11%=?}2g`w3L2x)WyU-G@msf|G42l)0otG|9HUmj)-v3o4X8baw*l ztelx8mZ^$l{eXvZ5FfihU@0!|u|7Wm3Q;XadwrCt)JEN{VOr`4o-pPgrw8@LZuF>h zLvyATqt-p86e$B|CUSy`g>(wy$nmI>9lk#WvPdj~Y}cq1atEkPCXP*8U;#CG+dUioM2Xx|i`ZF6<1XGcSS(6if0 zVFw_)GDHTZ7hqW8jHn`tM;{MqnQY-GQjZuGQ3g#g6e*H+@ksG3nImxQ*Ft)1*1nlVXV3g8r|8O{0o24RBdS9yvKUyN zE~}@&D_Yn{1;9-_o;3Dq&(2}b8s61DE?+h@aJyFe-gzXzQP>zv>add%S>M{IX%b!PRxIAD*nc6GtmFD z+w{L_Kk6?ZVLDNE{4YrTA3Hpvf4L0*yL~JEi|{Z5{lAkQX8s#5{^#6(JqZ6XKFrF< z@_+0!b?RI=th3Jj&PsiU&+z6rDJp{W-IgMaG0AAQaGxwh=bCRXJ~1*)jb0dur<8Qs zNPpY1aS>2V1c$$YigUHCDQ%gvqZy|6jztbC7J`o9t=OY}dM7UWcH?e8%;3TLd{-o*fu?Me+s1 zsjR^(;I9LWgP7~M0sKL`4mtC3%7ka53jWeC+65E8Z$|ot?4*X6&lF=cPiPd3j`T={ zILKAmcRWWhxG%Gy5#Q{$6*AC3&kYoA&~5`~5SKC9agK*=41pz*=PSx6Vvi4p zkv}T(MKz5AX2qtB=Kb9#ENvyB-TI1d=lHU z1M9ej2)6_p?=7$4ww;0C6B$m3&yckb4h(CE7n#-Fwksg6>oYeJUu}p^4=-dT@{La4 z+v>2-uM5=aH-00sI1#`W^m({Ni7U#3{h==)i*9F6C%!;h3dTlS zt-()jeQ5TT<%D_7A^{Tv*SA>;=sn5(JSPhRO~BA-xcBClKdPzy$puO%;XTO&m~HCk zmy8qu6j>94B6VUqAO=Tkt6E3m(uZeMvbVJ5&|cJIHLk`%v8w6lSJ>EVe`7o{>+1{P z>RX`s`tWtMQSeP9^~1lMz*Wd%kIK(qYO{#6Z`I`durSpaRc zWG~@#ZkfdSwsfwZshupbn3j+vsEE0RnD!k;4ihRe0~AakHzwqmoy0ofms%MJ*dG4{ zbA`4(YKVAXQ-c9eQaLY*$b-yZXn2Dd=HArILC8=^w7q#Bnhvpi`iQG7OLE>9Sr?L~;F=F3M!BOB;I>zD{3LH=*wvqrxNwMQ$U3(|6bImoVN*vOz{szg5u!uR z>ugq^5>O(K`UC4aC?Zd?$BRy52#J^>ckddaJXSKU0n-_w)!}0(%nlQaY6;8^ERLS(nrxA2Uy zbG%n^pf;+$h%BnRt;g6m8QIh*cgQ%=*`xHSmP!vx#+lN(qQw_t4!*LE&jm?Rin?5$ zPykdM4I11?rXWXsI6Q*OA$A5515<)&))sdLnI^zd0SnP!YeF!_9wPs=Es*bl3^UEd zJhb=CuM4vhCs3$&u=dOYeRp}~cUaVxm@*dr)|0FXST3!V@Vnjwk~a3u0-j6>swRMO zk|yx=r`qr!#$Xe|rO&V-i>}45V;~4S>Vn3Z3{&;fAP8gTC!97KYPi~oA=dhQ#M6*I zffHb7X=*&V4Q>E2<+T&kUqR=G`hMj3C*9705d}eCcuv(FA#G|)b2Xo0C?8T$4vL<;cQp>`R~Q9+YcS=sgFe{N6UiAP z06t5`r5rPA_-ABv>FX55(y!@gaoMZ;;474M*vI4Vz)js<5*A&_oa~wKvxR|C9Yuv4 zLP$th;Pi~gVZ14S`vd`&mt118JMO<8O61DvV1%VxYw{NY@Xr#P`t+ca@m@L2~8Kj!kp@h7hxdYPn*|G4}H% z*HnLrk0kG&5G?yVqE|2oIEpR|r%tx0?xOs13c!;8%!oANlVN!hLjjmFh?x2lQN=rL z=FsO2x=~Ur6KyOada|scz8YsNl*)Zjk|0^8&I1!#FO*sfntidD;sl}|j>NDI@g<-z zu#O{iNckQ`8QXVkloagGr?4m4k~H!7>4uYFq7V=?3Oc7v^azCd91JTTO8=FSj<>5nD6a3{#(G))JiG7Nwj_9BVo=qUYb45XN6DPe z09`2`;zfw32-!v%8azqyxve>f%A=MSghT-HcA5qLBR(>gkiFCuU$$)xY-ZrQ5a zWvGcAxuAWNz}7)(yxqT}p270skDe+4nNEtvrC>n#>$g(|M)1f2P1~)p zLehUk!34p3GW*$klsJKq!QXLe^tlXn0jXCBqQzNjq)a^2%0+H39v)I}Ex|a%YswVK zR0$H>(&%iVeUzn>9r(1KCD=f6)aijYJL&nY(S)eIs-hea=qLNiNnxS4t(3LoJou8b z)MT)nyH-mW>zvq<2)7R*(p2XxY7dvdNYW;cvzoZ2l_nfh`a|f#OMbA-bEF{ z14J20QEu%C;uJNr7;JCH28S=JFmHL>xd+nR>T&(Ofr^TxSb4Gs@<`M!3d_o2&IdDF z8f5k}E#DBNXZ`RGOQPl<&L6HBHtdOUi5Zx!t}b5&uJLfRAw|#FF~2BXL(%xj+`D@G z50|irGSB6E`>fApo7JZFIo#&;I2>w1w z0Og&`)hns@s*bynL)(R$Q)Ph?xk*)5%A=)TkOvitg6;~`6r&&)-YlO+6J7W~iuCmy z1W;GTvVT`5tFoNdG|+r1{|wBV8!~J(sjVsKiJB1A0ZvJ)n?hkBgx*Hr}%m2fDX`gtD{()mz zRP+$MS%J%nf#|>|3mdTNntRy(X1Y9A4y%h>+`YvQfVy~{b|_zTw3v@_6gw*I*vlU4X<}1a&Jc@0D?1N$Bm87)gD83^XYQ|@ZVuA} zEX-5`8zQ0E1YU|T{#1&_Kr^_%0gILs{KtTV=|U&LnMQDu#qX1Jo$-h`4g#EMAv^Q* zGBpWMYD4B_hwfvf*q&{RC8B{(-jbf0tgAcom7=JBD%vS-ONS5{D+@#h_*LVkq8bGx zOz;0$`3O0;@bbnu$gnj=-w zjjSLW<1%vAz067?X|7yz58JFG&HZhEneF^i4n1UQl8pnuit`(hG?kWNcq~RTjPztZ z`4h=bWU1-_Advg2o9|#GI8fNrc@L#rGcwCrC_MN?1hneGBFri)+q&jco>*XRd+xBd z<HJqGo95w=STu%H!K{boEw=Fw(=_z` z>GIcQ&m}qyZZK9jSmVo~b9zR^F4z2o)wEMhC}rzRfA`}y9WypN#w)1aM42@qdh1VR zQdt&r*k0x~bLd|3w58Ta@p0#d269MiEalVak@RZ>$l=lQzo-h9H@@rfF8}(Y?)Q}L zyQ379uv`|YSE^=X#Lha_4u0W|Wl_E^x1KZmkn}=rIE^GXYjrC)KE34~ z7%l4l`u_6l9G$Wy;;l@mq~8Ce-(u-dpW{^}!*|q_$Fl9Gw#7CofA`#Z>4$*Pd|qQn zZ;Xyyw1WnUk%gSw|F{t15Et}B)H~M4&kMY4^8UGOitzMs;8&VT$@Xm;eL@hZ#=#v8 z;qABhi^(cB>q<#+lPe2z#(oBu$=35S5hhfHg`V}As<1W}uqbIm#|ItOEUPS*>{pJ{ z2SC^2v<)sxCQHJ?)fVQ9@&G$!Fy6Qf9aRp03ci#-=g*kH>`Y3j_{!1U5~=d=CRJct zCNFS@c*J~%U^ZMbctrkmdxBh#i2ck_ddPgm0K1hH$d_n=VhEy8ta;e)L7GC(OqHdy z08A)=rTB|E@4!l9Sq#&Q=BdlX)8j}g5OV0-sjG{GjYH}9Vx|j7im%E!N)me>nrQjO zsw;@ML*rB04>X9{8$X-aVzy-V$~PP=7(;=wykCXSUdITxbXLj7_mS6;hWxzJt|sR3 zDm4DOKYsEDKTF2?k~aB!>0?PCFg~>_AJIMZ5Us{!{|Tt0PNMzL=DfIJ!z4j*LRPN_c z>=Ng-jd;V>T&}_;MDxp&N+mAy550=yvf%d!w!cKSg{<{=VE&?|Y&>^R73#lmlQF9> zx#Fc7un+z53+=2^b%At}=LT?r>audwXKq25q=uPIG9(&U3xExVZ z5kzQa8Y$m%i6_pxVam%hM&C%&?WJv3LeCHbyD($@fvRH&^e8|UkFMnVfPk_UKYhi% z--@(OL5F77n4w9P;Vj7@_BW#zapOpo*8@Ym%g4DaTAIpGpv~bp6-zz}!eLd`iyd3u zw($i5!_>VTdAFbp08PE_0i2W5h&!fVS#e(zI$i5}>wJw`jM{^}OzBp+Ba__^m5ZG= z1e+4+PK=KtJXvQyuk+0eI!PV)i22DUgpW+QHM|ErWRB`jjgx(b>f50Dy-0bes7iO zhZH7m3t)l8zO|1*>zKw#$3KL0sgLT3p2fx=?I>l(SAr-^FC2OC4qgaOY~eMMWjJwi zlD#R1#aPT;JXtpz*m(d%S%`EyiHjmbwfrx@!tfM*j6i z(7*>oR$X+(lHiX*2>nUMZUGR15HBl#HRK%`kM<d5A7{RXt!k^b#y-(S;0M;3%Tb!dU0Z5RCs^UIhW>#7tTS zv#nxoRZ4}rZqzwiWMPv^<#4)&aILVpq9}V}@2YMv(Q~mO8+qrm#*s?}n^q^g)K3Je z{#Y+O_(-P%+mXcrQ_p_FhW93h(4y(J5Ky=2#5`VYY?EFY9BqX$TIVcxG^3^Nk1PWX zORH{`6sfK0cstTnG2dA$yi~)(4V;6X3}yUeewj{}9T$6K7|6wDC;rAI4fy?X>LZEU zhsAl&of8bVBNMocf8zPJmEq1t!=r5aia)Y)^rq6`F%;{{t6M#IhH|G9tz9CYYe3}0 zMyj_jtTR_RIcJv%G453nn(oZuhDZNOsc-&g=*5A60Ekd8=P_m#gEYj6<3m#XZ->>- z)@?z*-(n&-tK+pH*mdfYnX9lbrlDa#d^^U}KlYbO1J`xYHN03N9uBcO^dqZY@rHI_ zFZz!ye93Tw{!QCPpk+hOd>4CMjUEu(cP9t*t{T`nsc(#KHzyb3%l)H9B;VEyJUDbD ziK9*hDJDhi20K`LPOAu`O zK7p6`Eza36?|`=Rg;lDFy z#Qa}KI}HEK{lBjMFf(xcQ#JYzc+8}ZhV8mIk~iDV_smTKv%11XfEofuO_uRquW3RU z?!*&Si*6ojD!>h`&&SFRinMl%hL4J6LCkJSs`rB_>(8F{lA77Y`AZKT-gA1` z#|}qfFM$A(drF+TB!ynlI0U@=Q@AJuyf`HUyq_&`Ae(OFaB>$A?g^4);hBdPBBq0Y zIOUoC>^Q=ABl$+(o@#q=vONbLp7(j`Euh3@7C&^$E$41)_{;Zs>$y92Tn`Rj7kH>T z1U#l7%-qbd3%w$in8F-_z{AfD7vsJK?}CI|_2(X3DkmF^SLS0ML6?+l81Vx=XViuF z-u&f=JvgPe{0SK^bMMc~@GhhuP7Ls_ni`mBbu{n?-2h$8pww&bjmf80uVs#+p7$C| zaW#7XZba|hFODsAdIa9+#JEsbG+eD@MBwP!fv{L+Gr+@ah#YvDn^e50oqV@}k;4;* z7>4r^n4?kZY2=~!)M4t2EkIWkF-v)yIeXeECUMW+(LnDQqf*5PF$ zkaBUM`_T!}Fyxt|5uKJrreb@LOZ?K8e)-iQQ7~eL%t;QValJ6osPR_AT0|pCe@XI0 z)lJ-v4^?X|vthY;8xm~$xeEoO+5>BYzEKyS0;DK0*@U}E$qV_o_~P=fA*I%s*vy^) zTptc%R61p&p?cp6rMq$F1W?M^zjzZTFyNb6`*%25h+w!$Smic(Vr&930yb89bxSj3 za-`6QIqKf*;jIYGuy0A$OOP$%atJ*c1hc*6CvIm=_$4@iYrwOgj0mSkP*dFi{mK?f zFrZ!o(l&19F!P_tIM;3?py;BIpmZ_@a<3wKV-AreS8%|S!Y8aOC)+yVF~9El_7RAGoWv#iKI8yt)QHOgeo0fm=oy{ z^OI#vm{p&uqo|=~oK+ji#Ja%o790wzbC929perDS(pHZ36Ki!FvV3iXX(XY@n}GA! zE{@fgLz_C~f*9!{b?EKPrQ&i-pGZmnINb|NhjFi)MT?lN5+vltD{uXJkC0;AP-9pI z1lDWA;MswB=ST)L(onsb6jI z_chWu%0uzPv(rbXDp+Y^)8Cccf|hP0TOk{0?ARV(^-fA5au6q1*C)yim;er847uY} z2y^G6Do6Ji#;;5}2fQw`(Cxy|WPJ#fGMX3qYjk_`Oph6QCT^h*!qeoZ{ zoKyrZ?Lf#EE?ZFfBDw^iA-!DqbGYi1KJ6L1hLfJaZUo>W{fc-D3HU)>O#Vhtx+A^l zd36@r-k42S9-pQUK<8O#tH~=ChKqpg{!8C0;#2;BmeFP&q!K%pu7jSwmqUUjHI#mlop|2+ zccOv}D^@FPWJGWL3F?)Z$=|6~?QBLjFF87UT=!93EaAa`v&})F9|Iw4wcNnJ>Ouwn zctQ6u7Rv*dGnO*O$Xo)9Rf~01agQ z*W})y79G2`Ej6Ye&$Vau{t@j#9U*k=)k@Q}Q4_zjW?KAnrBIY<^5NNuF3qZXL3M_D4nxYjvp2FIvpVr zkN0r&a%eHP^%%hf92k>NHN(FOWoDz23@U`vlvQ+Ob(H8?~hLLiza( zD{QE!zcdwrqcZmlt*zq`awOTYe|9q-XPmrb&c1{1-BS_{DGB49A8@e7jYtzRtsNS* z{2(Ek@(>v^qD|rFEv9*Rph$)Jzocn%?bvu1QFUO2x_OOBibm#9DBZ@#B0R!@k-hV) z`g1z|HdKfMU|bJ4)e+=}d^jZy<7X%@R;hy4{?5GhZm&@WJ<>Jw$I@U;hH%-&thsm+ z`U6eHBA}r&LD<@$I2|z+t-&hzOadm~H&V;H7!M^+UYQAjEdXIH#=iJ#~ z`FN_aVHXxmdgL8?&8q|#qOmr+jE@!%lftQ1CqwimaHb~>FuP+P))I%`h}1IGJYk=h zr;go?RxY{tj^EV->qigp!rG0i!cQ3FKy#CfJ5cgJcDX_mTdLk&+(UVXe?Zti zBuqK0>gF!@p2vHQ3*o&bSb2Vm{5>~LDxSzK1|Xqt?i1j?1HOsMUqk2t+M(4NTwbqdxTB{sA>hKZ)t^$>vz{w&=m+y%!h^S z$86()zKAGeN4ujUmH@Gt!Y3wT7NA7wlBHgeqhXB;GINyB3}J00zP|>}`}GPJ#R3iR zA&H*&jDWH-i5Mu>EiL!YU8a-B_CzDY!+u54j)XPvJuFy>rQFzN!hL^V~x zQhha_7KNJXZNmaGH9|Du@@8q_Z1D?NCVDQ-x$(et2e30vL)A;vU`&jX~A-b*7Vm4#`f=s1N)CED zI@=iRDlj>qTSj9EIL}arc-(QoviXN6$ksy5n{2VNve=p<)f>-mchR1;kApdJ755BH z4>##hV>jM+nN@w*Ew@(E`74*6_c3C(t2G;6z*LZgF83J~d()uHzBgtV^OUNLTVK4a z&6TOR9al(|3z~@3p157LJ`{C($T+j1aKLzyGiI^`XF&X&YRX(jZ(Qu$nH&8~VR%YW zK2h+ZSb1V?=un5Tq;RWTF<#QeqNJ1QGiAnDe1!3u#UQ)O?=-sc(A}h|CQs10#>PNn zeeSGk%&m-Qxdq6(DN$FVSD5SWEIXAfdlZB;g#9 z3n_%3EFG0IFg!CM)`8_3QA5K;b9RC@uzWTmHj9rm97GyGlwXp zK&EjND0Qq;+G97!ILq4bhIY=^BGgYB=RGE4ZtRD<#yd)gKV686+~LpOhY)_9Y~L(Z zr4J(|nzW&_L{nmNJ|yMX;#%MaZMxclN~vvL4rNUL$KVX`Qe!lVQwsls_q3=wqOsA3evmc$q`t|9+Q&_vNy&gb*O|we4$-x&;_rpScrGOh zTaxSkj1i)|1Fx91;TvVBGcOoQP@Po6GhA+e;(j!+jbfzWbJ=TbtiHvwycaLmye8qp z#T3dv#gkChSrD~^#^vSPV}_qqgz`WvLQAT9NkLE6)8=Sv8HAS5ml@?JR52Q~v3&OO zO!evK@wuqk)v;E1^8M7^!^O5Rs}&A}9)EZL%0}{#Cr+AVtf-vW_^ee)rZA@Fl+JWo zAh!k?VWYm{d}d3Zwj8N`dXPT;@K->DP$riUrd}$dk31O=# zC0W1k0j-m(*)5VRd->ha2ZD(wW1eE{`?yE(6%Lb;q1VZCaq(5R>$9ItOAaYp7Y{$ra9@g1zG*1jxC|Ilmb;c5|V1uwUrJs((XIYyTVN7nUh&$bjOeY9(Z|0UrHCR)Z;Yq zg1;w@Nb*0{d>H-(bNP3@;=jr9`|s{vI??~L_xHbB^Z7rhGz|YxXnxGp|93sW4FBrK z_uoaEVg4@!VTOO^{`Xb=pL>9r89DyRCH#j9G^k^4yUvOBshj&PFhb@*A2%qI7*53h z)L`Cbd>S4iSbMmpVKtmw?@0gcKkO-I{WsBOY#T9h2|PW+t|@ z-duS}4z<=r^t8?%TSS z_Q#F$p)H(qtVhjZSc;YH6Py7T0qqyUEKtH70eM$C(t(E-jCae;E}9n=w*B_dw&6RR zV6-P2qS(8G-EHsD9u38{JR$kkQ8+Qd)m>%yI|OuuL3gt3TrPvK)maw~R(&nrq<<0Q z@RHlR8gRl`TDzhU~cz{fiMxU+>YNh67K?p4Qi$ zv0!#o?Vt|KW@A~;)gOeQfRe;n6yc+_XhgeuO=@(3YmAy6gYH`Y*^{E}Xq~4;WA>6n zfF~SmCS<>)+q`oJWuqJ>m;_T;#THRTl=W!IGrmPQXa;kgU#ft>u~@MDv6trJN%v`G zpq?C%kNViVuG~1b9kr}?G6LvDD_tdHD0rj#%lI4MY@butb}Oeb{mu^_oL9&9#w?DQ zPjQ#@`KaGI<|&9`xfs1rFq+Ln0ugbST`ReZ0fPZgE@YVv!=H#P_lCf!%k;hshjrBt z(tNOjmOqBako}o-SVMv3Hg+$z+PA%KSKni$XNwbsG4Ayd&-}Ts0@_-y{gqL*?P@#z zUj@)B-<2dVr?uh4;3~#}(kB(hjT>l~_2-tzAV4GqG`#VAc_jt6<%~_Y%+!G{B6~Ez zQTAOT#ZHPE*f&*pRRWU|k2QZ?MMV}D-~uS)g)eusnUk#4CpywaDF0APHO|sYI zRP1Yh8~B3?2SAdH7BuqR+~7PxPwZFHpkV_Lqkg$y(P1dko=L1;Wq-AJEf-T520uZL zlw60ohT&afkY83dQ4;F32j|KLBaN*R2}F4{;f0Wi3?+dfcc_NNyIB|u^qzt>QVvQl zMT$kUj0iJCa!X9)hUt`OG<8QABbjMy=Eo+$BBCoxgsPZLPBRh=V~sIc*2!isp}hhqN9@@#z*lk!z80fhw#PaP`nVaC+W?)Ck(=;7wY zK<D>F;0D zUq7G|)C`jOF6>tpL{gi>>HsrCOR#xu+yM>~%(IGUPCd3WQ_l8s0hITJC(k^_0Hoh4 zCffSIW2NSaM%(p}bStk+3B3ylCJ4VqoLkLMdXd0{VJ(_4SSwdiEUb!r)3ezpo_KDp zEszUty3qzxoFU7J$w@JDsYIn#VSg#?#bZ(m42Tjh+Z2Ix%NvQJ((kc8%1~Ot_gKj> zra%!uV?|V$f5~d|g{A6u+S<6+-J#}aY#VcuY;`3n4$EVW(1p(IR#hcifO9aw+}W22 zKA_efx^*t5=Xk9lc8}6c0Qrl{d(Ae<@VrF48xjLVTy;Z5^o&G^AlM7r)l&uxx*ia3 zM*fk&`FM?p0(698GP5f}=DNS>>V-x@BUlM!Ni2$%Q&d5~K8X2gbtntVM z*Tj)Asd%x2|A;aegv-@_Pw{q>A|k$_x=58JJXw zWZJl>a!)Youni;Vv(>ODo*$#1vaHIsB*b`|J8EH}k(hk91~q$~4He+^ZXGJNLZuM9 z3oHaCTMgHjq}HHcF~oY@(+d9&et@eR;!++VJaq4Rd80iC5lCN0wD{r@X*5}u1zs$x z_fM6dJ0QNURyK8FI`9jo@HI2rIz>UJ*I>kyGgI)E0TnYg2lv@9?xLmHjFjqXP?5vV zc1zh*I0BZ`jcy{zv;hG?^gq6Am|0?kTT(PQasE;dH`iYiwq*3#lH)Z`^8&r<>;ZCk z5##tO!NZ|ikUtEGOt2=Lc#0*p9qdJQ=$KU*1p|G?edm7Acq3lf-p%muDmOzb%reV` z{US$!%#Ms+j7;qZEN;FX$zq6d=A5HX z7><{xgzw?bvL`P9xgOB3PyEH87Oo&kAi<%?2)Q6=nrvTStf~YzW)*@W%@KNTzqdr)F@2_DZw49MtH9jgHfY?CLmp&5rj1^!-Mj44Tf-({|A6YpNtns zXditEg)wH78egJvN#w@PmQ*{}LOX$F#8RU=E3aZSVAPPb`MMFF`+&L~EzfvNo?LG< zmGqO(M44^Do^r|ohw25b?N3FUCN1J<#i8P)@q&GrvNKJy8D)906pU%rp(4Pje={7nZtx;uEDqJCoCCzdpR2i?tbL*R{nmIAPvz1DLc1$_}sS(GrVo}hB zVddeQa?p1eHw2kiNu(Ityz8|%yJ9^u%jA0FsvAZ!s)}>*@AYK&k$PgRgU=mf6lQaP z))?r^`I* z$Ng%I&8Ie$(h>^xIeBf!tWeabEK8={uB|*2$ZQU5s37*Vzhrki68S$phE;wu-g<+1 zY<~WFUg_Kk*=6H)-Du}3yyoRvxYo_Ts&!yGd9bCElkK{4XgbMI(>ckTZ6@_avhxT*SlKJDLcP@_PlEa`cx7A(|^D*YoT4L;9<_X2*1 z??T z?f7JW^Y@e8?{C_c3!jpp9~LcCQ6=u@#;>*0*&+zui@_o#?R4u*}K;~&ti>Ang{0MA?nlm2r6@R$1Ohk z`61oleBM~-^-KNto;+KNDZ`z9&nK5S@mC(tV_bY6H=pANcP|hI2cNtadL4Y7d~PR^ zv~(7;ddgDc30LEU*c-O{{nvWeyclpY3Fv&u_->V^!XTqe~hg^3`ZJ|g6RS`ZR7 zsCkP>a10su{@~J~<|)ncMsA=uhA87?)^EU2s9 zl~#SS1#L2EHTuNT@Wzdh0yKKjY^OEu;T>6U6E$yEoyd`_$@2F!q$Ws?AzJ9`5KaBr;;5IC5wDP6ndNEf9=GbIY@_9y<9POu|mOV`V$BK3G{*8Ywlmc@FP zYAXk{77)>ilOEOg8RS*2m7{Jn#%E!k+GUQ&puoJSUb$&iT!T~^#6`o5vFvesI<#{0 z0Fdhn-suYDLj2O^MIgXGhpH@M^T1*zr(ZWmExvJ@Ua?acqg<%00Do_IuxLjUD3FVm ztcea0stM@9ES0~VZz29%bF0WF~3=d(*yLl-Q%>sI=+!t+3^D4EyPpPR6SBmgLO^rG~fvh4!Zd4gu z9xw>$6I84+U8AkM4QFR>p4R;nySUN&L$|d9~P=`N<-BvsVHO@LbAn2an1@$!uyjz2k{)|r0)p3m?psM|Wqe+Gz0heRpW|Hdpt`8)(XljK zNh;;%kUx_ajq+iKIJP7do9f4A0ber$xPgc$y*BAJw`M}1YF#B}DtcL0eg0Wc^;@&S zidUNQewL6HOR1rT^RvAe(X5GWZ>lX+Wh$k6y3)Z#$23!fi zP~p2Beo(r^`6ag&79dFpT0WwAy`?7PKcARUByh9Sq8eL_*Uz6+jZP<|4(t0e>A-OK zjZ3+=^o8@jKuE<2YNdI|=NQDGYp=tybx0>@_H^@&@8g%@S`>+-ftrpqWFQke*?Q<- zw}Y|q(*bsSt7zO1^5T%CHjYSxO}xFxW@xR^bZeQbLXLgK&C*Vhh#uI)%(b5;q$&Um zHzH86+@8oHw^J7v8a-^4q~;Aa8KoiXZ}Y20M$R598^X$6HaepT)Xz1?=#l#oQ05<& zK1AQqeX{2k-fJWrNXoS~D@iGCRBcJ)nGI|J>{tYr$XD$Gx52kUt{NO=!@H$*=-H+3`iGjp_Id>009RmjWaA!UcR9ojX-sy|rW0pI7Eif$o1{#D4ZV4Qzyj%*8 z0IdC+(r^-YcXNfrGz4}x{u&w=1 zM5g~0Zh?c5mX(2kg@vA$`Nt+iPfyFrO2G23)@J{MZf3$iy~wowg)#U?zERiEB=~9A z#PMV4`O$uq9POQq9OVt{O>7(qnExvQnBhM+RQqpIx|j(V|B;>kNA9NoNV)%itAqVR zUH)00e?|F!D9u0Qhktwim$^&v|A{{KZ*DCydt0YJ+}w2ktk^#<=#=P`?G0=k{`_m1 zjoj#jl<0&_oXw3)6vYI853|A1b>Lsny2kq;qzTdx&0G3gidQ0f9_@3Ri^)@* z$VEbOLj~x7TCqH9cxvj))VU?IL&N&$`P6YgD@Sh2iuKen+3U_btwYC#b$r-I*5>;& zQHHl5=QzTVNspG4ZQ2F9hDo&?A_O? z^7OX2{e3~B+wJc0{4q#Mwr?(Sp>5C^+V9{VrPG zwwB|AEEinlvX=0}vDo0@GN_M_(A$l0x-|cW`#Y%(>L(y?Gn=WSGPxU3e@SD3FK!0W zoG&U>;EJiEj`s@=YdA# z{-h4r)MI>0CQKhCz+b0vSTKz_`1$paM_jBywBIP;b~QH1!>4W0(e1#ZYi z#-ou&0H16ol0xSXiMbe&ihYaXy3$Mbo*+8;=YPiT=FXZltxTZrl=Jp~>z*0sj=fF^ z=?#)Tb)F)zm#~Ahw*{Psz+9TcDj}>)(>Opi6VZz&vTep@o*$E)0Q-n0H?LLHx=ntm zVzPchrI>X)v;@N0qxLMDwP$QBIh>O?*?9b+FJX8_Wik)?fVWGjVr5s~de(TWNpnjf zXu&d>ryE&Y^SEag4O%so?W1F7V>tF`uK#K6>-d}6_dC@}9!yCk|FoY8BFm%L_JYZ` zo|>5b+&Yb7mguQ zq<7YQqe8U>T=phR8Y5%Ia>wvp9Q?SHQQ$TlcP?f^h#(`U*tVwrp;RyA_|dpO5x8NW zYd=9IX*w#T=t}YF)kQj5=<@ zTuMgblLEPr46F+q{LcIpYgBnfYdEn@n8v+n>$j#_w{S>fy6L$=`}3Ne(inV_gfDNE zB&V~=j?}M!av0yFg+{6B7Kk@z-$9FgF9jpaQeY%GmOMR??8pM-ohug zVFO+fvSviYA#ZBU$b;rcBpI8I+`v*SjM8n6+~U|+Ki#&Xth1P9zBMvxU}^~VRmWJx zmpL<;24tyrdAGI@)geco$fyCS58?%P!?>5fU84GFcqz&S&)e^-o~ht-vuLJkLTn)o z2YtMMxBQ|s$Z)e&=W0?4rprUVIeG>NER2yBpSK9A?njDzz*BOr7N#!}ISLQEhgA ztYMh&Iw_z+3)slEEbTJQ%*;+RGc&W(%*@Qp z%*@Qp%*>f)W@bn;^SIutn(8-G-P5h<{?)P+AzR^4>~pSeM6A2^x4F4bL`m#b`3Xam zr%lT!!VVlj>jyL=vbBGUinyP3x(A<%l@>4YysN(aA{S+j_R=F@9g?+Z@fO+FFKMM_ z*IC80qA>`U^O&$bw~Wv_Xm`-TH@I-Ho3*U)+s8|?Vy@kzS~Jg8G17>@DRX~j&}*Ea zlEL+@5NU9V%Lvj*O>>mJO7`_YBypcSMF)v_A0#V&=MecGNSkW++vODfe2ES+34bO5 zhMXrYH?p0YLE8j|S4t-8H_?{G(DMqW@enA|bgFRfz9UQ4)>PTedqTtSug(%J_W(qX zO=)&xqhDS;F65OGb+|YOsgs?LN;}@S{1M2s=4&%sJ2po-zCyTF*O>4y!91Vk8Sse{ zGZ7xRp<=L}&huPg_n6MHA;{2#KY+R{8YQK6c?=T^&$QE!L^GgLX{+Esg5ME8l;GcM zc$O|Tk7mgI(KCr;w)lSX@W1B!Tzv@ct6;HIOzEm3r8+;he&^PaUYuS}dyKR5MY!*q zU4E2gKn?ALJ0x2b3>q&lCgp4Va=y zP-suv4Ec4j>>8v*j{(Loh7Z1>6@mSCnXV9L#QE;NE8AEezVv;XMdI<`ct2P7w!U@! z)FbTu1l3=}d=v190`E}RVc?@fJ=Dno4$M1>tCWNUL&~zF@;%Qz0|x-lmc@3r&jaC3 z+v0!xE}TJ@6Gk^skd9U<5w0AgYecS`BF#vL;}e`j0^;jhyxP=xJkDWhgxFF6J7>-u z;p+|vB@s+f@M-k-eP)6?JEZN`29}Ts1gHG`E0yqEQR^_qX8R-%nG9 zZj1oLMp&Gl_;WeRcwvQ=F=tiPtqIQgrZOMn9oseeTJNMtf$r=csf)~+*BCRune{xg7w!m9#c=LrG@9q;E zI24@rbhJCkno`!*J{k@O1$E7e(Z+P2qx}+29blf;RAhGFRA`r=SDX|yW4f|r9-lgu z@kIm&g8sb>X2k&U-c4BPWEr=1#498gHppSpL7Z=P9@%s#=Smk0WI^pHsUO)St^T1Y z2nP$GPbAfDS4#w%+H#86qKY(THD|n+dwjtOU6fQ-9)Sa{P z!>Q&#Q%g4W&f!>pM*++u*l1@L+m$^1Kz*@y`*b@w7PI#1x4`hUAn3Z&hruZkF-9v= zfY9HBFbUw5)LabFS8ArlhReuT8Y zutEz?N-C{sj{rd=@b0uv2pOp`Cn@08NOd1d4-rN4K>vt-@O@%pw=vS`+VTzVsW~v` zGraB&$twA4A}ZXm#aw6R_g`}~(Nl@Ep4c)(%9r!R?K-GQPp@EH`yG+OMK)p!Ft995 zyXdTQ(3vNimrI@wl)-p*VQaxuiK(-4b$FMtl~Yi2i^@6O5)aHV)|8dgd*5-c*Gg-( z3)Cv4NEdk$7RHq37pY3ixp;8qfX7;ND9W{E7p_+#QV!b415O+$?o- zo_Q=vE#TYO2K$Exnv$jwMv0~S5Eh(E#~KNjN@yFtiLVp%W|(BwWnf^gBkHZ2f8-?M zhB0PUbA@6609Z_`WPl+cap-?njyws=n&Ye*Wfd29FH`EJ*-2jQAf8`)qgE9@!-tO& z1q?1D%40P}SG>X1B5wWVzpecq&%{ceYPr{?{ z1ZM#c5DNm~kw^RUDW=Y-hg6@zjT=ZhlqnLOkDNwo@FlP~Z!Abms9ohzb7%Q8J0F5a zUW=%I3_9277CPFGFwd0ePV-JK`UKzi!*aoaPk1r{h(SCZ$e7F9;2Xaug1R9=Dvyn^ z_Ynm4h(Zd&BNCDwP=30i4YU`O%3S~hUl{wYnX1q=9?DNXMGy<_4E)5&3}o5%O>lrh zDd(54_`($>2*z7w_HoNbaW-qD3tQyg{5i{{v*u$6N2t)2O)Q>Q1&R`>qKiZ-io0{+L@++~a{ z)Vpx9x`ACOxPgb03da7bhE3EpT=6n+YdBf?i!=%Qpe387c!n;kCKZz`*ZfIO-aw7M zE}VHY^}QFm(g2kd4x^Ie$_Pa6X6GZ7M)Fgoi=tcUK8pX@>1mel_uVm6CQ zJM8R^fncRo0JhF$%P+OflR(`U?F|2nMekES9K0J?7ddq*4S4>MNeNLKE!nKH-kAOF zk-oVTPP)FDJ+2lBw49sWg*W0>Y?*HMxh^w1`~j|QCViOT4n6Z9c2H01_ZxKxbDL^t zvR3w6;fgVZNrDRjOiFBJ{@aVPVn|V@U~|-U;<9oK{#WPiL)}xh<-~7e<)o@~>3;3bRe;3heX}HC2r3AES@Vrs3%GnM0h3Hgx|Qo@Oq^@n4P@IA6o} zm?^|*uz58DIv1``p6?!zgR-RcFdsU{kxHWI-4ineSx?|&(HJ~tmLLYu0b~76Cn4SJ zzHXs-TBlzO{1{d(CtjIYF@y4*!(55nqenXLchzs<&bVVtrFs-X`LpucolH$;0*|Os z1T&Nx^LYyG9%aLuPcZxpCdq$?hW?Gv{X-7>7vZyvEG#r%0hLTF%rtEOcWf&YD?1G% z{eLwpl!KPm)RL9P#@>Y1*woCP*1<~8-jQ0*)|T2*&&k@rlvY7eiGhZm_Md;DF?F=E zB(yhjv^O(yHllVhvb3bOu(olr{_|fAY^;sVOq}fX9L;R3$??B%-@oO2_{@Ke+5Lk- z{s)!*k%`L0%s}&%3(Ca!l~POp_p1Nb*ZJ2R-ai=Ye^BRFvnS0LC}v`0r=er`M-cCy zb^lLQ`nQd;vA5E*HZb~gOPw6dtWEySe*TNi`)e#O{lD!7{uhVopPNU|O2dLr&&))_ z{B^|sQQ!ZjivAkW%ka0p-+ye=f72C!|94mOKe_+^nCr^$hq{VS|L4VruLb|lIFa z8#{hEm%e*_RzoDcqMc$yCPw(0#ABPNfQ-hrN;5h2@xh^7aDx#7jh z3$#ZhfFKc{Ivr|AFImt*YJLAs9dY5}xqYntmQ>Nx&CC1B)s7)kKXdLXAj%twfZ>HL z^YhqdPp6;*Z)$4OE>dT5DtbQ~1It=5tKb#~j=@S9}5*5F& zecFvqM8#O-XUbM+4`OES-Mi7GkCDw7VW3t3`={s=xYTmM_fPWyIuDOu+darUorP%n zxpxBI5nYn-5`%I^(VI$#Zvo<7V#}n7ST_S{#t@;bD+j$t;0`f6yF{eFe23w~%wFtG zsfLXk!GlRKqAw0}L{nj+BcHjhdvEufXF76(>wOop_sFPQ#RKIrOUx4O=p?WnX6~FB zHTczEo)1G>jXngPO_Qdvj_;k)D`- z8htLg_KRTsWQ(B3Ip01`xk)i$>n!uG96{n*y+G4p7QNpaRk6-wz*<@~Gjqi%@r+Ir z7&6Oz&WbWO(eW~8>ll-D{=f)FsJj-mt9-7&(~Q=Sw6v`W0hKhswzq}^BtjwU(}$n> z)z_RbXGHZ19nM9PW(BG;WgE7^%hx*gr2Sz5+BYc-;92j#bw55GgQ#aFRrw>xiA=W# zx4QE{LKY_zTE?RC$~c@}q7^S3fhe*ui7vQUh}=$AzKopFnB?O7fc@DB$&`T*CyifU zf0B-oYIVrj-rh@&!HGKp?hM|ZI8Qn^Pk=%>(v9&ky0~3rY?R^{2my%D9Na=X3BM#e z^E4j=hMjm?#=K#&PJ7xkK1rG%M9MUK9UTUb4m>8Qa^ni4B_!D8=ZK*$hGAg~Ow0`;+p6}N zTufxP$*<4H@wv@mS4QlhE+k7o!BC+a2Fi|wI8w<%emaowm}S-tdr|_?3$2Mvmf!*x z&(+ImX6`kz`g7SeoKn&4h*rE!aAENusdh){rq`)=g~qPed_Q_O_^x<>Rz!~7KG%K% zwLiov&BlCnbNNV=8z~VZ<1pnt#hhr3b3mLlfSfI*kIRaZ zOsPqOgYqKKEmr9m@$sPu@+C=QqX(r`XlYN_ zo@{o&>P}&75qo*J_W)d7fMB53*bJ1~*520qsI%z!a%;-2TOTsUy*?Hye4~mrV58); zEI#f~5Ww+VY9!AG6BA~O3`by>IBi~`58c{<;b^@(6mmHcP=F+bcosie34ToYZ@yo} z1ms6^g}1d^HqJK1b3AiPwdiQy(xO3L=r_5}og>ciBCNP{c!xYWzb;x&(DkfZw9YZ( z!*K`)$1l?fzPEGsk`t;)rQ@Gvr-={jd~++_bBynU;TNsb+9{vHfo#F;E4NJw)7oKC zT}HNM57ydg4^3=H(niIz!#jF0qyVB9854=C0t2WIVIf9aVxxW@g{*5(p(*C#K~k~8 z=>VxTVXE;LW?wHj&C~7SD+(-=fLP|`-vREPC(Bl~u@0OKY279jEV)E!hm->?S$Z9$ zcG?JVYpNdRu`}I}r6P8YxlYvdC(a$0(^ipd5x9yxOajOJl+LgI97;Sc8L`rqD=~|m%EcK#;`MmZOpH+l_JV~p&2dbXpZTX4;+_5eiGjPc>>Fw z!eEX>0|VR0@`&$ZIHX~}n)HZqsF6CtgNo!0hP{UA%Ecc>*95tv`*`#Q&nSD5ADE^A z;j(Kuqf{xj!y+CqZQfO{%rp>NSU(#V9j|Q5``t;5^0`e?U5RkHD2d5VtRg)~Nxh67 zdv=sxXhQi}&2#?B-hibk2))pX=!7L0pq-jfc!XPCLmR;ku|o+g?wp6Oq|b9V+(@$w zZNhc6f3zz^Xe?Oet`!$oC?4qhU> zv|zpPCa(WXkzQzV)I6on6OAy-tAz&!w<-vH>>LlicDF@LwWEMN-UHkLTjLc1@CckZ zXuNU1U9*cTX*Jv0L^x8lXIB{?NNIf*!_gM9xoH}Q|Ch6HiNGfrH}c_(6P{8P!0F!2G17P(Ze{wuV>L;A?Y`35+IkLYN0 zZ)?hJB|I)ayWD{*))h#c+m>|o5UIwzZ&)0{EJDX*CxG;>x#6)xnm<0&hF6WM>BQCLXV&6#Sq15%?A*jzUG@nRng^O z0@Wm>6@dB@M(jsa!i%Joxz0i`YF1{#>)^GNC*nCv#B)3za7x5#+TD))-KU6_V`@qD z>YPQQ&9}K5g4DrQ-wt$Ww3&x)ul<5V^M0V$(L9@C1BUeQf*7^V%}tpeZmO0!oWu>j zjmhTx2bMeW5Pdzr=n`IxbZ}`~__(yvTJ^J^eU7rQ3mcz6J-Wz3`*tMl)kaDxg~=!9 zIBx*l2%7zThBE_&40H~`bWC#hPI(_i=D!fg?hO)$1nP?*O7rCRpj+x40Ie7~d{BJy z>8i(~y3Y_1V%>4C`U+s0;k=iXEnz175MyU(d7RRneY0u~kVxNVu_H7{UrR<{(ePx@ z+*}_fceDopj@oNjQFj5dN6}^AG4I`&2-!S}FdUOLz?*5-7W@V6h6g`l4_4b3aWi_& zQaR6KY-PJyf68W9rHHcGq7Dyzz=x!bUG2(n59#?K)mOP!N>sicT#?fb*?Q!!MLI1V z1%v<~wZsed=c02#M{52+12txY-xA29X~`LmTB}+tmv<#A6o7V4Z~72ZVQ?jj1$>wS z$m5&d&ePquZiwD*k6^!91;KKmOQB2_?z24hMBNCe15z%kJ>EgGdAOvZ->6T(G#eG_>4x#!bQ zF?8g0>dGIorV}`}Rjj6ON6dw^ z+xA=I2aXm4&|t!Q?j5Y}wI~)w-8w7|B~Mhi9}E$Q$K5A~;0pIq?wcEP4SZ6mu2|}y zDQtl`95dO5J2ON4gBu0&VW~w(LDSH|#~-*Mbac-IU{K5M4XXE*Dr)WdRK7LcSg!7A zts(mS0a!sf&fND^i)cYYDpOF>vR%3T{=-J=_Turr6-qMu%G^}#Ot z)$TX(&05_k`bQ!;TQ!iVzV09RX<|;!T-Rhy)a@ssCgcvWmyl%;+248;!Peohi%;!s zKwpb6it*4oCfu8_STxC{g<8|EtGJ*2RHZaSCse=kA<+Fj4T3S*Vgw}1VMbR)Hc5># z@_y70PRNp~?;6v=2hPEfs_ll=-F0XEI^Q;*ae*`KU`w?-w~>GXqGV|8(FNcvZ^*J( zO;pS}&xh;SSf`ObJ$wKvC@1d3F0rIssvHDT>n}IA<836z8le;^AL}wI!Uc&XREoL) z6H)SMOHh0^c5?#_gu?u=k*aQn-?G6H-;C1pbr}<*w~v`OcN=-*B)@n;wUpSPzRdnQ z4_&eyZLxV06_!gcO*B^okY?t6ZrnAmZFfISvzI<_dckfEy9O;hc}8SrXgy47FW7 z<}Jb4gmhUqLka1~TxlKmApzz)bvejrk+o0X35h-~{<_cb%pzMp+fTJ<4QTOlqKG?d zsppufP5H@;Ign$ggtHXqSwjsAY6#rE-KoHs?7%&>^8n)!KXBi?6wtbJ#Glyi1gW*T z|Jx0*1&K6*WSA|4Qx!%aM@Oy2SdVW#-53;q#3F3K*A#XL0p}-8gplvecq{4%cmD9Gq@bPCiGYIF+}Yj9nU_VU-etAU`0 z)QL;t2>2Q^)Ge3dDfU=JO#Ben7v*81{4M@M!>-2m7J595=%>)h;<#^z? zIgPsBqAu=+1{L*uK;bm6*p%nwUEt3;hq&JDl?8d?Jd636Be50+MlguC&MrU zDm&ODGr&nFqg_e>rERG-&j^rEvB;%x&Iqao%DCZbC0VSklc`LI3%&USaIA?0`PaPh z4_fe#FXsOOscHAokLQ8;VMTX zSI0k4)xRK9f1R-N2ln_+6vReH!^ZHHHAheLwFG~b_rIp1zoy19{13RP{}Gv@75PG~ zY=6e!{hw^oX860D%J6qNmEjLL^}hnJ{yU{q=D#*=GyG?zREGaYbl;Gc)fd1*{J_Qk z^tuz!{Z2E`^dvtJ@G`@PEpEX+67I20jOMugJBz3$VK_MKdAwWu<^!+d5L zwP~M`k@M^4wf~o!oKefKMtkk<%uE#}hO8pi$)jHt!b;Q^K3SUYbyB2w2^~~2<(6?W zG%8Cd+U^~yie`4shn?CIX;=;=VmZ98k1jtx-c~9q zj;2U#(vaG+FEuxKe1fC6L)gb}HFr1(9F4X$Hv}v2Xo?(E`UA2!Uyzw|yj?$j-yZ9G zVn)-9lzbe&r-sdxT$iDHp?{ugzTZAKu=-x#-kSKtkyPh}c~t+76-s0RW((*IgpKSF zfO|m1{Tg#~lY;9(%#G?{0`P{BlM{4B*`6zd`>1;LK;_SSaP|-$Tk|!uiF6wxe$_y* zwP}vd(~IO<#aAc$nf8RgZ|sHUdDvjQphDW=!FU6^n{7ig{~;R=X2-s?QD`vYYTOp@ zYi3hSm18`pG{eqI-}Q9i*u5z%k9y#GTe>&ybuSwO7*CrXPhQpSA*ns8={bT+p&`wB zKj0P&U`WF>jPMbtiG7=t{hcJQR;SOoYXV-v+ayNO^9gOrUepo$Z$0XoIxH~GY|(bR z{XqF`1?RLZlCf(uI*IC;9m88oDiNjR9Xm~Gtk|89X4;v(m zGZnAPUF&!0(r$GVfQ&5w{9!U&2XvL-C6AYt9&-EGn-`y;huXY8!p~i9n#@$aKkktB ziA)R^N!gZ+>>*JdB8USgx&Y1G<-ERngr*al|JC=#bp6In2DUN19; zyYMvKI1FYNitvWS#KTZ^?Ji$w<_Wi+xJ!KJy1z2<*aNLOL+S!GO0&mpTlgC}M{6&} zjfFWH&#!g>=v8^9Zn?D`htY znBFrCo#WPk9)hmR)M-?dT`^gJ#B{{tS*q0z4`(=wiP(O<&I1_3*FuU zC^z*3v<6&@C6vJs_h5-y7&FY^>GMZA??Bhd0@sV&Zsnv&Pj-P&(nFKO zF$50z-(@|h=a^}mRj9!dPRIXurg+8-WeAmKwoUse_O$8_l%Thg)=t;%csitBU468I+@`r7aO+k?*|!$4XL}-g%@Uk9iN@khrRx3A+Ft&d3Mu4TN8h5(nMc*oV5wSAy zzJlm(o44X8-`m?_ai`QrrQXccO!{&Wnd4EP?Ke8!;OTA{XL>jwTISt2Y-_K0&vEZv%kFJ0QQ_4l@Q zV`1WbUy>-k+By8?;+onqf-;M~Wf4QMYaPqkN@=4?%4O>Uk!CFY&`lh7jwth5W`&Lz zb5v)B#gl+47AICm*AW|+9hNA}&DHKz?|Jn{j5BAI7P&c`*OfD-)qzdDszx=rEsoiq zX3dPc>5wmg8@79F`~^ zm1?U}4&fbzdhaQ(iXTpRv(M{H6ec`n(F6z!YH-54*;ut+(B2bhaL<7?~-{aW1_YH>qDqS6;D5DSWg_qdUypi=K?o#<0qs8tLO+NDDEwMNvG+_sz z2WkDCAYLwIwbob2h}ZeR9Kg4_g}b}HjRer}2Y8*p?$Ix&gB}f1L6arc1o+ju7p3Ll z2BH8Xr!5q1av=v6q=A4-dI5+tw=X_5*VUrv|Rr6z9 zgpTV{_hi=s<%tNN1M- zu0a@MfhbQ$!;iC+7xA(3r0rX>FeUUGwbL+LFnZ&!tCr+}rAlqd3m}o~y^j3SN6ExV zc=q3TJ>UU>3!`}^(%CONL5LGgBrBuh-2}_OM8`q$@@+bP0{6<@&O|=ZQdSg&MGhmeIVq)_zX;#uMyQb9#B*mOm7II(7DNwHC6~y)`{xo_@V4xLTWx+mrXM zFPNb@$9x>i;dG$C4XJghE?$-vGqR&5Q-+f2etuur(Olhjw?;udLwO{w+{@>BQ>R_Q z{5(l5F_$O4*Mxlf`{(MdmW{?DwGFR}+ecu-uv=RDoIVJ4&Ksb$$4#ABu~M*AuOC{l zg(JLyL4W0}37gl=do0B_$m#FZiE9o;uBeiZfowuU?BwZ_&GbvT{brKi4(F~pU}tPC z&`J7t3m^?RPHGBFqT;c0n^4hygoIdZ;8LaQcowuDSm0)C_HNnWWj8L^=`Qp!sUj*B1ayE}ohY`0V+Y3r7 zJtwVJN*805%1~?A%VHz2dnykz{$V8#diZGRuqb4XIhj5o7mPHXI=QG^xhkSchM#fJ zaiP?sV7lyxR6v-H!qkAXFm7H(*Z$5As?4l*RHD65*w58nGu8{8Wp&|7^y^6dl6r?8 zQ=ICSuv3<{8R*eA%~md1%`%=D1=Ph_Efr7J@3$-ew>5Dd>U)I@Y;xaX9MSU}`2pJE%&i7%P7}Zud zrc*A!M_`zi+E;=@MIA(Imt>*vntWK!VA>tV)bBn0N8U(*oLzvsHExF!dTYP0OP@`I zu-C4_G_#v5-x1+cKrxW@wz@nqvAIE0Z^OGqx|xT*fCkF15H_2wKIuzdwJUV^&+RlI z$oC1pZ}W-)6-w&5Ki#~F0h)UWFItf?OVyW+&QO%6v4)tKdkz$?TD?_f2|LY0IFKT0 z9?YuY`mdAnCR?*=myI^7sVP+YQJ6q1 zGYWw^Maov6(zmRHX(}R{D>fj%13p1{CakO?+I@bKhK|@m8*pBW__zN~9CJ+HFeVzp zA{`rPS7Cs`(=nwC8`Y3}=)e;sTF*W+M?nYWSRvk4;E)lAZ^F7C+4=c=7p(aE)H%rB zWm1l1e`m9Ytrye_DdMs*`%c61qMz}TJnzk>$9*vSaO-6*Q&BXiD%3Vum?WJTPG~&T=3TDW!qY` z48r_WxsNQQL2rKDx*6z7U5l7MubYgaMM^`zW=%x&i4xekl7;gd9K`OGo1pL*#)eyp ziXUzSU4D0j13Bu+P3bfh^vhqYd3=1z<8c9@hMWK_6J)NqV$$UqB^w`r`jVSHRVJjz z{6Zen;YezCL;Mo5;q(A#2O$ekW9reLih1CN8S&WM5XYjqJ7Fp9POk}APm`##p=OJ3 zSc1^>)YwxzNLdaK;pnJ)YX`xh@HBlU+ zWL+OKqi|T0Q;nBH2dzP84ReFxhN1C_w75|Y!}ifz;a&WAH(F-!q(%Vj?eFn(`%bp9 z5fdRC_f3=?>poEI1IBU;UM9f<*hTz4ITEp?^HiwAmFN-RV_}d%pvuRH39CW4%R913 zmf9$8On|#N>6GfR6y2VSiysUcH?YOI32{#sc7s4JK;Xhn|9rNoTu)zX5BF&5s%zym z?c%&~u-!2pHA9~Tr48pNBAs9=r*Z3g6|^6-LDSC5yq_>7pJbJJhysvii!`Dzh{KE3a{3DxO4I44tgbOoC#0Jkzl(sE4Tu z6KaKB8Ka+v23GFJm<1I&@PT|0bmA>b-^~!VmUmpYsl;?fUp|h$nAh4V7ivL=QK>rI z_mx~AOQiO?G^0L3w)ZMRwt;GEdC@~Blb~~emI+nIwRU7c{+9dL1D8-=Oq_+Jb>)IG z*=~v~qMkm~#k=_cE=7f3=|#d{vsjhv$pC3Ird1x$QY7x(U}Ip1r`F-ta(Z<>t( zTe2E9_gPCav|HvNnwkTYXd^)02!KYdzxfTna^8J!smSkt!{S87br%$cMAD4c6M>lR z)Fur#wL&$v!)g<$!z$IoH0PJNOrcr?Yeqe+N_p-_;U+q^eEb|XXqxeX2fS;V*b)i|Nnwfc_vy@M@QR#=%adu|AONFwIBZv2KXOP zTt>z(sqm}8o}TS*?j$nA!Zj|3NkXgUbFeC+WYa zI~zVD{ofYi+_hX8i9QC&Thrv-pqa{>P#8?@N`;bo76yuK$!O&$V=7)|%^m;9@WF zx4W0Y)T)H!KWY5GWk|0cZq8+_8%Dg!W`Ye>Oki#-V~Ja@-kw~J$Hp7QB{nvxl_Po0_=&lYUh9m4Ry4Wuo=ANNP2_Z+9uCb}Z+DzpKB>VN7$BlnEdX70H#?|c&ADhb{_x~V>Pf)56GFaJ5PM9r?rw)QD>=l4zEiG7AF zZqMjO|Bzlkmp+*tg9xaFY`;4cFGk~w@Uy~Y975byEA!H-GH{xJz8f+=BAIqA@y0jw zu4FUNh9UAwnPnS2fw@z1u(}@MUEIRF6yecsb>8^j`W$A+Z00X#zTfG!J#x)qTD+t` ztF7O1A#BD9VKmQPQl&OL@*bNsk1;lva=*FO3A!k3(M;(-JG6bc*hS$vE@V<@raz_C zLM$09$5PLuN0gHo--HrF2<(wN5KKQ*cgtp{_2U+kS%!p()8( z)WDvH@qSoD2}Y|C^4BLv)wxn>chEu|GqsaeWL-lX|E@kiMyI;IDgK@;+93p6=Lfc6s0+V?KbFJ z36cCWT)6FRjM zVo4k$mxD$HG8$?CyOWtaoI-eX8xCs&-Ip7LPqyX7QV(SOW(MRF^s4F$F&@2Ru*#_s z&Vl9lGCs8NNn}v!`B!6?y^;DI9@gV4{MzwxdEYt=RqvLKyh}n}7jD)mw&Atmc{6Z@ zc%6|5nAA4(F!=zhDA2O*-sK_|m#dR5?c zqx=w57k_r6&0J*ER4{vY@!xn+X%6JjX}K<;v$aUC7s9$_Jg}zm>?Cc`4eB3b!}!jK zedGE8Mc~WUN1Ab}w{H=^5B;%@J9m5|E7q{SCB)Ru1wWm>c0MC@iG=TW$=m}Eh?~}t5J{_4t3X@B^Tx2>(TH%fKp<#|Av!c2+p+co$H+0 zn_6-dOtM3V=Z6SraLBDrg5A2fMDXaWC~{^b+m|^jl2u6ZCL@`|F}L1rbJqqaiYTFi zzY)mHS}apFx)Y-G!!Dfb=f_9Pv4nR?3_A<{+&y*FZ!1Cdc*+V)&`nsI)kYd>QXir7 z4U{oiuf~p*ImI9c_6yFJt)C5Bk4rcot*la_ojY;;0*4uP0kv@UA^t7dlgDre_uoTI zE%L5IZ(e*QEwO4}g{EbRYJAQ?|g@_GzyY9c!}Mn>OOtz?tUh@ky}l z*OkOlRa)c$KpLf7suzq$R{)CQ7Qc1%E9?qZ=Kzn#z+yv>i0?A$d<@0cyf{kiP%?wZ z_W6JFo+W0hYBxExFp$Hna7lcRs{!n3FJC$)nqINH!qp?AbsLlNCbQ>`;ZjxdeR|rQn|f`HL0j4?Un3{2f$^Qsj9A&!7Yxy_893Q_J7sqa zc3xePIXymQYa>r515TFf)zTn~(ga z0}~VnvA91d$8{F8wPZU6u4A7-F|_CbVaKIBoV}@e$!B9 zIoCuFx*LNoDwZq9F)mfBTpwly789u$y8-*!bk5?j*euY3PQa-{VdX6(d2=e4zi_@_ z+7>x@aFK=9VyD0763kfYvtQVO3$L&7W~a-}GXWLfF}Bh2*vv^DTuHp!SzHm`$P9Tz z_&6e|a9h3_eUGRFe#{{#hKwXzWF?jOp!!<$geDJv;Zq5oxk*lbYHfO}9-qo> zExjmY3J~j?doZCj#n=6~VYr zo&#L=b48EFUjaYl(%^*WXl)@#Wi#IJNo(3^w=d1T8ipm8Hr*STsv>1#+~|vw+?O)$ zhJ`(4OwCGf2ggryN&^hjsHVpQk!qI4$!Okw=XPtZqadq6j@|-8UVkvJye&+?!t{0Y z0uUcP9j+jk^kTDvpayym!nMQq`XjrH6R4&n=e+cEmf-IC?)EM|qKkYYbvVPKdeJ~J zc-o~rSv6~W`v+!LudnMPlyHge2^Tf)GhVIoxSUd`{4nuZ_g>MQoPHI{&+Vq zSwC#+5_fA80TWt6RZthWv&!Sg#7HR-5a2C3fUR~3E9&IKrOtI``i>W@0Rgx65a}8b$F3TK=tUSQF$w%@K7-*Ihr*kb7F#Mw+@%? zdKC?vGoMqJ_dy1w`=g~kF1BcxR%m`=eN3$Fot4|Ss_%@KQgA3Ju~N?IT#ZCUgu8{8 z{bmZn!pS>#oY!T$S>nkRwS|txF_F$1=T1xXGlyx+q zbqq0}rfiIvLW1G|)8%Ra#0rF19;38QiJv5O&iKTy@#>fChrR4=@2a%^*%0!c6b=?? zr4vJe-R8b3a{IuOGV0Vk%K#4|>vhI>%Zgv$M3A+S%=yA)FH_&JeY>291Elh-$NL(vb8r>VN5`cj>Gq_z(nxNGt+K2Wln1t7XIF_~Key{swLgWlVTu z)We8Lk`}i(vox6|VPV_>IXOq4<# z00Ylh$r-;uOkVSZDa7XF%Hk6E3LRn+Uc8$WWlPFI z{&7c0dTJkj`I^8PaHzP8CmIa_VIiitP11O6E_;5tv?H>#kqKnom5LC;`Zr^GxHVTY z<(JN|xx)Qg=Lx=9%6JNvA-+9e5EQ#TFtdqC5MjthU%xyFCuMHQRBt+~aUC+k5dS2Y zH8TJZIwFA&5ZVsxqYO;YaITnL3O1638}yf7i4^f#i)0?HiG1)nTY^Q4j~3j3zgWV~I9BXb_~hETr|* z4vm8S!p>wsqS;DF%ED?s%>3pvXeX@XG(4o$g$au%j+n6fM%9j3Ko0GZf07|T{5rQG zk%(~8J~wMvO(I^;WQB$Cn5t+Pvs1UA1{Y-Q^@7RQ=mSVRaZY!G&W>;XZkBtiU)F0&4T}(eN@H6ZrB5DnW(>a4JZzAv4 zogK)&jdW_LD0d_yn;gK({LtX8+;APC22ev*5&a2YbyB9Ex?Y*;B|{o^ty#7iL8IL8 z;En(AtmSp4m4B>QCYng%5;_Y^nw~1;;5Q3xCn;&NVEsg)NPUjAZLHN16t;#!Q=33H zvb&5w!`ap(?m;;;yrB&ugRjTKc0dzTG4o^m0(J+Y4Ip8Uc`fzKTzWfnWe6xBN@|yV zS}6XR-%^*D^xQnHybBW$ZzJ*i8JH{AyH+s6aYq}tL+B@QEamutH>tc;$boANV=4h| zw;yxyCcUj%BBIMWiUjNDOa?UnObmT6AnG(1V^p4V?+DDgyineX_R-chQe5uH?`YEn zbYh$WYWDqzI9y_!JZdLvALLc}ltGMDd6Rqm#)GrN){RqLb;ktM&a3WTM)sxGTX^M0 zVt(qG8m$g~zo59hvBvY7tebeYpN4U-327c)Jj? zV#nzSMX3{Ec>Df4uz?zH_(y(tq6JTV&oUt-iAWi3oC6f!W ziH!TXK|O!F(Lu{RfMgAAJ0yB#YNvK-?OT>{kAFX~4R|l(0AM9+>X+x;(OTDqw?)%t zByyZ*1;fFPTl;F@h`lu62gB>RMdV=XUt)H=y6&LP3n282fXNE9$%$)}Q#%rj3s}dn zk0th=Zon-0$?v(0-g52Whiw?T?;+$3Jd`tBbKihq)mx9g;l7oFHPJ`!9@`fcCV97= zo^68M1m}*$f6FYHcwT&p+hSwzngehZ3>RnkGKU6PE(^JYGAcXRI$sOEqhA*H%Owl_ z+3Y7Py6@IQhVX*-KIRiv^e6LfhHAi96qy}Ac*q)y#c{!=z)bIEDAewz{Bz}~PPp;P zZf}%PSdJ0Wf>mZ;w4MzWtS3&)BkQSE{DqLdd-N!4uzSOuez+BfNS9vjE7qNJJEmYT z&8N-u+PFJR!??+d0v;~PopGEV`du&_WX^|wIl}ast$~4w#Q+hr)O8x2%}6*2y^ZmV zh|B^-F_KOM6QCQ`*NHN-v<*yoaIJ2fXm?`#w+2vW7((w_9EZGb3s_nr&SfxYyAN30 z$=eAy$RtcYIu8TqbT|hJ1vx0(cykmq{zkA_I*<6m8UXm$d9SF82bK@q;E+^5KLVMM zuVrUgM9UESUVGgjC=+K)3~=KmvKVk9`apt@wadlX#hVHbu>B-58n7LQG7z{u>R}OH zhG-z{+7S4dWqsL{Yo@T}>(NF;e%2fXAwV0^Nqm4Cju0P}e5~|3tf zbO>Po7k6(NRo9kn3*!>p-Q9ho!QI_SkYK^xH8=!!4=%yo-7P?X;4Z=4A>Tfn)UB8H z>YP(`Z@qhO`+jXnV`cR@<{ESE+570@BlI{=Y&Ez;k)6fg%OS$AY<6jp| zpr&oVXvEf=u|64lNOm6a`=krs!SZ9GfA)8Tp|`{>L+-O3HEYs*J34pHBA!6Qj+-qv zifAUHR{)(@0=__6=nK#TGqu^B*3z@C8V$b^b7!t_hc~3K)7##6_Ld@^lcaQ9*sIJQLmSvItK_SRDC)Yg1ajqe|4SANAEKh{m&Q#fA|j=yGcq6QIg{ zOXCbS4*q5=2n(lwVEj%=mgIO=?P!OdA8ni|X{_&ap%dzC&PWb+TI{W9DJpg#{&HW!|_5k3S zJ==fBnLXfFPk@)R(?7Y{-_Gng*@*$bGkYMj@bk?6_gnuTINY{3Fmil3#y7VAgM)j( zuLc1xN5X#s@8#g0gPW6)g_wvv<6Kp@{85=v$hJ*cY+z{Ju z#twjg72e<3mfxwCe}WqV{HpMOIg9_3oBhcRv9WS8asqv$f9HmNzx99hX8-Hl5YPnK z#tB%y@Q0J^SFQgGzwjs6UM3kEGk_6DBeAh^zeM8&=l?=vzY6HtepB`T4cWhiAo_pi zpuzUyhE2@E{=(e=Uw@KA>_5pN_MhYs`wKY)9Ql9NVT0|ZqJin(cZA#T##ROwDy{>f*#>3H}eU|aV zfKS%4mw>2gM*z|p=*1E#ngBK>n?(X6F7{cL#$aS+u^dqc2rF-l6stJiG zgY%9l(IIr}bif}IKSx5?wN7}ijoamv2#Y9lv7(sdrp|N3&BES#sv<1CgJE#JE9WtE zPYw@e-Lyh16u+YN0xc>ALy0&oX$LSW90;!$l!zn0~qia-RbjezghJF#siv zsrN9ciT43#ax+n{BY1+y`WpkObi8MvjgqkFcgpm|nj>dxq1_K!?tGm!;GT;USmX3V zA=Hba4%Xw}Fdp~DolhMhfAneb?FyrA*c<|0#n5-XO~Tt7N+M&Gu4&>lG8k4&yhNVd zbS3Da0~t6&yk#SwUqceTB;@z%MIvm6?OvpQWMdGj5MShwomAeGtNqxG?nr7}trVZu zkT=nCg_6+EsF=}#tlIHDWX>4Tlhgs^8ykM<3KCj&Pf!PeVD#3fyAgydWQ`uOhg2hfxW4B0Z~D1Xnk=ERQFw6=@*d5)I(Yc>AG3s za}yCi{eE3;0C{9b-9HTI1bMxB3dwiniVX2J>FTZg`-Mbi{EnGziFknW^5{d53Xicb zGzip}Vvkx_^LshPPO3Z_&%k9L({H+wD0h}^A487ms=z*pj(pkn^jqn#{IjdyVW(;!58Gb&oy04vqwG?b35Nqy@$#F>-#5qKXAZ-9e=n zya>Nb+Oi-jqd09ET8YJ#Q#8{vl#iw_zceM~;%)^q0??HhIMHccW`)>5hw2sse|NIt zueP$@P#-D-2i?x))X_OWcApk684(w5eV5pEC#mM-_ld*ma1APRy)MQ;I(N3RmDW?1 zqVn5j(V;w3C|qt1+B^TqmdN#21RdzS^5rq>jtFtc2ppWcNQ!J_!DgrNfs5#JDGZ>n zlI9d4qyTS;wkn%joru+%vF{9vi0~747x8A?-N>1dt4CyOBzyjPCsos14w4jkdekut0~fUOTx{1Wr0;+wno*Tc{Nghx_wYd(?ZR^?3<6o+t@?E*wt7fZ zl}PK@1^Jsd>&p=Mb_U1axll6$p}$zWM#Y>bA|E|K5C-AZ*RP^o;__*)?cFY$7zCMM zD1D7mu}DJTNWoR?SFioEYmn`>VzQ`4>2EU>#RtK3%-jaP?_Kf>Wyl*?2k+AOS@HXP!l zJAfl*^hCb$eFMQF^Ro3U!y!}9QWr*;@k7wT%u$Jq#Y*o=m%Twkj?94}0AZKPSkqWM zuhKW(f0mllHv(om6@(Ck8?ssA9IWs`d zaPS6hdFvkTragh-p$G^9@XE|lnpCToflMLeB9Yl$WC4NtS89JcT+@3 z<}S5wqUZy&(>J)meaM4VWV*4;eFHXl-6=o9e`mONbT_JzU99}@Nj`IBkA9lX(=^0p z@fNHY+qO|cahsJ_+N$l7({QSD_I{cc)s0lQ@W6Q?-6$qu*~f?599}5QC5m8pN@sf# z`c>v1L>Ud+U`<&k)uT_Mg;-tNjbl$ndQ8L+8^|G2jiEz9#fExpf^VLNzlSl<>3A}S z*7x}0$zrfIS(lO}jJ3hqH-i>Lx6I2SE4ZdB5Bd-aq=DTiJ-#A4hfg*=wp|;gDi5*s zoH)Jw_t$3=Uljw1QZSMAoQA_q54u-%S>WB_dl2 z&N=0E6VsZtNi&m}f66;$?B#f~9>%OKMVk^dl!*79NA00l+CP+36&ecHHous5A#~92 z@GXkY7iF*;k004ZSxRaURwDG9%;D-q={79ZbF=olSVaStWJbxi9jE*>71i@S!dq2& zmLet18PL~RRp*ABef{YlS0tyOSk&-U6706XH(|(K;3H50^;0?XYk+~op0oQVuINpXM8Gf`Vj4t?f=eZx|UhB(oXHPGTOSbzAcF2mHpzAq{kOy>#D^KKe0yL zDMI#h<{4>Rs_9+BWpDS=2DwOSU@MJ?83ncUxG3D42x2p-YjbD-^gXFseuea6$y{JG z|J4PFkONkJQw{QJVgktbPer~lIOv}VLD<1BvPB0TT3T9@BlA-r_Km_mOhCZnGStg{ z#=Q@C=i{R$m1wyY$&fN&oJl7Nx4@4!TSoZ0dur5f!MJ{@qq{_{B&Dxflh(S;alGs? z#%-J%quw8R_72RaV?z~ZM2>bSa02W0b5T{>Ie7|^BHg~+Nu4>j%>!&y zN5eMC1F^wIJ9R^Wr;?0KgNf-Efea~Acz&wnw8vW^D7Lbvj*BW(hMqB?pO}&n#yL76 zGEo{M9)c?A=+in4%~@HD7KZzfP7S;OT#ZWl9&dEq>6tMb8DK`1Ed{{tEfFqXD+mMi z7y|SLT!wai8B*~fya(0|Aq;3m+J12TJG-(BbG^P6gYdd~Nd4>uC;p~}bqxh@F7|0q z=^m1$n)Pwt&mapr>`F1bV4;-J-B7l1mj{esB7H^7Duv9VTyAf`O*YR0+Z;I>C&9f} zQu4p;(3N0)L=$ru)Ollars4SdHYEm4d&J(%-XSdHDe}O!Tzgq5c{I$V8)C7)4tlnN zl40PS4|0KUJHclZYCP-%XVU4%H;TtYi1Z(L^;hc^d_YSu;re69&BkLzQys#g8Zw{W zv)$Ipi9sWyW4sT9W*~*8^gU8fJ@?OM_{vq%>SB*wwz)mwg;FHMv1_xg1hb!V zSfwmWiNMIE1R&zaE`@yaaD9DqidTjhoMzdYWWb)b7|q0GtzE^oyq8%KLS`?WsT_wI zls+QJ+u*@d?4_?rXd~GyT4b8C*6WTc)#D&3XbdUNUuUn}c6uJ!SlM>hZw*xDIX)kd zw1$_ypVeD9YX_7bd@(U|1Y`$eU@Ciw9)a5lUOMw>^e1w<&Do8)%vo^{&+W5RE&B z_bnOoZYG=z!NPvdoIWr%1klqvZLV}u_h{*Y;*8U(M zCy(d7kL-Y*Nzr0A8UJMlIqJP7GQai|8P`A*_iUYGn_0yQR5T~UZ2BU-*rom|vcVcR z<<_o~ER9AyYa5nfJiXk z^ge5Fz42{{wTElhKKHyQV@R~Zlm9X~@%)h(j%#f=)7k*%)s`cMAuwc@*7Y;UtstYc zVYpEb38EeA7xO#5Egq?jkx>c$R(20ddV-YHcLtaJchThxUeZRQMz4>@`*rfQyXV-V zqiE+wmbEU_qfKRq10vi8_A92FG+is?e^B-z!{Yjq$3T4%mtQ?yem03GB@a~&Ktv69 zcK55vqCH9d>S+o?A2^G;<@w4V<*Wj^wif>b@@%Jlb3>U>0Lc8o0YOCDR;ou*Co z%r;Zj;M_)I%fb#X-wZ`ZjEY`MJ<;^HFRC`M0{kvo5E&%-kZDScM^)YaNzOE3SsGUw zu)S$`<(3(TM0DT#s)nQ)&|k}m)EjS>iR2D6;DuQ_m=Tmo-rE&aq~P0zz5_80b9P4& zrTq*oR13kK<*yInpNvVsK^RC3o{!&Vg+L0!_~7Q0hxYL!A~Y8G6~03JbbJLXKetZOAFmzLWj zIqDE5+~TSFc-zkcQgqU;l6l7|SRP zk16*UzmAgErBK!KZW|#kmx+LZvEi;uM#64(`sO%IV%_{IC?X4nPVvWk;-C|<)P2v? zQ?TBv)OtyRigOuJP}n4j^j@5mSlEKbxT|6e!FzwxWEtMeypla@Ss~}EjPgZD8DX?U z?ta@qzLH(e9usbPkIOI=XBLXSPteZZ8pRs7z_k&TF@7P5!^#NqN0ye|)x5o%EGpkB z0#96U=;`}OcpDeG6YFIXp`*+&PcYz5{>50SL4d~lo%|8<{xlu^H$gXd`7x-tlw83< z8j-eo6%wPC9vcp3U|=DUEg0^)&Tb~s%XoShGv(*`uT0h%zL&}fEI0a87+&;M)$Yqt z+{Ed=HZ;hnDL9deCy2}7Ytquy)l(B$A&}S58Hw92bvxEhb@ghl+VGoq(oM4TYwIr_sXxyfb=o#jnJV5!tK<-Q)26Oa?Uywh}i+OzZ@3o0(CQ{4cgK zM9OhBgq(x=%@V4mz7xma8HN-3Wi(s81sORH>7H6Y4&@B1@Vl)~Ru#!hOWbnnnLKLI z)_EbdEk@yFKgZ+kX7bPRTrOc<>W+P)3|wPmB(Gzj=2&yc4{%1D&25?(Vc$fPR8`1p zzG$V!lH;zMzzE-P%RK%Z&8|4jiEtb#Cb!&{2wVh&<=$e~QM6jwUq@~9`ld@^os0Gt zB!@^nzSXSSG>0K@HxOfD@NHdql#1nrq&xLSm0WpAG8H20wGYq260fia{s*jH|T-lWwLKS2A0 zJR1LiPW(TMH2#=Q#lpzO@vq+OZ#0jgley(P#@~$aUmWqxO_>ag&FqbS zy5j$4m+rs-{8Gfg*1*u*(%jKa#nHgg*a}$p!=NHA`(l`HY_DQ$?`&)@WN2e=Zfb6A zV5w?jZ*T0N;%IMR?kMG83G}owwwE+EuyiyNF*7!@_`M)X#K!vF3lqume~$>~uT?fL zOvGP~2s?lg=-9=nG0tg~)!T z(qD+Pze2_eB+-F|h^)XTnhRK#$PTPd{Fh_)r&-9>0QiiW{)1=kS8g2Ge&XLuT>iJV z{AK^?rUslHFO_V-jQ;Y<@sr%-_(^VZ{3JJl(v08#{b%JHu&(m=&p+MSIDTFa*wW$m z?|)to@bh}WR?RQp1Abl)@bh}W$M5&=U#&u3T*le{KJ0}Y0CMll;Gvsf18MZ zOqv1!94{-=-$~OkpsU+vef4vD=QA|eZn&2sU5;oQhM(V|j?2mN%5sgA9X~pB;0AT5 z4FOd`!t(Lcm5YgFn^unGh;udM0?%~_8-DBrAHMR|kk%XeifOSfc?E^>FjBoG6OF^0 zIE@=IJD;1ZxbPFC`JvrQlP3A_?Wg;#$Fu6rik0P6EG_=58V#E_H63r-Z3(b`gl>kg zB|%E9-4cdFx}ZjF&yQgJc&5_n@I2e!*ba|#N$-oK`_^|gf<=AEI^KA|)2{Em1wqo% z2wwbl9Nf9a&wn1_38S>b+wE@SX6WEMeQLUbso}Z7@Y7Jz_t7lR)aPKm$GH(K8=(Q< zfB0>ZvI6LF@8lmO^)8gv_b7k#L}iEDyQ5l#T7A@XrFi5mB%{KT8w^ogjT^*|@VC=% z%XiODm-&LCy3)?^1Y83*PNR@0AjqTqPt8P_-Pw>%eMp|UunJWbU1_sktu&{%T$Z8k z+R)kE8mRk-otJ|M-SX^9=Jd}^K6YAd`3GGlb(qZc5r}WsL!ZXE+1tc;9tKQnk+!vO``qU(DZHhh8u(71 zZh0zjb&-Vqx_x>89gaBTFjM=k9(}B%%O^2S8PuaUSn?e6M_l=t4XsUrT+{tvbqCfw zdph455i-*xs(ZgVCsN&5;z--VwrK~!_%Mn1P9l_% zAK9>TKWZNcJUSlruAUPE21KaBE-B(8qdVv%YRSQva;kI_kSU~EYb3SMzT4gxuOBBu zBr~st`DMXEpYD=K>>(79-*c$yLHQ8ctLFQ)R_5oSDobCEf0ZeUd~Vv`e&!m+_RZx{ zqO~Um6L0UNrr`x#nG;E5fIEggM?EsfXI+QJ+C_oFx+1mjYgZCs?3G%~=kt{C>j~p8 zyyNbkokIsf*W&T)D}eRP*wMV`J6b;q6=CnyyyDMBOZ`@jXFmB55{~F&TiW)RDq;qL%$x=c&z=1R6#~Z^qM3qS6g|zV zzK!u*=P1}-H#89|@{#b0(He?4)g@Ac0)}Ci>1l5T4BD=QB7Sq^oZ6^~V&%z@+uD53 z`ala-*A}xI?rOia58E5Rx6}TW)+!&pu%m+koxxf*m+Vi2H^iRzuS=9635T|pJz!Xf z+L__Ckt=hgq^qPmeK(mWeeaVr--0T%cP7_y^PLBzo4pxWc%oM8pj{XB(l_d&^WQuV zL%uIu9HHYEktz0jTaPPdVab^+J6ycC0|+Fp(l+?qukP-d?Uqx~>>wlzLiTNJp6YQE zH3lPD563neTy;z?U>iRT4|b$>A6c#&74$7=4w$nQVdccT@a-$s7DJgmq4fZiT%rBw zm{E`0OO(vekUf05umFQSh_WDt*VloEZ;kCC6m2oy4JS2hEx=7&6(VAos(}jyj^9lUcn%*O1QfV>)GOtA2FPYZ-AHeM=!({MMXE)IK$*w3woXo8Q7@sSFEu9cCRRhX*A&-ZzXG((((Iw z79&}(5C~T1iXQ59%dorcLg&_yZNcSbzF#oeFm+-aB6_Lb6qfY3Y+wj~L%9tA;g9*| z_8AFdlg#0jY?D(>H7^xCq4d|$Y2FkV1@w{~JmFZVJ4p==i+6C;{`@npzMzs|@O&Y* zwyxK3aVY@@v_25^1l^>4$+zvl?1t11j$m}O z^qX!?4}6fq+Ie2~j)q;oC=ky61nihxq8%*&8dqd4Rqt<{tWp zIIvfJ>+K4Ms?XmweW%%pE^lVx$vCYhCLRw{JlxEjYnP)%x+owG!fIw!2ZN^Dz~zc z{~YlYUw&bKnYFOQPdPPYdmjmo(=Gv>Pl%mYr!<&~d#Afa-l*JuRrez$A8KR5;QVRR zGqKG5o+w(JAft43yWbu_^t~bm$-sODCVyc78_Gy^Sd-=SUhn zcW_LSM$6Ds2d{=-XU3kMfy{q8PcK^A!T-R)r&il@%+S`$7oC zL!ytDsH`|cj1AQ?OJG-yEuz;GV8XBli}^FNRI+X!goW`94grlAP#HU4`~6FfL2Q;X#1sm7YI9Myvo#quurybjdd1!eR$gq99C&$vDDD+yY#$D9uZaGc zl91Rtia>p*&OD3;_CTG`i7w@gVB}GqDP(fWjBVQOwkfbP%wqrT00Jv^oZf2U0Uq|T zrCadZxXF}=&m^E!T%X1-Kb&z!oqj>pn2VfrFX@3HdN`@SGD}~Qb3)KZvIQI6Si`&} zq1UkGM}plP)p~el6s#TOm=w9C{F-<)^Q!dPI@&>NdP>m|{jAJBg4iLFD~1 zTW3)?>GE0Z_1l=SzSUJ@;0spDCS!Tr4ui@{5FelI$ZjxaPxp?Mn?ta=*taMV@B<*k z0@%gcHgQ}97}J-_=!-mU@rfaAsA7!izrEGjSg)U>nx?d6YRRZCu`^oY59WmxErfm= zX}sg{{elYsJOZ-n(YqQM#Z+}yF@*~SZ7kwHbX-e)I>?K+U#?eN>ucOuq?L|{r!A#g z3@d?Vm|42`d{_>7dR8x6TtY)u|E`{^pmXw=Q!*O$sE}-(c>terRCGra%p}Png2er9 z|M?YkyJye3*Bw;P`A&UW;{0@Fz$Tc%95dO7%Buqw&b?VP?DQZwHc;yk_Z9|xh2978 zS(&r;jDviHv)m&|@p(I4Yp!b6Fg*Si6%3uFNkrafu37SpsEHFC!+72_mR^y0B<#VbP@&eKcF;3T+Q z#aEGJ=SMK$pc%uHrc-GbP&ipEs0ZTE7;UY48c7V_+C=0%#aG?*sr97I87Xj8qDue#?%{Kn#*Ih^(PD; zRaFL3SqHWUxQV$4`8Y~7^UVqhlq95PELQLOqybG9eV6NAwIoB-B7A6*x4B} z&DlLya1@)IX};_MoC`6%xk^t4$}%(~=urpZr`x&&UP}{*@}`yeiC-dXCC}$0g-rPA zuCxlod60>;nNxuqqU(d+yjaEN5c`5DnSJ{Lw zV?pJqm`f6~U?$8f>SooSqKxX?Zlzb_%+aWA3d=0zImO|~uvWw8KbGI)!(q#INu!9o zs%JE%hNR1fr}<{0bdUb|@>uXyJ?57}{WR7f^v_6b#9Q^cGnH%ny2+tr_pnEtRhqVM zm*?Q{wY!@OS?qj`stiVV`4+$U>7UQ=q_prZtlH$X;q1e4HAMA#te_x5zs+X`I3LHPj4RYAZ7*h*mIWF2VKh z;9EqVh`Y7&mf^(Ot#`xJ48*;$Cl8058wBO4zD|+Aznv03Mwzi2h;bG&&G!hdKVo%| zDE@NnMf$b@wx@)dO!Bwf(6|ZA4NG>w-01Z16u;%{mQu92X^T|f9edwzB&coUSumylFWB6Z0im1A%-qxsMS z!TF~Cu;G&xS)EXYi1fYc0z`SpnS1@Y3UKNycq?kMFvCTpDkxA^3oApGRZQxm(jh-f8qn z;#-wAzn~d+B?F)H#*~jQq_WR`U+o4eSl_RLVXFO*YNvSROq~{@7LlzZ)>S2Sks-Y;@P5|)s%b8 z=hT(%Yw27$4_^-yldK`&bLx}igyfs@#AF-DB(-wB>o^#5{ zP(2BmJ-X-qB2~?g^aaJ8am7N_e(56mwVSd|Ptm!5!hUo8Y`&CZg`yLdO8pAoRN~71 z`?L)J!|9)-@b@bFmr{;3E&b6{nRa zhtkqRM%UqitqKx^p1OMF4tXNJcDw4Nsc&+0jKe6@%bKZzBHxb}Om5jYkuknms_FXh z5o-jUsYp4g-*Q>rDTtBYdON{n0KX4=9Wmu^PjU%Z6;aQBE2{^Xi1lOy8LIr*Wa+ zTto3|??N%Qtv;3=+yl16o&?9)w98BSX=KjKogNNEobpro6p3sopicwkg?3juIvS}f zfK7*lgW?Ae0NfYZ#k!U>SQW7O55&(8h5hq)j#_v!QOtumAWvVN=1R}CBj|WgeFVmy z1x31;-dy0$sU!_l=#8&7^MT%@x1~%7-yW+m-;87}aqkwAZ!|x92Ca7NFe0stHo;}Z zvE6zGb*%5YMF>bJ)5{m3U%hkOzwcVSqvuL!RxCXDgsO#{90IA&GkmXi*u5~xsdLNqmUGbxBq&C-6caMuE@r?iHfQfg6l6NIw`3S@IS~$j02V+fz zVX&(S&DqbI{_LRbn00gU3k5y#abH~+Z#LZQX_pDUiaAW)%HM15!z{Tq8uNw8FjVL1 z^P?%#ypEBS$k{|(2}N7jT=*^>^zh0R-{2jrS30}>#JZf-qO0+@I~L7EnnEORa~%00 zE^NHy2)bj2&aXuLXBK&O_{?2+0LHpOZJ1@AHSbwB&=si~tK~0-;O+Ul1Nr>A@4&0g z-@6quADn4smD~8KCUPnbPWNb7>g9)>mc@?PYpJh5yE57E1bnd#=Jj>;#UeG# zNt;^cjHpj4&Gpz47tn|GlNERhcw22;{*G`s7OU^v!cCkdS6}>9*lcL*VHD(Xk7E9m zOoBbt)Q8sS2y5o%kv-P+)|S!Qq?6On`9-{DwG69i#p_c3UJ5PO<|O`l8exOwi!ohv zUpGuxyh?NT;F#$1zhIqHAC}Ebf}l}4DP10L6<0e?-Kp~0wo&mo&w-h_=oF}`4Mm65 zj{+9N!D?EZ%}QG+mkQ{~7R2=(YgRue9tc!r@wx@g?dN@+NxHFsGn=M(cTcWps|0y>;<76g?`QMb;@A(g$@FibHViQ3P4 ztI>&Y-E>EIdYfPGNrE!VwJ%^OoJx4{_%Qe06j#%XaPjljlU)>TK5(=RHfvX{+PZWn zMX{QSRiIYFi?e2q36qMc7hsM^7+6x#-rh8N5iNRg=GDbT9$}YO!&PuHP+RtX{*wjI*s|% zwneT7!H3wZrLYVcK{~N~lJ(ATlZb<8^lUCWsWJxn!C5Dhm;UvoV3L~3u;y`ZBdt$i zb<17;(*mwPG2zox@s>O`;bdln5ONY}5A_=?Hi%8-Vc$(Pr4NGgj0ZX&RiM;5ZmewL z!lY4XeQaIuZpd0m$_;5&I%C}Z7;Q{d5>W=c49mwL4$c{K;k@kz3%2R^x<*IAraisV zGq%2#r zUG0r^7uWW)bTJz8=D7KQj5afSG#f?nI+8M_qD|MUQ`-2 zBPp38mR>Q7oH>?PM~VD+#DR6bnds`Qn0d%ul(hk92EK8hsv~SSNKDJoG+b3!T#SZw zt!&=x_aXO)uf+7*5s@t<+5xahXS57Mu3?zdx+AcwtsZeowFb_anqsy5AfntG`mGw8jQUCyGuF45)J_TerfuA`4y}afhsVg{tEj4{1 z1pnk-f2WtZfV}eGiF07LEUtgK;`e`6U7=v;02E~a9a?Ry|B=4p*CN#ya`Z391gJOx zDl6Cltc)z2#2hap^q-;J|K}7Ze=#P%7M8vc#eXs;tjwH@0AdcH!UD*Y|5R9T{0}+t zI#}6Q06BdJpftzH;g3`nzlw}r`0u}l2LuW1!^XjMXK=E*nl!Npfv?6 zCr|?PTO-5Ykp6GP_N({@Xm0&?)yY3vNnV~hb^s6*>))O__TQv3tp79ET>dm}zsi4J zBqe_xHx5olpx*5_{SWXDen$3Xzl9BG;?DjX(EpXte%%bc zsG0s68gP;0`DK5>`ELx{ zKWU`@Pk{S%Z}K8K`^&Jg0dqbV*MEc!2=!lYY4Bfnf-$tTv3Uo4EFBzxT?GEKXd1LM za=@;TXb@ksJHb?O!55)^=KthG-eqz5u*5gHm<;CStIIzhE<6DOvo%(k- zBZUf;RbyP6^;WP$0j4xb%L0O>StsZZ@j?TKXiwW%K2MLALnk$9cY&NOX>SMT7rC)& z7ViR+pLl*?wfuOPrmFDmw^7LQq*9QFR*1AJhLY)(>H^^nPu?Tl(acHv=CG&!MvrU4 z>REW6ud+h-mZP!#d@a~V#AiNoY%Nyur*b8-af!A%(4OrEeAM9I(l+3}D?p)FKvbRcVH*F7L!#GBe>HHl{NGHcG8 zO)#D~uR|GpPfBZGO7Xg5T=F!madkLbw|)aYk=;HV1Es!3xE@&zM%0d28Mpb#famXwNXN z5Vp*MV4!Ha!{UlsIl~+WdOvyh&tl;Z;O zQH%)vAPIU&5_Xox>xt-{!QGs}i4xhRM;S^m!dlA7wWH#oPzTeN?H6J0S6!vYU2tGO zTGHadC(jEs5X?EbIU1;kR2f1>m2!`B zZQ#8=VZF-o$hNxSAzmbN+aeeowS8Ordvu_kjr1|txK7L7iIN`Q(Rz?(qPoH+M^`mz~XQ8p{7 zF|6WYE$?v!9zz>|fm|EY{Vh9BiKEE3I|5CgDHA^kZ68AZ(#Z*x%J%)!PF?|&72kKU zMyl43fhySJlmo{~H(X8jHiOQM43NZ?c6m^l@EehL+@PQw$pM!ZkW|3-G?L2oo45$r zmzcHb!u2A)QwrVCheXZ;DJYDDoR;f;o4W{EHP)@s-LwpKXv~)nguTqpiiRX@Cp{4* z&}?RAuugvB%bj)}d}Zx7fiqmztIT7-rYg-eU*irN+w6-Z9oMvTKW;jYycdjPV#19%gm3G|B2L;xdl9(})+}(m1LQFqJ)Y2;j z0n0A@S*U1mUq5-#bw!uj3_q`x)pgT&2x=HTVfnv8_hCUQ4BVC_ryqc$pWsEtl-k6B zXTsl>vV0>b9C&qCug4KUcocCN$-Myb#~&MH@rDlUae}VGV)fy6<0`yeVo;Uv`d*LB{+x(T-}-{(5d* z_-ogMa&oXceB96!RwB%TlppwjiDzMd6&TqO2_|h}o#Hl6;___eTTV-y9Jw;P6v<7~ zcT{&JZ?vTcsCwojr1fWpTNIT*0MycOaXgI z8W$(Y+)62gzIBVMqHT|7s$=<4*7cSC4P|0`^j1A6nT;D5o0zkS?x_A zU<6(rCR*_k9vU&C>aELy2mD1|w*dY_#X~DIrCPFV2gJHwvN_ER+ErD+2gtHb!p<4S zI zKC;N>Mk$aP-X7{l_MxRU^jB~tA z%rL`)aMT>Ec|v3xrOv{~0*ok&cPx073n^fuyF;q?gw{Om3b1452A>OU#V}~|n3t7W z&sEXbsh9JZi#Ej(UF>q_<`ihqmh+;A?8qSZ16&oaRG=`3CQIjdUCMu4 z8kEWP3sn>W&vTJx$M}TUXjL1NspQ$C?X-W|Tg6rE+9vQF7P-BGTRF-|*opZQ-{_De zRi*CCmXKmXtl;<>M{2C;mf>^G&=$xw@2;St1 zV)f70p-FP9!gm-b)`V0^U_;4pG&{(bUAQ{d6M%~EWh5#Vo~Qbg8PPC(E9+@d-s(7# zqQoh~E=e@YnYP)KIQ29*V+^u38np&&l=4{f@PKOuBI5M`z&C@X>}+yHp^K?Mij=5_ z(qM|Z(PmtT9rceMyMGi~t7!Jjhru>NG<~Gc&#V3hh;l(P2m|%GrbL{(3tRpyNs=Q_ zB1_yd%YkB4Lk@aqc@sPut?HNmh^XwA(x;DOGT(uI=4FFfE%%7gXTS4_J-0Z_cXlf^ zX}7)%%nScxM-H0_Ut~NPPYRv09wQk;n7h<74x!mzGh!$V(VD{hJPBDUo`7ci0^hbk}*`fyc@2+)2 z!FTN{3av_)a}P%|T-=ee`x1k3$LBrO2Ym$xT8&f~(Mey+Gs!|mu_a|H2v@Gm@JZk- zP;XT#&X8ndUCQ!hh7*sao5i6c83-+gi7KS=ZPy_O0rykOW|W@U(D)jL8GCPoT3_hm zMJXi#m9PfqO6FH{B89${VVz2(W_26RVCJz2=jkFxMg(KrwbHD9OZG&iOTF{Y2p@f7 zztRt%6Aj)+MoTI-N2Y^y^opp8E_ckxce!1*4@;~-K2fI{vC%_RCJ@-5e^Ng6{J_KS z#NBRIsv_-x+sc*^psHy(CSU~^A5d;=hO+}+&jkJnrWTTKe(3{59}&TQRyO1DSq5yL zQ*&Cbf#u;&eN?A|L=_P+Q)lJ*fnGKtfruACC{OvbEawMN?)x^pJTfJ&RCl&wqJo6v z_!-fIGf;=~@w05Cvc^*K(BbVApX!^qjtp}f^x%&oS?CsPh@x6QLhzke&uqQ~X2~Cw zaSbOtQw8D}^o08Yj(O?p7%nMv$(9yzfaaM^Cm*Gz*_c?@OxxoW7|(fAW~*9ZRo zR?H1^E~jF8q=k{;%E0uva0ehaF#_f8?9h}i+ZrmK>0-#Wgh4&prT(x~5A)&aq$-oq z{HQ<;dZ7HWZ=e?4_C1)<&({=V*eqeL6u|HwKihdW#ao_#z3ol(N>7NM+)mhW;j2=N z+oYIm1!1TOsiq2;Ky9N5{cPrxp z=KZbnX>EMU!Dr2o_7n<8$7{S@xumn%-a1R=39lj}wozY3X_s^QAPM3*0X3M`iJA}p zySlWU_ab`Qb!J%Kuw_Fo5T>O8zje9;ja(pH z9rglg$1*kUKk$-mF^*@OAbDCK4^H!z_4C)ecF(;$;P4Dy>>UQbg~xBD+&aXvNH-k@ z!`PnGyg&N^*!Wu?kZhok+Z97dJf{vY$ubTn`oDzYX8Xh3spni|1R=injYwqkprBHy z>qVt14MG<~5Vj{1drZQrWxzkN&(lWLIGWjp&bx{0x}&93d1UYSl5_ozA~e|U8B^nl z;P;tOG^{jZAEXp2#CyHkJRpOf;A(1k@8RfQ?InC>p}O1`5S}3Wy3mW6Ss~(BP2=O4 zPy^eDkKdvxtEZP*w|#VRYo~YDn1+1bN9JTNs#~Sl=zddM#{MRBK#4ricj$cM+aE=oB>j8|G?B6M2TPnK=Zheo)IQR75-8?Fc2WUG*d zR)h#-O=FSqODJWx=so)oR*x@(h8Z)g^wGvOhhsBac~Ocf zZebXFt#hBi4m{wc>_2@Ha8nPI$BhYOWhGlu_t@kpfjgwSbo};wmWf)3t-iKIu4sjSG)a=N&Un5Y}oKbgd z-=>y7nRi6Z=cHyAbZ3z!q8$?S82SR6L@^DfRaLBHqaSdRMHRz%5$_Tr8?+UhkSNi6 z#o_N?-2g1k3e*|R3!+OUpP-hln^j!80azs{XAyhR+_2TOZk&D|NxB=EyXS3zXtBtG zmTg+i2zkL1&8R(Bn(1T`sLQfvVYr#;-TCs#o@QjXoyhnl&J~rfwVgPp9eo1q%1%%J z<4eH)oJ;i=HD&OdWoaQ+p0{y9AT7mH0e)@wRbjg{Noxk8v}C(lP}(2 zXKUm5Pg&7lA?8;}#s4A>|4k$LzmMPP#lCjJpM!XMu|F<2{Bz_j_CHvx{Z)hVr}pEk z_~q;4zcHR?|I;7x-=zKE{3}=e^RfSaApMK+JSWqi@Z>*_=g(}{x#~W@x)OkEpCUWW zP;Tg zLl;g4y*M!s14%t!Zto3SC&2d&M}G5oJ9leuZGY_Fzb*^gzjAhGP23(H__%m9wrT7Y zxjsFO8~XT6>2|tLcJcb6ff4?eo)4;z6V*VG=v5pH{8rgT?ge!-JH`aeL4HMGxdGceUeMqQu!2l z;CpO6*LjpPzIyu2zw+SA@B4_x(8c5XD3Kl%NQMZe5KWRlfY1{Ilt{;bD8arW?N-6X zk4P{4n+nPuEqnNyv7JM1N9{HJHcqR`VF`d?k)=@r z&KV*)U{rowO%w=rtbXxvk(#sK9NtkaakLq^SqJ_+TF_p{=WI`+f~{#)cV9~wU5SMt5*gldi4a6%`9?3>?H96#a6D5 z&7R6kfnMQQVD~wTPe!vU7z4HN-jR!}a8UB-5h*oHNzZD?;H{y7Z@d%h;DiYRqFsF2 z8w6))ABipC9VneAP@lSJ=Xk!;n7SG0-isMnWWM4t`=E~xx9qPTl7T(R&yL#O+``y? zIX*jjj#gp5mGP=8PJG8X*9cv!crC=-l|n5^7o2vqJ@$xU1K{GkMKN;UNBXtIDzxt` zocObl#7w^~-jkqo&i$Uh5a8KUbwt9r^HV-_TCHMh=>oUetR8fDzVFaSQ>h_T;45C6qjR~zj^#8;+YEP$(A zr0t=US_LOaZWtf(U9$82rF&_YNHAg)bXc}W`Hq3K*?`Fk7mHlv;OwM(Jv349+~l0{ z*n8{EbUQT)azxRXX7nBXx0QFUN=d*-{|g+LX0RjxTnhN5ryAM_Y$&o<6)ggXMw%{8Y-uX`iz8>C+@bjg1V0Mj_?;o4I9(HTv&uIk~-GOq2 zL&cjMxVdB7|Bs4bkO+1g@ZqczhlZ*{W|BsY!s-s0zbB2 zbHbJmppxlO*Haw?;^vs2>fhV-Y2uKbYPvy{1IFW((Lk2D2x!s8UW2>P;>tNn_ z@|cl58G>`7$tnq^z@?qSNR(<2*7J4x#<;d4=hH%?8H4v1SmRxY^&j^m|KY4j%ij^u zeGFEQ5;vfcivkV&;}k!P|MkshyEy-S%lLpz6QVaT=`F`k8$siR*MTr0gO&(!k>R?W zK{?jO(8I7rMsLwgr@%=Z8d%BFpFu0S>9z`yhjo|K(k*G1-gb#$Ez8x~Oe)b?Za82VC>R&{|789E4yzhj!45fg zc{bvU%QXozsV zB7w_Q*fu6Ra-9)R)C9v!AW`a@!Wd|0ktx-rBIN&}ug)5niNX^(fB z`kcb9#D_`!PEZ6VV7v69UkJlPtHooNERjx3ubD$kH1DtXghbi<0Ffh4M5-ouo{+c{ zDsvmeV-8*F4GaW_?Mm3luZds}nWDY%a8_N z)IwlJ{6Un0vKj8R#bt)n-oE@hjx?>^6Su`8pblG(!I-iVY*k|4qE}O#q_SPyL*@oD zWRiw_P2!?GZKHr!6Q6CcD8tiL1#?0wC9L6U2?}Z;TYn=-+}0TZuTUNJ8D$^shCmUH zL-Tp^KaF^vuSgm)r9ZrQqD)F6m7IvSUmaPx>N zTN)mE*U%S&yzYT$##2W!tMI73bOf$|$R1s+C{0H6jaVDZ1x-=S-#B6Bwjy}hhX8VZ zHhe*aAe?<59{4&+k`2QMQ9-ux=Zl{OjU;B{Ri$VI5Xa(hCm-$UM{F02g zPb0H(n)n}IKOfs0y7bH`Oyc1J?HW0iyhhrSVHs~{sXv_}X2!&`FtZVFS>4!)+!Rgm z=mooe%!t^P-YfvE4ZGDcy2fl1IELuPjbEbS5>V^wPG)Fx`5T=JDqWDEvBkMP3N>7^I-u1cgHHf5#d=)zl4u@@cOhkQPw0c+A|j9=i+iVFdiw?Nm`BFzI}omd;D zRtvaRhq9I#M!w?yNZo!TFEygxLC~0Rc$Zv$5P$4HYs8hPOMR^6ViH;#c<-uvc^b4tY?PWk&@tFR^V>IJL7^Y?sc;jYd^I~3R$ei)=d*63~5-J@;Z>AR+8x(D5{SxU?FcMMTB3V2g-P!!(7Y& znpgVY@#yB$6cY(;05s#s*);P~B4YbMD=OGc`wi3NeqLLT-YdA~=PB}xzWRSG$pixW*mVj0N$&ZDR#>(-|jlYBrgo16l^GNbh9AB@&${mssE;t%$(B_^TKEU99@M>Z*R{rnH=r1DTyGMoDbG zEgOCvc3b45xeVC(W@v1fLpUOncDAfU)IAwfR06T1-)30^1p1_ZI*cp10lYDJo6{+x z;t>p3Qep4*2`f8GuX{lTi`yi3wi4H1n`EF;htCvUsHdsg$`$9IhE z%H)NZop)8r0d;UCTilZbL;%+N%7Sd9QF-)If+Y{tc<<72lnqRq^WJ9=COW}2b zPp*|b$q{ss=g9d@Kl#ZmB?Q_ac$}DzATPIBR;!);`Rb zk=yXq?HvK2?)EovW1i=A)PWs3e>F7+L&qYZ7GL&pRxEK1H$r_+Ki36af50hd|CYE} zuHSfct_~_360A^^ZfwPl;I`D-tmVm)$N5bL%j2@B$YKYaO5^L$t@#dXykHGmZlPq* zy3(viT`r~=99roi8uQIE2_!t1d6JzNIUJb^!T)!(#-Xw=7ujM47sQBL&u)TDul|eQuXNSGRhqm!@7d&dw*!Z#gG@4@pZ;H+7meJH@jt#%a84|^DD|l~|_hR@n2za(#jR?Qd zLo{|1fsPQmBFyyerAR2yuF7lT6eSOl(y|9y#u~m^i(0Co2-SIUEtZQYT!rdRl`Rdl zshi2_6zXmsimWCq?b>NHj}&t-jWc@k(t$nSRD*iE-w1r~dT89_C`>`&?e*JbGWmrh z>y;xg*RL`v`nxkH=`5+GWn=X;?*J(>0ec{X1e6qHIVsX-?TypFwIb!M``9eLU~B+X z#WR9hIi=JV*F|?{g#MUrARB(dRYyWEiPOVNc)XJXova^DA6bW|1GIeFW+Le7d}!Z* zS(~=e)AM}%7mhq72N)cMN454y0koGVcGoPd-a4At=u3FOwp3P*#QWO?XUeZ&TcVK9 z>Kjn|JU4JXorNvzr(|8Z;hRC{YGIF{R@JVw%goUGRN`%@qbw?Q-V|$2C^x6~5Z=;J z9!b|jat;!`c1ZQgfQLth$jj2)l8*;RKpUM*POh5R`5mn&v&eGEwnou*CoH}|mzN-~ zHbWE9MN}1aWmJ{a!?k@3 zPUSF1{k8&9LQSB?>Ul7h(G0W>4au5_6opT>w4+>7&kts-q6NM;nDndk-JH7k10|)_ z33^TdKMZmWg)f*fy{SROkx?Cal1&0j5Qw~CnusBukDAxj=q5vq!%k*~-8q1Le<^oA zg(E4|iOaG?JLTT#H&fW$KbS>fR=%7Roi5v`(>dSZZ7^Jl-)ol*Wc*(K>GgE+w8fEj zNZr8S^_rjy_=wVHD2s22lB}Am$P+jn@|qWz<6esiWt|KjP+yKaB-3U^Sw;7>^PCQZX3;m{-(zPWT`5`*(v4;%1xDE`{a^U%|G4R42b`mnd56{NTYA}xQlyY}Q zk%zaCCB4SLrL4`k(lZ_T>N{`(KuH6nRVmKqxCQBzF7RnVzRrdY7?b=p*Rp*SIj1|P zZeSN-3^FDBt;Gj59Mc`vk=)fK0pCW}g=&2HHSa?_+ ze0QM9$)pGlyDJt@`ZM1zD*+!oHCgzsaDL zAUEw2->O3<{Wz{9bXM3x%-UzdGmIJRFi0qI1j@r?eR^ns>`ai0K^piZBZHPalS_Yw zWCQ#Udhi*2t4s<9B<>Mate-b5TKHaVzt(_*!H{dDtN=Wk>m;SUUT)+PSB3!`{rNWZ zfedaD+SOd2?{!gK{AqMzoM)I`&^K%`+i)1cJVMgxQrf$J3+Ya-$!Qo&%B4QHb%(Y_ z_t_L-ex!^LoyXb>;;b9jZk?&A1@73|#AwO>iciwL_+`O)fQ9GyftfXD9}gdS(T7G3 z><0Z?>=)O3(mu74&WC9U7^-=1?BhCA?BL;CsAq+_W4=kt>Spw#q#7-}KE|*ojEEYh zvKPAB!G75OAfdIoCr@i%cnZCMoLbjrEGDskQ-E|PJintd>6u$npNxyrw<|`H3%_fK zVyjcajVv4+1qG2QHH@Y6O;^JSye8SJ0~)2ZmV)Oh{EW(+@y7hwbgXZ{EDSDAwMDbi z54;W*WulAf>-?`}fybHibYF!_QcB!(X4s9S5+1PnjHNh3vHh|R5Qh|fxJ~D|&!-z= z)^f))VO@`8Yvd4x9B6m}ZQ&WM)t??b4T1rJL}UjjEQxv0E5oxPtkS1Gn})a$$FnzDf3MdYC@xzxN@9WK9uIrc;tGRLVT*NJdI9ZZ}WT1vfbC1lW>L^w)&UP@G?0P|#I~(^kZM$x zU^FGStOhy*dOB;I_rAvcc$9!Ql~$yH9TL8FI1jsZJF-4IE`xa&!e5!KS|>|ZZqYpM zeGLLTjQX&DWhcB~wvFjU&Fd5C26xRdxU?8tDk+Sj(uNP~;;x~%S9E3^ncM|*CHK)ZDHWUcXX zX_uRT2e()SW@9Mis53U2_|#E>yKYiaNY6^)QQfxXcHR~WE43^FDIL}UNADWgu_?ds zsky7G`4Z6Dsrf-dW(Ip`Lx(lSK~>soaj-1%8(hnajV79#i%=E~97|qfr@c0iIqkjy={-gkZAGrSmDE2qb z#Pmm^p81P2eMLvUvK8!KRP5iD4g6Pj^Ot&YXFKD6$e9=!{u)gB6IT3-<^Bnpm>8Mq zIKG0ZeA%w|&&crCh!p#O4%z&3zQo4K^yl~eC%(kH?y%04a8)|SU*n=%xSC34(@|JgCFPZn zc%J>u!K(O|fd!sfT9XR#IGiMY&iT^sHy3udM1Z&m5sxpGC7Pg90pLCCX7qluduxX* zdePIb$(!}MZ|KddKb~UuU7t+ceV?ZHBk|!^Z#=V{j!H&KmVe@!kvRZx?0SMTwnhZ zpX#0VIp6*~{Z+{g9JQ_2^(>j$0!oheTo#CAph&ob3-WEn&t7lEzti95a1_xOxyF@B zU(yb#Z}{Ls5~O=i>6Lm15Sl-8;9B8B(U*9E+Y0Uz(skPU0_>va`o*eCl7~3cmAV)P{_5jaf3)$@$Be`*&(}Ez%?t{17fcR( z`fV$2dZo!eZTv8#b>~x#9PichJE0D7`-|7>2|7K;Z(5ygw|Xn@ z`wOoweBoU@Be)o(QjlURPlWOYif-PC!*dI|@8)Tfu^is_zeX#xwRbgpM`|&5={DrD<9^ZN13YPL9vi%iM>7oZRmK8(6&oGxl2Cj{%9hf zm*Zie>7&(=dr>gNN2Juy9DYqVU0%;$4k=2NV39OC6>?0!fIj7P>@5Jz-oq-8oaEi; zZ~0NT$ouVi9t0}=Hmd+XM}vw5pzo-lDWF>YJmAS3$gNKfhi8^MU`te@+y}_9-f);u zeF?2qev3{4DGL5aFvJv~bAUp?9tiTOU$cbZQZ$_6fX^PtivoQv2wI{WpVS?|ch%ONLy=>kmySmtGkZ8NxKly11HU>E$GqtD zTg3BB1X6wq;9M}PHk+M-(tzmc8PP)d%nLE04DA%+5$74crc{xrbM`1CJq!->;C1SqJYxFdnQs#+BP#QqN`$kKh=fW2b;d zdSN}1nAz15IEHv4#wTT(8NA^;eiT{;&s?}>hUTB-PT!_&vKE0ESe!!I@H+@Ney`#6 z*itIi2((wQNVrlMb454-@L}PnI|#pd#YWvkSe03-i;i1W(d7SrUoc(*ib6@d%1X`ae7+TrPAMj6JKinD3ZylljVgMcD}k$G1!CH3|+8_7zL z%*l(F%DGQl>9B#MueEbwA2wp#80!JsvAkLbJ-<=X$BCM(I#LuKziP0CyVwCoUVsI> zQ9Php*tgtHItEV=8C!|X$!+m{=}hq3v3=YwUFP9v3S7;juvhKf~NCa$5?mpZ5-)ZUwoz!-I>9>p-Mda z;YD>VbI|Z1w%VSiarWSTC(rOP+hT5* zeo`AhGjVxX!8 z-9nDd&Q{;lpS~O);`6n-oj2C~qvICereP;DzW3KDU};a{E2pAh_#|3HIUI}^3dn77 zhB9$!iA*e4!=?V(d_K^;xxaoBmUa68Di0c~Ifuk39y+=A?F8Zh;XP{M#4K-s1BRf1*qnk#$oPe%TT@a>~}uTs`n zIh#cz{soX!ka!HTa|l18``I){-iL;|+Z0A2A&-2-q_FoOXSJJ@M%OGuuZ>egH|y-q{Fb1Ez8}sM zlcBM9aR~?%@9dwz`!)_R+LvNSRzZhul${bUP+S;Vr#m53#gwPN@a0MR+u&?Um}(j1 z5c+XWH)w$NpqxtT&=53V)ZI>Ap|rlC8ke+)#5#or$u(L>atI5NgreO(ho~ zL-Ik;jFY7N+=reT0uG+tt0+4BKDC}Q?2tDxI_}S&Cd!S3!)f)L!nL5mi5wl!g?99UbIsthz{2iRLV`$)u$mO^MY>^<~#^L!uIlHl))xjp$KA)Q09e$ zoPvWczK%amQ$ychb7W7TBphHg>3->Hj1xnk_QtQ@okbyqER)g~WRC{4*=|JOpGhVu zALQCw&g=*}-6gt=?h&j`t#k*8-Ba$-Fs;XfpLX}jgB(I0sk}Nh=a}XM#mwq~q}&7d zr83(4o8|?qma-3$AcqI0v(&Ow_*3+yg7VekaV-Mg#Mn>NjNe{M?-$A-6@iWo%~EKt z3uM{v?W)BdMp$+si3!?IE*#iPdRV4Q-zLe{d6*N-T$($I=+k3c4F_CKt>R1rSZP+s zrj56@)Auzy>$mv!Q~~_eZ6~~5wpUSo?Cz#{XMvc=<^q-&J{JJiE9a#bjQxBcUD!tW zVb8a@UXHT;Kvt^08eM85+)losi0UPed+N*w3Q(wr@auzK_ zDdO2;Z%Mt!Z@BvID7}ijE8|0@Xux@yXp~O(kB0UF2yevlAsqu}+8vn~n}*qkg&5K| z&&z$A>dec~6VHR385mE2p{D+Nfs6V^b}Uxmy;a92UUSLGw^M(0Wfd16 z?9k6Hy6PgRh{}*aAfA_@D8@~@I zp3@M%!GOI8P!7w^QUqKK^^pZzrvU7EpVpjtYzmL`I7qgn%dmiT-p^d^Rgc)=&w9#SP#01d8IIXbdBeL+NbbSSF?`zWAtsqf?DLGbxfUiG!K% zxwkrWh)aUja4Umb$T}r1CZONQjScjZ{!m^3#nT$-mGT1kfI<4T5q{HH;O+RNc!|#` z(dVMzN@1_Q$&UMhZ9T&>Hc_1xctJrf%& zg&a>^lhj!m9M-a2&-t8K#rTx1xFi0#@FC7KuL*VTz6i`NRN$WZ6PW$`JjjOz7XrfP zCHtKuu2~1?OX~!I%-62%rH{eNFQqUNHvFiPYlk0Hi%W4$36x+vc^VMqhd{_nT+Hx7 zf>R@h1E!|O-B9I=0lHL9iYnzrXFV3$TIf&1sND zr^tf!xv5ixB?)PCkB|!b3%w^z0X^K%ZswC=phaXxy2Pg@sm$gV-nMXeC z4g|loZ}r%x@>}>-_RUD|n)&hmalqrko?{z`7>L2M3ZkbnjdSxk6o-cLv9g5Hqn#M_ zE37?*SALk)+b&lgbv8=ek{erz!uEJBi0?E4r6+hhs@#yPdOMXDhQ>!o@<%kSzU2%| z<2QAh{)WqB!rMvmG{jbX&_!O)F-+=VFfNB%%eN~d`%vKU{`mT%VK>J-{Ei~q-+d6G zX%5{d7yznTS!>>tZl{i3k837$9*_D}!Icumb?poFnX(4yD`qb`*v}gRcXC?@y5w(E-*Jl^6-|epgvKC& ziS3JwtfoAiFO-2(RfT%@R!{{l38T@N1j59GKw_%g;?=%piQNOtQly?cSgDrsb-pV1 zv%s?^DQfPD7nK7PdFl9PndC2y>8m-Mg1(MejW#OV&Ur1YV2Nf4E#JR9Vms1{r@RBS276$7>h!wOJbMcr>|z0b&|P8vzdo5x`O zpH;L>WM`3p$=E9Kr_OZdX~4b!-xaI|Di#;Y%R-~|x@c4>swR4)^i&bfbVd4rPG__f ztki(*DppPW^4}z`ZQ_wtbyNbH({Ui*e_w>>u8Ut=cHEK3BW{`!k+Sx1%UnYmU8jX! z=Tyle4KX6sb7D;GerHd;98%_pwSp;O3T-s$&h!Y!8!Mo zhv2hF-w_Kc4#Yc-W*L37-c-*)=+(^KD}MeVDMZ3?ZG-ysJMJdAGXLy%k*H)|t%tuH z;w_rtZ8W40Iw6OBt&@KfWId!HjnZ$-r;k>(VbUC>5<}#asHr?zeWqksAFtFipz$?- zWmUo{Hb7I{3k;QjN^ahShL5P(fD&?lQ^bdae5UCMicQ=hMipEGMDQe4gD4}Que35s zpRM0ooCz1!$D4K>&v8=BPlB61YP>qoA|u6@5y-$n(4~P*D9Wjh*zU;!4Uu74=V0GT zkm@=V(zIkNBrJE+EA!fYr0y0U?cJR%pTTNAYc-;}sb}RA5S~JdZ0vsMp0<7(a8NN_ zpZbqU4QHt0^2`+YYQcH#Axh4w$c$>cI1yC6b`2Xli{l&CsZ%C?zQnsJXp>T-%iZAh z)_fnzRPP7$tTKUegH$mkRKEekcdA+%!0k7!0;`lsC!>m1*Hz_ka8Ng7*TkMl61$4y zf&7)?VMK8A#g!J~DwAi_C2@}|<r>% zSm7$^4vWXm$!c@9>W*=I=ND-n8hPe5=B*d7Guy@EGF=)Ss`&#>{o-;b4b1$N70)?D zsxa8Y0+v*p@7>=93BQ!zEEx(}LXH$p3W~R4GgSRuu8bNwd#NuI!ANVS5KUH87s%tF zO0cbSC$yRtj10@+Q7jXbQCTB0_SULlQnkQa^A3%-cqi(mwKeUdj5X9VNrP)q4{OyI zx8-blW%2UH;d1u;p#xvKi`j`W935~%qsre1R*LmpmmnFiJ1spjPW52PmTGjVp&X84 zdM7+&u@$JZG3#btJq7|=6Hpi$&gsRjZo*QKUi{<3?2Xj3=HmK5hd&hJG6H9C3qY%F zHBp})0ZIdF<&%Idh7Fl%;|2~vxH|Gh;HiO-Ns!3=>2=DjA~LyShT?EH=I0dSZ?2&m zIg+v5s{p0M7BA0tMilcJ69ck7@qzLTPQ7$2lL>iNq9M%z+i; zv7HSG4aGng`%mwZ!JZ$Hru82vlG%I0kALSm9mfA^tD>{GrmLy6`C++rnU&&R#wvZK zR4cXYxY)TiR3#YQy;=g06bPk+aSVwj?A-Hqe};l?$>apdL6H5kB<5!did0ajEDQd= zW7?@jooNB{(i|}JbYq)z7F^DWgONU7<*=M_a(LlPLRN^?BAt#PfswU0;{I&YN%k=Z zF&4hi4HiG{G<8b9Nm2TIey`4%-nLnG7d@n#DQvq3Cb<;}}!7*r%mCYc4XA&p^I9+2Ib;s-#Kao)v&ROR#$ z5Gbd8fmvtN(b+ib1JuMyWC&>y^>5Ijd=H=7!S^etM_1=E{js+@Q6BRcwk2ArwuJtG(+FyH{VjlJVFok= z?Ljn%3+cdT&| zVy+a47*g0)aLkDEYD zvm>Yz$`d^jXd*`x0CAg?21S*_omuA;urE zmIAH=);opb`=MoJJW|_dhDU8&{e)D|-$V9l{pL5j1i9{YCTlo=8p1)qE2PZtPnEQG zYbsSd1k9=rFQhI~i!Z`mWp_5^h!(JkOJ9&(iiGhzoK*AGO{%0>Jsc|ESCK2_KLZzL zp9B@J4QeEW!qk(YfrCIBejMtjXeQJG)+|BW?1}>b`}pn%3$yQ@l}i#ijEnKAo^7t5 zOYk(IUKchLM8@e^P z3uDQq-%CA^)bHZ^S#f(k-XUEUtVIpjV>f%Sl}pjfZVO4k7GC}Vgdd8EGXntaoU@X> zpIEDQA%VnH~vCN&(3xe57?y)r8PHri>2NWG{ zd-R<3IxjbGulM`=gKfprWM9Y6&>TLzV$pciL0q%S!JADJdmKh*h-mHGNr7Wihk$ro z=G6==Emm{UrSF=Soe^-KLn7`pE%7P2LUqus2mai+W>^8#=?MY2$w?`H*|8iL; z6b%*eMM0mikf|LTT^w_+2%an^naC!zSAn~>y?n2+;BZ6!0*yN*qBwI&< z$G9W^Xp;mk8Gc-hewEp#qiF>#x0&-dY4xy95o-|n4G*()8TU^p@*mLeUtrn)NGmda z72k7yQRFWTEhhmp)0gl0|91lLFBJKo`SlqY{%R8ZlTH4M<^GK#e{o~Z|J#%JN6R@g z#}~#FQsUvES0nhs()3~kEcAk3pZ%E(6g2uHWJs?>uc9dV$Bn|w$;s~jtYBZ^KPMj* z|0DVM4^;b%41YBdeu;Gd<+J%8ko|9B@-No@l|cOivUC1_(n$WFbM61X-#vd-2y*<9 z)%^R>^FNRZ{of{P1_<$e9PVc<4L6h`{ZlE@>`{jWP*r%U*vvN3V+m=XS76y>6Rc?-DL_^P`*ot16U& zj{m^*%-To&swo9OHV6Ls_`=4OVyv9{@%DlG@$dwB`|d_AohqCEE^@5=^}9X(OeyE6tzH5r3f^$eLfjsSNsWZC3B zb?n^KeU^L+^!%7Gr6VSWeDBr0y@%2;i@o#BQi}dt5JtyDC^=>b4Gf>wfxA~^9 zCz-8kEUMB{25~2m-8G=_;q8+yjq&A&55V7DbtVc{(R{fW-k-Wz`J#$MKqz$3q@0>! z#mGBER%R}a&~MJ;=AB}n?|dBI?L(-1SDdu^kb}C=O;OhfKnZ0$f z_Klba3HTTG+pX^gSVgv*T2o zNA6pq(_;a}q2pp%%hbx;B0-Tz zLUB)cbk$mMpwXk-?PhJ+ECFsJj_v^Ll<1^j&GjAnIby>n|AE=WYl9q)%Fxj4$4j_A;?(9irpln9p)4$;r+*U5rKE!8rn};zJ9dM2;y5fe4n44fc!}fkYj7OgyKOxW1w94 zbK;aYlzkG3dVTsldEj%v8n%#8??_Rw+%IM~P{GIzCK^OB-0Tfgo5ag@ zE~;2s#R?b#xcgus;*qxdTs`A2#V>4!8Zh@)Wu|V8T3~DtEx_f*u>b@ep!_sq%ZGtMu72+Gex9uQG;ChAi(NEj+ann~ zah(t=Sn6rgiW)My0jtHdt)7*KC^w4FFc0_KZyP>k#^SmeU|2BYEcNE84*3CBO#Z@K z)&%UPQurSG{PTAl3xtyg=}+bpRoZglY8H;$lF051E9nIfDd0rGHJryVNvbEkScoRh z3Q7{;wxzOjaVClw!K3D9;y?j1*^MJ#HgS)19Q#U=*bizX8u)A0oNUC<5q-2dy9Hu= zDrj0vDdFGd+?TOwWFC<|b6I2|D1qO^Q0_(*z;L_`qU$3!KX{*^Tg8#sS?3^X%{laz zb>W`5fBav(y#;VwLDD8DW+sbS7Be$5Gh>S-i!5faWHDLHY%#MeX0VuOrXmnel@D+(YwFO=_9>4N)1l4m9#>Exa5@ab=v&t~iI2$X4V3#S0(aSwk z+}g%6Ruq}#78XJjO1wwKMHa3w=_G8q&y6&V2;2&z3b}<>5X{LOj~3_)2UK@ z1cz`__)l-&kbYJ7^9W+du0C$ee^;l}egkuX(9&P_Ir$j-VO=#JREzIOM|IYw$r_?K z{UW&e-GtXC1gi-R|Mo5w+40tvyRRe(93M`QJ4S;cF1ubxa=_=hiWCvPyO5N4TW?8cF8>_^N(B*}TL~f>~2(iXE1uJ%?@ML>OH0D;W^C6vuuUP;k5Z-gZI$Gjg7!{AM*9!?q-s z?!pqmRL_kAg*p0hCP?xcVe(Zn+*&SV#())3xnh%Yut_EUhu*{AbC4W5rULhRLs&7l zbC?e`(BN6(jA?F5@cw?hweYY6i^a!RWe{8QBS*kocUOrZ{;mW_RO)Sb29f9?fRvpmv*ThbpVl?Yhjp3?>DBkO1xyGefo9r8!-qDKO!U zuI>EA>*m}d$)e%M^0>mlXJ!@kJ+bB?;|>OKT`EU#2qhPl^Dcv#pUQkrvX(-LSW+^d zzm;A(AKQ1~j%pyuG}7$W!`7JG7q|wi2%|W8b zL|Hr`q4Bd^R$Nlm!9mNfq7=i_16f|=NgOWJN2iOnlFI(BI)x<)eL{*H)N>`Ma1b2Qe)H8XNaP*DRHT#1)aoZo#wzSD4_?Vb{>L^wV9zs^Y%Az@ikib z`o&T~o2IjcoPdfITk^uVu5g#kXt+Wn%2l8RLR*< zLNqGjv=Py1}qTeW9xkZr2YI5X((Tr_yWTnNlmL z6aGZ0&bL&%U(HEhY!lPyY!=4O)%l~PNT@!3qL;jisZ+Y@nLNcdxVw@gQk&Jf;Oao` zq34(HW~m~Fw^1VU>sr^xvo~kseh|n$8R?&zxo&8vn>Fj5XN@?%VGF2$k+n20)A$uI4dfxr4_FaKLZS2mcu!haR@bKpmAz7izaJ7B0 z{wBXfH*Y4DJiwyNW-w2Iko$%ykeaf0;di-$k>nHqpbhNyeQCO}oTwq~4 z^=)$%teP+bFXcUm6-(h|s#?j?h<2HXMWc#G`mi$O^Rl~e1w3^y-U1Lk-G^I^Cr*Ie zE@e53I7N!KQEdr0e6U14FlyHk%YP4cnGwKJj(lrqw@m|4rePdECbc#RK4Gkt+3iuY zXGZec9Mnqoc(;P`4S~GpA$5t0VRzy6*iwaLX1dvc9+bS)B$j4YV(a1H!jAYe-AZ9;RGuaJ1P(%3U7tagvo zTaaJGh6^Mvf|*r%PnAyzt*IPL^f?0;28|_F0dam2uMs<73P(i~W9~8EK6cbASs*O7 zwvN9UKrbL)hEv)q0foXR>Q?M;>=nk%W5nIVEz=b3y5gC9Wx<(We1)3UwX?-ZmE0D` zi9&RLX=?4`bSTpm1&BhOtQ_NB^`f(kG&G!j48{e!I5q3?IM>`qkruhnP-VpN3E$H1 zLWJ(Ziiqwi2t|sdLO2`DDQU>)jbSC=RV{cg8R(7n+nqM9t|`h}rzo+OM)8uNX#$GT zaxX>D)dfvs10mY3GY{ZkRdmzGt%RuU2AL9lwBCJ6QrAfgVamLa&>-MP66F*r&4WSM?6-9`vb`e}C!2~7FYa2-g z7lby;{7rneHx(+5|JUrMQ*g3pjvS5JA`Lqw9OG66_0n)d&W8?WZP}M+sGdl>%ULFk zFW%Ww!CNsHl%=G4No^%HCCIv`rjs7+7BA4&_}b<63)t&A0)X1DB_PL4)PAcu9I^5v zvrtm<<<|lyXX8%H*N4rjXmO>JpXt-R6<0j8=V(c*eE6)ui)_Z`GBj^WFR-41h&q#( zLSh#ki?V8n@0n2-=ev+09r5tu+HZy;WAP+K`E!<(Gq_pszG)vwtbw+#+jyitYXl1w z+9vlW?_^NAQ?IC))$iJbd@7GPhdenY>FmXY!3g6$4q0VQ^#;o=I_J|%G#Q4;n;Cz; zVZ3opiY+N`Wvp_Xw9b#$v(0LFK;*wJSL*Vx1rj(<9QakrW5LHs z|DliwDY4@b*01?nLvwkn0%w>eClHA*=J~a)2Od^-mj3po0mMhyuLu`;-IG?2wUmG9 z^^+C(Zl_MDuU+PeObT)CNtZ%1MFhNdM?a&0QO?Y#C?4&g#lm8iCf>Pp-&_VrVc|#} zrxYm-X4_gssmk|04Q<;_anvNMkn?2P9E~%Wm=4c7xEZ$uhZNAY)C`CYqIoPw5$Wy6 zOrv;qw~90~Gr+r%)2OlG;rZ{0$0 z>7cAf@S55Jnc<$F1%i{0V6%WVZAR*=<6{J^T=nSI7#-QU2i=7JEtsTKyFuYEG_CdO zTug2arn5r&+w;uMW>IGP5apr|Gh?lljad#A@qH0&-sD>mzvH6Qj7PENUUU0<>|P^| zC4Tf*s%;i{m|UBsoNiMJG%f0_d5C1K^xCyix-uT<=`*Q7nkW|T;cNaTPYs5&Xlogc zJXiIp6ORGN87_mZ(g=sAyKtww_kq=c=vyo5_a3eF_@B?P?hxi}j(ej*p^CRkRiEFYPU7N?UXuy_?$Q7o15;>X{cVe>{t z+wMWBG`=-1+uTF&8|21~3n)oR>*oq<{=|RSHO$yqiJ%eaNsT*MKF8DA37oS_Rb%(6 zuF^8Ri>yTU@Av&6e!Dm?RKJLUb{UDBO>+Di%Mcx>XN`6IwQxIW7h2xW?zX0IoaKXc zRS_C`mb`Y0cd&(PAYF;>@i3mJ9%b&$Ic{n=%O9y*m9hT%3E@*Wgzudh4wSd^GtKaV zUY?O`)n`LMq{#%$o1bnfAH%qN9sWVwrxTiTD%oY?J)C-;3_}(?1Gh{CTva$wfwVhw zMX`y8Vy?mC(X4`!F!!yOQ!|APg|5m7Mi;J)B@E7R+(iRN+uVUGNZJgYUh?tS7xyv; zBF+lKY8E3pNgO%@b~uzZd|!G_lbw=<#W-*52iRu6{Cz<*EDRLySEZOKd&i8URKJs2*UC-VOy*rknZ- z7xvmwXpJwsZw!-=maYfpn|Me|BaL4Z#>KYn3Lk) zBZ2~T{J+He-#aPTxH$i}_>^<}D|RbG@fV=i$Wd#btWc&-@fd}Tx*Rj)##3$0ZJ`g0 z9sa-v>&ax1r1zY#UM_Uisd$MshpA0M~6xSZ_L4ez^6u>tJYGcwGy z*)sc^PA7gemC@<)zuxRV9{{|sy_^LNC6>G!_*!%}Ox;i3tP}f(kEp#~&NF;`o_bvL zUSYwqS(A^Hc!A&dp zUazkE(XG%B*`x&6fb@OZpbYtIe&#ko)Kv*mO?y@sD* zn6P7;EWKLt$iAkz0F9xO4Ixc#3>q zc~d`VJNhGdY>+4zF0UZr9eEFF5U}uzf*B@d&UrdcO_`dQ+&c%#eNb|iFq-bR$_HwL zrXZ0Xz8ubT`LBq6nyPq$gLVm9u+7TzFop%|1F%1byB+=ZK#RFMOv*XefDH{IGy|MR zo4dms2APkzhVxn-KTIjVsqX+C)DXb%oV-S-#|rH6^~L8PI7 zG{)w`DL4!>=Hf4{Zj&h?$P-c(K}jRX(I=pWOv?!0w@mG>6%}u6oGT$IbaiK-CI7ta zvNT8`AHYSj6^&IuT;&jd8vX(4D~Fb59;U7+5F@hX8GV0(;YuqNRK?<_(_F@L3$W46 zJa$aJXWY>vAc6Pe!y3yl-+|?{9xf&+>&Pw3*l-5mRw!Q-K3d$oBObSAJL4FGOF&jy zYFR*9UK70M=&->o;u?}lsd!JJ395QUxR2e)Vtu3x0PJs@%ZxJZ+JExiuHU#q+M@1q3X?00WaYJaSL}#$FuZMs7uIda+#J9 zfi)6VMq=W(-w_SVo6U2P*EOj*dBuwT+#!N#xlcVR(-w@c&E8`43XBeI!fa!iZsY{1P=CqLp0+-Pwe zVVF7ypBbD(yOqU#P{;uJLHU+{Dcmd|ABtQ0Ey0g%zqrI}5YC{stc`b(4f2(+$iG_l z8?;DsVP=&D^HP=IypirB6@_XZrwJ%acQ=Fn02k%7q^TBc>^9z2ZmtLGM}7HBTHlm$ z&|Ih-q{5=Vt-oD>O{ueJ)4<_ZZ~Y)cNmf;`bClKger%5l$qm&cXbqSJL46g^XzR@` zOqxDuC*kyiGA?C~=bKStm z_5AN^f=)+(S#3$Ad#umO0u=}D`l?mo^|V?#OwH6ZfK;1r7=8XZ3m~a-FQ1@LEhD3k z)sS;um=-?cDXrzuJW0#guXj2n+qst$$~4a{_O=z^-+u>nZgS@9d_a7mPT1Zp zT73&{RVrKKBYVEtV&$8jlaS_83_Dj-Tw(4r9p8#Vh~5;F1PUwC*rqwHt!*|Y)&#M; zZSn;0jl_-$@zjQyVJHQ>1#37sbb=X9E(p2x6V*_e6$ZsPp(q}>-8?1*5V3y)|GCy> zwJljUbXRO!Afovz@JjRW)PB(=`xQ+I6iyvP#Sw>b8^!{A~0)dclF)d8xEb9bDhQ=DTcGve|oZ`+Gs(m6SVrl0Dy_t_W%#vH@ z5lJR+3hIFv>~_~KWcUQ4FjPSGS}Nc%;lgb9B@cwVuBNDnx>)bkf7&iaXMqXxNQi-5Y^YE%y=;*{ z^X;+OhnrNtM2ZtDiLFnFFZ5pDGa@cUvEqdJVwi5?Du#!lo!6$sd)-{3>TckFSbh@_*mRFYK>Z+^oMo(|N>46@qx}3* zErBW;wvkvY5k&@ltskBWORDubgdVP0Ev@Qm8=`0c9g|t+tZBR9);0XK+q|-}bI8%i zF5kQNg?JlwY0)jgxiw#G7~g{mjt~j8$$G6nY?!!ZJl1WCA{n~SY*`RA#p2b?S+9(r z$KVcx**KAr*4|@Ux`wa*Oy-AN{Gq^R&%H^EmAUSX;9@m2{%^&GGP5rm5V)TLRlj7j z3K?)-I&9UWy2)!M9SiYh<@kflo+fcl4sr0?URLD7>n&I^Vug?RbA3*?yq+aTMY5YP}Dr0V(VRKi)99UiJx@>?UCq*cbu8H8F-S5|F?{Y(a5CpU22Vy>I5j?R>xbV z`22dmJiZN7jXWqLu;vtB%id30u|})E0E}fNR@Ioh2jQjJCj}>XC_x|5KQFoP=-6gD z9J~$4+E6~%aU{yi`=`{F-!5*EctJ3Nc!L&Xkfc&P;Z&Ht3t1K9Mo-tDzB$`vv^5X) zlVp{urg0*5TG(s~aj>!r-S`DGeM&6+{)D#fj0?VvL470l;+K2M_@cN^t+?459c=va z$mcU_P>)El$WLOE;A2qhjA)zZZSibv0TVIATX_3Te}lYOp-&={31RA{VBkE>CF45| z6I1B-H&34^qm*kv5d-PSJhi8+oWK2US|EzUo*>!chN1B&2JSd3oN|a3UI9jEFkp!| zb<#VwAZ9tQh_>kyg}rc4e*cDg7Bju7q`7c2i@s;fX0yYuNr_VsR5ClvO%89)Lia>a zmya1;s@u8fMKj3bzU94>3UZj=t0O#S9Z6ewceV)p)N`Qa=`fDrT0@baJ`bkj!PP>l zR|p%AJJ%Fh|0aP@hZP@q*UB&YCOOc7vte{cCPO{g;L57Gc+~j)>I$p(!P0|Qil#-$ zqRUVF!4pe4&BtR*l7D1KW)(?gue%{;%0D>TT{%&{)?a*l&Hd-4b8C+gO$)n#le1zp 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

7u?hiDP^lKSb05ke8@8)l^O!y# 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

vybE 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

N%Zqb&C8i}N`1+cM7c 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

- +
From 800cdf442515bde89b5ffd2b37374697c8115ad4 Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Wed, 22 May 2024 14:38:39 +1000 Subject: [PATCH 035/177] Update smoking status query to use LOINC code --- fsh-generated/resources/Questionnaire-SubstanceUse.json | 2 +- input/fsh/715-Assessment-SubstanceUse.fsh | 2 +- ...originalTorresStraitIslanderHealthCheck-assembled.json | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/fsh-generated/resources/Questionnaire-SubstanceUse.json b/fsh-generated/resources/Questionnaire-SubstanceUse.json index 185612db..2245c391 100644 --- a/fsh-generated/resources/Questionnaire-SubstanceUse.json +++ b/fsh-generated/resources/Questionnaire-SubstanceUse.json @@ -472,7 +472,7 @@ "valueExpression": { "name": "ObsTobaccoSmokingStatus", "language": "application/x-fhir-query", - "expression": "Observation?code=266918002&_count=1&_sort=-date&patient={{%patient.id}}" + "expression": "Observation?code=72166-2&_count=1&_sort=-date&patient={{%patient.id}}" } } ], diff --git a/input/fsh/715-Assessment-SubstanceUse.fsh b/input/fsh/715-Assessment-SubstanceUse.fsh index fa48a037..62b3e469 100644 --- a/input/fsh/715-Assessment-SubstanceUse.fsh +++ b/input/fsh/715-Assessment-SubstanceUse.fsh @@ -61,7 +61,7 @@ Description: "Substance Use sub-questionnaire for Aboriginal and Torres Strait I * valueExpression * name = "ObsTobaccoSmokingStatus" * language = #application/x-fhir-query - * expression = "Observation?code=266918002&_count=1&_sort=-date&patient={{%patient.id}}" + * expression = "Observation?code=72166-2&_count=1&_sort=-date&patient={{%patient.id}}" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" diff --git a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json index cc96d1c3..0b8c5da3 100644 --- a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json +++ b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json @@ -2,9 +2,9 @@ "resourceType": "Questionnaire", "id": "AboriginalTorresStraitIslanderHealthCheck", "meta": { - "versionId": "19", - "lastUpdated": "2024-05-08T00:07:47.227+00:00", - "source": "#0rt8Jr4QoWfsKLzM", + "versionId": "2", + "lastUpdated": "2024-05-22T04:37:21.015+00:00", + "source": "#Uqg3SXr9AG5neDqu", "profile": [ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp", "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" @@ -1869,7 +1869,7 @@ "valueExpression": { "name": "ObsTobaccoSmokingStatus", "language": "application/x-fhir-query", - "expression": "Observation?code=266918002&_count=1&_sort=-date&patient={{%patient.id}}" + "expression": "Observation?code=72166-2&_count=1&_sort=-date&patient={{%patient.id}}" } }, { From 856553758c20c22afd1b533a61c1229b77e5f817 Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Mon, 15 Jul 2024 09:29:08 +1000 Subject: [PATCH 036/177] Swap medical history value set, update publisher --- fsh-generated/fsh-index.json | 56 +++++------ fsh-generated/fsh-index.txt | 24 ++--- fsh-generated/includes/fsh-link-references.md | 2 +- ...ntationGuide-csiro.fhir.au.smartforms.json | 16 ++-- .../Questionnaire-AssemblyInstructions.json | 46 +++++++-- ...onnaire-MedicalHistoryCurrentProblems.json | 78 ++++++++++------ .../resources/ValueSet-MedicalHistory.json | 24 ----- .../ValueSet-clinical-condition-1.json | 50 ++++++++++ input/fsh/715-AssemblyInstructions.fsh | 11 ++- ...sessment-MedicalHistoryCurrentProblems.fsh | 7 +- input/fsh/terminology.fsh | 23 ++++- ...esStraitIslanderHealthCheck-assembled.json | 93 +++++++++++-------- 12 files changed, 274 insertions(+), 156 deletions(-) delete mode 100644 fsh-generated/resources/ValueSet-MedicalHistory.json create mode 100644 fsh-generated/resources/ValueSet-clinical-condition-1.json diff --git a/fsh-generated/fsh-index.json b/fsh-generated/fsh-index.json index d32972b1..62911845 100644 --- a/fsh-generated/fsh-index.json +++ b/fsh-generated/fsh-index.json @@ -4,8 +4,8 @@ "fshName": "HealthChecksSCTSupplement", "fshType": "CodeSystem", "fshFile": "terminology.fsh", - "startLine": 766, - "endLine": 777 + "startLine": 787, + "endLine": 798 }, { "outputFile": "CodeSystem-QuestionnaireItemControlExtended.json", @@ -45,7 +45,7 @@ "fshType": "Instance", "fshFile": "715-AssemblyInstructions.fsh", "startLine": 5, - "endLine": 600 + "endLine": 605 }, { "outputFile": "Questionnaire-ChronicDiseaseAgeing.json", @@ -181,7 +181,7 @@ "fshType": "Instance", "fshFile": "715-Assessment-MedicalHistoryCurrentProblems.fsh", "startLine": 5, - "endLine": 312 + "endLine": 313 }, { "outputFile": "Questionnaire-MemoryAndThinking.json", @@ -308,16 +308,8 @@ "fshName": "CervicalScreeningStatus", "fshType": "ValueSet", "fshFile": "terminology.fsh", - "startLine": 780, - "endLine": 809 - }, - { - "outputFile": "ValueSet-MedicalHistory.json", - "fshName": "MedicalHistory", - "fshType": "ValueSet", - "fshFile": "terminology.fsh", - "startLine": 172, - "endLine": 178 + "startLine": 801, + "endLine": 830 }, { "outputFile": "ValueSet-PrimaryCarerParentGrandparent.json", @@ -332,8 +324,8 @@ "fshName": "SmokingQuitStatus", "fshType": "ValueSet", "fshFile": "terminology.fsh", - "startLine": 811, - "endLine": 832 + "startLine": 832, + "endLine": 853 }, { "outputFile": "ValueSet-YesNo.json", @@ -364,47 +356,55 @@ "fshName": "AdministrativeGender", "fshType": "ValueSet", "fshFile": "terminology.fsh", - "startLine": 444, - "endLine": 491 + "startLine": 465, + "endLine": 512 }, { "outputFile": "ValueSet-australian-pronouns-1.json", "fshName": "AustralianPronouns", "fshType": "ValueSet", "fshFile": "terminology.fsh", - "startLine": 668, - "endLine": 724 + "startLine": 689, + "endLine": 745 }, { "outputFile": "ValueSet-australian-states-territories-2.json", "fshName": "AustralianStatesAndTerritories", "fshType": "ValueSet", "fshFile": "terminology.fsh", - "startLine": 550, - "endLine": 612 + "startLine": 571, + "endLine": 633 }, { "outputFile": "ValueSet-biological-sex-1.json", "fshName": "BiologicalSex", "fshType": "ValueSet", "fshFile": "terminology.fsh", - "startLine": 726, - "endLine": 763 + "startLine": 747, + "endLine": 784 + }, + { + "outputFile": "ValueSet-clinical-condition-1.json", + "fshName": "ClinicalCondition", + "fshType": "ValueSet", + "fshFile": "terminology.fsh", + "startLine": 172, + "endLine": 190 }, { "outputFile": "ValueSet-condition-clinical.json", "fshName": "ConditionClinicalStatusCodes", "fshType": "ValueSet", "fshFile": "terminology.fsh", - "startLine": 493, - "endLine": 546 + "startLine": 514, + "endLine": 567 }, { "outputFile": "ValueSet-gender-identity-response-1.json", "fshName": "GenderIdentityResponse", "fshType": "ValueSet", "fshFile": "terminology.fsh", - "startLine": 615, - "endLine": 666 + "startLine": 636, + "endLine": 687 } ] diff --git a/fsh-generated/fsh-index.txt b/fsh-generated/fsh-index.txt index 791f9d54..5d8ea569 100644 --- a/fsh-generated/fsh-index.txt +++ b/fsh-generated/fsh-index.txt @@ -1,10 +1,10 @@ Output File Name Type FSH File Lines -CodeSystem-HealthChecksSCTSupplement.json HealthChecksSCTSupplement CodeSystem terminology.fsh 766 - 777 +CodeSystem-HealthChecksSCTSupplement.json HealthChecksSCTSupplement CodeSystem terminology.fsh 787 - 798 CodeSystem-QuestionnaireItemControlExtended.json QuestionnaireItemControlExtended CodeSystem terminology.fsh 7 - 14 Questionnaire-AboutTheHealthCheck.json AboutTheHealthCheck Instance 715-AboutTheHealthCheck.fsh 5 - 174 Questionnaire-AbsoluteCVDRiskCalculation.json AbsoluteCVDRiskCalculation Instance 715-Assessment-AbsoluteCVDRiskCalculation.fsh 5 - 429 Questionnaire-AllergiesAdverseReactions.json AllergiesAdverseReactions Instance 715-Assessment-AllergiesAdverseReactions.fsh 5 - 114 -Questionnaire-AssemblyInstructions.json AssemblyInstructions Instance 715-AssemblyInstructions.fsh 5 - 600 +Questionnaire-AssemblyInstructions.json AssemblyInstructions Instance 715-AssemblyInstructions.fsh 5 - 605 Questionnaire-ChronicDiseaseAgeing.json ChronicDiseaseAgeing Instance 715-Assessment-ChronicDiseaseAgeing.fsh 5 - 131 Questionnaire-Consent.json Consent Instance 715-Consent.fsh 7 - 226 Questionnaire-CurrentPriorities.json CurrentPriorities Instance 715-Assessment-CurrentPriorities.fsh 5 - 193 @@ -21,7 +21,7 @@ Questionnaire-Immunisation.json Immunisation Questionnaire-Investigations.json Investigations Instance 715-Assessment-Investigations.fsh 5 - 144 Questionnaire-LearningAndDevelopment.json LearningAndDevelopment Instance 715-Assessment-LearningAndDevelopment.fsh 5 - 235 Questionnaire-LearningAndWork.json LearningAndWork Instance 715-Assessment-LearningAndWork.fsh 5 - 238 -Questionnaire-MedicalHistoryCurrentProblems.json MedicalHistoryCurrentProblems Instance 715-Assessment-MedicalHistoryCurrentProblems.fsh 5 - 312 +Questionnaire-MedicalHistoryCurrentProblems.json MedicalHistoryCurrentProblems Instance 715-Assessment-MedicalHistoryCurrentProblems.fsh 5 - 313 Questionnaire-MemoryAndThinking.json MemoryAndThinking Instance 715-Assessment-MemoryAndThinking.fsh 5 - 166 Questionnaire-Mood.json Mood Instance 715-Assessment-Mood.fsh 5 - 141 Questionnaire-OralAndDentalHealth.json OralAndDentalHealth Instance 715-Assessment-OralAndDentalHealth.fsh 5 - 188 @@ -37,16 +37,16 @@ Questionnaire-SocialHistoryChild.json SocialHistoryChild Questionnaire-SubstanceUse.json SubstanceUse Instance 715-Assessment-SubstanceUse.fsh 5 - 220 StructureDefinition-ContainedResourceReference.json ContainedResourceReference Extension extensions.fsh 1 - 6 ValueSet-AboriginalTorresStraitIslander.json AboriginalTorresStraitIslander ValueSet terminology.fsh 102 - 128 -ValueSet-CervicalScreeningStatus-1.json CervicalScreeningStatus ValueSet terminology.fsh 780 - 809 -ValueSet-MedicalHistory.json MedicalHistory ValueSet terminology.fsh 172 - 178 +ValueSet-CervicalScreeningStatus-1.json CervicalScreeningStatus ValueSet terminology.fsh 801 - 830 ValueSet-PrimaryCarerParentGrandparent.json PrimaryCarerParentGrandparent ValueSet terminology.fsh 133 - 169 -ValueSet-SmokingQuitStatus-1.json SmokingQuitStatus ValueSet terminology.fsh 811 - 832 +ValueSet-SmokingQuitStatus-1.json SmokingQuitStatus ValueSet terminology.fsh 832 - 853 ValueSet-YesNo.json YesNo ValueSet terminology.fsh 79 - 98 ValueSet-YesNoNA.json YesNoNA ValueSet terminology.fsh 53 - 76 ValueSet-YesNoNotAskedDeclined.json YesNoNotAskedDeclined ValueSet terminology.fsh 16 - 51 -ValueSet-administrative-gender.json AdministrativeGender ValueSet terminology.fsh 444 - 491 -ValueSet-australian-pronouns-1.json AustralianPronouns ValueSet terminology.fsh 668 - 724 -ValueSet-australian-states-territories-2.json AustralianStatesAndTerritories ValueSet terminology.fsh 550 - 612 -ValueSet-biological-sex-1.json BiologicalSex ValueSet terminology.fsh 726 - 763 -ValueSet-condition-clinical.json ConditionClinicalStatusCodes ValueSet terminology.fsh 493 - 546 -ValueSet-gender-identity-response-1.json GenderIdentityResponse ValueSet terminology.fsh 615 - 666 \ No newline at end of file +ValueSet-administrative-gender.json AdministrativeGender ValueSet terminology.fsh 465 - 512 +ValueSet-australian-pronouns-1.json AustralianPronouns ValueSet terminology.fsh 689 - 745 +ValueSet-australian-states-territories-2.json AustralianStatesAndTerritories ValueSet terminology.fsh 571 - 633 +ValueSet-biological-sex-1.json BiologicalSex ValueSet terminology.fsh 747 - 784 +ValueSet-clinical-condition-1.json ClinicalCondition ValueSet terminology.fsh 172 - 190 +ValueSet-condition-clinical.json ConditionClinicalStatusCodes ValueSet terminology.fsh 514 - 567 +ValueSet-gender-identity-response-1.json GenderIdentityResponse ValueSet terminology.fsh 636 - 687 \ No newline at end of file diff --git a/fsh-generated/includes/fsh-link-references.md b/fsh-generated/includes/fsh-link-references.md index f8d145f0..5ceaf441 100644 --- a/fsh-generated/includes/fsh-link-references.md +++ b/fsh-generated/includes/fsh-link-references.md @@ -38,10 +38,10 @@ [AustralianStatesAndTerritories]: ValueSet-australian-states-territories-2.html [BiologicalSex]: ValueSet-biological-sex-1.html [CervicalScreeningStatus]: ValueSet-CervicalScreeningStatus-1.html +[ClinicalCondition]: ValueSet-clinical-condition-1.html [ConditionClinicalStatusCodes]: ValueSet-condition-clinical.html [ContainedResourceReference]: StructureDefinition-ContainedResourceReference.html [GenderIdentityResponse]: ValueSet-gender-identity-response-1.html -[MedicalHistory]: ValueSet-MedicalHistory.html [PhysicalActivityAndScreenTime]: Questionnaire-PhysicalActivityAndScreenTime.html [PrimaryCarerParentGrandparent]: ValueSet-PrimaryCarerParentGrandparent.html [QuestionnaireItemControlExtended]: CodeSystem-QuestionnaireItemControlExtended.html diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index 39fa8699..9132d0ee 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -362,6 +362,14 @@ "description": "The Cervical Screening Status value set includes values that can be used to represent the status of an individual's participation in a cervical screening program.", "exampleBoolean": false }, + { + "reference": { + "reference": "ValueSet/clinical-condition-1" + }, + "name": "Clinical Condition", + "description": "The Clinical Condition value set includes values that cover a broad range of clinical concepts to support the representation of conditions, including problems, diagnoses and disorders.", + "exampleBoolean": false + }, { "reference": { "reference": "ValueSet/condition-clinical" @@ -386,14 +394,6 @@ "description": "The Gender Identity Response value set includes values that may be used to represent a response for an individual's gender. A person's gender is a social and cultural identity, expression and experience.", "exampleBoolean": false }, - { - "reference": { - "reference": "ValueSet/MedicalHistory" - }, - "name": "Medical History", - "description": "The Medical History value set includes values that may be used to represent medical history, operations and hospital admissions.", - "exampleBoolean": false - }, { "reference": { "reference": "Questionnaire/PhysicalActivityAndScreenTime" diff --git a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json index 74d155cb..ecb86949 100644 --- a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json +++ b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json @@ -885,22 +885,48 @@ }, { "resourceType": "ValueSet", - "id": "MedicalHistory", - "status": "draft", - "name": "MedicalHistory", - "title": "Medical History", - "description": "The Medical History value set includes values that may be used to represent medical history, operations and hospital admissions.", - "url": "https://smartforms.csiro.au/ig/ValueSet/MedicalHistory", + "id": "clinical-condition-1", + "meta": { + "profile": [ + "http://hl7.org/fhir/StructureDefinition/shareablevalueset", + "https://healthterminologies.gov.au/fhir/StructureDefinition/composed-value-set-4" + ] + }, + "status": "active", + "name": "ClinicalCondition", + "title": "Clinical Condition", + "description": "The Clinical Condition value set includes values that cover a broad range of clinical concepts to support the representation of conditions, including problems, diagnoses and disorders.", + "url": "https://healthterminologies.gov.au/fhir/ValueSet/clinical-condition-1", + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:oid:1.2.36.1.2001.1004.201.10035" + } + ], + "version": "1.0.2", "experimental": false, + "date": "2020-05-31", + "publisher": "Australian Digital Health Agency", + "contact": [ + { + "telecom": [ + { + "system": "email", + "value": "help@digitalhealth.gov.au" + } + ] + } + ], + "copyright": "Copyright © 2018 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\nThis resource includes SNOMED Clinical Terms™ (SNOMED CT®) which is used by permission of the International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. “SNOMED” and “SNOMED CT” are registered trademarks of the IHTSDO. \n\nThe rights to use and implement or implementation of SNOMED CT content are limited to the extent it is necessary to allow for the end use of this material. No further rights are granted in respect of the International Release and no further use of any SNOMED CT content by any other party is permitted. \n\nAll copies of this resource must include this copyright statement and all information contained in this statement.", "compose": { "include": [ { "system": "http://snomed.info/sct", "filter": [ { - "property": "constraint", - "op": "=", - "value": "^32570581000036105|Problem/Diagnosis reference set| OR ^32570141000036105|Procedure foundation reference set|" + "property": "concept", + "op": "in", + "value": "32570581000036105" } ] } @@ -1977,7 +2003,7 @@ { "url": "https://smartforms.csiro.au/ig/StructureDefinition/ContainedResourceReference", "valueReference": { - "reference": "#MedicalHistory" + "reference": "#clinical-condition-1" } }, { diff --git a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json index 4c0234f0..73fb31b1 100644 --- a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json +++ b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json @@ -233,7 +233,7 @@ "linkId": "59b1900a-4f85-4a8c-b9cd-3fe2fd76f27e", "text": "Condition", "type": "open-choice", - "answerValueSet": "#MedicalHistory" + "answerValueSet": "#clinical-condition-1" }, { "extension": [ @@ -335,7 +335,7 @@ "linkId": "2da85994-2d5e-42f1-8a81-abf44f397468", "text": "Condition", "type": "open-choice", - "answerValueSet": "#MedicalHistory" + "answerValueSet": "#clinical-condition-1" }, { "extension": [ @@ -400,30 +400,6 @@ } ], "contained": [ - { - "resourceType": "ValueSet", - "id": "MedicalHistory", - "status": "draft", - "name": "MedicalHistory", - "title": "Medical History", - "description": "The Medical History value set includes values that may be used to represent medical history, operations and hospital admissions.", - "url": "https://smartforms.csiro.au/ig/ValueSet/MedicalHistory", - "experimental": false, - "compose": { - "include": [ - { - "system": "http://snomed.info/sct", - "filter": [ - { - "property": "constraint", - "op": "=", - "value": "^32570581000036105|Problem/Diagnosis reference set| OR ^32570141000036105|Procedure foundation reference set|" - } - ] - } - ] - } - }, { "resourceType": "ValueSet", "id": "condition-clinical", @@ -536,6 +512,56 @@ } ] } + }, + { + "resourceType": "ValueSet", + "id": "clinical-condition-1", + "meta": { + "profile": [ + "http://hl7.org/fhir/StructureDefinition/shareablevalueset", + "https://healthterminologies.gov.au/fhir/StructureDefinition/composed-value-set-4" + ] + }, + "status": "active", + "name": "ClinicalCondition", + "title": "Clinical Condition", + "description": "The Clinical Condition value set includes values that cover a broad range of clinical concepts to support the representation of conditions, including problems, diagnoses and disorders.", + "url": "https://healthterminologies.gov.au/fhir/ValueSet/clinical-condition-1", + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:oid:1.2.36.1.2001.1004.201.10035" + } + ], + "version": "1.0.2", + "experimental": false, + "date": "2020-05-31", + "publisher": "Australian Digital Health Agency", + "contact": [ + { + "telecom": [ + { + "system": "email", + "value": "help@digitalhealth.gov.au" + } + ] + } + ], + "copyright": "Copyright © 2018 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\nThis resource includes SNOMED Clinical Terms™ (SNOMED CT®) which is used by permission of the International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. “SNOMED” and “SNOMED CT” are registered trademarks of the IHTSDO. \n\nThe rights to use and implement or implementation of SNOMED CT content are limited to the extent it is necessary to allow for the end use of this material. No further rights are granted in respect of the International Release and no further use of any SNOMED CT content by any other party is permitted. \n\nAll copies of this resource must include this copyright statement and all information contained in this statement.", + "compose": { + "include": [ + { + "system": "http://snomed.info/sct", + "filter": [ + { + "property": "concept", + "op": "in", + "value": "32570581000036105" + } + ] + } + ] + } } ], "extension": [ diff --git a/fsh-generated/resources/ValueSet-MedicalHistory.json b/fsh-generated/resources/ValueSet-MedicalHistory.json deleted file mode 100644 index c58959ea..00000000 --- a/fsh-generated/resources/ValueSet-MedicalHistory.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "resourceType": "ValueSet", - "status": "draft", - "name": "MedicalHistory", - "id": "MedicalHistory", - "title": "Medical History", - "description": "The Medical History value set includes values that may be used to represent medical history, operations and hospital admissions.", - "url": "https://smartforms.csiro.au/ig/ValueSet/MedicalHistory", - "experimental": false, - "compose": { - "include": [ - { - "system": "http://snomed.info/sct", - "filter": [ - { - "property": "constraint", - "op": "=", - "value": "^32570581000036105|Problem/Diagnosis reference set| OR ^32570141000036105|Procedure foundation reference set|" - } - ] - } - ] - } -} diff --git a/fsh-generated/resources/ValueSet-clinical-condition-1.json b/fsh-generated/resources/ValueSet-clinical-condition-1.json new file mode 100644 index 00000000..59e94cad --- /dev/null +++ b/fsh-generated/resources/ValueSet-clinical-condition-1.json @@ -0,0 +1,50 @@ +{ + "resourceType": "ValueSet", + "status": "active", + "name": "ClinicalCondition", + "id": "clinical-condition-1", + "title": "Clinical Condition", + "description": "The Clinical Condition value set includes values that cover a broad range of clinical concepts to support the representation of conditions, including problems, diagnoses and disorders.", + "url": "https://healthterminologies.gov.au/fhir/ValueSet/clinical-condition-1", + "meta": { + "profile": [ + "http://hl7.org/fhir/StructureDefinition/shareablevalueset", + "https://healthterminologies.gov.au/fhir/StructureDefinition/composed-value-set-4" + ] + }, + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:oid:1.2.36.1.2001.1004.201.10035" + } + ], + "version": "1.0.2", + "experimental": false, + "date": "2020-05-31", + "publisher": "Australian Digital Health Agency", + "contact": [ + { + "telecom": [ + { + "system": "email", + "value": "help@digitalhealth.gov.au" + } + ] + } + ], + "copyright": "Copyright © 2018 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\nThis resource includes SNOMED Clinical Terms™ (SNOMED CT®) which is used by permission of the International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. “SNOMED” and “SNOMED CT” are registered trademarks of the IHTSDO. \n\nThe rights to use and implement or implementation of SNOMED CT content are limited to the extent it is necessary to allow for the end use of this material. No further rights are granted in respect of the International Release and no further use of any SNOMED CT content by any other party is permitted. \n\nAll copies of this resource must include this copyright statement and all information contained in this statement.", + "compose": { + "include": [ + { + "system": "http://snomed.info/sct", + "filter": [ + { + "property": "concept", + "op": "in", + "value": "32570581000036105" + } + ] + } + ] + } +} diff --git a/input/fsh/715-AssemblyInstructions.fsh b/input/fsh/715-AssemblyInstructions.fsh index 8dc73e1c..e869cb28 100644 --- a/input/fsh/715-AssemblyInstructions.fsh +++ b/input/fsh/715-AssemblyInstructions.fsh @@ -12,8 +12,9 @@ Description: "Aboriginal and Torres Strait Islander Health Check assessment form * contained[+] = YesNo * contained[+] = YesNoNA * contained[+] = YesNoNotAskedDeclined -* contained[+] = MedicalHistory -/** contained[+] = MedicalHistoryShortListInfants +* contained[+] = clinical-condition-1 +/** contained[+] = MedicalHistory +* contained[+] = MedicalHistoryShortListInfants * contained[+] = MedicalHistoryShortListPrimarySchool * contained[+] = MedicalHistoryShortListAdolescents * contained[+] = MedicalHistoryShortListAdultsAndOlderPeople*/ @@ -99,8 +100,12 @@ Description: "Aboriginal and Torres Strait Islander Health Check assessment form * valueReference.reference = "#YesNoNotAskedDeclined" * extension[+] * url = "https://smartforms.csiro.au/ig/StructureDefinition/ContainedResourceReference" - * valueReference.reference = "#MedicalHistory" + * valueReference.reference = "#clinical-condition-1" + /** extension[+] + * url = "https://smartforms.csiro.au/ig/StructureDefinition/ContainedResourceReference" + * valueReference.reference = "#MedicalHistory" +* extension[+] * url = "https://smartforms.csiro.au/ig/StructureDefinition/ContainedResourceReference" * valueReference.reference = "#MedicalHistoryShortListInfants" * extension[+] diff --git a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh index 2c13191c..90646424 100644 --- a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh +++ b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh @@ -8,9 +8,10 @@ Usage: #definition Title: "Aboriginal and Torres Strait Islander Health Check - Medical History" Description: "Medical History sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." -* contained[+] = MedicalHistory * contained[+] = condition-clinical +* contained[+] = clinical-condition-1 /* +* contained[+] = MedicalHistory * contained[+] = MedicalHistoryShortListInfants * contained[+] = MedicalHistoryShortListPrimarySchool * contained[+] = MedicalHistoryShortListAdolescents @@ -245,7 +246,7 @@ Description: "Medical History sub-questionnaire for Aboriginal and Torres Strait * linkId = "59b1900a-4f85-4a8c-b9cd-3fe2fd76f27e" * text = "Condition" * type = #open-choice - * answerValueSet = "#MedicalHistory" + * answerValueSet = "#clinical-condition-1" * item[+] * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#drop-down * extension[sdc-questionnaire-initialExpression].valueExpression @@ -282,7 +283,7 @@ Description: "Medical History sub-questionnaire for Aboriginal and Torres Strait * linkId = "2da85994-2d5e-42f1-8a81-abf44f397468" * text = "Condition" * type = #open-choice - * answerValueSet = "#MedicalHistory" + * answerValueSet = "#clinical-condition-1" * item[+] * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#drop-down * linkId = "a7e056be-fb6f-4f7f-b04d-5b809e1e18e3" diff --git a/input/fsh/terminology.fsh b/input/fsh/terminology.fsh index 69437a67..14f8fe44 100644 --- a/input/fsh/terminology.fsh +++ b/input/fsh/terminology.fsh @@ -169,6 +169,27 @@ Description: "The Primary Carer Of Parent Or Grandparent value set includes valu * $v3-NullFlavor#NA +ValueSet: ClinicalCondition +Id: clinical-condition-1 +Title: "Clinical Condition" +Description: "The Clinical Condition value set includes values that cover a broad range of clinical concepts to support the representation of conditions, including problems, diagnoses and disorders." + +* ^meta.profile[0] = "http://hl7.org/fhir/StructureDefinition/shareablevalueset" +* ^meta.profile[+] = "https://healthterminologies.gov.au/fhir/StructureDefinition/composed-value-set-4" +* ^url = "https://healthterminologies.gov.au/fhir/ValueSet/clinical-condition-1" +* ^identifier.system = "urn:ietf:rfc:3986" +* ^identifier.value = "urn:oid:1.2.36.1.2001.1004.201.10035" +* ^version = "1.0.2" +* ^status = #active +* ^experimental = false +* ^date = "2020-05-31" +* ^publisher = "Australian Digital Health Agency" +* ^contact.telecom.system = #email +* ^contact.telecom.value = "help@digitalhealth.gov.au" +* ^copyright = "Copyright © 2018 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\nThis resource includes SNOMED Clinical Terms™ (SNOMED CT®) which is used by permission of the International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. “SNOMED” and “SNOMED CT” are registered trademarks of the IHTSDO. \n\nThe rights to use and implement or implementation of SNOMED CT content are limited to the extent it is necessary to allow for the end use of this material. No further rights are granted in respect of the International Release and no further use of any SNOMED CT content by any other party is permitted. \n\nAll copies of this resource must include this copyright statement and all information contained in this statement." +* include codes from system $SCT where concept in "32570581000036105" + +/* ValueSet: MedicalHistory Id: MedicalHistory Title: "Medical History" @@ -176,7 +197,7 @@ Description: "The Medical History value set includes values that may be used to * ^experimental = false * include codes from system $SCT where constraint = "^32570581000036105|Problem/Diagnosis reference set| OR ^32570141000036105|Procedure foundation reference set|" - +*/ /* Agreed to replace picklists with medical history table. Commenting out for now. ValueSet: MedicalHistoryShortListInfants Id: MedicalHistoryShortListInfants diff --git a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json index 0b8c5da3..f378eb20 100644 --- a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json +++ b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json @@ -2,9 +2,6 @@ "resourceType": "Questionnaire", "id": "AboriginalTorresStraitIslanderHealthCheck", "meta": { - "versionId": "2", - "lastUpdated": "2024-05-22T04:37:21.015+00:00", - "source": "#Uqg3SXr9AG5neDqu", "profile": [ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp", "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" @@ -844,30 +841,6 @@ ] } }, - { - "resourceType": "ValueSet", - "id": "MedicalHistory", - "url": "https://smartforms.csiro.au/ig/ValueSet/MedicalHistory", - "name": "MedicalHistory", - "title": "Medical History", - "status": "draft", - "experimental": false, - "description": "The Medical History value set includes values that may be used to represent medical history, operations and hospital admissions.", - "compose": { - "include": [ - { - "system": "http://snomed.info/sct", - "filter": [ - { - "property": "constraint", - "op": "=", - "value": "^32570581000036105|Problem/Diagnosis reference set| OR ^32570141000036105|Procedure foundation reference set|" - } - ] - } - ] - } - }, { "resourceType": "ValueSet", "id": "condition-clinical", @@ -981,6 +954,56 @@ ] } }, + { + "resourceType": "ValueSet", + "id": "clinical-condition-1", + "meta": { + "profile": [ + "http://hl7.org/fhir/StructureDefinition/shareablevalueset", + "https://healthterminologies.gov.au/fhir/StructureDefinition/composed-value-set-4" + ] + }, + "url": "https://healthterminologies.gov.au/fhir/ValueSet/clinical-condition-1", + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:oid:1.2.36.1.2001.1004.201.10035" + } + ], + "version": "1.0.2", + "name": "ClinicalCondition", + "title": "Clinical Condition", + "status": "active", + "experimental": false, + "date": "2020-05-31", + "publisher": "Australian Digital Health Agency", + "contact": [ + { + "telecom": [ + { + "system": "email", + "value": "help@digitalhealth.gov.au" + } + ] + } + ], + "description": "The Clinical Condition value set includes values that cover a broad range of clinical concepts to support the representation of conditions, including problems, diagnoses and disorders.", + "copyright": "Copyright © 2018 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\nThis resource includes SNOMED Clinical Terms™ (SNOMED CT®) which is used by permission of the International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. “SNOMED” and “SNOMED CT” are registered trademarks of the IHTSDO. \n\nThe rights to use and implement or implementation of SNOMED CT content are limited to the extent it is necessary to allow for the end use of this material. No further rights are granted in respect of the International Release and no further use of any SNOMED CT content by any other party is permitted. \n\nAll copies of this resource must include this copyright statement and all information contained in this statement.", + "compose": { + "include": [ + { + "system": "http://snomed.info/sct", + "filter": [ + { + "property": "concept", + "op": "in", + "value": "32570581000036105" + } + ] + } + ] + } + }, { "resourceType": "ValueSet", "id": "SmokingQuitStatus-1", @@ -1247,7 +1270,7 @@ { "url": "https://smartforms.csiro.au/ig/StructureDefinition/ContainedResourceReference", "valueReference": { - "reference": "#MedicalHistory" + "reference": "#clinical-condition-1" } }, { @@ -1526,16 +1549,6 @@ } ], "description": "Aboriginal and Torres Strait Islander Health Check assessment form.", - "jurisdiction": [ - { - "coding": [ - { - "system": "urn:iso:std:iso:3166", - "code": "AU" - } - ] - } - ], "copyright": "Copyright © 2022+ Australian Government Department of Health and Aged Care - All rights reserved. This content is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. See https://creativecommons.org/licenses/by-sa/4.0/.", "item": [ { @@ -4483,7 +4496,7 @@ "linkId": "59b1900a-4f85-4a8c-b9cd-3fe2fd76f27e", "text": "Condition", "type": "open-choice", - "answerValueSet": "#MedicalHistory" + "answerValueSet": "#clinical-condition-1" }, { "extension": [ @@ -4577,7 +4590,7 @@ "linkId": "2da85994-2d5e-42f1-8a81-abf44f397468", "text": "Condition", "type": "open-choice", - "answerValueSet": "#MedicalHistory" + "answerValueSet": "#clinical-condition-1" }, { "extension": [ From a8fcb07e751772df3a408e4674319a7c3c2323a7 Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Mon, 15 Jul 2024 11:37:04 +1000 Subject: [PATCH 037/177] Fix terminology referencing --- .../ImplementationGuide-csiro.fhir.au.smartforms.json | 4 ++++ input/pagecontent/terminology.md | 5 ++++- sushi-config.yaml | 1 + 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index 9132d0ee..b729d97b 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -731,6 +731,10 @@ "code": "special-url", "value": "https://healthterminologies.gov.au/fhir/ValueSet/australian-states-territories-2" }, + { + "code": "special-url", + "value": "https://healthterminologies.gov.au/fhir/ValueSet/clinical-condition-1" + }, { "code": "apply-publisher", "value": "false" diff --git a/input/pagecontent/terminology.md b/input/pagecontent/terminology.md index 1151be02..9ec025fd 100644 --- a/input/pagecontent/terminology.md +++ b/input/pagecontent/terminology.md @@ -17,7 +17,8 @@ See the [FHIR terminology section]({{site.data.fhir.path}}terminologies-systems. **Value sets contained in the Aboriginal and Torres Strait Islander Health Check Questionnaire** - [Aboriginal and/or Torres Strait Islander](ValueSet-AboriginalTorresStraitIslander.html) - [Condition Clinical Status Codes](ValueSet-condition-clinical.html) -- [Medical History](ValueSet-MedicalHistory.html) +- [Clinical condition](ValueSet-clinical-condition-1.html) + @@ -31,6 +32,8 @@ See the [FHIR terminology section]({{site.data.fhir.path}}terminologies-systems. - [Gender Identity Response](ValueSet-gender-identity-response-1.html) - [Biological Sex](ValueSet-biological-sex-1.html) - [AdministrativeGender](ValueSet-administrative-gender.html) +- [Cervical Screening Status](ValueSet-CervicalScreeningStatus-1.html) +- [Smoking Quit Status](ValueSet-SmokingQuitStatus-1.html) ### Code systems diff --git a/sushi-config.yaml b/sushi-config.yaml index 56e9456b..56b75e87 100644 --- a/sushi-config.yaml +++ b/sushi-config.yaml @@ -104,6 +104,7 @@ parameters: - 'https://healthterminologies.gov.au/fhir/ValueSet/gender-identity-response-1' - 'https://healthterminologies.gov.au/fhir/ValueSet/australian-pronouns-1' - 'https://healthterminologies.gov.au/fhir/ValueSet/australian-states-territories-2' + - 'https://healthterminologies.gov.au/fhir/ValueSet/clinical-condition-1' apply-publisher: false default-publisher: true From 48d63096b612faf6a307cb7e8ebe22ee738c3a16 Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Mon, 15 Jul 2024 12:27:03 +1000 Subject: [PATCH 038/177] update ignoreWarning --- input/ignoreWarnings.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/input/ignoreWarnings.txt b/input/ignoreWarnings.txt index 66fbb6fe..9583500e 100644 --- a/input/ignoreWarnings.txt +++ b/input/ignoreWarnings.txt @@ -27,6 +27,7 @@ Reference to draft CodeSystem http://hl7.org/fhir/uv/sdc/CodeSystem/launchContex Reference to draft CodeSystem https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended|0.1.0 Reference to draft CodeSystem http://hl7.org/fhir/questionnaire-item-control|4.0.1 Reference to draft CodeSystem http://hl7.org/fhir/questionnaire-display-category|4.0.1 +Reference to draft CodeSystem http://hl7.org/fhir/choice-list-orientation|5.1.0 # Embedded HTML warnings checked The string value contains text that looks like embedded HTML tags. If this content is rendered to HTML without appropriate post-processing, it may be a security risk From c5415845e7876282e7a9b2f1a7d41fc692696bae Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Tue, 16 Jul 2024 09:09:47 +1000 Subject: [PATCH 039/177] update ignoreWarning --- input/ignoreWarnings.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/input/ignoreWarnings.txt b/input/ignoreWarnings.txt index 9583500e..625ba0a4 100644 --- a/input/ignoreWarnings.txt +++ b/input/ignoreWarnings.txt @@ -43,3 +43,5 @@ The resource status 'draft' and the standards status 'trial-use' may not be cons The nominated WG 'pc' means that the publisher should be 'HL7 International / Patient Care' but 'FHIR Project team' was found The nominated WG 'pc' means that the contact url should be 'http://www.hl7.org/Special/committees/patientcare' but it was not found The nominated WG 'fhir' means that the contact url should be 'http://www.hl7.org/Special/committees/fiwg' but it was not found +The nominated WG 'pa' means that the publisher should be 'HL7 International / Patient Administration' but 'HL7 (FHIR Project)' was found +The nominated WG 'pa' means that the contact url should be 'http://www.hl7.org/Special/committees/pafm' but it was not found From f114f0108fac87046ca2599646316371751006cc Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Thu, 25 Jul 2024 11:58:17 +1000 Subject: [PATCH 040/177] update gitignore --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index abcdb312..7618b88a 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,8 @@ bulk-import.py Thumbs.db /assembler # /fsh-generated +/fsh-generated/fsh-index.json +/fsh-generated/fsh-index.txt /input-cache /node_modules /output From ff882361f86df2109a42bf17ed1487811658a43a Mon Sep 17 00:00:00 2001 From: Liam Barnes <69884018+liambarnes@users.noreply.github.com> Date: Thu, 25 Jul 2024 12:34:30 +1000 Subject: [PATCH 041/177] Delete fsh-generated/fsh-index.json --- fsh-generated/fsh-index.json | 410 ----------------------------------- 1 file changed, 410 deletions(-) delete mode 100644 fsh-generated/fsh-index.json diff --git a/fsh-generated/fsh-index.json b/fsh-generated/fsh-index.json deleted file mode 100644 index 62911845..00000000 --- a/fsh-generated/fsh-index.json +++ /dev/null @@ -1,410 +0,0 @@ -[ - { - "outputFile": "CodeSystem-HealthChecksSCTSupplement.json", - "fshName": "HealthChecksSCTSupplement", - "fshType": "CodeSystem", - "fshFile": "terminology.fsh", - "startLine": 787, - "endLine": 798 - }, - { - "outputFile": "CodeSystem-QuestionnaireItemControlExtended.json", - "fshName": "QuestionnaireItemControlExtended", - "fshType": "CodeSystem", - "fshFile": "terminology.fsh", - "startLine": 7, - "endLine": 14 - }, - { - "outputFile": "Questionnaire-AboutTheHealthCheck.json", - "fshName": "AboutTheHealthCheck", - "fshType": "Instance", - "fshFile": "715-AboutTheHealthCheck.fsh", - "startLine": 5, - "endLine": 174 - }, - { - "outputFile": "Questionnaire-AbsoluteCVDRiskCalculation.json", - "fshName": "AbsoluteCVDRiskCalculation", - "fshType": "Instance", - "fshFile": "715-Assessment-AbsoluteCVDRiskCalculation.fsh", - "startLine": 5, - "endLine": 429 - }, - { - "outputFile": "Questionnaire-AllergiesAdverseReactions.json", - "fshName": "AllergiesAdverseReactions", - "fshType": "Instance", - "fshFile": "715-Assessment-AllergiesAdverseReactions.fsh", - "startLine": 5, - "endLine": 114 - }, - { - "outputFile": "Questionnaire-AssemblyInstructions.json", - "fshName": "AssemblyInstructions", - "fshType": "Instance", - "fshFile": "715-AssemblyInstructions.fsh", - "startLine": 5, - "endLine": 605 - }, - { - "outputFile": "Questionnaire-ChronicDiseaseAgeing.json", - "fshName": "ChronicDiseaseAgeing", - "fshType": "Instance", - "fshFile": "715-Assessment-ChronicDiseaseAgeing.fsh", - "startLine": 5, - "endLine": 131 - }, - { - "outputFile": "Questionnaire-Consent.json", - "fshName": "Consent", - "fshType": "Instance", - "fshFile": "715-Consent.fsh", - "startLine": 7, - "endLine": 226 - }, - { - "outputFile": "Questionnaire-CurrentPriorities.json", - "fshName": "CurrentPriorities", - "fshType": "Instance", - "fshFile": "715-Assessment-CurrentPriorities.fsh", - "startLine": 5, - "endLine": 193 - }, - { - "outputFile": "Questionnaire-EarHealthAndHearing.json", - "fshName": "EarHealthAndHearing", - "fshType": "Instance", - "fshFile": "715-Assessment-EarHealthAndHearing.fsh", - "startLine": 5, - "endLine": 332 - }, - { - "outputFile": "Questionnaire-Examination.json", - "fshName": "Examination", - "fshType": "Instance", - "fshFile": "715-Assessment-Examination.fsh", - "startLine": 5, - "endLine": 515 - }, - { - "outputFile": "Questionnaire-EyeHealth.json", - "fshName": "EyeHealth", - "fshType": "Instance", - "fshFile": "715-Assessment-EyeHealth.fsh", - "startLine": 5, - "endLine": 239 - }, - { - "outputFile": "Questionnaire-FamilyHistory.json", - "fshName": "FamilyHistory", - "fshType": "Instance", - "fshFile": "715-Assessment-FamilyHistory.fsh", - "startLine": 5, - "endLine": 137 - }, - { - "outputFile": "Questionnaire-FinalisingHealthCheck.json", - "fshName": "FinalisingHealthCheck", - "fshType": "Instance", - "fshFile": "715-FinalisingHealthCheck.fsh", - "startLine": 5, - "endLine": 459 - }, - { - "outputFile": "Questionnaire-Gambling.json", - "fshName": "Gambling", - "fshType": "Instance", - "fshFile": "715-Assessment-Gambling.fsh", - "startLine": 5, - "endLine": 133 - }, - { - "outputFile": "Questionnaire-HealthPrioritiesSummary.json", - "fshName": "HealthPrioritiesSummary", - "fshType": "Instance", - "fshFile": "715-HealthPrioritiesSummary.fsh", - "startLine": 5, - "endLine": 579 - }, - { - "outputFile": "Questionnaire-HealthyEating.json", - "fshName": "HealthyEating", - "fshType": "Instance", - "fshFile": "715-Assessment-HealthyEating.fsh", - "startLine": 5, - "endLine": 296 - }, - { - "outputFile": "Questionnaire-HomeAndFamily.json", - "fshName": "HomeAndFamily", - "fshType": "Instance", - "fshFile": "715-Assessment-HomeAndFamily.fsh", - "startLine": 5, - "endLine": 166 - }, - { - "outputFile": "Questionnaire-Immunisation.json", - "fshName": "Immunisation", - "fshType": "Instance", - "fshFile": "715-Assessment-Immunisation.fsh", - "startLine": 5, - "endLine": 174 - }, - { - "outputFile": "Questionnaire-Investigations.json", - "fshName": "Investigations", - "fshType": "Instance", - "fshFile": "715-Assessment-Investigations.fsh", - "startLine": 5, - "endLine": 144 - }, - { - "outputFile": "Questionnaire-LearningAndDevelopment.json", - "fshName": "LearningAndDevelopment", - "fshType": "Instance", - "fshFile": "715-Assessment-LearningAndDevelopment.fsh", - "startLine": 5, - "endLine": 235 - }, - { - "outputFile": "Questionnaire-LearningAndWork.json", - "fshName": "LearningAndWork", - "fshType": "Instance", - "fshFile": "715-Assessment-LearningAndWork.fsh", - "startLine": 5, - "endLine": 238 - }, - { - "outputFile": "Questionnaire-MedicalHistoryCurrentProblems.json", - "fshName": "MedicalHistoryCurrentProblems", - "fshType": "Instance", - "fshFile": "715-Assessment-MedicalHistoryCurrentProblems.fsh", - "startLine": 5, - "endLine": 313 - }, - { - "outputFile": "Questionnaire-MemoryAndThinking.json", - "fshName": "MemoryAndThinking", - "fshType": "Instance", - "fshFile": "715-Assessment-MemoryAndThinking.fsh", - "startLine": 5, - "endLine": 166 - }, - { - "outputFile": "Questionnaire-Mood.json", - "fshName": "Mood", - "fshType": "Instance", - "fshFile": "715-Assessment-Mood.fsh", - "startLine": 5, - "endLine": 141 - }, - { - "outputFile": "Questionnaire-OralAndDentalHealth.json", - "fshName": "OralAndDentalHealth", - "fshType": "Instance", - "fshFile": "715-Assessment-OralAndDentalHealth.fsh", - "startLine": 5, - "endLine": 188 - }, - { - "outputFile": "Questionnaire-PatientDetails.json", - "fshName": "PatientDetails", - "fshType": "Instance", - "fshFile": "715-PatientDetails.fsh", - "startLine": 5, - "endLine": 729 - }, - { - "outputFile": "Questionnaire-PhysicalActivityAndScreenTime.json", - "fshName": "PhysicalActivityAndScreenTime", - "fshType": "Instance", - "fshFile": "715-Assessment-PhysicalActivityAndScreenTime.fsh", - "startLine": 5, - "endLine": 287 - }, - { - "outputFile": "Questionnaire-RedFlagsEarlyIdentificationGuide.json", - "fshName": "RedFlagsEarlyIdentificationGuide", - "fshType": "Instance", - "fshFile": "715-Assessment-RedFlagsEarlyIdentificationGuide.fsh", - "startLine": 5, - "endLine": 529 - }, - { - "outputFile": "Questionnaire-RegularMedications.json", - "fshName": "RegularMedications", - "fshType": "Instance", - "fshFile": "715-Assessment-RegularMedications.fsh", - "startLine": 5, - "endLine": 166 - }, - { - "outputFile": "Questionnaire-ScreeningPrograms.json", - "fshName": "ScreeningPrograms", - "fshType": "Instance", - "fshFile": "715-Assessment-ScreeningPrograms.fsh", - "startLine": 5, - "endLine": 198 - }, - { - "outputFile": "Questionnaire-SexualHealth.json", - "fshName": "SexualHealth", - "fshType": "Instance", - "fshFile": "715-Assessment-SexualHealth.fsh", - "startLine": 5, - "endLine": 379 - }, - { - "outputFile": "Questionnaire-Skin.json", - "fshName": "Skin", - "fshType": "Instance", - "fshFile": "715-Assessment-Skin.fsh", - "startLine": 5, - "endLine": 179 - }, - { - "outputFile": "Questionnaire-SocialAndEmotionalWellbeing.json", - "fshName": "SocialAndEmotionalWellbeing", - "fshType": "Instance", - "fshFile": "715-Assessment-SocialAndEmotionalWellbeing.fsh", - "startLine": 5, - "endLine": 153 - }, - { - "outputFile": "Questionnaire-SocialHistoryChild.json", - "fshName": "SocialHistoryChild", - "fshType": "Instance", - "fshFile": "715-Assessment-SocialHistoryChild.fsh", - "startLine": 5, - "endLine": 157 - }, - { - "outputFile": "Questionnaire-SubstanceUse.json", - "fshName": "SubstanceUse", - "fshType": "Instance", - "fshFile": "715-Assessment-SubstanceUse.fsh", - "startLine": 5, - "endLine": 220 - }, - { - "outputFile": "StructureDefinition-ContainedResourceReference.json", - "fshName": "ContainedResourceReference", - "fshType": "Extension", - "fshFile": "extensions.fsh", - "startLine": 1, - "endLine": 6 - }, - { - "outputFile": "ValueSet-AboriginalTorresStraitIslander.json", - "fshName": "AboriginalTorresStraitIslander", - "fshType": "ValueSet", - "fshFile": "terminology.fsh", - "startLine": 102, - "endLine": 128 - }, - { - "outputFile": "ValueSet-CervicalScreeningStatus-1.json", - "fshName": "CervicalScreeningStatus", - "fshType": "ValueSet", - "fshFile": "terminology.fsh", - "startLine": 801, - "endLine": 830 - }, - { - "outputFile": "ValueSet-PrimaryCarerParentGrandparent.json", - "fshName": "PrimaryCarerParentGrandparent", - "fshType": "ValueSet", - "fshFile": "terminology.fsh", - "startLine": 133, - "endLine": 169 - }, - { - "outputFile": "ValueSet-SmokingQuitStatus-1.json", - "fshName": "SmokingQuitStatus", - "fshType": "ValueSet", - "fshFile": "terminology.fsh", - "startLine": 832, - "endLine": 853 - }, - { - "outputFile": "ValueSet-YesNo.json", - "fshName": "YesNo", - "fshType": "ValueSet", - "fshFile": "terminology.fsh", - "startLine": 79, - "endLine": 98 - }, - { - "outputFile": "ValueSet-YesNoNA.json", - "fshName": "YesNoNA", - "fshType": "ValueSet", - "fshFile": "terminology.fsh", - "startLine": 53, - "endLine": 76 - }, - { - "outputFile": "ValueSet-YesNoNotAskedDeclined.json", - "fshName": "YesNoNotAskedDeclined", - "fshType": "ValueSet", - "fshFile": "terminology.fsh", - "startLine": 16, - "endLine": 51 - }, - { - "outputFile": "ValueSet-administrative-gender.json", - "fshName": "AdministrativeGender", - "fshType": "ValueSet", - "fshFile": "terminology.fsh", - "startLine": 465, - "endLine": 512 - }, - { - "outputFile": "ValueSet-australian-pronouns-1.json", - "fshName": "AustralianPronouns", - "fshType": "ValueSet", - "fshFile": "terminology.fsh", - "startLine": 689, - "endLine": 745 - }, - { - "outputFile": "ValueSet-australian-states-territories-2.json", - "fshName": "AustralianStatesAndTerritories", - "fshType": "ValueSet", - "fshFile": "terminology.fsh", - "startLine": 571, - "endLine": 633 - }, - { - "outputFile": "ValueSet-biological-sex-1.json", - "fshName": "BiologicalSex", - "fshType": "ValueSet", - "fshFile": "terminology.fsh", - "startLine": 747, - "endLine": 784 - }, - { - "outputFile": "ValueSet-clinical-condition-1.json", - "fshName": "ClinicalCondition", - "fshType": "ValueSet", - "fshFile": "terminology.fsh", - "startLine": 172, - "endLine": 190 - }, - { - "outputFile": "ValueSet-condition-clinical.json", - "fshName": "ConditionClinicalStatusCodes", - "fshType": "ValueSet", - "fshFile": "terminology.fsh", - "startLine": 514, - "endLine": 567 - }, - { - "outputFile": "ValueSet-gender-identity-response-1.json", - "fshName": "GenderIdentityResponse", - "fshType": "ValueSet", - "fshFile": "terminology.fsh", - "startLine": 636, - "endLine": 687 - } -] From d2f664165a1a5ecee88c537835bbbfd74ff29093 Mon Sep 17 00:00:00 2001 From: Liam Barnes <69884018+liambarnes@users.noreply.github.com> Date: Thu, 25 Jul 2024 12:34:46 +1000 Subject: [PATCH 042/177] Delete fsh-generated/fsh-index.txt --- fsh-generated/fsh-index.txt | 52 ------------------------------------- 1 file changed, 52 deletions(-) delete mode 100644 fsh-generated/fsh-index.txt diff --git a/fsh-generated/fsh-index.txt b/fsh-generated/fsh-index.txt deleted file mode 100644 index 5d8ea569..00000000 --- a/fsh-generated/fsh-index.txt +++ /dev/null @@ -1,52 +0,0 @@ -Output File Name Type FSH File Lines -CodeSystem-HealthChecksSCTSupplement.json HealthChecksSCTSupplement CodeSystem terminology.fsh 787 - 798 -CodeSystem-QuestionnaireItemControlExtended.json QuestionnaireItemControlExtended CodeSystem terminology.fsh 7 - 14 -Questionnaire-AboutTheHealthCheck.json AboutTheHealthCheck Instance 715-AboutTheHealthCheck.fsh 5 - 174 -Questionnaire-AbsoluteCVDRiskCalculation.json AbsoluteCVDRiskCalculation Instance 715-Assessment-AbsoluteCVDRiskCalculation.fsh 5 - 429 -Questionnaire-AllergiesAdverseReactions.json AllergiesAdverseReactions Instance 715-Assessment-AllergiesAdverseReactions.fsh 5 - 114 -Questionnaire-AssemblyInstructions.json AssemblyInstructions Instance 715-AssemblyInstructions.fsh 5 - 605 -Questionnaire-ChronicDiseaseAgeing.json ChronicDiseaseAgeing Instance 715-Assessment-ChronicDiseaseAgeing.fsh 5 - 131 -Questionnaire-Consent.json Consent Instance 715-Consent.fsh 7 - 226 -Questionnaire-CurrentPriorities.json CurrentPriorities Instance 715-Assessment-CurrentPriorities.fsh 5 - 193 -Questionnaire-EarHealthAndHearing.json EarHealthAndHearing Instance 715-Assessment-EarHealthAndHearing.fsh 5 - 332 -Questionnaire-Examination.json Examination Instance 715-Assessment-Examination.fsh 5 - 515 -Questionnaire-EyeHealth.json EyeHealth Instance 715-Assessment-EyeHealth.fsh 5 - 239 -Questionnaire-FamilyHistory.json FamilyHistory Instance 715-Assessment-FamilyHistory.fsh 5 - 137 -Questionnaire-FinalisingHealthCheck.json FinalisingHealthCheck Instance 715-FinalisingHealthCheck.fsh 5 - 459 -Questionnaire-Gambling.json Gambling Instance 715-Assessment-Gambling.fsh 5 - 133 -Questionnaire-HealthPrioritiesSummary.json HealthPrioritiesSummary Instance 715-HealthPrioritiesSummary.fsh 5 - 579 -Questionnaire-HealthyEating.json HealthyEating Instance 715-Assessment-HealthyEating.fsh 5 - 296 -Questionnaire-HomeAndFamily.json HomeAndFamily Instance 715-Assessment-HomeAndFamily.fsh 5 - 166 -Questionnaire-Immunisation.json Immunisation Instance 715-Assessment-Immunisation.fsh 5 - 174 -Questionnaire-Investigations.json Investigations Instance 715-Assessment-Investigations.fsh 5 - 144 -Questionnaire-LearningAndDevelopment.json LearningAndDevelopment Instance 715-Assessment-LearningAndDevelopment.fsh 5 - 235 -Questionnaire-LearningAndWork.json LearningAndWork Instance 715-Assessment-LearningAndWork.fsh 5 - 238 -Questionnaire-MedicalHistoryCurrentProblems.json MedicalHistoryCurrentProblems Instance 715-Assessment-MedicalHistoryCurrentProblems.fsh 5 - 313 -Questionnaire-MemoryAndThinking.json MemoryAndThinking Instance 715-Assessment-MemoryAndThinking.fsh 5 - 166 -Questionnaire-Mood.json Mood Instance 715-Assessment-Mood.fsh 5 - 141 -Questionnaire-OralAndDentalHealth.json OralAndDentalHealth Instance 715-Assessment-OralAndDentalHealth.fsh 5 - 188 -Questionnaire-PatientDetails.json PatientDetails Instance 715-PatientDetails.fsh 5 - 729 -Questionnaire-PhysicalActivityAndScreenTime.json PhysicalActivityAndScreenTime Instance 715-Assessment-PhysicalActivityAndScreenTime.fsh 5 - 287 -Questionnaire-RedFlagsEarlyIdentificationGuide.json RedFlagsEarlyIdentificationGuide Instance 715-Assessment-RedFlagsEarlyIdentificationGuide.fsh 5 - 529 -Questionnaire-RegularMedications.json RegularMedications Instance 715-Assessment-RegularMedications.fsh 5 - 166 -Questionnaire-ScreeningPrograms.json ScreeningPrograms Instance 715-Assessment-ScreeningPrograms.fsh 5 - 198 -Questionnaire-SexualHealth.json SexualHealth Instance 715-Assessment-SexualHealth.fsh 5 - 379 -Questionnaire-Skin.json Skin Instance 715-Assessment-Skin.fsh 5 - 179 -Questionnaire-SocialAndEmotionalWellbeing.json SocialAndEmotionalWellbeing Instance 715-Assessment-SocialAndEmotionalWellbeing.fsh 5 - 153 -Questionnaire-SocialHistoryChild.json SocialHistoryChild Instance 715-Assessment-SocialHistoryChild.fsh 5 - 157 -Questionnaire-SubstanceUse.json SubstanceUse Instance 715-Assessment-SubstanceUse.fsh 5 - 220 -StructureDefinition-ContainedResourceReference.json ContainedResourceReference Extension extensions.fsh 1 - 6 -ValueSet-AboriginalTorresStraitIslander.json AboriginalTorresStraitIslander ValueSet terminology.fsh 102 - 128 -ValueSet-CervicalScreeningStatus-1.json CervicalScreeningStatus ValueSet terminology.fsh 801 - 830 -ValueSet-PrimaryCarerParentGrandparent.json PrimaryCarerParentGrandparent ValueSet terminology.fsh 133 - 169 -ValueSet-SmokingQuitStatus-1.json SmokingQuitStatus ValueSet terminology.fsh 832 - 853 -ValueSet-YesNo.json YesNo ValueSet terminology.fsh 79 - 98 -ValueSet-YesNoNA.json YesNoNA ValueSet terminology.fsh 53 - 76 -ValueSet-YesNoNotAskedDeclined.json YesNoNotAskedDeclined ValueSet terminology.fsh 16 - 51 -ValueSet-administrative-gender.json AdministrativeGender ValueSet terminology.fsh 465 - 512 -ValueSet-australian-pronouns-1.json AustralianPronouns ValueSet terminology.fsh 689 - 745 -ValueSet-australian-states-territories-2.json AustralianStatesAndTerritories ValueSet terminology.fsh 571 - 633 -ValueSet-biological-sex-1.json BiologicalSex ValueSet terminology.fsh 747 - 784 -ValueSet-clinical-condition-1.json ClinicalCondition ValueSet terminology.fsh 172 - 190 -ValueSet-condition-clinical.json ConditionClinicalStatusCodes ValueSet terminology.fsh 514 - 567 -ValueSet-gender-identity-response-1.json GenderIdentityResponse ValueSet terminology.fsh 636 - 687 \ No newline at end of file From bf17f1d53bdef38996a19c78b49d83fc902a6aa0 Mon Sep 17 00:00:00 2001 From: Liam Barnes <69884018+liambarnes@users.noreply.github.com> Date: Thu, 25 Jul 2024 13:02:43 +1000 Subject: [PATCH 043/177] Delete fsh-generated/includes directory --- fsh-generated/includes/fsh-link-references.md | 57 ------------------- fsh-generated/includes/menu.xml | 54 ------------------ 2 files changed, 111 deletions(-) delete mode 100644 fsh-generated/includes/fsh-link-references.md delete mode 100644 fsh-generated/includes/menu.xml diff --git a/fsh-generated/includes/fsh-link-references.md b/fsh-generated/includes/fsh-link-references.md deleted file mode 100644 index 5ceaf441..00000000 --- a/fsh-generated/includes/fsh-link-references.md +++ /dev/null @@ -1,57 +0,0 @@ -[AssemblyInstructions]: Questionnaire-AssemblyInstructions.html -[AboriginalTorresStraitIslanderHealthCheck]: Questionnaire-AboriginalTorresStraitIslanderHealthCheck.html -[AboutTheHealthCheck]: Questionnaire-AboutTheHealthCheck.html -[AbsoluteCVDRiskCalculation]: Questionnaire-AbsoluteCVDRiskCalculation.html -[AllergiesAdverseReactions]: Questionnaire-AllergiesAdverseReactions.html -[ChronicDiseaseAgeing]: Questionnaire-ChronicDiseaseAgeing.html -[Consent]: Questionnaire-Consent.html -[CurrentPriorities]: Questionnaire-CurrentPriorities.html -[EarHealthAndHearing]: Questionnaire-EarHealthAndHearing.html -[Examination]: Questionnaire-Examination.html -[EyeHealth]: Questionnaire-EyeHealth.html -[FamilyHistory]: Questionnaire-FamilyHistory.html -[FinalisingHealthCheck]: Questionnaire-FinalisingHealthCheck.html -[Gambling]: Questionnaire-Gambling.html -[HealthPrioritiesSummary]: Questionnaire-HealthPrioritiesSummary.html -[HealthyEating]: Questionnaire-HealthyEating.html -[HomeAndFamily]: Questionnaire-HomeAndFamily.html -[Immunisation]: Questionnaire-Immunisation.html -[Investigations]: Questionnaire-Investigations.html -[LearningAndDevelopment]: Questionnaire-LearningAndDevelopment.html -[LearningAndWork]: Questionnaire-LearningAndWork.html -[MedicalHistoryCurrentProblems]: Questionnaire-MedicalHistoryCurrentProblems.html -[MemoryAndThinking]: Questionnaire-MemoryAndThinking.html -[Mood]: Questionnaire-Mood.html -[OralAndDentalHealth]: Questionnaire-OralAndDentalHealth.html -[PatientDetails]: Questionnaire-PatientDetails.html -[RedFlagsEarlyIdentificationGuide]: Questionnaire-RedFlagsEarlyIdentificationGuide.html -[RegularMedications]: Questionnaire-RegularMedications.html -[ScreeningPrograms]: Questionnaire-ScreeningPrograms.html -[SexualHealth]: Questionnaire-SexualHealth.html -[Skin]: Questionnaire-Skin.html -[SocialAndEmotionalWellbeing]: Questionnaire-SocialAndEmotionalWellbeing.html -[SocialHistoryChild]: Questionnaire-SocialHistoryChild.html -[SubstanceUse]: Questionnaire-SubstanceUse.html -[AboriginalTorresStraitIslander]: ValueSet-AboriginalTorresStraitIslander.html -[AdministrativeGender]: ValueSet-administrative-gender.html -[AustralianPronouns]: ValueSet-australian-pronouns-1.html -[AustralianStatesAndTerritories]: ValueSet-australian-states-territories-2.html -[BiologicalSex]: ValueSet-biological-sex-1.html -[CervicalScreeningStatus]: ValueSet-CervicalScreeningStatus-1.html -[ClinicalCondition]: ValueSet-clinical-condition-1.html -[ConditionClinicalStatusCodes]: ValueSet-condition-clinical.html -[ContainedResourceReference]: StructureDefinition-ContainedResourceReference.html -[GenderIdentityResponse]: ValueSet-gender-identity-response-1.html -[PhysicalActivityAndScreenTime]: Questionnaire-PhysicalActivityAndScreenTime.html -[PrimaryCarerParentGrandparent]: ValueSet-PrimaryCarerParentGrandparent.html -[QuestionnaireItemControlExtended]: CodeSystem-QuestionnaireItemControlExtended.html -[QuestionnaireItemUIControlCodes]: CodeSystem-questionnaire-item-control.html -[QuestionnaireItemUIControlCodes]: ValueSet-questionnaire-item-control.html -[SmartFormsApplication]: CapabilityStatement-SmartFormsApplication.html -[SmartFormsLauncherServerAboriginalTorresStraitIslanderHealthCheck]: CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.html -[SmartFormsServer]: CapabilityStatement-SmartFormsServer.html -[SmokingQuitStatus]: ValueSet-SmokingQuitStatus-1.html -[HealthChecksSCTSupplement]: CodeSystem-HealthChecksSCTSupplement.html -[YesNo]: ValueSet-YesNo.html -[YesNoNA]: ValueSet-YesNoNA.html -[YesNoNotAskedDeclined]: ValueSet-YesNoNotAskedDeclined.html \ No newline at end of file diff --git a/fsh-generated/includes/menu.xml b/fsh-generated/includes/menu.xml deleted file mode 100644 index 199b0a54..00000000 --- a/fsh-generated/includes/menu.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - \ No newline at end of file From 7386fe8c10407417209c48a33cc0d4a31235bc5f Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Thu, 25 Jul 2024 13:40:05 +1000 Subject: [PATCH 044/177] update gitignore --- .gitignore | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/.gitignore b/.gitignore index 7618b88a..2b9365b3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,14 +1,13 @@ -bulk-import.py .DS_Store Thumbs.db -/assembler -# /fsh-generated -/fsh-generated/fsh-index.json -/fsh-generated/fsh-index.txt -/input-cache -/node_modules -/output -/temp -/template -/.vscode +bulk-import.py +assembler/ +fsh-generated/fsh-index.* +fsh-generated/includes/ +input-cache/ +node_modules/ +output/ +temp/ +template/ +.vscode/ fhir.schema.json \ No newline at end of file From 99ff103b6ad38ad3eae78ee918d71a845ef6cb35 Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Tue, 30 Jul 2024 15:42:23 +1000 Subject: [PATCH 045/177] Add smart app launch dependency --- .../ImplementationGuide-csiro.fhir.au.smartforms.json | 6 ++++++ sushi-config.yaml | 1 + 2 files changed, 7 insertions(+) diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index b729d97b..f58bedfb 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -38,6 +38,12 @@ "version": "3.0.0", "uri": "http://hl7.org/fhir/uv/sdc/ImplementationGuide/hl7.fhir.uv.sdc", "id": "hl7_fhir_uv_sdc" + }, + { + "packageId": "hl7.fhir.uv.smart-app-launch", + "version": "2.1.0", + "uri": "http://hl7.org/fhir/smart-app-launch/ImplementationGuide/hl7.fhir.uv.smart-app-launch", + "id": "hl7_fhir_uv_smart_app_launch" } ], "definition": { diff --git a/sushi-config.yaml b/sushi-config.yaml index 56b75e87..5bbe63c3 100644 --- a/sushi-config.yaml +++ b/sushi-config.yaml @@ -28,6 +28,7 @@ dependencies: hl7.fhir.au.core: 0.3.0-ballot hl7.fhir.uv.sdc: 3.0.0 + hl7.fhir.uv.smart-app-launch: 2.1.0 # # # The pages property corresponds to IG.definition.page. SUSHI can From daa650f9785795a10168d37145e691e6e646152e Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Tue, 10 Sep 2024 11:59:17 +1000 Subject: [PATCH 046/177] Doctype update to fix build timeout --- input/pagecontent/smart-health-check-application-integration.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/input/pagecontent/smart-health-check-application-integration.xml b/input/pagecontent/smart-health-check-application-integration.xml index 98b84c92..ecd6d093 100644 --- a/input/pagecontent/smart-health-check-application-integration.xml +++ b/input/pagecontent/smart-health-check-application-integration.xml @@ -1,5 +1,4 @@ - Smart Health Check Application Integration From 1345ca90cfd569d41ddf8ac380203bc4c75ba6a8 Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Thu, 19 Sep 2024 10:10:19 +1000 Subject: [PATCH 047/177] Fix displays --- .../Questionnaire-AbsoluteCVDRiskCalculation.json | 4 ++-- .../resources/Questionnaire-SubstanceUse.json | 4 ++-- .../fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh | 4 ++-- input/fsh/715-Assessment-SubstanceUse.fsh | 4 ++-- ...ginalTorresStraitIslanderHealthCheck-assembled.json | 10 +++++----- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json b/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json index 1f3715a9..da7ba26f 100644 --- a/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json +++ b/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json @@ -196,14 +196,14 @@ "valueCoding": { "code": "266919005", "system": "http://snomed.info/sct", - "display": "Never smoked" + "display": "Lifetime non-smoker" } }, { "valueCoding": { "code": "77176002", "system": "http://snomed.info/sct", - "display": "Smoker" + "display": "Current smoker" } }, { diff --git a/fsh-generated/resources/Questionnaire-SubstanceUse.json b/fsh-generated/resources/Questionnaire-SubstanceUse.json index 2245c391..7e4f0e03 100644 --- a/fsh-generated/resources/Questionnaire-SubstanceUse.json +++ b/fsh-generated/resources/Questionnaire-SubstanceUse.json @@ -134,14 +134,14 @@ "valueCoding": { "code": "266919005", "system": "http://snomed.info/sct", - "display": "Never smoked" + "display": "Lifetime non-smoker" } }, { "valueCoding": { "code": "77176002", "system": "http://snomed.info/sct", - "display": "Smoker" + "display": "Current smoker" } }, { diff --git a/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh b/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh index e67f4dae..63bc485a 100644 --- a/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh +++ b/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh @@ -183,8 +183,8 @@ Description: "Absolute Cardiovascular Disease Risk Calculation sub-questionnaire * type = #choice * repeats = false // better as a standard answerValueSet when missing concepts are available - * answerOption[+].valueCoding = http://snomed.info/sct#266919005 "Never smoked" - * answerOption[+].valueCoding = http://snomed.info/sct#77176002 "Smoker" + * answerOption[+].valueCoding = http://snomed.info/sct#266919005 "Lifetime non-smoker" + * answerOption[+].valueCoding = http://snomed.info/sct#77176002 "Current smoker" * answerOption[+].valueCoding = http://snomed.info/sct#8517006 "Ex-smoker" * answerOption[+].valueCoding = http://snomed.info/sct#16090371000119103 "Exposure to second hand tobacco smoke" * answerOption[+].valueString = "Wants to quit" diff --git a/input/fsh/715-Assessment-SubstanceUse.fsh b/input/fsh/715-Assessment-SubstanceUse.fsh index 62b3e469..89a48f2f 100644 --- a/input/fsh/715-Assessment-SubstanceUse.fsh +++ b/input/fsh/715-Assessment-SubstanceUse.fsh @@ -126,8 +126,8 @@ Description: "Substance Use sub-questionnaire for Aboriginal and Torres Strait I * type = #choice * repeats = false // better as a standard answerValueSet when missing concepts are available or national standard adoption - * answerOption[+].valueCoding = http://snomed.info/sct#266919005 "Never smoked" - * answerOption[+].valueCoding = http://snomed.info/sct#77176002 "Smoker" + * answerOption[+].valueCoding = http://snomed.info/sct#266919005 "Lifetime non-smoker" + * answerOption[+].valueCoding = http://snomed.info/sct#77176002 "Current smoker" * answerOption[+].valueCoding = http://snomed.info/sct#8517006 "Ex-smoker" * answerOption[+].valueCoding = http://snomed.info/sct#16090371000119103 "Exposure to second hand tobacco smoke" * answerOption[+].valueString = "Wants to quit" diff --git a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json index f378eb20..bf7e6e51 100644 --- a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json +++ b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json @@ -9926,14 +9926,14 @@ "valueCoding": { "system": "http://snomed.info/sct", "code": "266919005", - "display": "Never smoked" + "display": "Lifetime non-smoker" } }, { "valueCoding": { "system": "http://snomed.info/sct", "code": "77176002", - "display": "Smoker" + "display": "Current smoker" } }, { @@ -13771,14 +13771,14 @@ "valueCoding": { "system": "http://snomed.info/sct", "code": "266919005", - "display": "Never smoked" + "display": "Lifetime non-smoker" } }, { "valueCoding": { "system": "http://snomed.info/sct", "code": "77176002", - "display": "Smoker" + "display": "Current smoker" } }, { @@ -16099,4 +16099,4 @@ ] } ] -} \ No newline at end of file +} From c29318cab3b583babb4bfa1f5c7d8551330a91d1 Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Mon, 23 Sep 2024 12:13:33 +1000 Subject: [PATCH 048/177] Update ignore warnings --- input/ignoreWarnings.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/input/ignoreWarnings.txt b/input/ignoreWarnings.txt index 625ba0a4..7cf39fed 100644 --- a/input/ignoreWarnings.txt +++ b/input/ignoreWarnings.txt @@ -10,21 +10,21 @@ This element does not match any known slice defined in the profile http://hl7.or This element does not match any known slice defined in the profile http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp|3.0.0 # Slice matching - CapabilityStatement -This element does not match any known slice defined in the profile http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination|4.0.1 +This element does not match any known slice defined in the profile http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination% # EnableWhen target comes after the question - This is intentional design for marking Questionnaire sections as complete -%The target of this enableWhen rule (MarkComplete-% +The target of this enableWhen rule (MarkComplete-% # ContainedResourceReference extension defined as intended Review the extension type for ContainedResourceReference: extensions should not have a context of Element unless it's really intended that they can be used anywhere # Modular Questionnaire - URL of assembled questionnaire SHALL be the same as its base questionnnaire -%The URL 'http://www.health.gov.au/assessments/mbs/715' has already been used by AssemblyInstructions% -%The URL 'http://www.health.gov.au/assessments/mbs/715' is also used by AboriginalTorresStraitIslanderHealthCheck% +The URL 'http://www.health.gov.au/assessments/mbs/715' has already been used by AssemblyInstructions% +The URL 'http://www.health.gov.au/assessments/mbs/715' is also used by AboriginalTorresStraitIslanderHealthCheck% # Draft code systems referenced as intended Reference to draft CodeSystem http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext|3.0.0 -Reference to draft CodeSystem https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended|0.1.0 +Reference to draft CodeSystem https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended% Reference to draft CodeSystem http://hl7.org/fhir/questionnaire-item-control|4.0.1 Reference to draft CodeSystem http://hl7.org/fhir/questionnaire-display-category|4.0.1 Reference to draft CodeSystem http://hl7.org/fhir/choice-list-orientation|5.1.0 From 24178e9d71c3847279e30e972b1f76d91d49ab5e Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Mon, 23 Sep 2024 13:43:25 +1000 Subject: [PATCH 049/177] Fix terminology metadata --- .../Questionnaire-AssemblyInstructions.json | 25 +++++++++++++++++++ ...onnaire-MedicalHistoryCurrentProblems.json | 1 + .../Questionnaire-PatientDetails.json | 24 ++++++++++++++++++ .../ValueSet-australian-pronouns-1.json | 12 +++++++++ .../ValueSet-condition-clinical.json | 1 + .../ValueSet-gender-identity-response-1.json | 12 +++++++++ input/fsh/terminology.fsh | 9 +++++++ ...esStraitIslanderHealthCheck-assembled.json | 25 +++++++++++++++++++ 8 files changed, 109 insertions(+) diff --git a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json index ecb86949..4b561e51 100644 --- a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json +++ b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json @@ -1077,6 +1077,7 @@ } ], "copyright": "Copyright © 2011+ HL7. Licensed under Creative Commons \"No Rights Reserved\".", + "date": "2019-11-01T09:29:23+11:00", "expansion": { "identifier": "urn:uuid:79d21cca-9f34-4cfa-9020-17eee95eeed8", "timestamp": "2024-04-02T14:17:12+10:00", @@ -1318,6 +1319,18 @@ ], "version": "1.0.0", "experimental": false, + "date": "2024-02-29", + "publisher": "Australian Digital Health Agency", + "contact": [ + { + "telecom": [ + { + "system": "email", + "value": "help@digitalhealth.gov.au" + } + ] + } + ], "copyright": "Copyright © 2024 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\nThis material contains content from LOINC (http://loinc.org). LOINC is copyright 1995-2024, Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee and is available at no cost under the license at http://loinc.org/license. LOINC® is a registered United States trademark of Regenstrief Institute, Inc.\n\nThis material contains information which is protected by copyright. You may download, display, print and reproduce any material for your personal, non-commercial use or use within your organisation subject to the following terms and conditions: \n\nThis resource also includes all or a portion of material from the HL7 Terminology (THO). THO is copyright ©1989+ Health Level Seven International and is made available under the CC0 designation. For more licensing information see: https://terminology.hl7.org/license.", "expansion": { "identifier": "urn:uuid:ca145c1c-4915-4957-888a-39e69de8b1ad", @@ -1580,6 +1593,18 @@ ], "version": "1.1.0", "experimental": false, + "date": "2024-02-29", + "publisher": "Australian Digital Health Agency", + "contact": [ + { + "telecom": [ + { + "system": "email", + "value": "help@digitalhealth.gov.au" + } + ] + } + ], "copyright": "Copyright © 2022 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/.\n\n\"This resource includes SNOMED Clinical Terms™ (SNOMED CT®) which is used by permission of the International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. “SNOMED” and “SNOMED CT” are registered trademarks of the IHTSDO. \n\nThe rights to use and implement or implementation of SNOMED CT content are limited to the extent it is necessary to allow for the end use of this material. No further rights are granted in respect of the International Release and no further use of any SNOMED CT content by any other party is permitted. \n\nThis resource includes material that is based on Australian Institute of Health and Welfare material. This resource includes material that is based on Australian Bureau of Statistics data. \n\nThis resource also includes all or a portion of material from the HL7 Terminology (THO). THO is copyright ©1989+ Health Level Seven International and is made available under the CC0 designation. For more licensing information see: https://terminology.hl7.org/license.", "expansion": { "identifier": "urn:uuid:a35fc104-184f-476e-a7a2-e3f3af66a3eb", diff --git a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json index 73fb31b1..9f11a9e7 100644 --- a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json +++ b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json @@ -442,6 +442,7 @@ } ], "copyright": "Copyright © 2011+ HL7. Licensed under Creative Commons \"No Rights Reserved\".", + "date": "2019-11-01T09:29:23+11:00", "expansion": { "identifier": "urn:uuid:79d21cca-9f34-4cfa-9020-17eee95eeed8", "timestamp": "2024-04-02T14:17:12+10:00", diff --git a/fsh-generated/resources/Questionnaire-PatientDetails.json b/fsh-generated/resources/Questionnaire-PatientDetails.json index 4ad2b7e9..49de3e93 100644 --- a/fsh-generated/resources/Questionnaire-PatientDetails.json +++ b/fsh-generated/resources/Questionnaire-PatientDetails.json @@ -1731,6 +1731,18 @@ ], "version": "1.0.0", "experimental": false, + "date": "2024-02-29", + "publisher": "Australian Digital Health Agency", + "contact": [ + { + "telecom": [ + { + "system": "email", + "value": "help@digitalhealth.gov.au" + } + ] + } + ], "copyright": "Copyright © 2024 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\nThis material contains content from LOINC (http://loinc.org). LOINC is copyright 1995-2024, Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee and is available at no cost under the license at http://loinc.org/license. LOINC® is a registered United States trademark of Regenstrief Institute, Inc.\n\nThis material contains information which is protected by copyright. You may download, display, print and reproduce any material for your personal, non-commercial use or use within your organisation subject to the following terms and conditions: \n\nThis resource also includes all or a portion of material from the HL7 Terminology (THO). THO is copyright ©1989+ Health Level Seven International and is made available under the CC0 designation. For more licensing information see: https://terminology.hl7.org/license.", "expansion": { "identifier": "urn:uuid:ca145c1c-4915-4957-888a-39e69de8b1ad", @@ -1854,6 +1866,18 @@ ], "version": "1.1.0", "experimental": false, + "date": "2024-02-29", + "publisher": "Australian Digital Health Agency", + "contact": [ + { + "telecom": [ + { + "system": "email", + "value": "help@digitalhealth.gov.au" + } + ] + } + ], "copyright": "Copyright © 2022 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/.\n\n\"This resource includes SNOMED Clinical Terms™ (SNOMED CT®) which is used by permission of the International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. “SNOMED” and “SNOMED CT” are registered trademarks of the IHTSDO. \n\nThe rights to use and implement or implementation of SNOMED CT content are limited to the extent it is necessary to allow for the end use of this material. No further rights are granted in respect of the International Release and no further use of any SNOMED CT content by any other party is permitted. \n\nThis resource includes material that is based on Australian Institute of Health and Welfare material. This resource includes material that is based on Australian Bureau of Statistics data. \n\nThis resource also includes all or a portion of material from the HL7 Terminology (THO). THO is copyright ©1989+ Health Level Seven International and is made available under the CC0 designation. For more licensing information see: https://terminology.hl7.org/license.", "expansion": { "identifier": "urn:uuid:a35fc104-184f-476e-a7a2-e3f3af66a3eb", diff --git a/fsh-generated/resources/ValueSet-australian-pronouns-1.json b/fsh-generated/resources/ValueSet-australian-pronouns-1.json index d51fd897..b5db4c22 100644 --- a/fsh-generated/resources/ValueSet-australian-pronouns-1.json +++ b/fsh-generated/resources/ValueSet-australian-pronouns-1.json @@ -14,6 +14,18 @@ ], "version": "1.0.0", "experimental": false, + "date": "2024-02-29", + "publisher": "Australian Digital Health Agency", + "contact": [ + { + "telecom": [ + { + "system": "email", + "value": "help@digitalhealth.gov.au" + } + ] + } + ], "copyright": "Copyright © 2024 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\nThis material contains content from LOINC (http://loinc.org). LOINC is copyright 1995-2024, Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee and is available at no cost under the license at http://loinc.org/license. LOINC® is a registered United States trademark of Regenstrief Institute, Inc.\n\nThis material contains information which is protected by copyright. You may download, display, print and reproduce any material for your personal, non-commercial use or use within your organisation subject to the following terms and conditions: \n\nThis resource also includes all or a portion of material from the HL7 Terminology (THO). THO is copyright ©1989+ Health Level Seven International and is made available under the CC0 designation. For more licensing information see: https://terminology.hl7.org/license.", "expansion": { "identifier": "urn:uuid:ca145c1c-4915-4957-888a-39e69de8b1ad", diff --git a/fsh-generated/resources/ValueSet-condition-clinical.json b/fsh-generated/resources/ValueSet-condition-clinical.json index abd7c0a0..1b971b80 100644 --- a/fsh-generated/resources/ValueSet-condition-clinical.json +++ b/fsh-generated/resources/ValueSet-condition-clinical.json @@ -40,6 +40,7 @@ } ], "copyright": "Copyright © 2011+ HL7. Licensed under Creative Commons \"No Rights Reserved\".", + "date": "2019-11-01T09:29:23+11:00", "expansion": { "identifier": "urn:uuid:79d21cca-9f34-4cfa-9020-17eee95eeed8", "timestamp": "2024-04-02T14:17:12+10:00", diff --git a/fsh-generated/resources/ValueSet-gender-identity-response-1.json b/fsh-generated/resources/ValueSet-gender-identity-response-1.json index 448285d2..f2f35172 100644 --- a/fsh-generated/resources/ValueSet-gender-identity-response-1.json +++ b/fsh-generated/resources/ValueSet-gender-identity-response-1.json @@ -14,6 +14,18 @@ ], "version": "1.1.0", "experimental": false, + "date": "2024-02-29", + "publisher": "Australian Digital Health Agency", + "contact": [ + { + "telecom": [ + { + "system": "email", + "value": "help@digitalhealth.gov.au" + } + ] + } + ], "copyright": "Copyright © 2022 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/.\n\n\"This resource includes SNOMED Clinical Terms™ (SNOMED CT®) which is used by permission of the International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. “SNOMED” and “SNOMED CT” are registered trademarks of the IHTSDO. \n\nThe rights to use and implement or implementation of SNOMED CT content are limited to the extent it is necessary to allow for the end use of this material. No further rights are granted in respect of the International Release and no further use of any SNOMED CT content by any other party is permitted. \n\nThis resource includes material that is based on Australian Institute of Health and Welfare material. This resource includes material that is based on Australian Bureau of Statistics data. \n\nThis resource also includes all or a portion of material from the HL7 Terminology (THO). THO is copyright ©1989+ Health Level Seven International and is made available under the CC0 designation. For more licensing information see: https://terminology.hl7.org/license.", "expansion": { "identifier": "urn:uuid:a35fc104-184f-476e-a7a2-e3f3af66a3eb", diff --git a/input/fsh/terminology.fsh b/input/fsh/terminology.fsh index 14f8fe44..31f92d52 100644 --- a/input/fsh/terminology.fsh +++ b/input/fsh/terminology.fsh @@ -531,6 +531,7 @@ Description: "Preferred value set for Condition Clinical Status." * ^contact.telecom.system = #url * ^contact.telecom.value = "http://hl7.org/fhir" * ^copyright = "Copyright © 2011+ HL7. Licensed under Creative Commons \"No Rights Reserved\"." +* ^date = "2019-11-01T09:29:23+11:00" * ^expansion.identifier = "urn:uuid:79d21cca-9f34-4cfa-9020-17eee95eeed8" * ^expansion.timestamp = "2024-04-02T14:17:12+10:00" * ^expansion.total = 6 @@ -643,6 +644,10 @@ Description: "The Gender Identity Response value set includes values that may be * ^version = "1.1.0" * ^status = #active * ^experimental = false +* ^date = "2024-02-29" +* ^publisher = "Australian Digital Health Agency" +* ^contact.telecom.system = #email +* ^contact.telecom.value = "help@digitalhealth.gov.au" * ^copyright = "Copyright © 2022 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/.\n\n\"This resource includes SNOMED Clinical Terms™ (SNOMED CT®) which is used by permission of the International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. “SNOMED” and “SNOMED CT” are registered trademarks of the IHTSDO. \n\nThe rights to use and implement or implementation of SNOMED CT content are limited to the extent it is necessary to allow for the end use of this material. No further rights are granted in respect of the International Release and no further use of any SNOMED CT content by any other party is permitted. \n\nThis resource includes material that is based on Australian Institute of Health and Welfare material. This resource includes material that is based on Australian Bureau of Statistics data. \n\nThis resource also includes all or a portion of material from the HL7 Terminology (THO). THO is copyright ©1989+ Health Level Seven International and is made available under the CC0 designation. For more licensing information see: https://terminology.hl7.org/license." * ^expansion.identifier = "urn:uuid:a35fc104-184f-476e-a7a2-e3f3af66a3eb" * ^expansion.timestamp = "2024-04-02T14:21:20+10:00" @@ -696,6 +701,10 @@ Description: "The Australian Pronouns value set includes values that indicate th * ^version = "1.0.0" * ^status = #active * ^experimental = false +* ^date = "2024-02-29" +* ^publisher = "Australian Digital Health Agency" +* ^contact.telecom.system = #email +* ^contact.telecom.value = "help@digitalhealth.gov.au" * ^copyright = "Copyright © 2024 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\nThis material contains content from LOINC (http://loinc.org). LOINC is copyright 1995-2024, Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee and is available at no cost under the license at http://loinc.org/license. LOINC® is a registered United States trademark of Regenstrief Institute, Inc.\n\nThis material contains information which is protected by copyright. You may download, display, print and reproduce any material for your personal, non-commercial use or use within your organisation subject to the following terms and conditions: \n\nThis resource also includes all or a portion of material from the HL7 Terminology (THO). THO is copyright ©1989+ Health Level Seven International and is made available under the CC0 designation. For more licensing information see: https://terminology.hl7.org/license." * ^expansion.identifier = "urn:uuid:ca145c1c-4915-4957-888a-39e69de8b1ad" * ^expansion.timestamp = "2024-04-02T14:25:01+10:00" diff --git a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json index bf7e6e51..ab7000e7 100644 --- a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json +++ b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json @@ -342,6 +342,18 @@ "title": "Australian Pronouns", "status": "active", "experimental": false, + "date": "2024-02-29", + "publisher": "Australian Digital Health Agency", + "contact": [ + { + "telecom": [ + { + "system": "email", + "value": "help@digitalhealth.gov.au" + } + ] + } + ], "description": "The Australian Pronouns value set includes values that indicate the pronouns to be used when communicating with or about an individual.", "copyright": "Copyright © 2024 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\nThis material contains content from LOINC (http://loinc.org). LOINC is copyright 1995-2024, Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee and is available at no cost under the license at http://loinc.org/license. LOINC® is a registered United States trademark of Regenstrief Institute, Inc.\n\nThis material contains information which is protected by copyright. You may download, display, print and reproduce any material for your personal, non-commercial use or use within your organisation subject to the following terms and conditions: \n\nThis resource also includes all or a portion of material from the HL7 Terminology (THO). THO is copyright ©1989+ Health Level Seven International and is made available under the CC0 designation. For more licensing information see: https://terminology.hl7.org/license.", "compose": { @@ -465,6 +477,18 @@ "title": "Gender Identity Response", "status": "active", "experimental": false, + "date": "2024-02-29", + "publisher": "Australian Digital Health Agency", + "contact": [ + { + "telecom": [ + { + "system": "email", + "value": "help@digitalhealth.gov.au" + } + ] + } + ], "description": "The Gender Identity Response value set includes values that may be used to represent a response for an individual's gender. A person's gender is a social and cultural identity, expression and experience.", "copyright": "Copyright © 2022 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/.\n\n\"This resource includes SNOMED Clinical Terms™ (SNOMED CT®) which is used by permission of the International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. “SNOMED” and “SNOMED CT” are registered trademarks of the IHTSDO. \n\nThe rights to use and implement or implementation of SNOMED CT content are limited to the extent it is necessary to allow for the end use of this material. No further rights are granted in respect of the International Release and no further use of any SNOMED CT content by any other party is permitted. \n\nThis resource includes material that is based on Australian Institute of Health and Welfare material. This resource includes material that is based on Australian Bureau of Statistics data. \n\nThis resource also includes all or a portion of material from the HL7 Terminology (THO). THO is copyright ©1989+ Health Level Seven International and is made available under the CC0 designation. For more licensing information see: https://terminology.hl7.org/license.", "compose": { @@ -870,6 +894,7 @@ "title": "Condition Clinical Status Codes", "status": "draft", "experimental": false, + "date": "2019-11-01T09:29:23+11:00", "publisher": "FHIR Project team", "contact": [ { From c5f4ddeb66567bba4a3af0c56ff9adf030ce9d09 Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Mon, 23 Sep 2024 13:53:43 +1000 Subject: [PATCH 050/177] bump version --- .../resources/ImplementationGuide-csiro.fhir.au.smartforms.json | 2 +- sushi-config.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index f58bedfb..028bc98f 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -2,7 +2,7 @@ "resourceType": "ImplementationGuide", "id": "csiro.fhir.au.smartforms", "url": "https://smartforms.csiro.au/ig/ImplementationGuide/csiro.fhir.au.smartforms", - "version": "0.1.0", + "version": "0.2.0", "name": "SmartForms", "title": "Smart Forms", "status": "draft", diff --git a/sushi-config.yaml b/sushi-config.yaml index 5bbe63c3..3482bf41 100644 --- a/sushi-config.yaml +++ b/sushi-config.yaml @@ -9,7 +9,7 @@ name: SmartForms title: Smart Forms description: Smart Forms FHIR Implementation Guide. status: draft # draft | active | retired | unknown -version: 0.1.0 +version: 0.2.0 fhirVersion: 4.0.1 # https://www.hl7.org/fhir/valueset-FHIR-version.html copyrightYear: 2022+ releaseLabel: ci-build # ci-build | draft | qa-preview | ballot | trial-use | release | update | normative+trial-use From 6b40b6efbea185f0efa795ba31ec25025780ea2c Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Tue, 24 Sep 2024 11:39:22 +1000 Subject: [PATCH 051/177] Add placeholder publication request --- publication-request.json | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 publication-request.json diff --git a/publication-request.json b/publication-request.json new file mode 100644 index 00000000..91ec8664 --- /dev/null +++ b/publication-request.json @@ -0,0 +1,10 @@ +{ + "package-id" : "csiro.fhir.au.smartforms", + "version" : "0.x.0-draft", + "path" : "https://smartforms.csiro.au/ig/0.x.0-draft", + "mode" : "working", + "status" : "draft", + "sequence" : "R1", + "desc" : "This draft is published for trial use and review.", + "first" : false +} \ No newline at end of file From 8a7a8c5c41104cea4fca73faf70e4325ea16fc32 Mon Sep 17 00:00:00 2001 From: Liam Barnes <69884018+liambarnes@users.noreply.github.com> Date: Wed, 2 Oct 2024 09:13:16 +1000 Subject: [PATCH 052/177] Update LICENSE --- LICENSE | 572 ++++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 371 insertions(+), 201 deletions(-) diff --git a/LICENSE b/LICENSE index 261eeb9e..855c81cc 100644 --- a/LICENSE +++ b/LICENSE @@ -1,201 +1,371 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. +Creative Commons Attribution-ShareAlike 4.0 International Public +License + +By exercising the Licensed Rights (defined below), You accept and agree +to be bound by the terms and conditions of this Creative Commons +Attribution-ShareAlike 4.0 International Public License ("Public +License"). To the extent this Public License may be interpreted as a +contract, You are granted the Licensed Rights in consideration of Your +acceptance of these terms and conditions, and the Licensor grants You +such rights in consideration of benefits the Licensor receives from +making the Licensed Material available under these terms and +conditions. + + +Section 1 -- Definitions. + + a. Adapted Material means material subject to Copyright and Similar + Rights that is derived from or based upon the Licensed Material + and in which the Licensed Material is translated, altered, + arranged, transformed, or otherwise modified in a manner requiring + permission under the Copyright and Similar Rights held by the + Licensor. For purposes of this Public License, where the Licensed + Material is a musical work, performance, or sound recording, + Adapted Material is always produced where the Licensed Material is + synched in timed relation with a moving image. + + b. Adapter's License means the license You apply to Your Copyright + and Similar Rights in Your contributions to Adapted Material in + accordance with the terms and conditions of this Public License. + + c. BY-SA Compatible License means a license listed at + creativecommons.org/compatiblelicenses, approved by Creative + Commons as essentially the equivalent of this Public License. + + d. Copyright and Similar Rights means copyright and/or similar rights + closely related to copyright including, without limitation, + performance, broadcast, sound recording, and Sui Generis Database + Rights, without regard to how the rights are labeled or + categorized. For purposes of this Public License, the rights + specified in Section 2(b)(1)-(2) are not Copyright and Similar + Rights. + + e. Effective Technological Measures means those measures that, in the + absence of proper authority, may not be circumvented under laws + fulfilling obligations under Article 11 of the WIPO Copyright + Treaty adopted on December 20, 1996, and/or similar international + agreements. + + f. Exceptions and Limitations means fair use, fair dealing, and/or + any other exception or limitation to Copyright and Similar Rights + that applies to Your use of the Licensed Material. + + g. License Elements means the license attributes listed in the name + of a Creative Commons Public License. The License Elements of this + Public License are Attribution and ShareAlike. + + h. Licensed Material means the artistic or literary work, database, + or other material to which the Licensor applied this Public + License. + + i. Licensed Rights means the rights granted to You subject to the + terms and conditions of this Public License, which are limited to + all Copyright and Similar Rights that apply to Your use of the + Licensed Material and that the Licensor has authority to license. + + j. Licensor means the individual(s) or entity(ies) granting rights + under this Public License. + + k. Share means to provide material to the public by any means or + process that requires permission under the Licensed Rights, such + as reproduction, public display, public performance, distribution, + dissemination, communication, or importation, and to make material + available to the public including in ways that members of the + public may access the material from a place and at a time + individually chosen by them. + + l. Sui Generis Database Rights means rights other than copyright + resulting from Directive 96/9/EC of the European Parliament and of + the Council of 11 March 1996 on the legal protection of databases, + as amended and/or succeeded, as well as other essentially + equivalent rights anywhere in the world. + + m. You means the individual or entity exercising the Licensed Rights + under this Public License. Your has a corresponding meaning. + + +Section 2 -- Scope. + + a. License grant. + + 1. Subject to the terms and conditions of this Public License, + the Licensor hereby grants You a worldwide, royalty-free, + non-sublicensable, non-exclusive, irrevocable license to + exercise the Licensed Rights in the Licensed Material to: + + a. reproduce and Share the Licensed Material, in whole or + in part; and + + b. produce, reproduce, and Share Adapted Material. + + 2. Exceptions and Limitations. For the avoidance of doubt, where + Exceptions and Limitations apply to Your use, this Public + License does not apply, and You do not need to comply with + its terms and conditions. + + 3. Term. The term of this Public License is specified in Section + 6(a). + + 4. Media and formats; technical modifications allowed. The + Licensor authorizes You to exercise the Licensed Rights in + all media and formats whether now known or hereafter created, + and to make technical modifications necessary to do so. The + Licensor waives and/or agrees not to assert any right or + authority to forbid You from making technical modifications + necessary to exercise the Licensed Rights, including + technical modifications necessary to circumvent Effective + Technological Measures. For purposes of this Public License, + simply making modifications authorized by this Section 2(a) + (4) never produces Adapted Material. + + 5. Downstream recipients. + + a. Offer from the Licensor -- Licensed Material. Every + recipient of the Licensed Material automatically + receives an offer from the Licensor to exercise the + Licensed Rights under the terms and conditions of this + Public License. + + b. Additional offer from the Licensor -- Adapted Material. + Every recipient of Adapted Material from You + automatically receives an offer from the Licensor to + exercise the Licensed Rights in the Adapted Material + under the conditions of the Adapter's License You apply. + + c. No downstream restrictions. You may not offer or impose + any additional or different terms or conditions on, or + apply any Effective Technological Measures to, the + Licensed Material if doing so restricts exercise of the + Licensed Rights by any recipient of the Licensed + Material. + + 6. No endorsement. Nothing in this Public License constitutes or + may be construed as permission to assert or imply that You + are, or that Your use of the Licensed Material is, connected + with, or sponsored, endorsed, or granted official status by, + the Licensor or others designated to receive attribution as + provided in Section 3(a)(1)(A)(i). + + b. Other rights. + + 1. Moral rights, such as the right of integrity, are not + licensed under this Public License, nor are publicity, + privacy, and/or other similar personality rights; however, to + the extent possible, the Licensor waives and/or agrees not to + assert any such rights held by the Licensor to the limited + extent necessary to allow You to exercise the Licensed + Rights, but not otherwise. + + 2. Patent and trademark rights are not licensed under this + Public License. + + 3. To the extent possible, the Licensor waives any right to + collect royalties from You for the exercise of the Licensed + Rights, whether directly or through a collecting society + under any voluntary or waivable statutory or compulsory + licensing scheme. In all other cases the Licensor expressly + reserves any right to collect such royalties. + + +Section 3 -- License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the +following conditions. + + a. Attribution. + + 1. If You Share the Licensed Material (including in modified + form), You must: + + a. retain the following if it is supplied by the Licensor + with the Licensed Material: + + i. identification of the creator(s) of the Licensed + Material and any others designated to receive + attribution, in any reasonable manner requested by + the Licensor (including by pseudonym if + designated); + + ii. a copyright notice; + + iii. a notice that refers to this Public License; + + iv. a notice that refers to the disclaimer of + warranties; + + v. a URI or hyperlink to the Licensed Material to the + extent reasonably practicable; + + b. indicate if You modified the Licensed Material and + retain an indication of any previous modifications; and + + c. indicate the Licensed Material is licensed under this + Public License, and include the text of, or the URI or + hyperlink to, this Public License. + + 2. You may satisfy the conditions in Section 3(a)(1) in any + reasonable manner based on the medium, means, and context in + which You Share the Licensed Material. For example, it may be + reasonable to satisfy the conditions by providing a URI or + hyperlink to a resource that includes the required + information. + + 3. If requested by the Licensor, You must remove any of the + information required by Section 3(a)(1)(A) to the extent + reasonably practicable. + + b. ShareAlike. + + In addition to the conditions in Section 3(a), if You Share + Adapted Material You produce, the following conditions also apply. + + 1. The Adapter's License You apply must be a Creative Commons + license with the same License Elements, this version or + later, or a BY-SA Compatible License. + + 2. You must include the text of, or the URI or hyperlink to, the + Adapter's License You apply. You may satisfy this condition + in any reasonable manner based on the medium, means, and + context in which You Share Adapted Material. + + 3. You may not offer or impose any additional or different terms + or conditions on, or apply any Effective Technological + Measures to, Adapted Material that restrict exercise of the + rights granted under the Adapter's License You apply. + + +Section 4 -- Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that +apply to Your use of the Licensed Material: + + a. for the avoidance of doubt, Section 2(a)(1) grants You the right + to extract, reuse, reproduce, and Share all or a substantial + portion of the contents of the database; + + b. if You include all or a substantial portion of the database + contents in a database in which You have Sui Generis Database + Rights, then the database in which You have Sui Generis Database + Rights (but not its individual contents) is Adapted Material, + including for purposes of Section 3(b); and + + c. You must comply with the conditions in Section 3(a) if You Share + all or a substantial portion of the contents of the database. + +For the avoidance of doubt, this Section 4 supplements and does not +replace Your obligations under this Public License where the Licensed +Rights include other Copyright and Similar Rights. + + +Section 5 -- Disclaimer of Warranties and Limitation of Liability. + + a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE + EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS + AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF + ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, + IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, + WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, + ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT + KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT + ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. + + b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE + TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, + NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, + INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, + COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR + USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR + DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR + IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. + + c. The disclaimer of warranties and limitation of liability provided + above shall be interpreted in a manner that, to the extent + possible, most closely approximates an absolute disclaimer and + waiver of all liability. + + +Section 6 -- Term and Termination. + + a. This Public License applies for the term of the Copyright and + Similar Rights licensed here. However, if You fail to comply with + this Public License, then Your rights under this Public License + terminate automatically. + + b. Where Your right to use the Licensed Material has terminated under + Section 6(a), it reinstates: + + 1. automatically as of the date the violation is cured, provided + it is cured within 30 days of Your discovery of the + violation; or + + 2. upon express reinstatement by the Licensor. + + For the avoidance of doubt, this Section 6(b) does not affect any + right the Licensor may have to seek remedies for Your violations + of this Public License. + + c. For the avoidance of doubt, the Licensor may also offer the + Licensed Material under separate terms or conditions or stop + distributing the Licensed Material at any time; however, doing so + will not terminate this Public License. + + d. Sections 1, 5, 6, 7, and 8 survive termination of this Public + License. + + +Section 7 -- Other Terms and Conditions. + + a. The Licensor shall not be bound by any additional or different + terms or conditions communicated by You unless expressly agreed. + + b. Any arrangements, understandings, or agreements regarding the + Licensed Material not stated herein are separate from and + independent of the terms and conditions of this Public License. + + +Section 8 -- Interpretation. + + a. For the avoidance of doubt, this Public License does not, and + shall not be interpreted to, reduce, limit, restrict, or impose + conditions on any use of the Licensed Material that could lawfully + be made without permission under this Public License. + + b. To the extent possible, if any provision of this Public License is + deemed unenforceable, it shall be automatically reformed to the + minimum extent necessary to make it enforceable. If the provision + cannot be reformed, it shall be severed from this Public License + without affecting the enforceability of the remaining terms and + conditions. + + c. No term or condition of this Public License will be waived and no + failure to comply consented to unless expressly agreed to by the + Licensor. + + d. Nothing in this Public License constitutes or may be interpreted + as a limitation upon, or waiver of, any privileges and immunities + that apply to the Licensor or You, including from the legal + processes of any jurisdiction or authority. + + +======================================================================= + +Creative Commons is not a party to its public +licenses. Notwithstanding, Creative Commons may elect to apply one of +its public licenses to material it publishes and in those instances +will be considered the “Licensor.” The text of the Creative Commons +public licenses is dedicated to the public domain under the CC0 Public +Domain Dedication. Except for the limited purpose of indicating that +material is shared under a Creative Commons public license or as +otherwise permitted by the Creative Commons policies published at +creativecommons.org/policies, Creative Commons does not authorize the +use of the trademark "Creative Commons" or any other trademark or logo +of Creative Commons without its prior written consent including, +without limitation, in connection with any unauthorized modifications +to any of its public licenses or any other arrangements, +understandings, or agreements concerning use of licensed material. For +the avoidance of doubt, this paragraph does not form part of the +public licenses. + +Creative Commons may be contacted at creativecommons.org. From 2cf5f93ffe9ccd9eff2950df9b61063eab69ee96 Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Fri, 29 Nov 2024 10:53:20 +1000 Subject: [PATCH 053/177] Update tobacco use terminology answer set --- .../CodeSystem-HealthChecksSCTSupplement.json | 24 +++++ ...ntationGuide-csiro.fhir.au.smartforms.json | 8 ++ .../resources/Questionnaire-SubstanceUse.json | 47 ++------- .../ValueSet-TobaccoUseStatus-1.json | 95 +++++++++++++++++++ input/fsh/715-Assessment-SubstanceUse.fsh | 15 +-- input/fsh/terminology.fsh | 48 +++++++++- 6 files changed, 187 insertions(+), 50 deletions(-) create mode 100644 fsh-generated/resources/ValueSet-TobaccoUseStatus-1.json diff --git a/fsh-generated/resources/CodeSystem-HealthChecksSCTSupplement.json b/fsh-generated/resources/CodeSystem-HealthChecksSCTSupplement.json index 13412faa..32c145b3 100644 --- a/fsh-generated/resources/CodeSystem-HealthChecksSCTSupplement.json +++ b/fsh-generated/resources/CodeSystem-HealthChecksSCTSupplement.json @@ -27,6 +27,30 @@ { "code": "735128000", "display": "Quit <12 months" + }, + { + "code": "266919005", + "display": "Never smoked" + }, + { + "code": "77176002", + "display": "Current smoker" + }, + { + "code": "8517006", + "display": "Ex-smoker" + }, + { + "code": "16090371000119103", + "display": "Exposure to second hand tobacco smoke" + }, + { + "code": "394872000", + "display": "Wants to quit" + }, + { + "code": "713914004", + "display": "Other tobacco use" } ], "experimental": false, diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index 028bc98f..52d67d98 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -480,6 +480,14 @@ "description": "The SNOMED CT Supplement for Aboriginal and Torres Strait Islander Health Check code system supplement defines consumer friendly terms for use in the health check Questionnaire.", "exampleBoolean": false }, + { + "reference": { + "reference": "ValueSet/TobaccoUseStatus-1" + }, + "name": "Tobacco Use Status", + "description": "The Tobacco Use Status value set includes values that may be used to represent an individual's current tobacco use and exposure status.", + "exampleBoolean": false + }, { "reference": { "reference": "ValueSet/YesNo" diff --git a/fsh-generated/resources/Questionnaire-SubstanceUse.json b/fsh-generated/resources/Questionnaire-SubstanceUse.json index 7e4f0e03..44ec06d2 100644 --- a/fsh-generated/resources/Questionnaire-SubstanceUse.json +++ b/fsh-generated/resources/Questionnaire-SubstanceUse.json @@ -129,42 +129,7 @@ "text": "Smoking status", "type": "choice", "repeats": false, - "answerOption": [ - { - "valueCoding": { - "code": "266919005", - "system": "http://snomed.info/sct", - "display": "Lifetime non-smoker" - } - }, - { - "valueCoding": { - "code": "77176002", - "system": "http://snomed.info/sct", - "display": "Current smoker" - } - }, - { - "valueCoding": { - "code": "8517006", - "system": "http://snomed.info/sct", - "display": "Ex-smoker" - } - }, - { - "valueCoding": { - "code": "16090371000119103", - "system": "http://snomed.info/sct", - "display": "Exposure to second hand tobacco smoke" - } - }, - { - "valueString": "Wants to quit" - }, - { - "valueString": "Other tobacco use" - } - ] + "answerValueSet": "#TobaccoUseStatus-1" }, { "extension": [ @@ -221,7 +186,10 @@ { "question": "b639a3a8-f476-4cc8-b5c7-f5d2abb23511", "operator": "=", - "answerString": "Wants to quit" + "answerCoding": { + "code": "394872000", + "system": "http://snomed.info/sct" + } } ], "enableBehavior": "any" @@ -250,7 +218,10 @@ { "question": "b639a3a8-f476-4cc8-b5c7-f5d2abb23511", "operator": "=", - "answerString": "Wants to quit" + "answerCoding": { + "code": "394872000", + "system": "http://snomed.info/sct" + } } ], "enableBehavior": "any" diff --git a/fsh-generated/resources/ValueSet-TobaccoUseStatus-1.json b/fsh-generated/resources/ValueSet-TobaccoUseStatus-1.json new file mode 100644 index 00000000..626e21fe --- /dev/null +++ b/fsh-generated/resources/ValueSet-TobaccoUseStatus-1.json @@ -0,0 +1,95 @@ +{ + "resourceType": "ValueSet", + "status": "draft", + "name": "TobaccoUseStatus", + "id": "TobaccoUseStatus-1", + "title": "Tobacco Use Status", + "description": "The Tobacco Use Status value set includes values that may be used to represent an individual's current tobacco use and exposure status.", + "url": "https://smartforms.csiro.au/ig/ValueSet/TobaccoUseStatus-1", + "experimental": false, + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/valueset-supplement", + "valueCanonical": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement" + } + ], + "expansion": { + "identifier": "urn:uuid:577a997d-bacd-499f-bae4-aa6efdcca45e", + "timestamp": "2024-11-29T10:37:34+10:00", + "parameter": [ + { + "name": "version", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20241130" + }, + { + "name": "used-codesystem", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20241130" + } + ], + "contains": [ + { + "system": "http://snomed.info/sct", + "code": "266919005", + "display": "Never smoked" + }, + { + "system": "http://snomed.info/sct", + "code": "77176002", + "display": "Current smoker" + }, + { + "system": "http://snomed.info/sct", + "code": "8517006", + "display": "Ex-smoker" + }, + { + "system": "http://snomed.info/sct", + "code": "16090371000119103", + "display": "Exposure to second hand tobacco smoke" + }, + { + "system": "http://snomed.info/sct", + "code": "394872000", + "display": "Wants to quit" + }, + { + "system": "http://snomed.info/sct", + "code": "713914004", + "display": "Other tobacco use" + } + ] + }, + "compose": { + "include": [ + { + "system": "http://snomed.info/sct", + "concept": [ + { + "code": "266919005", + "display": "Never smoked" + }, + { + "code": "77176002", + "display": "Current smoker" + }, + { + "code": "8517006", + "display": "Ex-smoker" + }, + { + "code": "16090371000119103", + "display": "Exposure to second hand tobacco smoke" + }, + { + "code": "394872000", + "display": "Wants to quit" + }, + { + "code": "713914004", + "display": "Other tobacco use" + } + ] + } + ] + } +} diff --git a/input/fsh/715-Assessment-SubstanceUse.fsh b/input/fsh/715-Assessment-SubstanceUse.fsh index 89a48f2f..1e34737c 100644 --- a/input/fsh/715-Assessment-SubstanceUse.fsh +++ b/input/fsh/715-Assessment-SubstanceUse.fsh @@ -125,13 +125,7 @@ Description: "Substance Use sub-questionnaire for Aboriginal and Torres Strait I * text = "Smoking status" * type = #choice * repeats = false - // better as a standard answerValueSet when missing concepts are available or national standard adoption - * answerOption[+].valueCoding = http://snomed.info/sct#266919005 "Lifetime non-smoker" - * answerOption[+].valueCoding = http://snomed.info/sct#77176002 "Current smoker" - * answerOption[+].valueCoding = http://snomed.info/sct#8517006 "Ex-smoker" - * answerOption[+].valueCoding = http://snomed.info/sct#16090371000119103 "Exposure to second hand tobacco smoke" - * answerOption[+].valueString = "Wants to quit" - * answerOption[+].valueString = "Other tobacco use" + * answerValueSet = "#TobaccoUseStatus-1" * item[+] * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#radio-button * linkId = "96dc7c22-d003-459c-8a56-f6cd182fc077" @@ -142,8 +136,7 @@ Description: "Substance Use sub-questionnaire for Aboriginal and Torres Strait I * question = "b639a3a8-f476-4cc8-b5c7-f5d2abb23511" * operator = #= * answerCoding = http://snomed.info/sct#8517006 - * answerValueSet = "#SmokingQuitStatus-1" - + * answerValueSet = "#SmokingQuitStatus-1" * item[+] * linkId = "9e86387d-1be4-4c26-9047-9dd6b03e1ee0" * text = "How many?" @@ -160,7 +153,7 @@ Description: "Substance Use sub-questionnaire for Aboriginal and Torres Strait I * enableWhen[+] * question = "b639a3a8-f476-4cc8-b5c7-f5d2abb23511" * operator = #= - * answerString = "Wants to quit" + * answerCoding = http://snomed.info/sct#394872000 * enableBehavior = #any * item[+] * linkId = "32e71641-f660-4ca2-af99-dff8917f07be" @@ -177,7 +170,7 @@ Description: "Substance Use sub-questionnaire for Aboriginal and Torres Strait I * enableWhen[+] * question = "b639a3a8-f476-4cc8-b5c7-f5d2abb23511" * operator = #= - * answerString = "Wants to quit" + * answerCoding = http://snomed.info/sct#394872000 * enableBehavior = #any * item[+] * linkId = "34feaee8-8088-43ee-991d-9729990b5550" diff --git a/input/fsh/terminology.fsh b/input/fsh/terminology.fsh index 31f92d52..f6e9b3c9 100644 --- a/input/fsh/terminology.fsh +++ b/input/fsh/terminology.fsh @@ -805,6 +805,12 @@ Description: "The SNOMED CT Supplement for Aboriginal and Torres Strait Islander * #171155001 "Up to date" * #48031000119106 "Quit >12 months" * #735128000 "Quit <12 months" +* #266919005 "Never smoked" +* #77176002 "Current smoker" +* #8517006 "Ex-smoker" +* #16090371000119103 "Exposure to second hand tobacco smoke" +* #394872000 "Wants to quit" +* #713914004 "Other tobacco use" ValueSet: CervicalScreeningStatus @@ -859,4 +865,44 @@ Description: "The Smoking Quit Status value set includes values that can indicat * ^expansion.contains[=].code = #735128000 * ^expansion.contains[=].display = "Quit <12 months" * $SCT#48031000119106 "Quit >12 months" -* $SCT#735128000 "Quit <12 months" \ No newline at end of file +* $SCT#735128000 "Quit <12 months" + + +ValueSet: TobaccoUseStatus +Id: TobaccoUseStatus-1 +Title: "Tobacco Use Status" +Description: "The Tobacco Use Status value set includes values that may be used to represent an individual's current tobacco use and exposure status." +* ^experimental = false +* ^extension[+].url = "http://hl7.org/fhir/StructureDefinition/valueset-supplement" +* ^extension[=].valueCanonical = "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement" +* ^expansion.identifier = "urn:uuid:577a997d-bacd-499f-bae4-aa6efdcca45e" +* ^expansion.timestamp = "2024-11-29T10:37:34+10:00" +* ^expansion.parameter[0].name = "version" +* ^expansion.parameter[=].valueUri = "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20241130" +* ^expansion.parameter[+].name = "used-codesystem" +* ^expansion.parameter[=].valueUri = "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20241130" +* ^expansion.contains[0].system = "http://snomed.info/sct" +* ^expansion.contains[=].code = #266919005 +* ^expansion.contains[=].display = "Never smoked" +* ^expansion.contains[+].system = "http://snomed.info/sct" +* ^expansion.contains[=].code = #77176002 +* ^expansion.contains[=].display = "Current smoker" +* ^expansion.contains[+].system = "http://snomed.info/sct" +* ^expansion.contains[=].code = #8517006 +* ^expansion.contains[=].display = "Ex-smoker" +* ^expansion.contains[+].system = "http://snomed.info/sct" +* ^expansion.contains[=].code = #16090371000119103 +* ^expansion.contains[=].display = "Exposure to second hand tobacco smoke" +* ^expansion.contains[+].system = "http://snomed.info/sct" +* ^expansion.contains[=].code = #394872000 +* ^expansion.contains[=].display = "Wants to quit" +* ^expansion.contains[+].system = "http://snomed.info/sct" +* ^expansion.contains[=].code = #713914004 +* ^expansion.contains[=].display = "Other tobacco use" +* $SCT#266919005 "Never smoked" +* $SCT#77176002 "Current smoker" +* $SCT#8517006 "Ex-smoker" +* $SCT#16090371000119103 "Exposure to second hand tobacco smoke" +* $SCT#394872000 "Wants to quit" +* $SCT#713914004 "Other tobacco use" + From f3cc4d10f61fefbf05a2ee921b778f027211c700 Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Fri, 29 Nov 2024 13:32:45 +1000 Subject: [PATCH 054/177] Update tobacco use terminology answer set --- .../Questionnaire-AssemblyInstructions.json | 101 ++++++++++++++++++ .../resources/Questionnaire-SubstanceUse.json | 95 ++++++++++++++++ input/fsh/715-AssemblyInstructions.fsh | 5 + input/fsh/715-Assessment-SubstanceUse.fsh | 1 + 4 files changed, 202 insertions(+) diff --git a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json index 4b561e51..d5fc492b 100644 --- a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json +++ b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json @@ -1847,6 +1847,101 @@ ] } }, + { + "resourceType": "ValueSet", + "id": "TobaccoUseStatus-1", + "status": "draft", + "name": "TobaccoUseStatus", + "title": "Tobacco Use Status", + "description": "The Tobacco Use Status value set includes values that may be used to represent an individual's current tobacco use and exposure status.", + "url": "https://smartforms.csiro.au/ig/ValueSet/TobaccoUseStatus-1", + "experimental": false, + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/valueset-supplement", + "valueCanonical": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement" + } + ], + "expansion": { + "identifier": "urn:uuid:577a997d-bacd-499f-bae4-aa6efdcca45e", + "timestamp": "2024-11-29T10:37:34+10:00", + "parameter": [ + { + "name": "version", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20241130" + }, + { + "name": "used-codesystem", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20241130" + } + ], + "contains": [ + { + "system": "http://snomed.info/sct", + "code": "266919005", + "display": "Never smoked" + }, + { + "system": "http://snomed.info/sct", + "code": "77176002", + "display": "Current smoker" + }, + { + "system": "http://snomed.info/sct", + "code": "8517006", + "display": "Ex-smoker" + }, + { + "system": "http://snomed.info/sct", + "code": "16090371000119103", + "display": "Exposure to second hand tobacco smoke" + }, + { + "system": "http://snomed.info/sct", + "code": "394872000", + "display": "Wants to quit" + }, + { + "system": "http://snomed.info/sct", + "code": "713914004", + "display": "Other tobacco use" + } + ] + }, + "compose": { + "include": [ + { + "system": "http://snomed.info/sct", + "concept": [ + { + "code": "266919005", + "display": "Never smoked" + }, + { + "code": "77176002", + "display": "Current smoker" + }, + { + "code": "8517006", + "display": "Ex-smoker" + }, + { + "code": "16090371000119103", + "display": "Exposure to second hand tobacco smoke" + }, + { + "code": "394872000", + "display": "Wants to quit" + }, + { + "code": "713914004", + "display": "Other tobacco use" + } + ] + } + ] + } + }, { "resourceType": "ValueSet", "id": "CervicalScreeningStatus-1", @@ -2085,6 +2180,12 @@ "reference": "#SmokingQuitStatus-1" } }, + { + "url": "https://smartforms.csiro.au/ig/StructureDefinition/ContainedResourceReference", + "valueReference": { + "reference": "#TobaccoUseStatus-1" + } + }, { "url": "https://smartforms.csiro.au/ig/StructureDefinition/ContainedResourceReference", "valueReference": { diff --git a/fsh-generated/resources/Questionnaire-SubstanceUse.json b/fsh-generated/resources/Questionnaire-SubstanceUse.json index 44ec06d2..edbece74 100644 --- a/fsh-generated/resources/Questionnaire-SubstanceUse.json +++ b/fsh-generated/resources/Questionnaire-SubstanceUse.json @@ -367,6 +367,101 @@ } ] } + }, + { + "resourceType": "ValueSet", + "id": "TobaccoUseStatus-1", + "status": "draft", + "name": "TobaccoUseStatus", + "title": "Tobacco Use Status", + "description": "The Tobacco Use Status value set includes values that may be used to represent an individual's current tobacco use and exposure status.", + "url": "https://smartforms.csiro.au/ig/ValueSet/TobaccoUseStatus-1", + "experimental": false, + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/valueset-supplement", + "valueCanonical": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement" + } + ], + "expansion": { + "identifier": "urn:uuid:577a997d-bacd-499f-bae4-aa6efdcca45e", + "timestamp": "2024-11-29T10:37:34+10:00", + "parameter": [ + { + "name": "version", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20241130" + }, + { + "name": "used-codesystem", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20241130" + } + ], + "contains": [ + { + "system": "http://snomed.info/sct", + "code": "266919005", + "display": "Never smoked" + }, + { + "system": "http://snomed.info/sct", + "code": "77176002", + "display": "Current smoker" + }, + { + "system": "http://snomed.info/sct", + "code": "8517006", + "display": "Ex-smoker" + }, + { + "system": "http://snomed.info/sct", + "code": "16090371000119103", + "display": "Exposure to second hand tobacco smoke" + }, + { + "system": "http://snomed.info/sct", + "code": "394872000", + "display": "Wants to quit" + }, + { + "system": "http://snomed.info/sct", + "code": "713914004", + "display": "Other tobacco use" + } + ] + }, + "compose": { + "include": [ + { + "system": "http://snomed.info/sct", + "concept": [ + { + "code": "266919005", + "display": "Never smoked" + }, + { + "code": "77176002", + "display": "Current smoker" + }, + { + "code": "8517006", + "display": "Ex-smoker" + }, + { + "code": "16090371000119103", + "display": "Exposure to second hand tobacco smoke" + }, + { + "code": "394872000", + "display": "Wants to quit" + }, + { + "code": "713914004", + "display": "Other tobacco use" + } + ] + } + ] + } } ], "extension": [ diff --git a/input/fsh/715-AssemblyInstructions.fsh b/input/fsh/715-AssemblyInstructions.fsh index e869cb28..5fee45ef 100644 --- a/input/fsh/715-AssemblyInstructions.fsh +++ b/input/fsh/715-AssemblyInstructions.fsh @@ -27,8 +27,10 @@ Description: "Aboriginal and Torres Strait Islander Health Check assessment form * contained[+] = gender-identity-response-1 * contained[+] = biological-sex-1 * contained[+] = SmokingQuitStatus-1 +* contained[+] = TobaccoUseStatus-1 * contained[+] = CervicalScreeningStatus-1 + //assemble expectation * extension[+] * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assemble-expectation" @@ -144,6 +146,9 @@ Description: "Aboriginal and Torres Strait Islander Health Check assessment form * extension[+] * url = "https://smartforms.csiro.au/ig/StructureDefinition/ContainedResourceReference" * valueReference.reference = "#SmokingQuitStatus-1" +* extension[+] + * url = "https://smartforms.csiro.au/ig/StructureDefinition/ContainedResourceReference" + * valueReference.reference = "#TobaccoUseStatus-1" * extension[+] * url = "https://smartforms.csiro.au/ig/StructureDefinition/ContainedResourceReference" * valueReference.reference = "#CervicalScreeningStatus-1" diff --git a/input/fsh/715-Assessment-SubstanceUse.fsh b/input/fsh/715-Assessment-SubstanceUse.fsh index 1e34737c..4b4755c3 100644 --- a/input/fsh/715-Assessment-SubstanceUse.fsh +++ b/input/fsh/715-Assessment-SubstanceUse.fsh @@ -9,6 +9,7 @@ Title: "Aboriginal and Torres Strait Islander Health Check - Substance Use" Description: "Substance Use sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." * contained[+] = SmokingQuitStatus-1 +* contained[+] = TobaccoUseStatus-1 //assemble expectation * extension[+] From 2fe8d9a47c916f14f663acff66c54ab1f7182d4f Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Fri, 29 Nov 2024 14:17:46 +1000 Subject: [PATCH 055/177] Update dependent versions in assembly instructions. Add updated assembled health check. --- .../Questionnaire-AssemblyInstructions.json | 133 ++++++----- input/fsh/715-AssemblyInstructions.fsh | 133 ++++++----- ...esStraitIslanderHealthCheck-assembled.json | 218 ++++++++++++------ 3 files changed, 277 insertions(+), 207 deletions(-) diff --git a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json index d5fc492b..5215a4fa 100644 --- a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json +++ b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json @@ -312,363 +312,363 @@ "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/AboutTheHealthCheck|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/AboutTheHealthCheck|0.2.0" } ], "linkId": "cd3303a6-e3b6-4732-80e8-54d2bd740beb", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/AboutTheHealthCheck|0.1.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/AboutTheHealthCheck|0.2.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Consent|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Consent|0.2.0" } ], "linkId": "fab52f87-22a6-4a54-9797-0bb6b0f5d2a2", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Consent|0.1.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Consent|0.2.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/PatientDetails|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/PatientDetails|0.2.0" } ], "linkId": "1d10910d-c195-4964-bdc6-98310a44719e", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/PatientDetails|0.1.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/PatientDetails|0.2.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/CurrentPriorities|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/CurrentPriorities|0.2.0" } ], "linkId": "7692f28c-7c0a-48ea-b27d-a8489974377d", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/CurrentPriorities|0.1.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/CurrentPriorities|0.2.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/MedicalHistoryCurrentProblems|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/MedicalHistoryCurrentProblems|0.2.0" } ], "linkId": "15f83d80-f49a-4852-a20f-18db9b951e53", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/MedicalHistory|0.1.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/MedicalHistory|0.2.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/RegularMedications|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/RegularMedications|0.2.0" } ], "linkId": "3a7151ef-d63b-4818-8367-03d394383a61", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/RegularMedications|0.1.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/RegularMedications|0.2.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/AllergiesAdverseReactions|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/AllergiesAdverseReactions|0.2.0" } ], "linkId": "334853dc-88d4-4cb1-a119-bb0ff6ea0516", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/AllergiesAdverseReactions|0.1.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/AllergiesAdverseReactions|0.2.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/FamilyHistory|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/FamilyHistory|0.2.0" } ], "linkId": "1ab9b519-85ce-48ee-a408-8f0b9b74d112", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/FamilyHistory|0.1.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/FamilyHistory|0.2.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/SocialAndEmotionalWellbeing|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/SocialAndEmotionalWellbeing|0.2.0" } ], "linkId": "228b8d31-21e3-49a6-b802-984135908dca", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/SocialAndEmotionalWellbeing|0.1.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/SocialAndEmotionalWellbeing|0.2.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/SocialHistoryChild|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/SocialHistoryChild|0.2.0" } ], "linkId": "a43517f9-538e-4a4d-8789-b6c3d44206ba", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/SocialHistoryChild|0.1.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/SocialHistoryChild|0.2.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/HomeAndFamily|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/HomeAndFamily|0.2.0" } ], "linkId": "8decf7bf-e24c-4d3d-815c-c53e269f004b", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/HomeAndFamily|0.1.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/HomeAndFamily|0.2.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/LearningAndDevelopment|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/LearningAndDevelopment|0.2.0" } ], "linkId": "3f554c37-7d0e-4b14-8f7f-a9ec665cc0a6", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/LearningAndDevelopment|0.1.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/LearningAndDevelopment|0.2.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/LearningAndWork|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/LearningAndWork|0.2.0" } ], "linkId": "362bf381-23e5-4eee-963a-3de73e584da5", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/LearningAndWork|0.1.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/LearningAndWork|0.2.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Mood|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Mood|0.2.0" } ], "linkId": "51a545fa-907f-40f0-9304-36bcab5a16b8", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Mood|0.1.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Mood|0.2.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/MemoryAndThinking|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/MemoryAndThinking|0.2.0" } ], "linkId": "4217646d-e8e4-4ac5-baa7-fae28937cda7", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/MemoryAndThinking|0.1.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/MemoryAndThinking|0.2.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/ChronicDiseaseAgeing|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/ChronicDiseaseAgeing|0.2.0" } ], "linkId": "070eadcf-9e93-499e-8615-61991ab35b32", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/ChronicDiseaseAgeing|0.1.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/ChronicDiseaseAgeing|0.2.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/ScreeningPrograms|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/ScreeningPrograms|0.2.0" } ], "linkId": "56d4bc0b-3bf1-4d47-ac34-5a1de0902de1", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/ScreeningPrograms|0.1.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/ScreeningPrograms|0.2.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/HealthyEating|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/HealthyEating|0.2.0" } ], "linkId": "e0962739-c506-41d4-afd7-ab1b90db9cb4", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/HealthyEating|0.1.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/HealthyEating|0.2.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/PhysicalActivityAndScreenTime|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/PhysicalActivityAndScreenTime|0.2.0" } ], "linkId": "63cfb279-cd7d-41ed-a54b-0c17b6efe609", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/PhysicalActivityAndScreenTime|0.1.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/PhysicalActivityAndScreenTime|0.2.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/RedFlagsEarlyIdentificationGuide|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/RedFlagsEarlyIdentificationGuide|0.2.0" } ], "linkId": "db70690e-2199-495a-9919-53697efaf913", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/RedFlagsEarlyIdentificationGuide|0.1.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/RedFlagsEarlyIdentificationGuide|0.2.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/SubstanceUse|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/SubstanceUse|0.2.0" } ], "linkId": "d1f66f56-75fa-4498-9c51-eb98e1644243", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/SubstanceUse|0.1.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/SubstanceUse|0.2.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Gambling|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Gambling|0.2.0" } ], "linkId": "ea748251-bf77-4085-b912-e9002dfa02ca", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Gambling|0.1.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Gambling|0.2.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/SexualHealth|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/SexualHealth|0.2.0" } ], "linkId": "84bd802b-b3e1-4098-aa2c-2133f0e252f4", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/SexualHealth|0.1.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/SexualHealth|0.2.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/EyeHealth|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/EyeHealth|0.2.0" } ], "linkId": "56ad8128-0e12-4779-8ff4-47dcff6b29b5", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/EyeHealth|0.1.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/EyeHealth|0.2.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/EarHealthAndHearing|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/EarHealthAndHearing|0.2.0" } ], "linkId": "a8161e91-7cff-403f-85e6-982a9bc8fca6", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/EarHealthAndHearing|0.1.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/EarHealthAndHearing|0.2.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/OralAndDentalHealth|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/OralAndDentalHealth|0.2.0" } ], "linkId": "fe05d868-aaed-4921-9d49-4e7746bbe143", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/OralAndDentalHealth|0.1.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/OralAndDentalHealth|0.2.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Skin|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Skin|0.2.0" } ], "linkId": "64ec4c1c-0824-4b84-8d3f-40f6e066cb80", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Skin|0.1.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Skin|0.2.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Immunisation|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Immunisation|0.2.0" } ], "linkId": "595737cd-3a94-442b-8be6-ab461c3181d2", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Immunisation|0.1.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Immunisation|0.2.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Examination|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Examination|0.2.0" } ], "linkId": "3263611d-5813-4393-a660-d10166acd728", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Examination|0.1.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Examination|0.2.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/AbsoluteCVDRiskCalculation|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/AbsoluteCVDRiskCalculation|0.2.0" } ], "linkId": "3a3b0810-e091-48ad-af50-913b0deaf663", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/AbsoluteCVDRiskCalculation|0.1.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/AbsoluteCVDRiskCalculation|0.2.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Investigations|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Investigations|0.2.0" } ], "linkId": "302d9437-25b9-41e3-9d66-138c352d32a8", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Investigations|0.1.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Investigations|0.2.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/HealthPrioritiesSummary|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/HealthPrioritiesSummary|0.2.0" } ], "linkId": "ada45623-5e86-49ea-a00b-be0699364281", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/HealthPrioritiesSummary|0.1.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/HealthPrioritiesSummary|0.2.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/FinalisingHealthCheck|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/FinalisingHealthCheck|0.2.0" } ], "linkId": "a6395946-872a-4f2e-b697-c74aa1ab9b8d", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/FinalisingHealthCheck|0.1.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/FinalisingHealthCheck|0.2.0] not available. Unable to display all questions.", "type": "display" } ], @@ -2193,7 +2193,6 @@ } } ], - "version": "0.1.0", "name": "AboriginalTorresStraitIslanderHealthCheck", "status": "draft", "experimental": false, diff --git a/input/fsh/715-AssemblyInstructions.fsh b/input/fsh/715-AssemblyInstructions.fsh index 5fee45ef..d291217e 100644 --- a/input/fsh/715-AssemblyInstructions.fsh +++ b/input/fsh/715-AssemblyInstructions.fsh @@ -158,7 +158,6 @@ Description: "Aboriginal and Torres Strait Islander Health Check assessment form * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715" -* version = "0.1.0" * name = "AboriginalTorresStraitIslanderHealthCheck" * title = "Aboriginal and Torres Strait Islander Health Check" * status = #draft @@ -411,201 +410,201 @@ Description: "Aboriginal and Torres Strait Islander Health Check assessment form // About The Health Check * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/AboutTheHealthCheck|0.1.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/AboutTheHealthCheck|0.2.0" * linkId = "cd3303a6-e3b6-4732-80e8-54d2bd740beb" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/AboutTheHealthCheck|0.1.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/AboutTheHealthCheck|0.2.0] not available. Unable to display all questions." * type = #display // Consent * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/Consent|0.1.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/Consent|0.2.0" * linkId = "fab52f87-22a6-4a54-9797-0bb6b0f5d2a2" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Consent|0.1.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Consent|0.2.0] not available. Unable to display all questions." * type = #display // Patient Details * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/PatientDetails|0.1.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/PatientDetails|0.2.0" * linkId = "1d10910d-c195-4964-bdc6-98310a44719e" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/PatientDetails|0.1.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/PatientDetails|0.2.0] not available. Unable to display all questions." * type = #display // Current Priorities * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/CurrentPriorities|0.1.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/CurrentPriorities|0.2.0" * linkId = "7692f28c-7c0a-48ea-b27d-a8489974377d" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/CurrentPriorities|0.1.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/CurrentPriorities|0.2.0] not available. Unable to display all questions." * type = #display // Medical History and Current Problems * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/MedicalHistoryCurrentProblems|0.1.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/MedicalHistoryCurrentProblems|0.2.0" * linkId = "15f83d80-f49a-4852-a20f-18db9b951e53" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/MedicalHistory|0.1.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/MedicalHistory|0.2.0] not available. Unable to display all questions." * type = #display // Regular Medications * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/RegularMedications|0.1.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/RegularMedications|0.2.0" * linkId = "3a7151ef-d63b-4818-8367-03d394383a61" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/RegularMedications|0.1.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/RegularMedications|0.2.0] not available. Unable to display all questions." * type = #display // Allergies Adverse Reactions * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/AllergiesAdverseReactions|0.1.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/AllergiesAdverseReactions|0.2.0" * linkId = "334853dc-88d4-4cb1-a119-bb0ff6ea0516" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/AllergiesAdverseReactions|0.1.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/AllergiesAdverseReactions|0.2.0] not available. Unable to display all questions." * type = #display // Family History * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/FamilyHistory|0.1.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/FamilyHistory|0.2.0" * linkId = "1ab9b519-85ce-48ee-a408-8f0b9b74d112" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/FamilyHistory|0.1.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/FamilyHistory|0.2.0] not available. Unable to display all questions." * type = #display // Social And Emotional Wellbeing * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/SocialAndEmotionalWellbeing|0.1.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/SocialAndEmotionalWellbeing|0.2.0" * linkId = "228b8d31-21e3-49a6-b802-984135908dca" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/SocialAndEmotionalWellbeing|0.1.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/SocialAndEmotionalWellbeing|0.2.0] not available. Unable to display all questions." * type = #display // Social History Child * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/SocialHistoryChild|0.1.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/SocialHistoryChild|0.2.0" * linkId = "a43517f9-538e-4a4d-8789-b6c3d44206ba" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/SocialHistoryChild|0.1.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/SocialHistoryChild|0.2.0] not available. Unable to display all questions." * type = #display // Home And Family * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/HomeAndFamily|0.1.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/HomeAndFamily|0.2.0" * linkId = "8decf7bf-e24c-4d3d-815c-c53e269f004b" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/HomeAndFamily|0.1.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/HomeAndFamily|0.2.0] not available. Unable to display all questions." * type = #display // Learning And Development * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/LearningAndDevelopment|0.1.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/LearningAndDevelopment|0.2.0" * linkId = "3f554c37-7d0e-4b14-8f7f-a9ec665cc0a6" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/LearningAndDevelopment|0.1.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/LearningAndDevelopment|0.2.0] not available. Unable to display all questions." * type = #display // Learning And Work * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/LearningAndWork|0.1.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/LearningAndWork|0.2.0" * linkId = "362bf381-23e5-4eee-963a-3de73e584da5" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/LearningAndWork|0.1.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/LearningAndWork|0.2.0] not available. Unable to display all questions." * type = #display // Mood * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/Mood|0.1.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/Mood|0.2.0" * linkId = "51a545fa-907f-40f0-9304-36bcab5a16b8" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Mood|0.1.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Mood|0.2.0] not available. Unable to display all questions." * type = #display // Memory And Thinking * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/MemoryAndThinking|0.1.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/MemoryAndThinking|0.2.0" * linkId = "4217646d-e8e4-4ac5-baa7-fae28937cda7" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/MemoryAndThinking|0.1.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/MemoryAndThinking|0.2.0] not available. Unable to display all questions." * type = #display // Chronic Disease Ageing * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/ChronicDiseaseAgeing|0.1.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/ChronicDiseaseAgeing|0.2.0" * linkId = "070eadcf-9e93-499e-8615-61991ab35b32" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/ChronicDiseaseAgeing|0.1.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/ChronicDiseaseAgeing|0.2.0] not available. Unable to display all questions." * type = #display // Screening Programs * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/ScreeningPrograms|0.1.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/ScreeningPrograms|0.2.0" * linkId = "56d4bc0b-3bf1-4d47-ac34-5a1de0902de1" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/ScreeningPrograms|0.1.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/ScreeningPrograms|0.2.0] not available. Unable to display all questions." * type = #display // Healthy Eating * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/HealthyEating|0.1.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/HealthyEating|0.2.0" * linkId = "e0962739-c506-41d4-afd7-ab1b90db9cb4" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/HealthyEating|0.1.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/HealthyEating|0.2.0] not available. Unable to display all questions." * type = #display // Physical Activity And Screen Time * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/PhysicalActivityAndScreenTime|0.1.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/PhysicalActivityAndScreenTime|0.2.0" * linkId = "63cfb279-cd7d-41ed-a54b-0c17b6efe609" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/PhysicalActivityAndScreenTime|0.1.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/PhysicalActivityAndScreenTime|0.2.0] not available. Unable to display all questions." * type = #display // Red Flags Early Identification Guide For Children * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/RedFlagsEarlyIdentificationGuide|0.1.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/RedFlagsEarlyIdentificationGuide|0.2.0" * linkId = "db70690e-2199-495a-9919-53697efaf913" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/RedFlagsEarlyIdentificationGuide|0.1.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/RedFlagsEarlyIdentificationGuide|0.2.0] not available. Unable to display all questions." * type = #display // Substance Use * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/SubstanceUse|0.1.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/SubstanceUse|0.2.0" * linkId = "d1f66f56-75fa-4498-9c51-eb98e1644243" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/SubstanceUse|0.1.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/SubstanceUse|0.2.0] not available. Unable to display all questions." * type = #display // Gambling * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/Gambling|0.1.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/Gambling|0.2.0" * linkId = "ea748251-bf77-4085-b912-e9002dfa02ca" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Gambling|0.1.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Gambling|0.2.0] not available. Unable to display all questions." * type = #display // SexualHealth * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/SexualHealth|0.1.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/SexualHealth|0.2.0" * linkId = "84bd802b-b3e1-4098-aa2c-2133f0e252f4" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/SexualHealth|0.1.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/SexualHealth|0.2.0] not available. Unable to display all questions." * type = #display // Eye Health * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/EyeHealth|0.1.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/EyeHealth|0.2.0" * linkId = "56ad8128-0e12-4779-8ff4-47dcff6b29b5" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/EyeHealth|0.1.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/EyeHealth|0.2.0] not available. Unable to display all questions." * type = #display // Ear Health And Hearing * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/EarHealthAndHearing|0.1.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/EarHealthAndHearing|0.2.0" * linkId = "a8161e91-7cff-403f-85e6-982a9bc8fca6" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/EarHealthAndHearing|0.1.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/EarHealthAndHearing|0.2.0] not available. Unable to display all questions." * type = #display // Oral And Dental Health * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/OralAndDentalHealth|0.1.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/OralAndDentalHealth|0.2.0" * linkId = "fe05d868-aaed-4921-9d49-4e7746bbe143" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/OralAndDentalHealth|0.1.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/OralAndDentalHealth|0.2.0] not available. Unable to display all questions." * type = #display // Skin * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/Skin|0.1.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/Skin|0.2.0" * linkId = "64ec4c1c-0824-4b84-8d3f-40f6e066cb80" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Skin|0.1.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Skin|0.2.0] not available. Unable to display all questions." * type = #display // Immunisation * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/Immunisation|0.1.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/Immunisation|0.2.0" * linkId = "595737cd-3a94-442b-8be6-ab461c3181d2" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Immunisation|0.1.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Immunisation|0.2.0] not available. Unable to display all questions." * type = #display // Examination * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/Examination|0.1.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/Examination|0.2.0" * linkId = "3263611d-5813-4393-a660-d10166acd728" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Examination|0.1.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Examination|0.2.0] not available. Unable to display all questions." * type = #display // Absolute CVD Risk Calculation * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/AbsoluteCVDRiskCalculation|0.1.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/AbsoluteCVDRiskCalculation|0.2.0" * linkId = "3a3b0810-e091-48ad-af50-913b0deaf663" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/AbsoluteCVDRiskCalculation|0.1.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/AbsoluteCVDRiskCalculation|0.2.0] not available. Unable to display all questions." * type = #display // Investigations * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/Investigations|0.1.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/Investigations|0.2.0" * linkId = "302d9437-25b9-41e3-9d66-138c352d32a8" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Investigations|0.1.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Investigations|0.2.0] not available. Unable to display all questions." * type = #display // Health Priorities Summary * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/HealthPrioritiesSummary|0.1.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/HealthPrioritiesSummary|0.2.0" * linkId = "ada45623-5e86-49ea-a00b-be0699364281" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/HealthPrioritiesSummary|0.1.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/HealthPrioritiesSummary|0.2.0] not available. Unable to display all questions." * type = #display // Finalising Health Check * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/FinalisingHealthCheck|0.1.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/FinalisingHealthCheck|0.2.0" * linkId = "a6395946-872a-4f2e-b697-c74aa1ab9b8d" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/FinalisingHealthCheck|0.1.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/FinalisingHealthCheck|0.2.0] not available. Unable to display all questions." * type = #display \ No newline at end of file diff --git a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json index ab7000e7..d87d5549 100644 --- a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json +++ b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json @@ -1089,6 +1089,101 @@ ] } }, + { + "resourceType": "ValueSet", + "id": "TobaccoUseStatus-1", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/valueset-supplement", + "valueCanonical": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement" + } + ], + "url": "https://smartforms.csiro.au/ig/ValueSet/TobaccoUseStatus-1", + "name": "TobaccoUseStatus", + "title": "Tobacco Use Status", + "status": "draft", + "experimental": false, + "description": "The Tobacco Use Status value set includes values that may be used to represent an individual's current tobacco use and exposure status.", + "compose": { + "include": [ + { + "system": "http://snomed.info/sct", + "concept": [ + { + "code": "266919005", + "display": "Never smoked" + }, + { + "code": "77176002", + "display": "Current smoker" + }, + { + "code": "8517006", + "display": "Ex-smoker" + }, + { + "code": "16090371000119103", + "display": "Exposure to second hand tobacco smoke" + }, + { + "code": "394872000", + "display": "Wants to quit" + }, + { + "code": "713914004", + "display": "Other tobacco use" + } + ] + } + ] + }, + "expansion": { + "identifier": "urn:uuid:577a997d-bacd-499f-bae4-aa6efdcca45e", + "timestamp": "2024-11-29T10:37:34+10:00", + "parameter": [ + { + "name": "version", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20241130" + }, + { + "name": "used-codesystem", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20241130" + } + ], + "contains": [ + { + "system": "http://snomed.info/sct", + "code": "266919005", + "display": "Never smoked" + }, + { + "system": "http://snomed.info/sct", + "code": "77176002", + "display": "Current smoker" + }, + { + "system": "http://snomed.info/sct", + "code": "8517006", + "display": "Ex-smoker" + }, + { + "system": "http://snomed.info/sct", + "code": "16090371000119103", + "display": "Exposure to second hand tobacco smoke" + }, + { + "system": "http://snomed.info/sct", + "code": "394872000", + "display": "Wants to quit" + }, + { + "system": "http://snomed.info/sct", + "code": "713914004", + "display": "Other tobacco use" + } + ] + } + }, { "resourceType": "ValueSet", "id": "YesNoNotAskedDeclined", @@ -1352,6 +1447,12 @@ "reference": "#SmokingQuitStatus-1" } }, + { + "url": "https://smartforms.csiro.au/ig/StructureDefinition/ContainedResourceReference", + "valueReference": { + "reference": "#TobaccoUseStatus-1" + } + }, { "url": "https://smartforms.csiro.au/ig/StructureDefinition/ContainedResourceReference", "valueReference": { @@ -1420,139 +1521,139 @@ }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/AboutTheHealthCheck|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/AboutTheHealthCheck|0.2.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Consent|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Consent|0.2.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/PatientDetails|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/PatientDetails|0.2.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/CurrentPriorities|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/CurrentPriorities|0.2.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/MedicalHistoryCurrentProblems|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/MedicalHistoryCurrentProblems|0.2.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/RegularMedications|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/RegularMedications|0.2.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/AllergiesAdverseReactions|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/AllergiesAdverseReactions|0.2.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/FamilyHistory|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/FamilyHistory|0.2.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/SocialAndEmotionalWellbeing|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/SocialAndEmotionalWellbeing|0.2.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/SocialHistoryChild|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/SocialHistoryChild|0.2.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/HomeAndFamily|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/HomeAndFamily|0.2.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/LearningAndDevelopment|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/LearningAndDevelopment|0.2.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/LearningAndWork|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/LearningAndWork|0.2.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Mood|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Mood|0.2.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/MemoryAndThinking|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/MemoryAndThinking|0.2.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/ChronicDiseaseAgeing|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/ChronicDiseaseAgeing|0.2.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/ScreeningPrograms|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/ScreeningPrograms|0.2.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/HealthyEating|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/HealthyEating|0.2.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/PhysicalActivityAndScreenTime|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/PhysicalActivityAndScreenTime|0.2.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/RedFlagsEarlyIdentificationGuide|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/RedFlagsEarlyIdentificationGuide|0.2.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/SubstanceUse|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/SubstanceUse|0.2.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Gambling|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Gambling|0.2.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/SexualHealth|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/SexualHealth|0.2.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/EyeHealth|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/EyeHealth|0.2.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/EarHealthAndHearing|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/EarHealthAndHearing|0.2.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/OralAndDentalHealth|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/OralAndDentalHealth|0.2.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Skin|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Skin|0.2.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Immunisation|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Immunisation|0.2.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Examination|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Examination|0.2.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/AbsoluteCVDRiskCalculation|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/AbsoluteCVDRiskCalculation|0.2.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Investigations|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Investigations|0.2.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/HealthPrioritiesSummary|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/HealthPrioritiesSummary|0.2.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/FinalisingHealthCheck|0.1.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/FinalisingHealthCheck|0.2.0" } ], "url": "http://www.health.gov.au/assessments/mbs/715", - "version": "0.1.0-assembled", + "version": "0.2.0-assembled", "name": "AboriginalTorresStraitIslanderHealthCheck", "title": "Aboriginal and Torres Strait Islander Health Check", "status": "draft", @@ -9946,42 +10047,7 @@ "text": "Smoking status", "type": "choice", "repeats": false, - "answerOption": [ - { - "valueCoding": { - "system": "http://snomed.info/sct", - "code": "266919005", - "display": "Lifetime non-smoker" - } - }, - { - "valueCoding": { - "system": "http://snomed.info/sct", - "code": "77176002", - "display": "Current smoker" - } - }, - { - "valueCoding": { - "system": "http://snomed.info/sct", - "code": "8517006", - "display": "Ex-smoker" - } - }, - { - "valueCoding": { - "system": "http://snomed.info/sct", - "code": "16090371000119103", - "display": "Exposure to second hand tobacco smoke" - } - }, - { - "valueString": "Wants to quit" - }, - { - "valueString": "Other tobacco use" - } - ] + "answerValueSet": "#TobaccoUseStatus-1" }, { "extension": [ @@ -10037,7 +10103,10 @@ { "question": "b639a3a8-f476-4cc8-b5c7-f5d2abb23511", "operator": "=", - "answerString": "Wants to quit" + "answerCoding": { + "system": "http://snomed.info/sct", + "code": "394872000" + } } ], "enableBehavior": "any", @@ -10067,7 +10136,10 @@ { "question": "b639a3a8-f476-4cc8-b5c7-f5d2abb23511", "operator": "=", - "answerString": "Wants to quit" + "answerCoding": { + "system": "http://snomed.info/sct", + "code": "394872000" + } } ], "enableBehavior": "any" @@ -16124,4 +16196,4 @@ ] } ] -} +} \ No newline at end of file From 8fe05a7fc546fcb4b67cac00ac26dd7c127a2137 Mon Sep 17 00:00:00 2001 From: Sean Fong Date: Fri, 29 Nov 2024 14:48:29 +1030 Subject: [PATCH 056/177] Add additional info when error is thrown in bulk-import-ci.py --- bulk-import-ci.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/bulk-import-ci.py b/bulk-import-ci.py index 9128fd2d..fe142d84 100644 --- a/bulk-import-ci.py +++ b/bulk-import-ci.py @@ -34,6 +34,17 @@ HEADERS = {"Content-Type": "application/json"} +# Print out more information if an error occurred +def printErrorAdditionalDetails(e): + print(f"{ERROR_RED}*** Additional error details: ***{END_C}") + if e.response is not None: + print(f"{ERROR_RED}Status Code: {e.response.status_code}{END_C}") + print(f"{ERROR_RED}Reason: {e.response.reason}{END_C}") + print(f"{ERROR_RED}Response Text: {e.response.text}{END_C}") + else: + print(f"{ERROR_RED}No additional error information available.{END_C}") + print() + # Get questionnaire resources from a defined output directory def getQuestionnairesFromLocalIg(): questionnaires = {} @@ -99,10 +110,13 @@ def updateRootAndSubquestionnaires(questionnaires, implementationGuide): print( f"{ERROR_RED}ERROR: Fail to find {reference} in local files, questionnaire not updated in server. {END_C}" ) + printErrorAdditionalDetails(e) except requests.exceptions.HTTPError as e: print(f"{ERROR_RED}ERROR: HTTP ERROR THROWN:{END_C}", e, '\n') + printErrorAdditionalDetails(e) except Exception as e: print(f"{ERROR_RED}ERROR: An error occurred, details:{END_C}", e, '\n') + printErrorAdditionalDetails(e) @@ -142,6 +156,7 @@ def assembleQuestionnaire(questionnaires): f"{ERROR_RED}ERROR: Unable to retrieve assembled questionnaire from output parameters{END_C}", e, '\n' ) + printErrorAdditionalDetails(e) else: print( @@ -150,8 +165,10 @@ def assembleQuestionnaire(questionnaires): except requests.exceptions.HTTPError as e: print(f"{ERROR_RED}ERROR: HTTP ERROR THROWN:{END_C}",e, '\n') + printErrorAdditionalDetails(e) except Exception as e: print(f"{ERROR_RED}ERROR: An error occurred, details:", e, '\n') + printErrorAdditionalDetails(e) return None @@ -182,8 +199,10 @@ def updateAssembledQuestionnaire(questionnaire): except requests.exceptions.HTTPError as e: print(f"{ERROR_RED}ERROR: HTTP ERROR THROWN:{END_C}",e, '\n') + printErrorAdditionalDetails(e) except Exception as e: print(f"{ERROR_RED}ERROR: An error occurred, details:", e, '\n') + printErrorAdditionalDetails(e) # Main function From ad3e1e28f2622e8e7ee26f0314ec7185211ee94c Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Wed, 19 Mar 2025 09:18:10 +1000 Subject: [PATCH 057/177] Initiate new version development (cherry picked from commit dcca858d307ea3ffd36fc13e2b50ba6be79a9e5d) --- .../CodeSystem-QuestionnaireItemControlExtended.json | 2 +- .../ImplementationGuide-csiro.fhir.au.smartforms.json | 2 +- .../resources/Questionnaire-AboutTheHealthCheck.json | 2 +- .../resources/Questionnaire-AbsoluteCVDRiskCalculation.json | 2 +- .../resources/Questionnaire-AllergiesAdverseReactions.json | 2 +- .../resources/Questionnaire-AssemblyInstructions.json | 2 +- .../resources/Questionnaire-ChronicDiseaseAgeing.json | 2 +- fsh-generated/resources/Questionnaire-Consent.json | 2 +- fsh-generated/resources/Questionnaire-CurrentPriorities.json | 2 +- .../resources/Questionnaire-EarHealthAndHearing.json | 2 +- fsh-generated/resources/Questionnaire-Examination.json | 2 +- fsh-generated/resources/Questionnaire-EyeHealth.json | 2 +- fsh-generated/resources/Questionnaire-FamilyHistory.json | 2 +- .../resources/Questionnaire-FinalisingHealthCheck.json | 2 +- fsh-generated/resources/Questionnaire-Gambling.json | 2 +- .../resources/Questionnaire-HealthPrioritiesSummary.json | 2 +- fsh-generated/resources/Questionnaire-HealthyEating.json | 2 +- fsh-generated/resources/Questionnaire-HomeAndFamily.json | 2 +- fsh-generated/resources/Questionnaire-Immunisation.json | 2 +- fsh-generated/resources/Questionnaire-Investigations.json | 2 +- .../resources/Questionnaire-LearningAndDevelopment.json | 2 +- fsh-generated/resources/Questionnaire-LearningAndWork.json | 2 +- .../Questionnaire-MedicalHistoryCurrentProblems.json | 4 ++-- fsh-generated/resources/Questionnaire-MemoryAndThinking.json | 2 +- fsh-generated/resources/Questionnaire-Mood.json | 2 +- .../resources/Questionnaire-OralAndDentalHealth.json | 2 +- fsh-generated/resources/Questionnaire-PatientDetails.json | 2 +- .../Questionnaire-PhysicalActivityAndScreenTime.json | 4 ++-- .../Questionnaire-RedFlagsEarlyIdentificationGuide.json | 2 +- fsh-generated/resources/Questionnaire-RegularMedications.json | 2 +- fsh-generated/resources/Questionnaire-ScreeningPrograms.json | 2 +- fsh-generated/resources/Questionnaire-SexualHealth.json | 2 +- fsh-generated/resources/Questionnaire-Skin.json | 2 +- .../resources/Questionnaire-SocialAndEmotionalWellbeing.json | 2 +- fsh-generated/resources/Questionnaire-SocialHistoryChild.json | 2 +- fsh-generated/resources/Questionnaire-SubstanceUse.json | 2 +- input/fsh/715-AboutTheHealthCheck.fsh | 3 +-- input/fsh/715-AssemblyInstructions.fsh | 3 +-- input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh | 3 +-- input/fsh/715-Assessment-AllergiesAdverseReactions.fsh | 3 +-- input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh | 3 +-- input/fsh/715-Assessment-CurrentPriorities.fsh | 3 +-- input/fsh/715-Assessment-EarHealthAndHearing.fsh | 3 +-- input/fsh/715-Assessment-Examination.fsh | 3 +-- input/fsh/715-Assessment-EyeHealth.fsh | 3 +-- input/fsh/715-Assessment-FamilyHistory.fsh | 3 +-- input/fsh/715-Assessment-Gambling.fsh | 3 +-- input/fsh/715-Assessment-HealthyEating.fsh | 3 +-- input/fsh/715-Assessment-HomeAndFamily.fsh | 3 +-- input/fsh/715-Assessment-Immunisation.fsh | 3 +-- input/fsh/715-Assessment-Investigations.fsh | 3 +-- input/fsh/715-Assessment-LearningAndDevelopment.fsh | 3 +-- input/fsh/715-Assessment-LearningAndWork.fsh | 3 +-- input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh | 3 +-- input/fsh/715-Assessment-MemoryAndThinking.fsh | 3 +-- input/fsh/715-Assessment-Mood.fsh | 3 +-- input/fsh/715-Assessment-OralAndDentalHealth.fsh | 3 +-- input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh | 3 +-- input/fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh | 3 +-- input/fsh/715-Assessment-RegularMedications.fsh | 3 +-- input/fsh/715-Assessment-ScreeningPrograms.fsh | 3 +-- input/fsh/715-Assessment-SexualHealth.fsh | 3 +-- input/fsh/715-Assessment-Skin.fsh | 3 +-- input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh | 3 +-- input/fsh/715-Assessment-SocialHistoryChild.fsh | 3 +-- input/fsh/715-Assessment-SubstanceUse.fsh | 3 +-- input/fsh/715-Consent.fsh | 3 +-- input/fsh/715-FinalisingHealthCheck.fsh | 3 +-- input/fsh/715-HealthPrioritiesSummary.fsh | 3 +-- input/fsh/715-PatientDetails.fsh | 3 +-- input/fsh/terminology.fsh | 2 +- sushi-config.yaml | 2 +- 72 files changed, 74 insertions(+), 108 deletions(-) diff --git a/fsh-generated/resources/CodeSystem-QuestionnaireItemControlExtended.json b/fsh-generated/resources/CodeSystem-QuestionnaireItemControlExtended.json index 51678147..a032af6e 100644 --- a/fsh-generated/resources/CodeSystem-QuestionnaireItemControlExtended.json +++ b/fsh-generated/resources/CodeSystem-QuestionnaireItemControlExtended.json @@ -11,7 +11,7 @@ { "code": "context-display", "display": "context-display", - "definition": "An display item rendered adjacent (horizontally or vertically) to the text of the parent item." + "definition": "Display item is rendered adjacent (horizontally or vertically) to the text of the parent item." } ], "experimental": false, diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index 52d67d98..5840fec8 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -2,7 +2,7 @@ "resourceType": "ImplementationGuide", "id": "csiro.fhir.au.smartforms", "url": "https://smartforms.csiro.au/ig/ImplementationGuide/csiro.fhir.au.smartforms", - "version": "0.2.0", + "version": "0.3.0", "name": "SmartForms", "title": "Smart Forms", "status": "draft", diff --git a/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json b/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json index e6767abf..2ad502d8 100644 --- a/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json +++ b/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json @@ -370,7 +370,7 @@ "subjectType": [ "Patient" ], - "date": "2024-04-02", + "date": "2025-03-14", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json b/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json index da7ba26f..4d3d770e 100644 --- a/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json +++ b/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json @@ -812,7 +812,7 @@ "subjectType": [ "Patient" ], - "date": "2024-04-02", + "date": "2025-03-14", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json index 4ffbf135..b5f5bdcd 100644 --- a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json +++ b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json @@ -211,7 +211,7 @@ "subjectType": [ "Patient" ], - "date": "2024-04-02", + "date": "2025-03-14", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json index 5215a4fa..d4b5ced7 100644 --- a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json +++ b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json @@ -2199,7 +2199,7 @@ "subjectType": [ "Patient" ], - "date": "2024-04-02", + "date": "2025-03-14", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-ChronicDiseaseAgeing.json b/fsh-generated/resources/Questionnaire-ChronicDiseaseAgeing.json index b25c3fd3..3a8925d5 100644 --- a/fsh-generated/resources/Questionnaire-ChronicDiseaseAgeing.json +++ b/fsh-generated/resources/Questionnaire-ChronicDiseaseAgeing.json @@ -232,7 +232,7 @@ "subjectType": [ "Patient" ], - "date": "2024-04-02", + "date": "2025-03-14", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-Consent.json b/fsh-generated/resources/Questionnaire-Consent.json index 6165c99f..7c0ea48b 100644 --- a/fsh-generated/resources/Questionnaire-Consent.json +++ b/fsh-generated/resources/Questionnaire-Consent.json @@ -557,7 +557,7 @@ "subjectType": [ "Patient" ], - "date": "2024-04-02", + "date": "2025-03-14", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-CurrentPriorities.json b/fsh-generated/resources/Questionnaire-CurrentPriorities.json index df617f10..d92c4c9b 100644 --- a/fsh-generated/resources/Questionnaire-CurrentPriorities.json +++ b/fsh-generated/resources/Questionnaire-CurrentPriorities.json @@ -458,7 +458,7 @@ "subjectType": [ "Patient" ], - "date": "2024-04-02", + "date": "2025-03-14", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json b/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json index c50c7763..070dd391 100644 --- a/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json +++ b/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json @@ -782,7 +782,7 @@ "subjectType": [ "Patient" ], - "date": "2024-04-02", + "date": "2025-03-14", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-Examination.json b/fsh-generated/resources/Questionnaire-Examination.json index 1c583dcf..09eb14a9 100644 --- a/fsh-generated/resources/Questionnaire-Examination.json +++ b/fsh-generated/resources/Questionnaire-Examination.json @@ -1048,7 +1048,7 @@ "subjectType": [ "Patient" ], - "date": "2024-04-02", + "date": "2025-03-14", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-EyeHealth.json b/fsh-generated/resources/Questionnaire-EyeHealth.json index 0f9c8de3..b5036ccb 100644 --- a/fsh-generated/resources/Questionnaire-EyeHealth.json +++ b/fsh-generated/resources/Questionnaire-EyeHealth.json @@ -539,7 +539,7 @@ "subjectType": [ "Patient" ], - "date": "2024-04-02", + "date": "2025-03-14", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-FamilyHistory.json b/fsh-generated/resources/Questionnaire-FamilyHistory.json index 1619e64a..cb83c98d 100644 --- a/fsh-generated/resources/Questionnaire-FamilyHistory.json +++ b/fsh-generated/resources/Questionnaire-FamilyHistory.json @@ -266,7 +266,7 @@ "subjectType": [ "Patient" ], - "date": "2024-04-02", + "date": "2025-03-14", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json b/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json index 07d47dcb..68ee7ad4 100644 --- a/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json +++ b/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json @@ -1075,7 +1075,7 @@ "subjectType": [ "Patient" ], - "date": "2024-04-02", + "date": "2025-03-14", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-Gambling.json b/fsh-generated/resources/Questionnaire-Gambling.json index 3bfea2fb..ce300fcb 100644 --- a/fsh-generated/resources/Questionnaire-Gambling.json +++ b/fsh-generated/resources/Questionnaire-Gambling.json @@ -296,7 +296,7 @@ "subjectType": [ "Patient" ], - "date": "2024-04-02", + "date": "2025-03-14", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-HealthPrioritiesSummary.json b/fsh-generated/resources/Questionnaire-HealthPrioritiesSummary.json index 95eae1af..7082ab46 100644 --- a/fsh-generated/resources/Questionnaire-HealthPrioritiesSummary.json +++ b/fsh-generated/resources/Questionnaire-HealthPrioritiesSummary.json @@ -983,7 +983,7 @@ "subjectType": [ "Patient" ], - "date": "2024-04-02", + "date": "2025-03-14", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-HealthyEating.json b/fsh-generated/resources/Questionnaire-HealthyEating.json index 95676a97..57484743 100644 --- a/fsh-generated/resources/Questionnaire-HealthyEating.json +++ b/fsh-generated/resources/Questionnaire-HealthyEating.json @@ -670,7 +670,7 @@ "subjectType": [ "Patient" ], - "date": "2024-04-02", + "date": "2025-03-14", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-HomeAndFamily.json b/fsh-generated/resources/Questionnaire-HomeAndFamily.json index 8d62fe06..cc840381 100644 --- a/fsh-generated/resources/Questionnaire-HomeAndFamily.json +++ b/fsh-generated/resources/Questionnaire-HomeAndFamily.json @@ -370,7 +370,7 @@ "subjectType": [ "Patient" ], - "date": "2024-04-02", + "date": "2025-03-14", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-Immunisation.json b/fsh-generated/resources/Questionnaire-Immunisation.json index 92e73c3a..1f037cab 100644 --- a/fsh-generated/resources/Questionnaire-Immunisation.json +++ b/fsh-generated/resources/Questionnaire-Immunisation.json @@ -382,7 +382,7 @@ "subjectType": [ "Patient" ], - "date": "2024-04-02", + "date": "2025-03-14", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-Investigations.json b/fsh-generated/resources/Questionnaire-Investigations.json index 18c835fe..e48b4280 100644 --- a/fsh-generated/resources/Questionnaire-Investigations.json +++ b/fsh-generated/resources/Questionnaire-Investigations.json @@ -253,7 +253,7 @@ "subjectType": [ "Patient" ], - "date": "2024-04-02", + "date": "2025-03-14", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-LearningAndDevelopment.json b/fsh-generated/resources/Questionnaire-LearningAndDevelopment.json index bc8a3f4c..6bf3fad3 100644 --- a/fsh-generated/resources/Questionnaire-LearningAndDevelopment.json +++ b/fsh-generated/resources/Questionnaire-LearningAndDevelopment.json @@ -524,7 +524,7 @@ "subjectType": [ "Patient" ], - "date": "2024-04-02", + "date": "2025-03-14", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-LearningAndWork.json b/fsh-generated/resources/Questionnaire-LearningAndWork.json index 12c4a3ea..3ef1ff31 100644 --- a/fsh-generated/resources/Questionnaire-LearningAndWork.json +++ b/fsh-generated/resources/Questionnaire-LearningAndWork.json @@ -596,7 +596,7 @@ "subjectType": [ "Patient" ], - "date": "2024-04-02", + "date": "2025-03-14", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json index 9f11a9e7..584faacc 100644 --- a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json +++ b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json @@ -9,7 +9,7 @@ ] }, "url": "http://www.health.gov.au/assessments/mbs/715/MedicalHistoryCurrentProblems", - "title": "Aboriginal and Torres Strait Islander Health Check - Medical History And Current Problems", + "title": "Aboriginal and Torres Strait Islander Health Check - Medical History", "description": "Medical History sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", "item": [ { @@ -645,7 +645,7 @@ "subjectType": [ "Patient" ], - "date": "2024-04-02", + "date": "2025-03-14", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-MemoryAndThinking.json b/fsh-generated/resources/Questionnaire-MemoryAndThinking.json index dc1b433b..ccb28774 100644 --- a/fsh-generated/resources/Questionnaire-MemoryAndThinking.json +++ b/fsh-generated/resources/Questionnaire-MemoryAndThinking.json @@ -370,7 +370,7 @@ "subjectType": [ "Patient" ], - "date": "2024-04-02", + "date": "2025-03-14", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-Mood.json b/fsh-generated/resources/Questionnaire-Mood.json index 36700b6d..68f13891 100644 --- a/fsh-generated/resources/Questionnaire-Mood.json +++ b/fsh-generated/resources/Questionnaire-Mood.json @@ -276,7 +276,7 @@ "subjectType": [ "Patient" ], - "date": "2024-04-02", + "date": "2025-03-14", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-OralAndDentalHealth.json b/fsh-generated/resources/Questionnaire-OralAndDentalHealth.json index 2aa68c00..96b137c9 100644 --- a/fsh-generated/resources/Questionnaire-OralAndDentalHealth.json +++ b/fsh-generated/resources/Questionnaire-OralAndDentalHealth.json @@ -420,7 +420,7 @@ "subjectType": [ "Patient" ], - "date": "2024-04-02", + "date": "2025-03-14", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-PatientDetails.json b/fsh-generated/resources/Questionnaire-PatientDetails.json index 49de3e93..263a033d 100644 --- a/fsh-generated/resources/Questionnaire-PatientDetails.json +++ b/fsh-generated/resources/Questionnaire-PatientDetails.json @@ -2292,7 +2292,7 @@ "subjectType": [ "Patient" ], - "date": "2024-04-02", + "date": "2025-03-14", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-PhysicalActivityAndScreenTime.json b/fsh-generated/resources/Questionnaire-PhysicalActivityAndScreenTime.json index 7b020024..c2215f7c 100644 --- a/fsh-generated/resources/Questionnaire-PhysicalActivityAndScreenTime.json +++ b/fsh-generated/resources/Questionnaire-PhysicalActivityAndScreenTime.json @@ -9,7 +9,7 @@ ] }, "url": "http://www.health.gov.au/assessments/mbs/715/PhysicalActivityAndScreenTime", - "title": "Aboriginal and Torres Strait Islander Health Check - Physical Activity And Screen Time", + "title": "Physical Activity And Screen Time", "description": "Physical Activity And Screen Time sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", "item": [ { @@ -657,7 +657,7 @@ "subjectType": [ "Patient" ], - "date": "2024-04-02", + "date": "2025-03-14", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-RedFlagsEarlyIdentificationGuide.json b/fsh-generated/resources/Questionnaire-RedFlagsEarlyIdentificationGuide.json index d256b2a6..bc8ec164 100644 --- a/fsh-generated/resources/Questionnaire-RedFlagsEarlyIdentificationGuide.json +++ b/fsh-generated/resources/Questionnaire-RedFlagsEarlyIdentificationGuide.json @@ -1368,7 +1368,7 @@ "subjectType": [ "Patient" ], - "date": "2024-04-02", + "date": "2025-03-14", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-RegularMedications.json b/fsh-generated/resources/Questionnaire-RegularMedications.json index edcba170..a79a6aa5 100644 --- a/fsh-generated/resources/Questionnaire-RegularMedications.json +++ b/fsh-generated/resources/Questionnaire-RegularMedications.json @@ -378,7 +378,7 @@ "subjectType": [ "Patient" ], - "date": "2024-04-02", + "date": "2025-03-14", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-ScreeningPrograms.json b/fsh-generated/resources/Questionnaire-ScreeningPrograms.json index 537bf88f..1115aab0 100644 --- a/fsh-generated/resources/Questionnaire-ScreeningPrograms.json +++ b/fsh-generated/resources/Questionnaire-ScreeningPrograms.json @@ -373,7 +373,7 @@ "subjectType": [ "Patient" ], - "date": "2024-04-02", + "date": "2025-03-14", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-SexualHealth.json b/fsh-generated/resources/Questionnaire-SexualHealth.json index baf879a8..af30d8a8 100644 --- a/fsh-generated/resources/Questionnaire-SexualHealth.json +++ b/fsh-generated/resources/Questionnaire-SexualHealth.json @@ -917,7 +917,7 @@ "subjectType": [ "Patient" ], - "date": "2024-04-02", + "date": "2025-03-14", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-Skin.json b/fsh-generated/resources/Questionnaire-Skin.json index f85dd756..4d3179c5 100644 --- a/fsh-generated/resources/Questionnaire-Skin.json +++ b/fsh-generated/resources/Questionnaire-Skin.json @@ -406,7 +406,7 @@ "subjectType": [ "Patient" ], - "date": "2024-04-02", + "date": "2025-03-14", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-SocialAndEmotionalWellbeing.json b/fsh-generated/resources/Questionnaire-SocialAndEmotionalWellbeing.json index 42c6ca1a..1242887a 100644 --- a/fsh-generated/resources/Questionnaire-SocialAndEmotionalWellbeing.json +++ b/fsh-generated/resources/Questionnaire-SocialAndEmotionalWellbeing.json @@ -345,7 +345,7 @@ "subjectType": [ "Patient" ], - "date": "2024-04-02", + "date": "2025-03-14", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-SocialHistoryChild.json b/fsh-generated/resources/Questionnaire-SocialHistoryChild.json index 46618cc6..765fcd3b 100644 --- a/fsh-generated/resources/Questionnaire-SocialHistoryChild.json +++ b/fsh-generated/resources/Questionnaire-SocialHistoryChild.json @@ -361,7 +361,7 @@ "subjectType": [ "Patient" ], - "date": "2024-04-02", + "date": "2025-03-14", "jurisdiction": [ { "coding": [ diff --git a/fsh-generated/resources/Questionnaire-SubstanceUse.json b/fsh-generated/resources/Questionnaire-SubstanceUse.json index edbece74..97649dca 100644 --- a/fsh-generated/resources/Questionnaire-SubstanceUse.json +++ b/fsh-generated/resources/Questionnaire-SubstanceUse.json @@ -548,7 +548,7 @@ "subjectType": [ "Patient" ], - "date": "2024-04-02", + "date": "2025-03-14", "jurisdiction": [ { "coding": [ diff --git a/input/fsh/715-AboutTheHealthCheck.fsh b/input/fsh/715-AboutTheHealthCheck.fsh index dd51462a..a866b675 100644 --- a/input/fsh/715-AboutTheHealthCheck.fsh +++ b/input/fsh/715-AboutTheHealthCheck.fsh @@ -74,11 +74,10 @@ Description: "About The Health Check sub-questionnaire for Aboriginal and Torres * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/AboutTheHealthCheck" * name = "AboutTheHealthCheck" -* title = "Aboriginal and Torres Strait Islander Health Check - About The Health Check" * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2024-04-02" +* date = "2025-03-14" * jurisdiction.coding = urn:iso:std:iso:3166#AU * item[+] diff --git a/input/fsh/715-AssemblyInstructions.fsh b/input/fsh/715-AssemblyInstructions.fsh index d291217e..1a649e26 100644 --- a/input/fsh/715-AssemblyInstructions.fsh +++ b/input/fsh/715-AssemblyInstructions.fsh @@ -159,11 +159,10 @@ Description: "Aboriginal and Torres Strait Islander Health Check assessment form * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715" * name = "AboriginalTorresStraitIslanderHealthCheck" -* title = "Aboriginal and Torres Strait Islander Health Check" * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2024-04-02" +* date = "2025-03-14" * jurisdiction.coding = urn:iso:std:iso:3166#AU // Root diff --git a/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh b/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh index 63bc485a..06c950a2 100644 --- a/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh +++ b/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh @@ -91,11 +91,10 @@ Description: "Absolute Cardiovascular Disease Risk Calculation sub-questionnaire * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/AbsoluteCVDRiskCalculation" * name = "AbsoluteCVDRiskCalculation" -* title = "Aboriginal and Torres Strait Islander Health Check - Absolute Cardiovascular Disease Risk Calculation" * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2024-04-02" +* date = "2025-03-14" * jurisdiction.coding = urn:iso:std:iso:3166#AU diff --git a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh index c8bb6c5c..01a150a8 100644 --- a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh +++ b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh @@ -58,11 +58,10 @@ Description: "Allergies/Adverse Reactions sub-questionnaire for Aboriginal and T * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/AllergiesAdverseReactions" * name = "AllergiesAdverseReactions" -* title = "Aboriginal and Torres Strait Islander Health Check - Allergies/Adverse Reactions" * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2024-04-02" +* date = "2025-03-14" * jurisdiction.coding = urn:iso:std:iso:3166#AU * item[+] diff --git a/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh b/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh index 012de4c5..ee54ac15 100644 --- a/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh +++ b/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh @@ -59,11 +59,10 @@ Description: "Chronic Disease Ageing sub-questionnaire for Aboriginal and Torres * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/ChronicDiseaseAgeing" * name = "ChronicDiseaseAgeing" -* title = "Aboriginal and Torres Strait Islander Health Check - Chronic Disease Ageing" * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2024-04-02" +* date = "2025-03-14" * jurisdiction.coding = urn:iso:std:iso:3166#AU * item[+] diff --git a/input/fsh/715-Assessment-CurrentPriorities.fsh b/input/fsh/715-Assessment-CurrentPriorities.fsh index 667d708b..1b41756f 100644 --- a/input/fsh/715-Assessment-CurrentPriorities.fsh +++ b/input/fsh/715-Assessment-CurrentPriorities.fsh @@ -60,11 +60,10 @@ Description: "Current Priorities sub-questionnaire for Aboriginal and Torres Str * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/CurrentPriorities" * name = "CurrentPriorities" -* title = "Aboriginal and Torres Strait Islander Health Check - Current Priorities" * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2024-04-02" +* date = "2025-03-14" * jurisdiction.coding = urn:iso:std:iso:3166#AU * item[+] diff --git a/input/fsh/715-Assessment-EarHealthAndHearing.fsh b/input/fsh/715-Assessment-EarHealthAndHearing.fsh index cc411d24..2e16816b 100644 --- a/input/fsh/715-Assessment-EarHealthAndHearing.fsh +++ b/input/fsh/715-Assessment-EarHealthAndHearing.fsh @@ -60,11 +60,10 @@ Description: "Ear Health And Hearing sub-questionnaire for Aboriginal and Torres * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/EarHealthAndHearing" * name = "EarHealthAndHearing" -* title = "Aboriginal and Torres Strait Islander Health Check - Ear Health And Hearing" * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2024-04-02" +* date = "2025-03-14" * jurisdiction.coding = urn:iso:std:iso:3166#AU * item[+] diff --git a/input/fsh/715-Assessment-Examination.fsh b/input/fsh/715-Assessment-Examination.fsh index 8a9eba9f..2f903a6a 100644 --- a/input/fsh/715-Assessment-Examination.fsh +++ b/input/fsh/715-Assessment-Examination.fsh @@ -112,11 +112,10 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/Examination" * name = "Examination" -* title = "Aboriginal and Torres Strait Islander Health Check - Examination" * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2024-04-02" +* date = "2025-03-14" * jurisdiction.coding = urn:iso:std:iso:3166#AU diff --git a/input/fsh/715-Assessment-EyeHealth.fsh b/input/fsh/715-Assessment-EyeHealth.fsh index 46338337..823c3167 100644 --- a/input/fsh/715-Assessment-EyeHealth.fsh +++ b/input/fsh/715-Assessment-EyeHealth.fsh @@ -60,11 +60,10 @@ Description: "Eye Health sub-questionnaire for Aboriginal and Torres Strait Isla * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/EyeHealth" * name = "EyeHealth" -* title = "Aboriginal and Torres Strait Islander Health Check - Eye Health" * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2024-04-02" +* date = "2025-03-14" * jurisdiction.coding = urn:iso:std:iso:3166#AU * item[+] diff --git a/input/fsh/715-Assessment-FamilyHistory.fsh b/input/fsh/715-Assessment-FamilyHistory.fsh index ef04ad9b..0b9e5510 100644 --- a/input/fsh/715-Assessment-FamilyHistory.fsh +++ b/input/fsh/715-Assessment-FamilyHistory.fsh @@ -59,11 +59,10 @@ Description: "Family History sub-questionnaire for Aboriginal and Torres Strait * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/FamilyHistory" * name = "FamilyHistory" -* title = "Aboriginal and Torres Strait Islander Health Check - Family History" * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2024-04-02" +* date = "2025-03-14" * jurisdiction.coding = urn:iso:std:iso:3166#AU * item[+] diff --git a/input/fsh/715-Assessment-Gambling.fsh b/input/fsh/715-Assessment-Gambling.fsh index 3dad3da1..d6e4b467 100644 --- a/input/fsh/715-Assessment-Gambling.fsh +++ b/input/fsh/715-Assessment-Gambling.fsh @@ -60,11 +60,10 @@ Description: "Gambling sub-questionnaire for Aboriginal and Torres Strait Island * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/Gambling" * name = "Gambling" -* title = "Aboriginal and Torres Strait Islander Health Check - Gambling" * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2024-04-02" +* date = "2025-03-14" * jurisdiction.coding = urn:iso:std:iso:3166#AU * item[+] diff --git a/input/fsh/715-Assessment-HealthyEating.fsh b/input/fsh/715-Assessment-HealthyEating.fsh index 9b3f4b18..0e08cdda 100644 --- a/input/fsh/715-Assessment-HealthyEating.fsh +++ b/input/fsh/715-Assessment-HealthyEating.fsh @@ -60,11 +60,10 @@ Description: "Healthy Eating sub-questionnaire for Aboriginal and Torres Strait * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/HealthyEating" * name = "HealthyEating" -* title = "Aboriginal and Torres Strait Islander Health Check - Healthy Eating" * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2024-04-02" +* date = "2025-03-14" * jurisdiction.coding = urn:iso:std:iso:3166#AU diff --git a/input/fsh/715-Assessment-HomeAndFamily.fsh b/input/fsh/715-Assessment-HomeAndFamily.fsh index d1b48c78..c6682464 100644 --- a/input/fsh/715-Assessment-HomeAndFamily.fsh +++ b/input/fsh/715-Assessment-HomeAndFamily.fsh @@ -60,11 +60,10 @@ Description: "Home And Family sub-questionnaire for Aboriginal and Torres Strait * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/HomeAndFamily" * name = "HomeAndFamily" -* title = "Aboriginal and Torres Strait Islander Health Check - Home And Family" * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2024-04-02" +* date = "2025-03-14" * jurisdiction.coding = urn:iso:std:iso:3166#AU // for adolescents and up diff --git a/input/fsh/715-Assessment-Immunisation.fsh b/input/fsh/715-Assessment-Immunisation.fsh index a945a338..73593d71 100644 --- a/input/fsh/715-Assessment-Immunisation.fsh +++ b/input/fsh/715-Assessment-Immunisation.fsh @@ -60,11 +60,10 @@ Description: "Immunisation sub-questionnaire for Aboriginal and Torres Strait Is * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/Immunisation" * name = "Immunisation" -* title = "Aboriginal and Torres Strait Islander Health Check - Immunisation" * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2024-04-02" +* date = "2025-03-14" * jurisdiction.coding = urn:iso:std:iso:3166#AU * item[+] diff --git a/input/fsh/715-Assessment-Investigations.fsh b/input/fsh/715-Assessment-Investigations.fsh index 6e526301..2056bd30 100644 --- a/input/fsh/715-Assessment-Investigations.fsh +++ b/input/fsh/715-Assessment-Investigations.fsh @@ -59,11 +59,10 @@ Description: "Investigations sub-questionnaire for Aboriginal and Torres Strait * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/Investigations" * name = "Investigations" -* title = "Aboriginal and Torres Strait Islander Health Check - Investigations" * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2024-04-02" +* date = "2025-03-14" * jurisdiction.coding = urn:iso:std:iso:3166#AU diff --git a/input/fsh/715-Assessment-LearningAndDevelopment.fsh b/input/fsh/715-Assessment-LearningAndDevelopment.fsh index 5883ad51..0fa8609a 100644 --- a/input/fsh/715-Assessment-LearningAndDevelopment.fsh +++ b/input/fsh/715-Assessment-LearningAndDevelopment.fsh @@ -58,11 +58,10 @@ Description: "Learning And Development sub-questionnaire for Aboriginal and Torr * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/LearningAndDevelopment" * name = "LearningAndDevelopment" -* title = "Aboriginal and Torres Strait Islander Health Check - Learning And Development" * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2024-04-02" +* date = "2025-03-14" * jurisdiction.coding = urn:iso:std:iso:3166#AU // This questionnaire attempts to somewhat harmonise the infant and adolescent templates but there are differences that will require confirmation. diff --git a/input/fsh/715-Assessment-LearningAndWork.fsh b/input/fsh/715-Assessment-LearningAndWork.fsh index 6c99e493..1b2a0a8c 100644 --- a/input/fsh/715-Assessment-LearningAndWork.fsh +++ b/input/fsh/715-Assessment-LearningAndWork.fsh @@ -61,11 +61,10 @@ Description: "Learning And Work sub-questionnaire for Aboriginal and Torres Stra * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/LearningAndWork" * name = "LearningAndWork" -* title = "Aboriginal and Torres Strait Islander Health Check - Learning And Work" * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2024-04-02" +* date = "2025-03-14" * jurisdiction.coding = urn:iso:std:iso:3166#AU // adolescents and adults diff --git a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh index 90646424..e8d173cd 100644 --- a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh +++ b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh @@ -71,11 +71,10 @@ Description: "Medical History sub-questionnaire for Aboriginal and Torres Strait * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/MedicalHistoryCurrentProblems" * name = "MedicalHistoryCurrentProblems" -* title = "Aboriginal and Torres Strait Islander Health Check - Medical History And Current Problems" * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2024-04-02" +* date = "2025-03-14" * jurisdiction.coding = urn:iso:std:iso:3166#AU * item[+] diff --git a/input/fsh/715-Assessment-MemoryAndThinking.fsh b/input/fsh/715-Assessment-MemoryAndThinking.fsh index c8223c70..166f1c53 100644 --- a/input/fsh/715-Assessment-MemoryAndThinking.fsh +++ b/input/fsh/715-Assessment-MemoryAndThinking.fsh @@ -60,11 +60,10 @@ Description: "Memory And Thinking sub-questionnaire for Aboriginal and Torres St * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/MemoryAndThinking" * name = "MemoryAndThinking" -* title = "Aboriginal and Torres Strait Islander Health Check - Memory And Thinking" * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2024-04-02" +* date = "2025-03-14" * jurisdiction.coding = urn:iso:std:iso:3166#AU * item[+] diff --git a/input/fsh/715-Assessment-Mood.fsh b/input/fsh/715-Assessment-Mood.fsh index b2f604d9..a9043869 100644 --- a/input/fsh/715-Assessment-Mood.fsh +++ b/input/fsh/715-Assessment-Mood.fsh @@ -59,11 +59,10 @@ Description: "Mood sub-questionnaire for Aboriginal and Torres Strait Islander H * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/Mood" * name = "Mood" -* title = "Aboriginal and Torres Strait Islander Health Check - Mood" * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2024-04-02" +* date = "2025-03-14" * jurisdiction.coding = urn:iso:std:iso:3166#AU * item[+] diff --git a/input/fsh/715-Assessment-OralAndDentalHealth.fsh b/input/fsh/715-Assessment-OralAndDentalHealth.fsh index 18e14929..42358445 100644 --- a/input/fsh/715-Assessment-OralAndDentalHealth.fsh +++ b/input/fsh/715-Assessment-OralAndDentalHealth.fsh @@ -60,11 +60,10 @@ Description: "Oral And Dental Health sub-questionnaire for Aboriginal and Torres * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/OralAndDentalHealth" * name = "OralAndDentalHealth" -* title = "Aboriginal and Torres Strait Islander Health Check - Oral And Dental Health" * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2024-04-02" +* date = "2025-03-14" * jurisdiction.coding = urn:iso:std:iso:3166#AU * item[+] diff --git a/input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh b/input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh index 8d80c60a..dd2810f7 100644 --- a/input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh +++ b/input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh @@ -60,11 +60,10 @@ Description: "Physical Activity And Screen Time sub-questionnaire for Aboriginal * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/PhysicalActivityAndScreenTime" * name = "PhysicalActivityAndScreenTime" -* title = "Aboriginal and Torres Strait Islander Health Check - Physical Activity And Screen Time" * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2024-04-02" +* date = "2025-03-14" * jurisdiction.coding = urn:iso:std:iso:3166#AU diff --git a/input/fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh b/input/fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh index f28068f9..d3f6ab6f 100644 --- a/input/fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh +++ b/input/fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh @@ -58,11 +58,10 @@ Description: "Red Flags Early Identification Guide For Children sub-questionnair * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/RedFlagsEarlyIdentificationGuide" * name = "RedFlagsEarlyIdentificationGuideForChildren" -* title = "Aboriginal and Torres Strait Islander Health Check - Red Flags Early Identification Guide For Children" * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2024-04-02" +* date = "2025-03-14" * jurisdiction.coding = urn:iso:std:iso:3166#AU * item[+] diff --git a/input/fsh/715-Assessment-RegularMedications.fsh b/input/fsh/715-Assessment-RegularMedications.fsh index c6a1c1f2..9c7fb64b 100644 --- a/input/fsh/715-Assessment-RegularMedications.fsh +++ b/input/fsh/715-Assessment-RegularMedications.fsh @@ -60,11 +60,10 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/RegularMedications" * name = "RegularMedications" -* title = "Aboriginal and Torres Strait Islander Health Check - Regular Medications" * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2024-04-02" +* date = "2025-03-14" * jurisdiction.coding = urn:iso:std:iso:3166#AU * item[+] diff --git a/input/fsh/715-Assessment-ScreeningPrograms.fsh b/input/fsh/715-Assessment-ScreeningPrograms.fsh index 62e76be9..82dd2d7f 100644 --- a/input/fsh/715-Assessment-ScreeningPrograms.fsh +++ b/input/fsh/715-Assessment-ScreeningPrograms.fsh @@ -58,11 +58,10 @@ Description: "Screening Programs sub-questionnaire for Aboriginal and Torres Str * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/ScreeningPrograms" * name = "ScreeningPrograms" -* title = "Aboriginal and Torres Strait Islander Health Check - Screening Programs" * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2024-04-02" +* date = "2025-03-14" * jurisdiction.coding = urn:iso:std:iso:3166#AU diff --git a/input/fsh/715-Assessment-SexualHealth.fsh b/input/fsh/715-Assessment-SexualHealth.fsh index 185dbac0..19d2a815 100644 --- a/input/fsh/715-Assessment-SexualHealth.fsh +++ b/input/fsh/715-Assessment-SexualHealth.fsh @@ -62,11 +62,10 @@ Description: "Sexual Health sub-questionnaire for Aboriginal and Torres Strait I * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/SexualHealth" * name = "SexualHealth" -* title = "Aboriginal and Torres Strait Islander Health Check - Sexual Health" * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2024-04-02" +* date = "2025-03-14" * jurisdiction.coding = urn:iso:std:iso:3166#AU // Adolescents diff --git a/input/fsh/715-Assessment-Skin.fsh b/input/fsh/715-Assessment-Skin.fsh index c3de9692..b7546513 100644 --- a/input/fsh/715-Assessment-Skin.fsh +++ b/input/fsh/715-Assessment-Skin.fsh @@ -60,11 +60,10 @@ Description: "Skin sub-questionnaire for Aboriginal and Torres Strait Islander H * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/Skin" * name = "Skin" -* title = "Aboriginal and Torres Strait Islander Health Check - Skin" * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2024-04-02" +* date = "2025-03-14" * jurisdiction.coding = urn:iso:std:iso:3166#AU diff --git a/input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh b/input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh index 9b62797a..a2c9ce71 100644 --- a/input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh +++ b/input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh @@ -60,11 +60,10 @@ Description: "Social And Emotional Wellbeing sub-questionnaire for Aboriginal an * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/SocialAndEmotionalWellbeing" * name = "SocialAndEmotionalWellbeing" -* title = "Aboriginal and Torres Strait Islander Health Check - Social And Emotional Wellbeing" * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2024-04-02" +* date = "2025-03-14" * jurisdiction.coding = urn:iso:std:iso:3166#AU * item[+] diff --git a/input/fsh/715-Assessment-SocialHistoryChild.fsh b/input/fsh/715-Assessment-SocialHistoryChild.fsh index d584ef96..f9b7465b 100644 --- a/input/fsh/715-Assessment-SocialHistoryChild.fsh +++ b/input/fsh/715-Assessment-SocialHistoryChild.fsh @@ -60,11 +60,10 @@ Description: "Social History Child sub-questionnaire for Aboriginal and Torres S * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/SocialHistoryChild" * name = "SocialHistoryChild" -* title = "Aboriginal and Torres Strait Islander Health Check - Social History Child" * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2024-04-02" +* date = "2025-03-14" * jurisdiction.coding = urn:iso:std:iso:3166#AU * item[+] diff --git a/input/fsh/715-Assessment-SubstanceUse.fsh b/input/fsh/715-Assessment-SubstanceUse.fsh index 4b4755c3..f68d3100 100644 --- a/input/fsh/715-Assessment-SubstanceUse.fsh +++ b/input/fsh/715-Assessment-SubstanceUse.fsh @@ -69,11 +69,10 @@ Description: "Substance Use sub-questionnaire for Aboriginal and Torres Strait I * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/SubstanceUse" * name = "SubstanceUse" -* title = "Aboriginal and Torres Strait Islander Health Check - Substance Use" * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2024-04-02" +* date = "2025-03-14" * jurisdiction.coding = urn:iso:std:iso:3166#AU // some linkIds maintained from full assessment questionnaire diff --git a/input/fsh/715-Consent.fsh b/input/fsh/715-Consent.fsh index 3db3dcc8..9c4ea94f 100644 --- a/input/fsh/715-Consent.fsh +++ b/input/fsh/715-Consent.fsh @@ -62,11 +62,10 @@ Description: "Consent sub-questionnaire for Aboriginal and Torres Strait Islande * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/Consent" * name = "Consent" -* title = "Aboriginal and Torres Strait Islander Health Check - Consent" * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2024-04-02" +* date = "2025-03-14" * jurisdiction.coding = urn:iso:std:iso:3166#AU * item[+] diff --git a/input/fsh/715-FinalisingHealthCheck.fsh b/input/fsh/715-FinalisingHealthCheck.fsh index 32a79478..8ed90a0e 100644 --- a/input/fsh/715-FinalisingHealthCheck.fsh +++ b/input/fsh/715-FinalisingHealthCheck.fsh @@ -59,11 +59,10 @@ Description: "Finalising the Health Check sub-questionnaire for Aboriginal and T * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/FinalisingHealthCheck" * name = "FinalisingHealthCheck" -* title = "Aboriginal and Torres Strait Islander Health Check - Finalising the Health Check" * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2024-04-02" +* date = "2025-03-14" * jurisdiction.coding = urn:iso:std:iso:3166#AU diff --git a/input/fsh/715-HealthPrioritiesSummary.fsh b/input/fsh/715-HealthPrioritiesSummary.fsh index 6878f01d..496b173e 100644 --- a/input/fsh/715-HealthPrioritiesSummary.fsh +++ b/input/fsh/715-HealthPrioritiesSummary.fsh @@ -153,11 +153,10 @@ Description: "Health Priorities, Actions And Follow-Up Summary sub-questionnaire * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/HealthPrioritiesSummary" * name = "HealthPrioritiesActionsAndFollowUpSummary" -* title = "Aboriginal and Torres Strait Islander Health Check - Health Priorities, Actions And Follow-Up Summary" * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2024-04-02" +* date = "2025-03-14" * jurisdiction.coding = urn:iso:std:iso:3166#AU // some linkIds maintained from full assessment questionnaire diff --git a/input/fsh/715-PatientDetails.fsh b/input/fsh/715-PatientDetails.fsh index 978e0adf..f4fa8ede 100644 --- a/input/fsh/715-PatientDetails.fsh +++ b/input/fsh/715-PatientDetails.fsh @@ -84,11 +84,10 @@ Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/PatientDetails" * name = "PatientDetails" -* title = "Aboriginal and Torres Strait Islander Health Check - Patient Details" * status = #draft * experimental = false * subjectType[+] = #Patient -* date = "2024-04-02" +* date = "2025-03-14" * jurisdiction.coding = urn:iso:std:iso:3166#AU * item[+] diff --git a/input/fsh/terminology.fsh b/input/fsh/terminology.fsh index f6e9b3c9..3fd91a16 100644 --- a/input/fsh/terminology.fsh +++ b/input/fsh/terminology.fsh @@ -11,7 +11,7 @@ Description: "The Questionnaire Item Control Extension code system defines conce * ^experimental = false * ^caseSensitive = true -* #context-display "context-display" "An display item rendered adjacent (horizontally or vertically) to the text of the parent item." +* #context-display "context-display" "Display item is rendered adjacent (horizontally or vertically) to the text of the parent item." ValueSet: YesNoNotAskedDeclined Id: YesNoNotAskedDeclined diff --git a/sushi-config.yaml b/sushi-config.yaml index 3482bf41..6b0a2c25 100644 --- a/sushi-config.yaml +++ b/sushi-config.yaml @@ -9,7 +9,7 @@ name: SmartForms title: Smart Forms description: Smart Forms FHIR Implementation Guide. status: draft # draft | active | retired | unknown -version: 0.2.0 +version: 0.3.0 fhirVersion: 4.0.1 # https://www.hl7.org/fhir/valueset-FHIR-version.html copyrightYear: 2022+ releaseLabel: ci-build # ci-build | draft | qa-preview | ballot | trial-use | release | update | normative+trial-use From e1b2ce2ac062fcd3495991df6f16a6f7ee0c779c Mon Sep 17 00:00:00 2001 From: liambarnes <69884018+liambarnes@users.noreply.github.com> Date: Tue, 1 Apr 2025 11:41:06 +1000 Subject: [PATCH 058/177] Capability statement additions --- ...iginalTorresStraitIslanderHealthCheck.json | 963 ++++++++++++++++++ ...bilityStatement-SmartFormsApplication.json | 562 ++++++++++ .../CapabilityStatement-SmartFormsServer.json | 123 +++ ...ntationGuide-csiro.fhir.au.smartforms.json | 12 +- input/fsh/capability.fsh | 456 +++++++-- ...iginalTorresStraitIslanderHealthCheck.json | 660 ------------ ...bilityStatement-SmartFormsApplication.json | 416 -------- .../CapabilityStatement-SmartFormsServer.json | 127 --- 8 files changed, 2027 insertions(+), 1292 deletions(-) create mode 100644 fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json create mode 100644 fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json create mode 100644 fsh-generated/resources/CapabilityStatement-SmartFormsServer.json delete mode 100644 input/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json delete mode 100644 input/resources/CapabilityStatement-SmartFormsApplication.json delete mode 100644 input/resources/CapabilityStatement-SmartFormsServer.json diff --git a/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json b/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json new file mode 100644 index 00000000..d777b6cb --- /dev/null +++ b/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json @@ -0,0 +1,963 @@ +{ + "resourceType": "CapabilityStatement", + "id": "SFLauncherServerAboriginalTorresStraitIslanderHealthCheck", + "url": "https://smartforms.csiro.au/ig/CapabilityStatement/SFLauncherServerAboriginalTorresStraitIslanderHealthCheck", + "name": "SmartFormsLauncherServerAboriginalTorresStraitIslanderHealthCheck", + "title": "Smart Forms Launcher Server for the Aboriginal and Torres Strait Islander Health Check", + "description": "This CapabilityStatement describes the expected capabilities for systems to launch and exchange data with the [Smart Forms client application](CapabilityStatement-SmartFormsApplication.html) to support the [Aboriginal and Torres Strait Islander Health Check](Questionnaire-AboriginalTorresStraitIslanderHealthCheck.html). It lists the server's conformance expectations for the resource types required as a launch context, resource types required to support prepopulation of the form, and QuestionnaireResponse requirements for managing form responses. These expectations include supported FHIR profiles, RESTful operations, and search parameters.", + "status": "draft", + "experimental": false, + "date": "2023-06-16", + "publisher": "AEHRC CSIRO", + "jurisdiction": [ + { + "coding": [ + { + "code": "AU", + "system": "urn:iso:std:iso:3166" + } + ] + } + ], + "kind": "requirements", + "instantiates": [ + "http://hl7.org.au/fhir/core/CapabilityStatement/au-core-responder", + "http://hl7.org/fhir/uv/sdc/CapabilityStatement/sdc-form-response-manager", + "http://hl7.org/fhir/uv/sdc/CapabilityStatement/sdc-form-archiver" + ], + "_instantiates": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHOULD" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHOULD" + } + ] + } + ], + "fhirVersion": "4.0.1", + "format": [ + "json" + ], + "_format": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + } + ], + "implementationGuide": [ + "http://hl7.org/fhir/smart-app-launch/ImplementationGuide/hl7.fhir.uv.smart-app-launch|2.2.0", + "http://hl7.org/fhir/uv/sdc/ImplementationGuide/hl7.fhir.uv.sdc" + ], + "_implementationGuide": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHOULD" + } + ] + } + ], + "rest": [ + { + "mode": "server", + "documentation": "Smart Forms Launcher Server **SHALL**:\r\n1. Support the [AU Core AllergyIntolerance resource profile](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-allergyintolerance.html)\r\n1. Support the [AU Core Condition resource profile](http://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-condition.html)\r\n1. Support the [AU Core Encounter resource profile](http://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-encounter.html)\r\n1. Support the [AU Core Immunization resource profile](https://build.fhir.org/ig/hl7au/au-fhir-core/StructureDefinition-au-core-immunization.html)\r\n1. Support the [AU Core Medication profile](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-medication.html)\r\n1. Support the [AU Core MedicationStatement profile](https://build.fhir.org/ig/hl7au/au-fhir-core/StructureDefinition-au-core-medicationstatement.html)\r\n1. Support the [AU Core Observation resource profiles](http://hl7.org.au/fhir/core/1.0.0/profiles-and-extensions.html#observation)\r\n1. Support the [AU Core Patient resource profile](http://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-patient.html)\r\n1. Support the [AU Core Practitioner resource profile](http://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-practitioner.html)\r\n1. Support the [SDC Standard Questionnaire Response profile](https://hl7.org/fhir/uv/sdc/2025Jan/StructureDefinition-sdc-questionnaireresponse.html)\r\n1. Implement the RESTful behavior according to the FHIR specification\r\n1. Support JSON source formats for all interactions", + "security": { + "cors": true, + "_cors": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + "service": [ + { + "coding": [ + { + "code": "SMART-on-FHIR", + "system": "http://terminology.hl7.org/CodeSystem/restful-security-service" + } + ], + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + } + ], + "description": "Smart Forms Launcher Server **SHALL**:\r\n1. Support CORS headers\r\n1. Support SMART on FHIR security services\r\n\r\nAlso see the [AU Core Security and Privacy](https://hl7.org.au/fhir/core/1.0.0/security.html) section for general considerations and recommendations." + }, + "resource": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + }, + { + "url": "required", + "valueString": "patient" + } + ] + } + ], + "type": "AllergyIntolerance", + "profile": "http://hl7.org.au/fhir/core/StructureDefinition/au-core-allergyintolerance", + "_profile": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + "documentation": "The server **SHALL** support the AllergyIntolerance resource, the AU Core profile and the conformance expectations for the AllergyIntolerance resource.", + "interaction": [ + { + "code": "search-type", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "code": "create", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "code": "update", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + } + ], + "searchParam": [ + { + "name": "patient", + "definition": "http://hl7.org/fhir/SearchParameter/clinical-patient", + "type": "reference", + "documentation": "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. \r\n\r\nThe server **SHALL** support both.", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + }, + { + "url": "required", + "valueString": "patient" + }, + { + "url": "required", + "valueString": "category" + } + ] + } + ], + "type": "Condition", + "profile": "http://hl7.org.au/fhir/core/StructureDefinition/au-core-condition", + "_profile": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + "documentation": "The server **SHALL** support the Condition resource, the AU Core profile and the conformance expectations for the Condition resource.", + "interaction": [ + { + "code": "search-type", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "code": "create", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "code": "update", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + } + ], + "searchParam": [ + { + "name": "patient", + "definition": "http://hl7.org/fhir/SearchParameter/clinical-patient", + "type": "reference", + "documentation": "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. \r\n\r\nThe server **SHALL** support both.", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "name": "category", + "definition": "http://hl7.org/fhir/SearchParameter/Condition-category", + "type": "token", + "documentation": "The client **SHALL** provide at least a code value and **MAY** provide both the system and code values. \r\n\r\nThe server **SHALL** support both.", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "type": "Encounter", + "profile": "http://hl7.org.au/fhir/core/StructureDefinition/au-core-encounter", + "_profile": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + "documentation": "The server **SHALL** support the Encounter resource, AU Core profile and the conformance expectations for the Encounter resource.", + "interaction": [ + { + "code": "read", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + }, + { + "url": "required", + "valueString": "patient" + }, + { + "url": "required", + "valueString": "status" + } + ] + } + ], + "type": "Immunization", + "profile": "http://hl7.org.au/fhir/core/StructureDefinition/au-core-immunization", + "_profile": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + "documentation": "The server **SHALL** support the Immunization resource, the AU Core profile and the conformance expectations for the Immunization resource.", + "interaction": [ + { + "code": "search-type", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "code": "create", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "code": "update", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + } + ], + "searchParam": [ + { + "name": "patient", + "definition": "http://hl7.org/fhir/SearchParameter/clinical-patient", + "type": "reference", + "documentation": "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. \r\n\r\nThe server **SHALL** support both.", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "name": "status", + "definition": "http://hl7.org/fhir/SearchParameter/Immunization-status", + "type": "token", + "documentation": "The client **SHALL** provide at least a code value and **MAY** provide both the system and code values. \r\n\r\nThe server **SHALL** support both.", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHOULD" + } + ], + "type": "Medication", + "profile": "http://hl7.org.au/fhir/core/StructureDefinition/au-core-medication", + "_profile": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHOULD" + } + ] + }, + "documentation": "If an external reference to a Medication resource is used in MedicationRequest, then the server **SHOULD** support the Medication resource, the AU Core profile and the conformance expectations for the Medication resource.", + "interaction": [ + { + "code": "read", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHOULD" + } + ] + }, + { + "code": "create", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHOULD" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + }, + { + "url": "required", + "valueString": "patient" + }, + { + "url": "required", + "valueString": "status" + } + ] + } + ], + "type": "MedicationStatement", + "profile": "http://hl7.org.au/fhir/core/StructureDefinition/au-core-medicationstatement", + "_profile": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHOULD" + } + ] + }, + "documentation": "The server **SHALL** support the MedicationStatement resource, the AU Core profile and the conformance expectations for the MedicationStatement resource.", + "interaction": [ + { + "code": "search-type", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + } + ], + "searchInclude": [ + "MedicationRequest:medication" + ], + "searchParam": [ + { + "name": "patient", + "definition": "http://hl7.org/fhir/SearchParameter/clinical-patient", + "type": "reference", + "documentation": "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. \r\n\r\nThe server **SHALL** support both.", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "name": "status", + "definition": "http://hl7.org/fhir/SearchParameter/medications-status", + "type": "token", + "documentation": "The client **SHALL** provide at least a code value and **MAY** provide both the system and code values.\r\n\r\nThe server **SHALL** support both.\r\n\r\nThe client **SHALL** support `multipleOr`.\r\n\r\nThe server **SHALL** support `multipleOr`.", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "name": "_include", + "type": "reference", + "documentation": "If a medication in a MedicationStatement resource is represented as an external Medication resource reference, the server **SHOULD** support the `_include` parameter for searching this element (`MedicationRequest:medication`).\r\n\r\nThe client **SHALL** support this method.", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHOULD" + } + ] + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + }, + { + "url": "required", + "valueString": "patient" + }, + { + "url": "required", + "valueString": "code" + } + ] + } + ], + "type": "Observation", + "supportedProfile": [ + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bloodpressure", + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyheight", + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyweight", + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-diagnosticresult-path", + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum|0.2.2-preview", + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-heartrate", + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-waistcircum", + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-smokingstatus" + ], + "_supportedProfile": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + } + ], + "documentation": "The server **SHALL** support the Observation resource, the AU Core profiles listed and the conformance expectations for the Observation resource.", + "interaction": [ + { + "code": "search-type", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "code": "create", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "code": "update", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + } + ], + "searchParam": [ + { + "name": "patient", + "definition": "http://hl7.org/fhir/SearchParameter/clinical-patient", + "type": "reference", + "documentation": "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. The server **SHALL** support both. ", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "name": "code", + "definition": "http://hl7.org/fhir/SearchParameter/clinical-code", + "type": "token", + "documentation": "The client **SHALL** provide at least a code value and **MAY** provide both the code and system values. The server **SHALL** support both.", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "type": "Patient", + "profile": "http://hl7.org.au/fhir/core/StructureDefinition/au-core-patient", + "_profile": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + "documentation": "The server **SHALL** support the Patient resource, AU Core profile and the conformance expectations for the Patient resource.", + "interaction": [ + { + "code": "read", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "code": "update", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "type": "Practitioner", + "profile": "http://hl7.org.au/fhir/core/StructureDefinition/au-core-practitioner", + "_profile": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + "documentation": "The server **SHALL** support the Practitioner resource, AU Core profile and the conformance expectations for the Practitioner resource.", + "interaction": [ + { + "code": "read", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + }, + { + "url": "required", + "valueString": "patient" + }, + { + "url": "required", + "valueString": "_count" + }, + { + "url": "required", + "valueString": "_sort" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + }, + { + "url": "required", + "valueString": "patient" + }, + { + "url": "required", + "valueString": "_count" + }, + { + "url": "required", + "valueString": "_sort" + }, + { + "url": "required", + "valueString": "questionnaire" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + }, + { + "url": "required", + "valueString": "patient" + }, + { + "url": "required", + "valueString": "_count" + }, + { + "url": "required", + "valueString": "_sort" + }, + { + "url": "required", + "valueString": "status" + } + ] + } + ], + "type": "QuestionnaireResponse", + "profile": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaireresponse", + "_profile": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + "documentation": "The server **SHALL** support the QuestionnaireResponse resource, Structured Data Capture profile and the conformance expectations for the QuestionnaireResponse resource.", + "interaction": [ + { + "code": "read", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "code": "search-type", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "code": "create", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "code": "update", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + } + ], + "versioning": "versioned-update", + "_versioning": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + "searchParam": [ + { + "name": "patient", + "definition": "http://hl7.org/fhir/SearchParameter/QuestionnaireResponse-patient", + "type": "reference", + "documentation": "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. The server **SHALL** support both. ", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "name": "questionnaire", + "definition": "http://hl7.org/fhir/SearchParameter/QuestionnaireResponse-questionnaire", + "type": "reference", + "documentation": "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. The server **SHALL** support both.

The client and server **SHALL** support chained search questionnaire.title using the :contains modifier.", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "name": "status", + "definition": "http://hl7.org/fhir/SearchParameter/QuestionnaireResponse-status", + "type": "token", + "documentation": "The client **SHALL** provide at least a code value and **MAY** provide both the code and system values. The server **SHALL** support both.", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "name": "_count", + "type": "number", + "documentation": "The client and server **SHALL** support search result limiting.", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "name": "_sort", + "type": "string", + "documentation": "The client and server **SHALL** support search result sorting by authored and **MAY** support other values.", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + } + ] + } + ] + } + ] +} diff --git a/fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json b/fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json new file mode 100644 index 00000000..d3535e3c --- /dev/null +++ b/fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json @@ -0,0 +1,562 @@ +{ + "resourceType": "CapabilityStatement", + "id": "SmartFormsApplication", + "url": "https://smartforms.csiro.au/ig/CapabilityStatement/SmartFormsApplication", + "name": "SmartFormsApplication", + "title": "Smart Forms Application", + "description": "This CapabilityStatement describes the capabilities of the Smart Forms Application. These capabilities include supported FHIR profiles, RESTful operations, and search parameters. It covers supported tasks such as SMART App launch context, prepopulation and completion of forms.", + "status": "draft", + "experimental": false, + "date": "2023-06-16", + "publisher": "AEHRC CSIRO", + "kind": "capability", + "instantiates": [ + "http://hl7.org/fhir/uv/sdc/CapabilityStatement/sdc-form-filler" + ], + "software": { + "name": "Smart Forms Application" + }, + "fhirVersion": "4.0.1", + "format": [ + "json" + ], + "implementationGuide": [ + "http://hl7.org/fhir/smart-app-launch/ImplementationGuide/hl7.fhir.uv.smart-app-launch" + ], + "rest": [ + { + "mode": "client", + "documentation": "The Smart Forms Application performs interactions to support SMART App Launch, form prepopulation and form filling. The interactions performed for prepopulation are not listed here as they can vary greatly and are defined in the Questionnaire instance.", + "security": { + "cors": true, + "service": [ + { + "coding": [ + { + "code": "SMART-on-FHIR", + "system": "http://terminology.hl7.org/CodeSystem/restful-security-service" + } + ] + } + ], + "description": "SMART App Launch supported to allow secure data exchange." + }, + "resource": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", + "extension": [ + { + "url": "required", + "valueString": "patient" + } + ] + } + ], + "type": "AllergyIntolerance", + "supportedProfile": [ + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-allergyintolerance" + ], + "documentation": "The client supports the AllergyIntolerance resource, the AU Core profile and the conformance expectations for the AllergyIntolerance resource.", + "interaction": [ + { + "code": "search-type" + }, + { + "code": "create" + }, + { + "code": "update" + } + ], + "searchParam": [ + { + "name": "patient", + "definition": "http://hl7.org/fhir/SearchParameter/clinical-patient", + "type": "reference", + "documentation": "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. \r\n\r\nThe server **SHALL** support both." + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", + "extension": [ + { + "url": "required", + "valueString": "patient" + }, + { + "url": "required", + "valueString": "category" + } + ] + } + ], + "type": "Condition", + "supportedProfile": [ + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-condition" + ], + "documentation": "The client supports the Condition resource, the AU Core profile and the conformance expectations for the Condition resource.", + "interaction": [ + { + "code": "search-type" + }, + { + "code": "create" + }, + { + "code": "update" + } + ], + "searchParam": [ + { + "name": "patient", + "definition": "http://hl7.org/fhir/SearchParameter/clinical-patient", + "type": "reference", + "documentation": "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. \r\n\r\nThe server **SHALL** support both." + }, + { + "name": "category", + "definition": "http://hl7.org/fhir/SearchParameter/Condition-category", + "type": "token", + "documentation": "The client **SHALL** provide at least a code value and **MAY** provide both the system and code values. \r\n\r\nThe server **SHALL** support both." + } + ] + }, + { + "type": "Encounter", + "supportedProfile": [ + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-encounter" + ], + "documentation": "The client supports the Encounter resource, the AU Core profile and the conformance expectations for the Encounter resource.", + "interaction": [ + { + "code": "read" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", + "extension": [ + { + "url": "required", + "valueString": "patient" + }, + { + "url": "required", + "valueString": "status" + } + ] + } + ], + "type": "Immunization", + "supportedProfile": [ + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-immunization" + ], + "documentation": "The client supports the Immunization resource, the AU Core profile and the conformance expectations for the Immunization resource.", + "interaction": [ + { + "code": "search-type" + }, + { + "code": "create" + }, + { + "code": "update" + } + ], + "searchParam": [ + { + "name": "patient", + "definition": "http://hl7.org/fhir/SearchParameter/clinical-patient", + "type": "reference", + "documentation": "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. \r\n\r\nThe server **SHALL** support both." + }, + { + "name": "status", + "definition": "http://hl7.org/fhir/SearchParameter/Immunization-status", + "type": "token", + "documentation": "The client **SHALL** provide at least a code value and **MAY** provide both the system and code values. \r\n\r\nThe server **SHALL** support both." + } + ] + }, + { + "type": "Medication", + "supportedProfile": [ + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-medication" + ], + "documentation": "The client supports the Medication resource, the AU Core profile and the conformance expectations for the Medication resource.", + "interaction": [ + { + "code": "read" + }, + { + "code": "create" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", + "extension": [ + { + "url": "required", + "valueString": "patient" + }, + { + "url": "required", + "valueString": "status" + } + ] + } + ], + "type": "MedicationStatement", + "supportedProfile": [ + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-medicationstatement" + ], + "documentation": "The client supports the MedicationStatement resource, the AU Core profile and the conformance expectations for the MedicationStatement resource.", + "interaction": [ + { + "code": "search-type" + } + ], + "searchInclude": [ + "MedicationRequest:medication" + ], + "searchParam": [ + { + "name": "patient", + "definition": "http://hl7.org/fhir/SearchParameter/clinical-patient", + "type": "reference", + "documentation": "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. \r\n\r\nThe server **SHALL** support both." + }, + { + "name": "status", + "definition": "http://hl7.org/fhir/SearchParameter/medications-status", + "type": "token", + "documentation": "The client **SHALL** provide at least a code value and **MAY** provide both the system and code values.\r\n\r\nThe server **SHALL** support both.\r\n\r\nThe client **SHALL** support `multipleOr`.\r\n\r\nThe server **SHALL** support `multipleOr`." + }, + { + "name": "_include", + "type": "reference", + "documentation": "If a medication in a MedicationStatement resource is represented as an external Medication resource reference, the server **SHOULD** support the `_include` parameter for searching this element (`MedicationRequest:medication`).\r\n\r\nThe client **SHALL** support this method." + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", + "extension": [ + { + "url": "required", + "valueString": "patient" + }, + { + "url": "required", + "valueString": "code" + } + ] + } + ], + "type": "Observation", + "supportedProfile": [ + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bloodpressure", + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyheight", + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyweight", + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-diagnosticresult-path", + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum|0.2.2-preview", + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-heartrate", + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-waistcircum", + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-smokingstatus" + ], + "documentation": "The client supports the Observation resource, the AU Core profiles listed and the conformance expectations for the Observation resource.", + "interaction": [ + { + "code": "search-type" + }, + { + "code": "create" + }, + { + "code": "update" + } + ], + "searchParam": [ + { + "name": "patient", + "definition": "http://hl7.org/fhir/SearchParameter/clinical-patient", + "type": "reference", + "documentation": "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. The server **SHALL** support both. " + }, + { + "name": "code", + "definition": "http://hl7.org/fhir/SearchParameter/clinical-code", + "type": "token", + "documentation": "The client **SHALL** provide at least a code value and **MAY** provide both the code and system values. The server **SHALL** support both." + } + ] + }, + { + "type": "Patient", + "supportedProfile": [ + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-patient" + ], + "documentation": "The client supports the Patient resource, AU Core profile and the conformance expectations for the Patient resource.", + "interaction": [ + { + "code": "read" + }, + { + "code": "update" + } + ] + }, + { + "type": "Practitioner", + "supportedProfile": [ + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-practitioner" + ], + "documentation": "The client supports the Practitioner resource, AU Core profile and the conformance expectations for the Practitioner resource.", + "interaction": [ + { + "code": "read" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", + "extension": [ + { + "url": "required", + "valueString": "url" + }, + { + "url": "required", + "valueString": "version" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", + "extension": [ + { + "url": "required", + "valueString": "_count" + }, + { + "url": "required", + "valueString": "_sort" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", + "extension": [ + { + "url": "required", + "valueString": "title" + }, + { + "url": "required", + "valueString": "_count" + }, + { + "url": "required", + "valueString": "_sort" + } + ] + } + ], + "type": "Questionnaire", + "profile": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire", + "documentation": "The client supports the Questionnaire resource, Structured Data Capture profile and the conformance expectations for the QuestionnaireResponse resource.", + "interaction": [ + { + "code": "search-type" + }, + { + "code": "create" + } + ], + "searchParam": [ + { + "name": "url", + "definition": "http://hl7.org/fhir/SearchParameter/Questionnaire-url", + "type": "uri" + }, + { + "name": "version", + "definition": "http://hl7.org/fhir/SearchParameter/Questionnaire-version", + "type": "token" + }, + { + "name": "title", + "definition": "http://hl7.org/fhir/SearchParameter/Questionnaire-title", + "type": "string", + "documentation": "The client supports search using the :contains modifier." + }, + { + "name": "_count", + "type": "number", + "documentation": "The client supports search result limiting." + }, + { + "name": "_sort", + "type": "string", + "documentation": "The client supports search result sorting by date and **MAY** support other values." + } + ], + "operation": [ + { + "name": "assemble", + "definition": "http://hl7.org/fhir/uv/sdc/OperationDefinition/Questionnaire-assemble" + }, + { + "name": "populate", + "definition": "http://hl7.org/fhir/uv/sdc/OperationDefinition/Questionnaire-populate" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", + "extension": [ + { + "url": "required", + "valueString": "patient" + }, + { + "url": "required", + "valueString": "_count" + }, + { + "url": "required", + "valueString": "_sort" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", + "extension": [ + { + "url": "required", + "valueString": "patient" + }, + { + "url": "required", + "valueString": "_count" + }, + { + "url": "required", + "valueString": "_sort" + }, + { + "url": "required", + "valueString": "questionnaire" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", + "extension": [ + { + "url": "required", + "valueString": "patient" + }, + { + "url": "required", + "valueString": "_count" + }, + { + "url": "required", + "valueString": "_sort" + }, + { + "url": "required", + "valueString": "status" + } + ] + } + ], + "type": "QuestionnaireResponse", + "profile": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaireresponse", + "documentation": "The client supports the QuestionnaireResponse resource, Structured Data Capture profile and the conformance expectations for the QuestionnaireResponse resource.", + "interaction": [ + { + "code": "read" + }, + { + "code": "search-type" + }, + { + "code": "create" + }, + { + "code": "update" + } + ], + "versioning": "versioned-update", + "searchParam": [ + { + "name": "patient", + "definition": "http://hl7.org/fhir/SearchParameter/QuestionnaireResponse-patient", + "type": "reference", + "documentation": "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. The server **SHALL** support both. " + }, + { + "name": "questionnaire", + "definition": "http://hl7.org/fhir/SearchParameter/QuestionnaireResponse-questionnaire", + "type": "reference", + "documentation": "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. The server **SHALL** support both.

The client and server **SHALL** support chained search questionnaire.title using the :contains modifier." + }, + { + "name": "status", + "definition": "http://hl7.org/fhir/SearchParameter/QuestionnaireResponse-status", + "type": "token", + "documentation": "The client **SHALL** provide at least a code value and **MAY** provide both the code and system values. The server **SHALL** support both." + }, + { + "name": "_count", + "type": "number", + "documentation": "The client and server **SHALL** support search result limiting." + }, + { + "name": "_sort", + "type": "string", + "documentation": "The client and server **SHALL** support search result sorting by authored and **MAY** support other values." + } + ] + }, + { + "type": "ValueSet", + "profile": "http://hl7.org/fhir/StructureDefinition/ValueSet", + "documentation": "The client supports the ValueSet resource and the conformance expectations for the ValueSet resource.", + "operation": [ + { + "name": "expand", + "definition": "http://hl7.org/fhir/OperationDefinition/ValueSet-expand" + } + ] + } + ], + "interaction": [ + { + "code": "transaction" + }, + { + "code": "batch" + } + ] + } + ] +} diff --git a/fsh-generated/resources/CapabilityStatement-SmartFormsServer.json b/fsh-generated/resources/CapabilityStatement-SmartFormsServer.json new file mode 100644 index 00000000..ae7ed7f7 --- /dev/null +++ b/fsh-generated/resources/CapabilityStatement-SmartFormsServer.json @@ -0,0 +1,123 @@ +{ + "resourceType": "CapabilityStatement", + "id": "SmartFormsServer", + "url": "https://smartforms.csiro.au/ig/CapabilityStatement/SmartFormsServer", + "name": "SmartFormsServer", + "title": "Smart Forms Server", + "description": "This CapabilityStatement describes the capabilities of the Smart Forms Server. The Smart Forms Server provides a definitional repository of resources that a client application can retrieve for use in a Smart Forms context. The capabilities listed include supported FHIR profiles, RESTful operations, and search parameters.", + "status": "draft", + "experimental": false, + "date": "2023-06-16", + "publisher": "AEHRC CSIRO", + "kind": "capability", + "instantiates": [ + "http://hl7.org/fhir/uv/sdc/CapabilityStatement/sdc-form-manager" + ], + "software": { + "name": "Smart Forms Server" + }, + "fhirVersion": "4.0.1", + "format": [ + "json", + "xml" + ], + "rest": [ + { + "mode": "server", + "documentation": "The Smart Forms Server provides interactions for hosting Questionnaire resources and the assembly of modular Questionnaires.", + "resource": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", + "extension": [ + { + "url": "required", + "valueString": "url" + }, + { + "url": "required", + "valueString": "version" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", + "extension": [ + { + "url": "required", + "valueString": "_count" + }, + { + "url": "required", + "valueString": "_sort" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", + "extension": [ + { + "url": "required", + "valueString": "title" + }, + { + "url": "required", + "valueString": "_count" + }, + { + "url": "required", + "valueString": "_sort" + } + ] + } + ], + "type": "Questionnaire", + "profile": "http://hl7.org/fhir/StructureDefinition/Questionnaire", + "supportedProfile": [ + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" + ], + "interaction": [ + { + "code": "search-type" + } + ], + "searchParam": [ + { + "name": "url", + "definition": "http://hl7.org/fhir/SearchParameter/Questionnaire-url", + "type": "uri" + }, + { + "name": "version", + "definition": "http://hl7.org/fhir/SearchParameter/Questionnaire-version", + "type": "token" + }, + { + "name": "title", + "definition": "http://hl7.org/fhir/SearchParameter/Questionnaire-title", + "type": "string", + "documentation": "The client supports search using the :contains modifier." + }, + { + "name": "_count", + "type": "number", + "documentation": "The server supports search result limiting." + }, + { + "name": "_sort", + "type": "string", + "documentation": "The server supports search result sorting by date and **MAY** support other values." + } + ], + "operation": [ + { + "name": "assemble", + "definition": "http://hl7.org/fhir/uv/sdc/OperationDefinition/Questionnaire-assemble" + } + ] + } + ] + } + ] +} diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index 5840fec8..79c4ba31 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -444,25 +444,25 @@ "reference": { "reference": "CapabilityStatement/SmartFormsApplication" }, + "name": "Smart Forms Application", "description": "This CapabilityStatement describes the capabilities of the Smart Forms Application. These capabilities include supported FHIR profiles, RESTful operations, and search parameters. It covers supported tasks such as SMART App launch context, prepopulation and completion of forms.", - "exampleBoolean": false, - "name": "Smart Forms Application" + "exampleBoolean": false }, { "reference": { "reference": "CapabilityStatement/SFLauncherServerAboriginalTorresStraitIslanderHealthCheck" }, + "name": "Smart Forms Launcher Server for the Aboriginal and Torres Strait Islander Health Check", "description": "This CapabilityStatement describes the expected capabilities for systems to launch and exchange data with the [Smart Forms client application](CapabilityStatement-SmartFormsApplication.html) to support the [Aboriginal and Torres Strait Islander Health Check](Questionnaire-AboriginalTorresStraitIslanderHealthCheck.html). It lists the server's conformance expectations for the resource types required as a launch context, resource types required to support prepopulation of the form, and QuestionnaireResponse requirements for managing form responses. These expectations include supported FHIR profiles, RESTful operations, and search parameters.", - "exampleBoolean": false, - "name": "Smart Forms Launcher Server for the Aboriginal and Torres Strait Islander Health Check" + "exampleBoolean": false }, { "reference": { "reference": "CapabilityStatement/SmartFormsServer" }, + "name": "Smart Forms Server", "description": "This CapabilityStatement describes the capabilities of the Smart Forms Server. The Smart Forms Server provides a definitional repository of resources that a client application can retrieve for use in a Smart Forms context. The capabilities listed include supported FHIR profiles, RESTful operations, and search parameters.", - "exampleBoolean": false, - "name": "Smart Forms Server" + "exampleBoolean": false }, { "reference": { diff --git a/input/fsh/capability.fsh b/input/fsh/capability.fsh index 5fd4cc46..101eedce 100644 --- a/input/fsh/capability.fsh +++ b/input/fsh/capability.fsh @@ -1,4 +1,4 @@ -/* + Instance: SFLauncherServerAboriginalTorresStraitIslanderHealthCheck InstanceOf: CapabilityStatement Usage: #definition @@ -12,7 +12,7 @@ Usage: #definition * jurisdiction = urn:iso:std:iso:3166#AU * kind = #requirements -* instantiates[+] = "http://hl7.org.au/fhir/core/CapabilityStatement/au-core-server" +* instantiates[+] = "http://hl7.org.au/fhir/core/CapabilityStatement/au-core-responder" * instantiates[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * instantiates[=].extension[0].valueCode = #SHALL * instantiates[+] = "http://hl7.org/fhir/uv/sdc/CapabilityStatement/sdc-form-response-manager" @@ -28,7 +28,7 @@ Usage: #definition * format[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * format[=].extension[0].valueCode = #SHALL -* implementationGuide[+] = "http://hl7.org/fhir/smart-app-launch/ImplementationGuide/hl7.fhir.uv.smart-app-launch" +* implementationGuide[+] = "http://hl7.org/fhir/smart-app-launch/ImplementationGuide/hl7.fhir.uv.smart-app-launch|2.2.0" * implementationGuide[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * implementationGuide[=].extension[0].valueCode = #SHALL * implementationGuide[+] = "http://hl7.org/fhir/uv/sdc/ImplementationGuide/hl7.fhir.uv.sdc" @@ -36,7 +36,19 @@ Usage: #definition * implementationGuide[=].extension[0].valueCode = #SHOULD * rest.mode = #server -* rest.documentation = "

A Smart Forms Launcher Server SHALL:

  1. Support the AU Core Patient resource profile.
  2. Support the AU Core Practitioner resource profile.
  3. Support the AU Core Encounter resource profile.
  4. Support the AU Core Condition resource profile.
  5. Support the AU Core Observation resource profiles.
  6. Implement the RESTful behavior according to the FHIR specification.
  7. Support JSON source formats for all interactions.
" +* rest.documentation = "Smart Forms Launcher Server **SHALL**: +1. Support the [AU Core AllergyIntolerance resource profile](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-allergyintolerance.html) +1. Support the [AU Core Condition resource profile](http://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-condition.html) +1. Support the [AU Core Encounter resource profile](http://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-encounter.html) +1. Support the [AU Core Immunization resource profile](https://build.fhir.org/ig/hl7au/au-fhir-core/StructureDefinition-au-core-immunization.html) +1. Support the [AU Core Medication profile](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-medication.html) +1. Support the [AU Core MedicationStatement profile](https://build.fhir.org/ig/hl7au/au-fhir-core/StructureDefinition-au-core-medicationstatement.html) +1. Support the [AU Core Observation resource profiles](http://hl7.org.au/fhir/core/1.0.0/profiles-and-extensions.html#observation) +1. Support the [AU Core Patient resource profile](http://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-patient.html) +1. Support the [AU Core Practitioner resource profile](http://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-practitioner.html) +1. Support the [SDC Standard Questionnaire Response profile](https://hl7.org/fhir/uv/sdc/2025Jan/StructureDefinition-sdc-questionnaireresponse.html) +1. Implement the RESTful behavior according to the FHIR specification +1. Support JSON source formats for all interactions" * rest.security.cors = true * rest.security.cors.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" @@ -44,41 +56,97 @@ Usage: #definition * rest.security.service = http://terminology.hl7.org/CodeSystem/restful-security-service#SMART-on-FHIR * rest.security.service.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.security.service.extension[0].valueCode = #SHALL -* rest.security.description = "

A Smart Forms Launcher Server SHALL:

  1. Support CORS headers
  2. Support SMART on FHIR security services

See the Structured Data Capture Security Details section for general considerations and recommendations.

" +* rest.security.description = "Smart Forms Launcher Server **SHALL**: +1. Support CORS headers +1. Support SMART on FHIR security services + +Also see the [AU Core Security and Privacy](https://hl7.org.au/fhir/core/1.0.0/security.html) section for general considerations and recommendations." +//AllergyIntolerance * rest.resource[+].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].extension[0].valueCode = #SHALL -* rest.resource[=].type = #Patient -* rest.resource[=].profile = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-patient" +* rest.resource[=].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination" +* rest.resource[=].extension[=].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].extension[=].extension[=].valueCode = #SHALL +* rest.resource[=].extension[=].extension[+].url = "required" +* rest.resource[=].extension[=].extension[=].valueString = "patient" +* rest.resource[=].type = #AllergyIntolerance +* rest.resource[=].profile = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-allergyintolerance" * rest.resource[=].profile.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].profile.extension[0].valueCode = #SHALL -* rest.resource[=].documentation = "

The server SHALL support the Patient resource, AU Core profile and the conformance expectations for the Patient resource.

" -* rest.resource[=].interaction[0].code = #read +* rest.resource[=].documentation = "The server **SHALL** support the AllergyIntolerance resource, the AU Core profile and the conformance expectations for the AllergyIntolerance resource." +* rest.resource[=].interaction[0].code = #search-type * rest.resource[=].interaction[0].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[0].extension[0].valueCode = #SHALL +* rest.resource[=].interaction[+].code = #create +* rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].interaction[=].extension[0].valueCode = #SHALL +* rest.resource[=].interaction[+].code = #update +* rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].interaction[=].extension[0].valueCode = #SHALL +* rest.resource[=].searchParam[+].name = "patient" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" +* rest.resource[=].searchParam[=].type = #reference +* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. +The server **SHALL** support both." +* rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL + +//Condition * rest.resource[+].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].extension[0].valueCode = #SHALL -* rest.resource[=].type = #Practitioner -* rest.resource[=].profile = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-practitioner" +* rest.resource[=].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination" +* rest.resource[=].extension[=].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].extension[=].extension[=].valueCode = #SHALL +* rest.resource[=].extension[=].extension[+].url = "required" +* rest.resource[=].extension[=].extension[=].valueString = "patient" +* rest.resource[=].extension[=].extension[+].url = "required" +* rest.resource[=].extension[=].extension[=].valueString = "category" +* rest.resource[=].type = #Condition +* rest.resource[=].profile = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-condition" * rest.resource[=].profile.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].profile.extension[0].valueCode = #SHALL -* rest.resource[=].documentation = "

The server SHALL support the Practitioner resource, AU Core profile and the conformance expectations for the Practitioner resource.

" -* rest.resource[=].interaction[0].code = #read +* rest.resource[=].documentation = "The server **SHALL** support the Condition resource, the AU Core profile and the conformance expectations for the Condition resource." +* rest.resource[=].interaction[0].code = #search-type * rest.resource[=].interaction[0].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[0].extension[0].valueCode = #SHALL +* rest.resource[=].interaction[+].code = #create +* rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].interaction[=].extension[0].valueCode = #SHALL +* rest.resource[=].interaction[+].code = #update +* rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].interaction[=].extension[0].valueCode = #SHALL +* rest.resource[=].searchParam[+].name = "patient" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" +* rest.resource[=].searchParam[=].type = #reference +* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. + +The server **SHALL** support both." +* rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL +* rest.resource[=].searchParam[+].name = "category" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Condition-category" +* rest.resource[=].searchParam[=].type = #token +* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a code value and **MAY** provide both the system and code values. + +The server **SHALL** support both." +* rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL +//Encounter * rest.resource[+].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].extension[0].valueCode = #SHALL * rest.resource[=].type = #Encounter * rest.resource[=].profile = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-encounter" * rest.resource[=].profile.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].profile.extension[0].valueCode = #SHALL -* rest.resource[=].documentation = "

The server SHALL support the Encounter resource, AU Core profile and the conformance expectations for the Encounter resource.

" +* rest.resource[=].documentation = "The server **SHALL** support the Encounter resource, AU Core profile and the conformance expectations for the Encounter resource." * rest.resource[=].interaction[0].code = #read * rest.resource[=].interaction[0].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[0].extension[0].valueCode = #SHALL +//Immunization * rest.resource[+].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].extension[0].valueCode = #SHALL * rest.resource[=].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination" @@ -87,28 +155,101 @@ Usage: #definition * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "patient" * rest.resource[=].extension[=].extension[+].url = "required" -* rest.resource[=].extension[=].extension[=].valueString = "clinical-status" -* rest.resource[=].type = #Condition -* rest.resource[=].profile = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-condition" +* rest.resource[=].extension[=].extension[=].valueString = "status" +* rest.resource[=].type = #Immunization +* rest.resource[=].profile = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-immunization" * rest.resource[=].profile.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].profile.extension[0].valueCode = #SHALL -* rest.resource[=].documentation = "

The server SHALL support the Condition resource, the AU Core profile and the conformance expectations for the Condition resource.

" +* rest.resource[=].documentation = "The server **SHALL** support the Immunization resource, the AU Core profile and the conformance expectations for the Immunization resource." +* rest.resource[=].interaction[0].code = #search-type +* rest.resource[=].interaction[0].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].interaction[0].extension[0].valueCode = #SHALL +* rest.resource[=].interaction[+].code = #create +* rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].interaction[=].extension[0].valueCode = #SHALL +* rest.resource[=].interaction[+].code = #update +* rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].interaction[=].extension[0].valueCode = #SHALL +* rest.resource[=].searchParam[+].name = "patient" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" +* rest.resource[=].searchParam[=].type = #reference +* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. + +The server **SHALL** support both." +* rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL +* rest.resource[=].searchParam[+].name = "status" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Immunization-status" +* rest.resource[=].searchParam[=].type = #token +* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a code value and **MAY** provide both the system and code values. + +The server **SHALL** support both." +* rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL + +//Medication +* rest.resource[+].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].extension[0].valueCode = #SHOULD +* rest.resource[=].type = #Medication +* rest.resource[=].profile = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-medication" +* rest.resource[=].profile.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].profile.extension[0].valueCode = #SHOULD +* rest.resource[=].documentation = "If an external reference to a Medication resource is used in MedicationRequest, then the server **SHOULD** support the Medication resource, the AU Core profile and the conformance expectations for the Medication resource." +* rest.resource[=].interaction[0].code = #read +* rest.resource[=].interaction[0].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].interaction[0].extension[0].valueCode = #SHOULD +* rest.resource[=].interaction[+].code = #create +* rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].interaction[=].extension[0].valueCode = #SHALL + +//MedicationStatement +* rest.resource[+].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].extension[0].valueCode = #SHOULD +* rest.resource[=].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination" +* rest.resource[=].extension[=].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].extension[=].extension[=].valueCode = #SHALL +* rest.resource[=].extension[=].extension[+].url = "required" +* rest.resource[=].extension[=].extension[=].valueString = "patient" +* rest.resource[=].extension[=].extension[+].url = "required" +* rest.resource[=].extension[=].extension[=].valueString = "status" +* rest.resource[=].type = #MedicationStatement +* rest.resource[=].profile = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-medicationstatement" +* rest.resource[=].profile.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].profile.extension[0].valueCode = #SHOULD +* rest.resource[=].documentation = "The server **SHALL** support the MedicationStatement resource, the AU Core profile and the conformance expectations for the MedicationStatement resource." * rest.resource[=].interaction[0].code = #search-type * rest.resource[=].interaction[0].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[0].extension[0].valueCode = #SHALL +* rest.resource[=].searchInclude[+] = "MedicationRequest:medication" * rest.resource[=].searchParam[+].name = "patient" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" * rest.resource[=].searchParam[=].type = #reference -* rest.resource[=].searchParam[=].documentation = "

The client SHALL provide at least a id value and MAY provide both the Type and id values. The server SHALL support both.

" +* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. + +The server **SHALL** support both." * rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL -* rest.resource[=].searchParam[+].name = "clinical-status" -* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Condition-clinical-status" +* rest.resource[=].searchParam[+].name = "status" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/medications-status" * rest.resource[=].searchParam[=].type = #token -* rest.resource[=].searchParam[=].documentation = "

The client SHALL provide at least a code value and MAY provide both the code and system values. The server SHALL support both.

" +* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a code value and **MAY** provide both the system and code values. + +The server **SHALL** support both. + +The client **SHALL** support `multipleOr`. + +The server **SHALL** support `multipleOr`." * rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL +* rest.resource[=].searchParam[+].name = "_include" +* rest.resource[=].searchParam[=].type = #reference +* rest.resource[=].searchParam[=].documentation = "If a medication in a MedicationStatement resource is represented as an external Medication resource reference, the server **SHOULD** support the `_include` parameter for searching this element (`MedicationRequest:medication`). + +The client **SHALL** support this method." +* rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].searchParam[=].extension[0].valueCode = #SHOULD +//Observation * rest.resource[+].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].extension[=].valueCode = #SHALL * rest.resource[=].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination" @@ -118,12 +259,14 @@ Usage: #definition * rest.resource[=].extension[=].extension[=].valueString = "patient" * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "code" +/* * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "_count" * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "_sort" +*/ * rest.resource[=].type = #Observation -* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-smokingstatus" +* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bloodpressure" * rest.resource[=].supportedProfile[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].supportedProfile[=].extension[0].valueCode = #SHALL * rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyheight" @@ -132,48 +275,84 @@ Usage: #definition * rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyweight" * rest.resource[=].supportedProfile[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].supportedProfile[=].extension[0].valueCode = #SHALL -* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum|0.2.2-preview" +* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-diagnosticresult-path" * rest.resource[=].supportedProfile[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].supportedProfile[=].extension[0].valueCode = #SHALL -* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-waistcircum" +* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum|0.2.2-preview" * rest.resource[=].supportedProfile[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].supportedProfile[=].extension[0].valueCode = #SHALL -* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bloodpressure" +* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-heartrate" * rest.resource[=].supportedProfile[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].supportedProfile[=].extension[0].valueCode = #SHALL -* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-heartrate" +* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-waistcircum" * rest.resource[=].supportedProfile[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].supportedProfile[=].extension[0].valueCode = #SHALL -* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-lipid-result|0.2.2-preview" +* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-smokingstatus" * rest.resource[=].supportedProfile[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].supportedProfile[=].extension[0].valueCode = #SHALL -* rest.resource[=].documentation = "

The server SHALL support the Observation resource, the AU Core profiles listed and the conformance expectations for the Observation resource.

" +* rest.resource[=].documentation = "The server **SHALL** support the Observation resource, the AU Core profiles listed and the conformance expectations for the Observation resource." * rest.resource[=].interaction[0].code = #search-type * rest.resource[=].interaction[0].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[0].extension[0].valueCode = #SHALL +* rest.resource[=].interaction[+].code = #create +* rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].interaction[=].extension[0].valueCode = #SHALL +* rest.resource[=].interaction[+].code = #update +* rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].interaction[=].extension[0].valueCode = #SHALL * rest.resource[=].searchParam[+].name = "patient" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" * rest.resource[=].searchParam[=].type = #reference -* rest.resource[=].searchParam[=].documentation = "

The client SHALL provide at least a id value and MAY provide both the Type and id values. The server SHALL support both.

" +* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. The server **SHALL** support both. " * rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL * rest.resource[=].searchParam[+].name = "code" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-code" * rest.resource[=].searchParam[=].type = #token -* rest.resource[=].searchParam[=].documentation = "

The client SHALL provide at least a code value and MAY provide both the code and system values. The server SHALL support both.

" +* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a code value and **MAY** provide both the code and system values. The server **SHALL** support both." * rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL +/* * rest.resource[=].searchParam[+].name = "_count" * rest.resource[=].searchParam[=].type = #number -* rest.resource[=].searchParam[=].documentation = "

The client and server SHALL support search result limiting.

" +* rest.resource[=].searchParam[=].documentation = "The client and server **SHALL** support search result limiting." * rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL * rest.resource[=].searchParam[+].name = "_sort" * rest.resource[=].searchParam[=].type = #string -* rest.resource[=].searchParam[=].documentation = "

The client and server SHALL support search result sorting by date and MAY support other values.

" +* rest.resource[=].searchParam[=].documentation = "The client and server **SHALL** support search result sorting by date and **MAY** support other values." * rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL +*/ +//Patient +* rest.resource[+].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].extension[0].valueCode = #SHALL +* rest.resource[=].type = #Patient +* rest.resource[=].profile = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-patient" +* rest.resource[=].profile.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].profile.extension[0].valueCode = #SHALL +* rest.resource[=].documentation = "The server **SHALL** support the Patient resource, AU Core profile and the conformance expectations for the Patient resource." +* rest.resource[=].interaction[0].code = #read +* rest.resource[=].interaction[0].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].interaction[0].extension[0].valueCode = #SHALL +* rest.resource[=].interaction[+].code = #update +* rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].interaction[=].extension[0].valueCode = #SHALL + +//Practitioner +* rest.resource[+].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].extension[0].valueCode = #SHALL +* rest.resource[=].type = #Practitioner +* rest.resource[=].profile = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-practitioner" +* rest.resource[=].profile.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].profile.extension[0].valueCode = #SHALL +* rest.resource[=].documentation = "The server **SHALL** support the Practitioner resource, AU Core profile and the conformance expectations for the Practitioner resource." +* rest.resource[=].interaction[0].code = #read +* rest.resource[=].interaction[0].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].interaction[0].extension[0].valueCode = #SHALL + +//QuestionnaireResponse * rest.resource[+].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].extension[=].valueCode = #SHALL * rest.resource[=].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination" @@ -211,7 +390,7 @@ Usage: #definition * rest.resource[=].profile = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaireresponse" * rest.resource[=].profile.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].profile.extension[0].valueCode = #SHALL -* rest.resource[=].documentation = "

The server SHALL support the QuestionnaireResponse resource, Structured Data Capture profile and the conformance expectations for the QuestionnaireResponse resource.

" +* rest.resource[=].documentation = "The server **SHALL** support the QuestionnaireResponse resource, Structured Data Capture profile and the conformance expectations for the QuestionnaireResponse resource." * rest.resource[=].interaction[+].code = #read * rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[=].extension[0].valueCode = #SHALL @@ -224,37 +403,35 @@ Usage: #definition * rest.resource[=].interaction[+].code = #update * rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[=].extension[0].valueCode = #SHALL - * rest.resource[=].versioning = #versioned-update * rest.resource[=].versioning.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].versioning.extension[0].valueCode = #SHALL - * rest.resource[=].searchParam[+].name = "patient" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/QuestionnaireResponse-patient" * rest.resource[=].searchParam[=].type = #reference -* rest.resource[=].searchParam[=].documentation = "

The client SHALL provide at least a id value and MAY provide both the Type and id values. The server SHALL support both.

" +* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. The server **SHALL** support both. " * rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL * rest.resource[=].searchParam[+].name = "questionnaire" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/QuestionnaireResponse-questionnaire" * rest.resource[=].searchParam[=].type = #reference -* rest.resource[=].searchParam[=].documentation = "

The client SHALL provide at least a id value and MAY provide both the Type and id values. The server SHALL support both.

The client and server SHALL support chained search questionnaire.title using the :contains modifier.

" +* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. The server **SHALL** support both.

The client and server **SHALL** support chained search questionnaire.title using the :contains modifier." * rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL * rest.resource[=].searchParam[+].name = "status" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/QuestionnaireResponse-status" * rest.resource[=].searchParam[=].type = #token -* rest.resource[=].searchParam[=].documentation = "

The client SHALL provide at least a code value and MAY provide both the code and system values. The server SHALL support both.

" +* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a code value and **MAY** provide both the code and system values. The server **SHALL** support both." * rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL * rest.resource[=].searchParam[+].name = "_count" * rest.resource[=].searchParam[=].type = #number -* rest.resource[=].searchParam[=].documentation = "

The client and server SHALL support search result limiting.

" +* rest.resource[=].searchParam[=].documentation = "The client and server **SHALL** support search result limiting." * rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL * rest.resource[=].searchParam[+].name = "_sort" * rest.resource[=].searchParam[=].type = #string -* rest.resource[=].searchParam[=].documentation = "

The client and server SHALL support search result sorting by authored and MAY support other values.

" +* rest.resource[=].searchParam[=].documentation = "The client and server **SHALL** support search result sorting by authored and **MAY** support other values." * rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL @@ -314,13 +491,13 @@ Usage: #definition * rest.resource[=].searchParam[+].name = "title" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Questionnaire-title" * rest.resource[=].searchParam[=].type = #string -* rest.resource[=].searchParam[=].documentation = "

The client supports search using the :contains modifier.

" +* rest.resource[=].searchParam[=].documentation = "The client supports search using the :contains modifier." * rest.resource[=].searchParam[+].name = "_count" * rest.resource[=].searchParam[=].type = #number -* rest.resource[=].searchParam[=].documentation = "

The server supports search result limiting.

" +* rest.resource[=].searchParam[=].documentation = "The server supports search result limiting." * rest.resource[=].searchParam[+].name = "_sort" * rest.resource[=].searchParam[=].type = #string -* rest.resource[=].searchParam[=].documentation = "

The server supports search result sorting by date and MAY support other values.

" +* rest.resource[=].searchParam[=].documentation = "The server supports search result sorting by date and **MAY** support other values." * rest.resource[=].operation[0].name = "assemble" * rest.resource[=].operation[0].definition = "http://hl7.org/fhir/uv/sdc/OperationDefinition/Questionnaire-assemble" @@ -348,74 +525,182 @@ Usage: #definition * rest.security.service = http://terminology.hl7.org/CodeSystem/restful-security-service#SMART-on-FHIR * rest.security.description = "SMART App Launch supported to allow secure data exchange." -* rest.resource[+].type = #Patient -* rest.resource[=].profile = "http://hl7.org/fhir/StructureDefinition/Patient" -* rest.resource[=].supportedProfile = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-patient" -* rest.resource[=].interaction[0].code = #read -* rest.resource[+].type = #Practitioner -* rest.resource[=].profile = "http://hl7.org/fhir/StructureDefinition/Practitioner" -* rest.resource[=].supportedProfile = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-practitioner" -* rest.resource[=].interaction[0].code = #read -* rest.resource[+].type = #Encounter -* rest.resource[=].profile = "http://hl7.org/fhir/StructureDefinition/Encounter" -* rest.resource[=].supportedProfile = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-encounter" -* rest.resource[=].interaction[0].code = #read +//AllergyIntolerance +* rest.resource[+].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination" +* rest.resource[=].extension[=].extension[+].url = "required" +* rest.resource[=].extension[=].extension[=].valueString = "patient" +* rest.resource[=].type = #AllergyIntolerance +* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-allergyintolerance" +* rest.resource[=].documentation = "The client supports the AllergyIntolerance resource, the AU Core profile and the conformance expectations for the AllergyIntolerance resource." +* rest.resource[=].interaction[0].code = #search-type +* rest.resource[=].interaction[+].code = #create +* rest.resource[=].interaction[+].code = #update +* rest.resource[=].searchParam[+].name = "patient" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" +* rest.resource[=].searchParam[=].type = #reference +* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. +The server **SHALL** support both." +//Condition * rest.resource[+].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination" * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "patient" * rest.resource[=].extension[=].extension[+].url = "required" -* rest.resource[=].extension[=].extension[=].valueString = "clinical-status" +* rest.resource[=].extension[=].extension[=].valueString = "category" * rest.resource[=].type = #Condition -* rest.resource[=].profile = "http://hl7.org/fhir/StructureDefinition/Condition" * rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-condition" +* rest.resource[=].documentation = "The client supports the Condition resource, the AU Core profile and the conformance expectations for the Condition resource." * rest.resource[=].interaction[0].code = #search-type -* rest.resource[=].searchParam[0].name = "patient" -* rest.resource[=].searchParam[0].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" -* rest.resource[=].searchParam[0].type = #reference -* rest.resource[=].searchParam[0].documentation = "

The client SHALL provide at least a id value and MAY provide both the Type and id values. The server SHALL support both.

" -* rest.resource[=].searchParam[+].name = "clinical-status" -* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Condition-clinical-status" +* rest.resource[=].interaction[+].code = #create +* rest.resource[=].interaction[+].code = #update +* rest.resource[=].searchParam[+].name = "patient" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" +* rest.resource[=].searchParam[=].type = #reference +* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. + +The server **SHALL** support both." +* rest.resource[=].searchParam[+].name = "category" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Condition-category" * rest.resource[=].searchParam[=].type = #token -* rest.resource[=].searchParam[=].documentation = "

The client SHALL provide at least a code value and MAY provide both the code and system values. The server SHALL support both.

" +* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a code value and **MAY** provide both the system and code values. + +The server **SHALL** support both." +//Encounter +* rest.resource[+].type = #Encounter +* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-encounter" +* rest.resource[=].documentation = "The client supports the Encounter resource, the AU Core profile and the conformance expectations for the Encounter resource." +* rest.resource[=].interaction[0].code = #read + + +//Immunization +* rest.resource[+].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination" +* rest.resource[=].extension[=].extension[+].url = "required" +* rest.resource[=].extension[=].extension[=].valueString = "patient" +* rest.resource[=].extension[=].extension[+].url = "required" +* rest.resource[=].extension[=].extension[=].valueString = "status" +* rest.resource[=].type = #Immunization +* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-immunization" +* rest.resource[=].documentation = "The client supports the Immunization resource, the AU Core profile and the conformance expectations for the Immunization resource." +* rest.resource[=].interaction[0].code = #search-type +* rest.resource[=].interaction[+].code = #create +* rest.resource[=].interaction[+].code = #update +* rest.resource[=].searchParam[+].name = "patient" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" +* rest.resource[=].searchParam[=].type = #reference +* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. + +The server **SHALL** support both." +* rest.resource[=].searchParam[+].name = "status" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Immunization-status" +* rest.resource[=].searchParam[=].type = #token +* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a code value and **MAY** provide both the system and code values. + +The server **SHALL** support both." + +//Medication +* rest.resource[+].type = #Medication +* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-medication" +* rest.resource[=].documentation = "The client supports the Medication resource, the AU Core profile and the conformance expectations for the Medication resource." +* rest.resource[=].interaction[0].code = #read +* rest.resource[=].interaction[+].code = #create + +//MedicationStatement +* rest.resource[+].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination" +* rest.resource[=].extension[=].extension[+].url = "required" +* rest.resource[=].extension[=].extension[=].valueString = "patient" +* rest.resource[=].extension[=].extension[+].url = "required" +* rest.resource[=].extension[=].extension[=].valueString = "status" +* rest.resource[=].type = #MedicationStatement +* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-medicationstatement" +* rest.resource[=].documentation = "The client supports the MedicationStatement resource, the AU Core profile and the conformance expectations for the MedicationStatement resource." +* rest.resource[=].interaction[0].code = #search-type +* rest.resource[=].searchInclude[+] = "MedicationRequest:medication" +* rest.resource[=].searchParam[+].name = "patient" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" +* rest.resource[=].searchParam[=].type = #reference +* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. + +The server **SHALL** support both." +* rest.resource[=].searchParam[+].name = "status" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/medications-status" +* rest.resource[=].searchParam[=].type = #token +* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a code value and **MAY** provide both the system and code values. + +The server **SHALL** support both. + +The client **SHALL** support `multipleOr`. + +The server **SHALL** support `multipleOr`." +* rest.resource[=].searchParam[+].name = "_include" +* rest.resource[=].searchParam[=].type = #reference +* rest.resource[=].searchParam[=].documentation = "If a medication in a MedicationStatement resource is represented as an external Medication resource reference, the server **SHOULD** support the `_include` parameter for searching this element (`MedicationRequest:medication`). + +The client **SHALL** support this method." + +//Observation * rest.resource[+].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination" * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "patient" * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "code" +/* * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "_count" * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "_sort" +*/ * rest.resource[=].type = #Observation -* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-smokingstatus" +* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bloodpressure" * rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyheight" * rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyweight" +* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-diagnosticresult-path" * rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum|0.2.2-preview" -* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-waistcircum" -* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bloodpressure" * rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-heartrate" -* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-lipid-result|0.2.2-preview" +* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-waistcircum" +* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-smokingstatus" +* rest.resource[=].documentation = "The client supports the Observation resource, the AU Core profiles listed and the conformance expectations for the Observation resource." * rest.resource[=].interaction[0].code = #search-type +* rest.resource[=].interaction[+].code = #create +* rest.resource[=].interaction[+].code = #update * rest.resource[=].searchParam[+].name = "patient" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" * rest.resource[=].searchParam[=].type = #reference -* rest.resource[=].searchParam[=].documentation = "

The client SHALL provide at least a id value and MAY provide both the Type and id values. The server SHALL support both.

" +* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. The server **SHALL** support both. " * rest.resource[=].searchParam[+].name = "code" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-code" * rest.resource[=].searchParam[=].type = #token -* rest.resource[=].searchParam[=].documentation = "

The client SHALL provide at least a code value and MAY provide both the code and system values. The server SHALL support both.

" +* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a code value and **MAY** provide both the code and system values. The server **SHALL** support both." +/* * rest.resource[=].searchParam[+].name = "_count" * rest.resource[=].searchParam[=].type = #number -* rest.resource[=].searchParam[=].documentation = "

The client supports search result limiting.

" +* rest.resource[=].searchParam[=].documentation = "The client and server **SHALL** support search result limiting." +* rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL * rest.resource[=].searchParam[+].name = "_sort" * rest.resource[=].searchParam[=].type = #string -* rest.resource[=].searchParam[=].documentation = "

The client supports search result sorting by date and MAY support other values.

" +* rest.resource[=].searchParam[=].documentation = "The client and server **SHALL** support search result sorting by date and **MAY** support other values." +* rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL +*/ + +//Patient +* rest.resource[+].type = #Patient +* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-patient" +* rest.resource[=].documentation = "The client supports the Patient resource, AU Core profile and the conformance expectations for the Patient resource." +* rest.resource[=].interaction[0].code = #read +* rest.resource[=].interaction[+].code = #update +//Practitioner +* rest.resource[+].type = #Practitioner +* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-practitioner" +* rest.resource[=].documentation = "The client supports the Practitioner resource, AU Core profile and the conformance expectations for the Practitioner resource." +* rest.resource[=].interaction[0].code = #read + +//Questionnaire * rest.resource[+].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination" * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "url" @@ -435,6 +720,8 @@ Usage: #definition * rest.resource[=].extension[=].extension[=].valueString = "_sort" * rest.resource[=].type = #Questionnaire * rest.resource[=].profile = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire" +//Add more SDC profiles? +* rest.resource[=].documentation = "The client supports the Questionnaire resource, Structured Data Capture profile and the conformance expectations for the QuestionnaireResponse resource." * rest.resource[=].interaction[+].code = #search-type * rest.resource[=].interaction[+].code = #create * rest.resource[=].searchParam[+].name = "url" @@ -446,18 +733,19 @@ Usage: #definition * rest.resource[=].searchParam[+].name = "title" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/Questionnaire-title" * rest.resource[=].searchParam[=].type = #string -* rest.resource[=].searchParam[=].documentation = "

The client supports search using the :contains modifier.

" +* rest.resource[=].searchParam[=].documentation = "The client supports search using the :contains modifier." * rest.resource[=].searchParam[+].name = "_count" * rest.resource[=].searchParam[=].type = #number -* rest.resource[=].searchParam[=].documentation = "

The client supports search result limiting.

" +* rest.resource[=].searchParam[=].documentation = "The client supports search result limiting." * rest.resource[=].searchParam[+].name = "_sort" * rest.resource[=].searchParam[=].type = #string -* rest.resource[=].searchParam[=].documentation = "

The client supports search result sorting by date and MAY support other values.

" +* rest.resource[=].searchParam[=].documentation = "The client supports search result sorting by date and **MAY** support other values." * rest.resource[=].operation[+].name = "assemble" * rest.resource[=].operation[=].definition = "http://hl7.org/fhir/uv/sdc/OperationDefinition/Questionnaire-assemble" * rest.resource[=].operation[+].name = "populate" * rest.resource[=].operation[=].definition = "http://hl7.org/fhir/uv/sdc/OperationDefinition/Questionnaire-populate" +//QuestionnaireResponse * rest.resource[+].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination" * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "patient" @@ -485,36 +773,38 @@ Usage: #definition * rest.resource[=].extension[=].extension[=].valueString = "status" * rest.resource[=].type = #QuestionnaireResponse * rest.resource[=].profile = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaireresponse" +* rest.resource[=].documentation = "The client supports the QuestionnaireResponse resource, Structured Data Capture profile and the conformance expectations for the QuestionnaireResponse resource." * rest.resource[=].interaction[+].code = #read * rest.resource[=].interaction[+].code = #search-type * rest.resource[=].interaction[+].code = #create * rest.resource[=].interaction[+].code = #update +* rest.resource[=].versioning = #versioned-update * rest.resource[=].searchParam[+].name = "patient" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/QuestionnaireResponse-patient" * rest.resource[=].searchParam[=].type = #reference -* rest.resource[=].searchParam[=].documentation = "

The client SHALL provide at least a id value and MAY provide both the Type and id values. The server SHALL support both.

" +* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. The server **SHALL** support both. " * rest.resource[=].searchParam[+].name = "questionnaire" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/QuestionnaireResponse-questionnaire" * rest.resource[=].searchParam[=].type = #reference -* rest.resource[=].searchParam[=].documentation = "

The client SHALL provide at least a id value and MAY provide both the Type and id values. The server SHALL support both.

The client and server SHALL support chained search questionnaire.title using the :contains modifier.

" +* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. The server **SHALL** support both.

The client and server **SHALL** support chained search questionnaire.title using the :contains modifier." * rest.resource[=].searchParam[+].name = "status" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/QuestionnaireResponse-status" * rest.resource[=].searchParam[=].type = #token -* rest.resource[=].searchParam[=].documentation = "

The client SHALL provide at least a code value and MAY provide both the code and system values. The server SHALL support both.

" +* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a code value and **MAY** provide both the code and system values. The server **SHALL** support both." * rest.resource[=].searchParam[+].name = "_count" * rest.resource[=].searchParam[=].type = #number -* rest.resource[=].searchParam[=].documentation = "

The client supports search result limiting.

" +* rest.resource[=].searchParam[=].documentation = "The client and server **SHALL** support search result limiting." * rest.resource[=].searchParam[+].name = "_sort" * rest.resource[=].searchParam[=].type = #string -* rest.resource[=].searchParam[=].documentation = "

The client supports search result sorting by authored and MAY support other values.

" +* rest.resource[=].searchParam[=].documentation = "The client and server **SHALL** support search result sorting by authored and **MAY** support other values." +//ValueSet * rest.resource[+].type = #ValueSet * rest.resource[=].profile = "http://hl7.org/fhir/StructureDefinition/ValueSet" +* rest.resource[=].documentation = "The client supports the ValueSet resource and the conformance expectations for the ValueSet resource." * rest.resource[=].operation[0].name = "expand" * rest.resource[=].operation[0].definition = "http://hl7.org/fhir/OperationDefinition/ValueSet-expand" - * rest.interaction[+].code = #transaction * rest.interaction[+].code = #batch -*/ \ No newline at end of file diff --git a/input/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json b/input/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json deleted file mode 100644 index 7b804a42..00000000 --- a/input/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json +++ /dev/null @@ -1,660 +0,0 @@ -{ - "resourceType": "CapabilityStatement", - "id": "SFLauncherServerAboriginalTorresStraitIslanderHealthCheck", - "text": { - "status": "extensions", - "div": "

Smart Forms Launcher Server for the Aboriginal and Torres Strait Islander Health Check Capability Statement

  • Kind of capability statement: Requirements
  • FHIR Version: 4.0.1
  • Supported Formats: SHALL support json
  • Published by: AEHRC CSIRO

Note to Implementers: FHIR Capabilities

Any FHIR capability may be 'allowed' by the system unless explicitly marked as "SHALL NOT". Some items might be marked as MAY in the Implementation Guide to highlight their potential relevance to the use case.

SHALL Support the Following Implementation Guides

SHOULD Support the Following Implementation Guides

SHALL Implement the Following Capability Statements:

SHOULD Implement the Following Capability Statements:

FHIR RESTful Capabilities

Mode: server

A Smart Forms Launcher Server SHALL:

  1. Support the AU Core Patient resource profile.
  2. Support the AU Core Practitioner resource profile.
  3. Support the AU Core Encounter resource profile.
  4. Support the AU Core Condition resource profile.
  5. Support the AU Core Observation resource profiles.
  6. Support the SDC Questionnaire Response.
  7. Implement the RESTful behavior according to the FHIR specification.
  8. Support JSON source formats for all interactions.
Security

A Smart Forms Launcher Server SHALL:

  1. Support CORS headers
  2. Support SMART on FHIR security services

See the Structured Data Capture Security Details section for general considerations and recommendations.

Capabilities by Resource/Profile

Summary

The summary table lists the resources that are part of this configuration, and for each resource it lists:

  • The relevant profiles (if any)
  • The interactions supported by each resource (Read, Search, Update, and Create, are always shown, while VRead, Patch, Delete, History on Instance, or History on Type are only present if at least one of the resources has support for them.
  • The required, recommended, and some optional search parameters (if any).
  • The linked resources enabled for _include
  • The other resources enabled for _revinclude
  • The operations on the resource (if any)

Resource Conformance: SHALLPatient

Profile Conformance
SHALL
Interaction summary
  • SHALL support read.
Documentation

The server SHALL support the Patient resource, AU Core profile and the conformance expectations for the Patient resource.

Resource Conformance: SHALLPractitioner

Interaction summary
  • SHALL support read.
Documentation

The server SHALL support the Practitioner resource, AU Core profile and the conformance expectations for the Practitioner resource.

Resource Conformance: SHALLEncounter

Profile Conformance
SHALL
Interaction summary
  • SHALL support read.
Documentation

The server SHALL support the Encounter resource, AU Core profile and the conformance expectations for the Encounter resource.

Resource Conformance: SHALLCondition

Profile Conformance
SHALL
Interaction summary
  • SHALL support search-type.
Documentation

The server SHALL support the Condition resource, the AU Core profile and the conformance expectations for the Condition resource.

Search Parameters
Conformance Parameter Type Documentation
SHALLpatientreference

The client SHALL provide at least a id value and MAY provide both the Type and id values. The server SHALL support both.

SHALLclinical-statustoken

The client SHALL provide at least a code value and MAY provide both the code and system values. The server SHALL support both.

Combined Search Parameters
Conformance Parameters Types
SHALLpatient+ clinical-status reference+token

Resource Conformance: SHALLObservation

Interaction summary
  • SHALL support search-type.
Documentation

The server SHALL support the Observation resource, the AU Core profiles listed and the conformance expectations for the Observation resource.

Search Parameters
Conformance Parameter Type Documentation
SHALLpatientreference

The client SHALL provide at least an id value and MAY provide both the Type and id values. The server SHALL support both.

SHALLcodetoken

The client SHALL provide at least a code value and MAY provide both the code and system values. The server SHALL support both.

SHALL_countnumber

The client and server SHALL support search result limiting.

SHALL_sortstring

The client server SHALL support search result sorting by date and MAY support other values.

Combined Search Parameters
Conformance Parameters Types
SHALLpatient+ code+ _count+ _sort reference+token+number+string

Resource Conformance: SHALLQuestionnaireResponse

Interaction summary
  • SHALL support read, search-type, update, create.
Versioning

VersionId tracked fully

The server SHALL correctly track and populate the versionId meta-property on resources and support using e-tags and If-Match header for version integrity in the API.

Documentation

The server SHALL support the QuestionnaireResponse resource, Structured Data Capture profile and the conformance expectations for the QuestionnaireResponse resource.

Search Parameters
Conformance Parameter Type Documentation
SHALLpatient reference

The client SHALL provide at least a id value and MAY provide both the Type and id values. The server SHALL support both.

SHALLquestionnaire reference

The client SHALL provide at least a id value and MAY provide both the Type and id values. The server SHALL support both.

SHALLstatustoken

The client SHALL provide at least a code value and MAY provide both the code and system values. The server SHALL support both.

SHALL_countnumber

The client and server SHALL support search result limiting.

SHALL_sortstring

The client and server SHALL support search result sorting by authored and MAY support other values.

Combined Search Parameters
Conformance Parameters Types
SHALLpatient+ _count+ _sort reference+number+string
SHALLpatient+ questionnaire+ _count+ _sort reference+reference+number+string
SHALLpatient+ status+ _count+ _sort reference+token+number+string
" - }, - "url": "https://smartforms.csiro.au/ig/CapabilityStatement/SFLauncherServerAboriginalTorresStraitIslanderHealthCheck", - "name": "SmartFormsLauncherServerAboriginalTorresStraitIslanderHealthCheck", - "title": "Smart Forms Launcher Server for the Aboriginal and Torres Strait Islander Health Check", - "description": "This CapabilityStatement describes the expected capabilities for systems to launch and exchange data with the [Smart Forms client application](CapabilityStatement-SmartFormsApplication.html) to support the [Aboriginal and Torres Strait Islander Health Check](Questionnaire-AboriginalTorresStraitIslanderHealthCheck.html). It lists the server's conformance expectations for the resource types required as a launch context, resource types required to support prepopulation of the form, and QuestionnaireResponse requirements for managing form responses. These expectations include supported FHIR profiles, RESTful operations, and search parameters.", - "status": "draft", - "experimental": false, - "date": "2023-06-16", - "publisher": "AEHRC CSIRO", - "jurisdiction": [ - { - "coding": [ - { - "code": "AU", - "system": "urn:iso:std:iso:3166" - } - ] - } - ], - "kind": "requirements", - "instantiates": [ - "http://hl7.org.au/fhir/core/CapabilityStatement/au-core-server", - "http://hl7.org/fhir/uv/sdc/CapabilityStatement/sdc-form-response-manager", - "http://hl7.org/fhir/uv/sdc/CapabilityStatement/sdc-form-archiver" - ], - "_instantiates": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHOULD" - } - ] - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHOULD" - } - ] - } - ], - "fhirVersion": "4.0.1", - "format": [ - "json" - ], - "_format": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - } - ], - "implementationGuide": [ - "http://hl7.org/fhir/smart-app-launch/ImplementationGuide/hl7.fhir.uv.smart-app-launch", - "http://hl7.org/fhir/uv/sdc/ImplementationGuide/hl7.fhir.uv.sdc" - ], - "_implementationGuide": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHOULD" - } - ] - } - ], - "rest": [ - { - "mode": "server", - "documentation": "

A Smart Forms Launcher Server SHALL:

  1. Support the AU Core Patient resource profile.
  2. Support the AU Core Practitioner resource profile.
  3. Support the AU Core Encounter resource profile.
  4. Support the AU Core Condition resource profile.
  5. Support the AU Core Observation resource profiles.
  6. Implement the RESTful behavior according to the FHIR specification.
  7. Support JSON source formats for all interactions.
", - "security": { - "cors": true, - "_cors": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, - "service": [ - { - "coding": [ - { - "code": "SMART-on-FHIR", - "system": "http://terminology.hl7.org/CodeSystem/restful-security-service" - } - ], - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - } - ], - "description": "

A Smart Forms Launcher Server SHALL:

  1. Support CORS headers
  2. Support SMART on FHIR security services

See the Structured Data Capture Security Details section for general considerations and recommendations.

" - }, - "resource": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ], - "type": "Patient", - "profile": "http://hl7.org.au/fhir/core/StructureDefinition/au-core-patient", - "_profile": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, - "documentation": "

The server SHALL support the Patient resource, AU Core profile and the conformance expectations for the Patient resource.

", - "interaction": [ - { - "code": "read", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - } - ] - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ], - "type": "Practitioner", - "profile": "http://hl7.org.au/fhir/core/StructureDefinition/au-core-practitioner", - "_profile": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, - "documentation": "

The server SHALL support the Practitioner resource, AU Core profile and the conformance expectations for the Practitioner resource.

", - "interaction": [ - { - "code": "read", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - } - ] - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ], - "type": "Encounter", - "profile": "http://hl7.org.au/fhir/core/StructureDefinition/au-core-encounter", - "_profile": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, - "documentation": "

The server SHALL support the Encounter resource, AU Core profile and the conformance expectations for the Encounter resource.

", - "interaction": [ - { - "code": "read", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - } - ] - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - }, - { - "url": "required", - "valueString": "patient" - }, - { - "url": "required", - "valueString": "clinical-status" - } - ] - } - ], - "type": "Condition", - "profile": "http://hl7.org.au/fhir/core/StructureDefinition/au-core-condition", - "_profile": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, - "documentation": "

The server SHALL support the Condition resource, the AU Core profile and the conformance expectations for the Condition resource.

", - "interaction": [ - { - "code": "search-type", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - } - ], - "searchParam": [ - { - "name": "patient", - "definition": "http://hl7.org/fhir/SearchParameter/clinical-patient", - "type": "reference", - "documentation": "

The client SHALL provide at least a id value and MAY provide both the Type and id values. The server SHALL support both.

", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, - { - "name": "clinical-status", - "definition": "http://hl7.org/fhir/SearchParameter/Condition-clinical-status", - "type": "token", - "documentation": "

The client SHALL provide at least a code value and MAY provide both the code and system values. The server SHALL support both.

", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - } - ] - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - }, - { - "url": "required", - "valueString": "patient" - }, - { - "url": "required", - "valueString": "code" - }, - { - "url": "required", - "valueString": "_count" - }, - { - "url": "required", - "valueString": "_sort" - } - ] - } - ], - "type": "Observation", - "supportedProfile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-smokingstatus", - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyheight", - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyweight", - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum|0.2.2-preview", - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-waistcircum", - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bloodpressure", - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-heartrate", - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-lipid-result|0.2.2-preview" - ], - "_supportedProfile": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - } - ], - "documentation": "

The server SHALL support the Observation resource, the AU Core profiles listed and the conformance expectations for the Observation resource.

", - "interaction": [ - { - "code": "search-type", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - } - ], - "searchParam": [ - { - "name": "patient", - "definition": "http://hl7.org/fhir/SearchParameter/clinical-patient", - "type": "reference", - "documentation": "

The client SHALL provide at least a id value and MAY provide both the Type and id values. The server SHALL support both.

", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, - { - "name": "code", - "definition": "http://hl7.org/fhir/SearchParameter/clinical-code", - "type": "token", - "documentation": "

The client SHALL provide at least a code value and MAY provide both the code and system values. The server SHALL support both.

", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, - { - "name": "_count", - "type": "number", - "documentation": "

The client and server SHALL support search result limiting.

", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, - { - "name": "_sort", - "type": "string", - "documentation": "

The client and server SHALL support search result sorting by date and MAY support other values.

", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - } - ] - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - }, - { - "url": "required", - "valueString": "patient" - }, - { - "url": "required", - "valueString": "_count" - }, - { - "url": "required", - "valueString": "_sort" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - }, - { - "url": "required", - "valueString": "patient" - }, - { - "url": "required", - "valueString": "_count" - }, - { - "url": "required", - "valueString": "_sort" - }, - { - "url": "required", - "valueString": "questionnaire" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - }, - { - "url": "required", - "valueString": "patient" - }, - { - "url": "required", - "valueString": "_count" - }, - { - "url": "required", - "valueString": "_sort" - }, - { - "url": "required", - "valueString": "status" - } - ] - } - ], - "type": "QuestionnaireResponse", - "profile": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaireresponse", - "_profile": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, - "documentation": "

The server SHALL support the QuestionnaireResponse resource, Structured Data Capture profile and the conformance expectations for the QuestionnaireResponse resource.

", - "interaction": [ - { - "code": "read", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, - { - "code": "search-type", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, - { - "code": "create", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, - { - "code": "update", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - } - ], - "versioning": "versioned-update", - "_versioning": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, - "searchParam": [ - { - "name": "patient", - "definition": "http://hl7.org/fhir/SearchParameter/QuestionnaireResponse-patient", - "type": "reference", - "documentation": "

The client SHALL provide at least a id value and MAY provide both the Type and id values. The server SHALL support both.

", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, - { - "name": "questionnaire", - "definition": "http://hl7.org/fhir/SearchParameter/QuestionnaireResponse-questionnaire", - "type": "reference", - "documentation": "

The client SHALL provide at least a id value and MAY provide both the Type and id values. The server SHALL support both.

The client and server SHALL support chained search questionnaire.title using the :contains modifier.

", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, - { - "name": "status", - "definition": "http://hl7.org/fhir/SearchParameter/QuestionnaireResponse-status", - "type": "token", - "documentation": "

The client SHALL provide at least a code value and MAY provide both the code and system values. The server SHALL support both.

", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, - { - "name": "_count", - "type": "number", - "documentation": "

The client and server SHALL support search result limiting.

", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, - { - "name": "_sort", - "type": "string", - "documentation": "

The client and server SHALL support search result sorting by authored and MAY support other values.

", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - } - ] - } - ] - } - ] -} diff --git a/input/resources/CapabilityStatement-SmartFormsApplication.json b/input/resources/CapabilityStatement-SmartFormsApplication.json deleted file mode 100644 index 83034c30..00000000 --- a/input/resources/CapabilityStatement-SmartFormsApplication.json +++ /dev/null @@ -1,416 +0,0 @@ -{ - "resourceType": "CapabilityStatement", - "id": "SmartFormsApplication", - "text": { - "status": "extensions", - "div": "

Smart Forms Application Capability Statement

  • Kind of capability statement: capability
  • FHIR Version: 4.0.1
  • Supported Formats: json
  • Published by: AEHRC CSIRO

Note to Implementers: FHIR Capabilities

Additional FHIR capabilities may be 'allowed' by the system. Only the capabilities relevant to Smart Forms have been included in this capability statement.

Supports the Following Implementation Guides

Implements a Subset of the Following Capability Statements:

FHIR RESTful Capabilities

Mode: client

The Smart Forms Application performs interactions to support SMART App Launch, form prepopulation and form filling.

Security

Summary of System-wide Interactions
  • Supports the transaction interaction.
  • Supports the batch interaction.

Capabilities by Resource/Profile

Summary

The summary table lists the resources that are part of this configuration, and for each resource it lists:

  • The relevant profiles (if any)
  • The interactions supported by each resource (Read, Search, Update, and Create, are always shown, while VRead, Patch, Delete, History on Instance, or History on Type are only present if at least one of the resources has support for them.
  • The required, recommended, and some optional search parameters (if any).
  • The linked resources enabled for _include
  • The other resources enabled for _revinclude
  • The operations on the resource (if any)
Resource Type Profile R S U C Searches _include _revinclude Operations
Patienthttp://hl7.org/fhir/StructureDefinition/Patient
Additional supported profiles:
y
Practitionerhttp://hl7.org/fhir/StructureDefinition/Practitioner
Additional supported profiles:
y
Encounterhttp://hl7.org/fhir/StructureDefinition/Encounter
Additional supported profiles:
y
Conditionhttp://hl7.org/fhir/StructureDefinition/Condition
Additional supported profiles:
ypatient, clinical-status, patient+clinical-status
ObservationSupported profiles: ycode, patient, _count, _sort, code+patient+_count+_sort
Questionnairehttp://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire yyurl, version, title, _count, _sort, url+version, _count+_sort, title+_count+_sort$assemble, $populate
QuestionnaireResponsehttp://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaireresponse yyyypatient, questionnaire, questionnaire.title, status, _count, _sort, patient+_count+_sort, patient+questionnaire+_count+_sort, patient+questionnaire.title+_count+_sort, patient+status+_count+_sort
ValueSethttp://hl7.org/fhir/StructureDefinition/ValueSet $expand

Patient

Interaction summary
  • Supports read.

Practitioner

Encounter

Interaction summary
  • Supports read.

Condition

Interaction summary
  • Supports search-type.
Search Parameters
Parameter Type Documentation
patientreference

The client SHALL provide at least a id value and MAY provide both the Type and id values. The server SHALL support both.

clinical-statustoken

The client SHALL provide at least a code value and MAY provide both the code and system values. The server SHALL support both.

Combined Search Parameters
Parameters Types
patient+ clinical-status reference+token

Observation

Interaction summary
  • Supports search-type.
Search Parameters
Parameter Type Documentation
patientreference

The client SHALL provide at least an id value and MAY provide both the Type and id values. The server SHALL support both.

codetoken

The client SHALL provide at least a code value and MAY provide both the code and system values. The server SHALL support both.

_countnumber

The client supports search result limiting.

_sortstring

The client supports search result sorting by date and MAY support other values.

Combined Search Parameters
Parameters Types
patient+ code+ _count+ _sort reference+token+number+string

Questionnaire

Interaction summary
  • Supports search-type, create.
Search Parameters
Parameter Type Documentation
urluri

versiontoken

titlestring

The client supports search using the :contains modifier.

_countnumber

The client supports search result limiting.

_sortstring

The client supports search result sorting by date and MAY support other values.

Combined Search Parameters
Parameters Types
url+ version uri+token
_count+ _sort number+string
title+ _count+ _sort string+number+string
Operations
Operation Documentation
$assemble

$populate

QuestionnaireResponse

Interaction summary
  • Supports read, search-type, update, create.
  • All search requests SHALL at least include the patient parameter.
Search Parameters
Parameter Type Documentation
patient reference

The client SHALL provide at least a id value and MAY provide both the Type and id values. The server SHALL support both.

questionnaire reference

The client SHALL provide at least a id value and MAY provide both the Type and id values. The server SHALL support both.

questionnaire.title string

The client and server SHALL support chained search questionnaire.title using the search modifier :contains.

statustoken

The client SHALL provide at least a code value and MAY provide both the code and system values. The server SHALL support both.

_countnumber

The client supports search result limiting.

_sortstring

The client supports search result sorting by authored and MAY support other values.

Combined Search Parameters
Parameters Types
patient+ _count+ _sort reference+number+string
patient+ questionnaire+ _count+ _sort reference+reference+number+string
patient+ questionnaire.title+ _count+ _sort reference+string+number+string
patient+ status+ _count+ _sort reference+token+number+string

ValueSet

Operations
Operation Documentation
$expand

" - }, - "url": "https://smartforms.csiro.au/ig/CapabilityStatement/SmartFormsApplication", - "name": "SmartFormsApplication", - "title": "Smart Forms Application", - "description": "This CapabilityStatement describes the capabilities of the Smart Forms Application. These capabilities include supported FHIR profiles, RESTful operations, and search parameters. It covers supported tasks such as SMART App launch context, prepopulation and completion of forms.", - "status": "draft", - "experimental": false, - "date": "2023-06-16", - "publisher": "AEHRC CSIRO", - "kind": "capability", - "instantiates": [ - "http://hl7.org/fhir/uv/sdc/CapabilityStatement/sdc-form-filler" - ], - "software": { - "name": "Smart Forms Application" - }, - "fhirVersion": "4.0.1", - "format": [ - "json" - ], - "implementationGuide": [ - "http://hl7.org/fhir/smart-app-launch/ImplementationGuide/hl7.fhir.uv.smart-app-launch" - ], - "rest": [ - { - "mode": "client", - "documentation": "The Smart Forms Application performs interactions to support SMART App Launch, form prepopulation and form filling. The interactions performed for prepopulation are not listed here as they can vary greatly and are defined in the Questionnaire instance.", - "security": { - "cors": true, - "service": [ - { - "coding": [ - { - "code": "SMART-on-FHIR", - "system": "http://terminology.hl7.org/CodeSystem/restful-security-service" - } - ] - } - ], - "description": "SMART App Launch supported to allow secure data exchange." - }, - "resource": [ - { - "type": "Patient", - "profile": "http://hl7.org/fhir/StructureDefinition/Patient", - "supportedProfile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-patient" - ], - "interaction": [ - { - "code": "read" - } - ] - }, - { - "type": "Practitioner", - "profile": "http://hl7.org/fhir/StructureDefinition/Practitioner", - "supportedProfile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-practitioner" - ], - "interaction": [ - { - "code": "read" - } - ] - }, - { - "type": "Encounter", - "profile": "http://hl7.org/fhir/StructureDefinition/Encounter", - "supportedProfile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-encounter" - ], - "interaction": [ - { - "code": "read" - } - ] - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", - "extension": [ - { - "url": "required", - "valueString": "patient" - }, - { - "url": "required", - "valueString": "clinical-status" - } - ] - } - ], - "type": "Condition", - "profile": "http://hl7.org/fhir/StructureDefinition/Condition", - "supportedProfile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-condition" - ], - "interaction": [ - { - "code": "search-type" - } - ], - "searchParam": [ - { - "name": "patient", - "definition": "http://hl7.org/fhir/SearchParameter/clinical-patient", - "type": "reference", - "documentation": "

The client SHALL provide at least a id value and MAY provide both the Type and id values. The server SHALL support both.

" - }, - { - "name": "clinical-status", - "definition": "http://hl7.org/fhir/SearchParameter/Condition-clinical-status", - "type": "token", - "documentation": "

The client SHALL provide at least a code value and MAY provide both the code and system values. The server SHALL support both.

" - } - ] - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", - "extension": [ - { - "url": "required", - "valueString": "patient" - }, - { - "url": "required", - "valueString": "code" - }, - { - "url": "required", - "valueString": "_count" - }, - { - "url": "required", - "valueString": "_sort" - } - ] - } - ], - "type": "Observation", - "supportedProfile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-smokingstatus", - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyheight", - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyweight", - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum|0.2.2-preview", - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-waistcircum", - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bloodpressure", - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-heartrate", - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-lipid-result|0.2.2-preview" - ], - "interaction": [ - { - "code": "search-type" - } - ], - "searchParam": [ - { - "name": "patient", - "definition": "http://hl7.org/fhir/SearchParameter/clinical-patient", - "type": "reference", - "documentation": "

The client SHALL provide at least a id value and MAY provide both the Type and id values. The server SHALL support both.

" - }, - { - "name": "code", - "definition": "http://hl7.org/fhir/SearchParameter/clinical-code", - "type": "token", - "documentation": "

The client SHALL provide at least a code value and MAY provide both the code and system values. The server SHALL support both.

" - }, - { - "name": "_count", - "type": "number", - "documentation": "

The client supports search result limiting.

" - }, - { - "name": "_sort", - "type": "string", - "documentation": "

The client supports search result sorting by date and MAY support other values.

" - } - ] - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", - "extension": [ - { - "url": "required", - "valueString": "url" - }, - { - "url": "required", - "valueString": "version" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", - "extension": [ - { - "url": "required", - "valueString": "_count" - }, - { - "url": "required", - "valueString": "_sort" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", - "extension": [ - { - "url": "required", - "valueString": "title" - }, - { - "url": "required", - "valueString": "_count" - }, - { - "url": "required", - "valueString": "_sort" - } - ] - } - ], - "type": "Questionnaire", - "profile": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire", - "interaction": [ - { - "code": "search-type" - }, - { - "code": "create" - } - ], - "searchParam": [ - { - "name": "url", - "definition": "http://hl7.org/fhir/SearchParameter/Questionnaire-url", - "type": "uri" - }, - { - "name": "version", - "definition": "http://hl7.org/fhir/SearchParameter/Questionnaire-version", - "type": "token" - }, - { - "name": "title", - "definition": "http://hl7.org/fhir/SearchParameter/Questionnaire-title", - "type": "string", - "documentation": "

The client supports search using the :contains modifier.

" - }, - { - "name": "_count", - "type": "number", - "documentation": "

The client supports search result limiting.

" - }, - { - "name": "_sort", - "type": "string", - "documentation": "

The client supports search result sorting by date and MAY support other values.

" - } - ], - "operation": [ - { - "name": "assemble", - "definition": "http://hl7.org/fhir/uv/sdc/OperationDefinition/Questionnaire-assemble" - }, - { - "name": "populate", - "definition": "http://hl7.org/fhir/uv/sdc/OperationDefinition/Questionnaire-populate" - } - ] - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", - "extension": [ - { - "url": "required", - "valueString": "patient" - }, - { - "url": "required", - "valueString": "_count" - }, - { - "url": "required", - "valueString": "_sort" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", - "extension": [ - { - "url": "required", - "valueString": "patient" - }, - { - "url": "required", - "valueString": "_count" - }, - { - "url": "required", - "valueString": "_sort" - }, - { - "url": "required", - "valueString": "questionnaire" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", - "extension": [ - { - "url": "required", - "valueString": "patient" - }, - { - "url": "required", - "valueString": "_count" - }, - { - "url": "required", - "valueString": "_sort" - }, - { - "url": "required", - "valueString": "status" - } - ] - } - ], - "type": "QuestionnaireResponse", - "profile": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaireresponse", - "interaction": [ - { - "code": "read" - }, - { - "code": "search-type" - }, - { - "code": "create" - }, - { - "code": "update" - } - ], - "searchParam": [ - { - "name": "patient", - "definition": "http://hl7.org/fhir/SearchParameter/QuestionnaireResponse-patient", - "type": "reference", - "documentation": "

The client SHALL provide at least a id value and MAY provide both the Type and id values. The server SHALL support both.

" - }, - { - "name": "questionnaire", - "definition": "http://hl7.org/fhir/SearchParameter/QuestionnaireResponse-questionnaire", - "type": "reference", - "documentation": "

The client SHALL provide at least a id value and MAY provide both the Type and id values. The server SHALL support both.

The client and server SHALL support chained search questionnaire.title using the :contains modifier.

" - }, - { - "name": "status", - "definition": "http://hl7.org/fhir/SearchParameter/QuestionnaireResponse-status", - "type": "token", - "documentation": "

The client SHALL provide at least a code value and MAY provide both the code and system values. The server SHALL support both.

" - }, - { - "name": "_count", - "type": "number", - "documentation": "

The client supports search result limiting.

" - }, - { - "name": "_sort", - "type": "string", - "documentation": "

The client supports search result sorting by authored and MAY support other values.

" - } - ] - }, - { - "type": "ValueSet", - "profile": "http://hl7.org/fhir/StructureDefinition/ValueSet", - "operation": [ - { - "name": "expand", - "definition": "http://hl7.org/fhir/OperationDefinition/ValueSet-expand" - } - ] - } - ], - "interaction": [ - { - "code": "transaction" - }, - { - "code": "batch" - } - ] - } - ] -} diff --git a/input/resources/CapabilityStatement-SmartFormsServer.json b/input/resources/CapabilityStatement-SmartFormsServer.json deleted file mode 100644 index 8fd95efd..00000000 --- a/input/resources/CapabilityStatement-SmartFormsServer.json +++ /dev/null @@ -1,127 +0,0 @@ -{ - "resourceType": "CapabilityStatement", - "id": "SmartFormsServer", - "text": { - "status": "extensions", - "div": "

Smart Forms Server Capability Statement

  • Kind of capability statement: capability
  • FHIR Version: 4.0.1
  • Supported Formats: json and xml
  • Published by: AEHRC CSIRO

Note to Implementers: FHIR Capabilities

Additional FHIR capabilities may be 'allowed' by the system. Only the capabilities relevant to Smart Forms have been included in this capability statement.

Implements a Subset of the Following Capability Statements:

FHIR RESTful Capabilities

Mode: server

The Smart Forms Server provides interactions for hosting Questionnaire resources and the assembly of modular Questionnaires.

Security

Capabilities by Resource/Profile

Summary

The summary table lists the resources that are part of this configuration, and for each resource it lists:

  • The relevant profiles (if any)
  • The interactions supported by each resource (Read, Search, Update, and Create, are always shown, while VRead, Patch, Delete, History on Instance, or History on Type are only present if at least one of the resources has support for them.
  • The required, recommended, and some optional search parameters (if any).
  • The linked resources enabled for _include
  • The other resources enabled for _revinclude
  • The operations on the resource (if any)
Resource Type Profile R S U C Searches _include _revinclude Operations
Questionnairehttp://hl7.org/fhir/StructureDefinition/Questionnaire
Additional supported profiles:
yyurl, version, title, _count, _sort, url+version, _count+_sort, title+_count+_sort $assemble

Questionnaire

Interaction summary
  • Supports read, search-type.

Search Parameters
Parameter Type Documentation
urluri

versiontoken

titlestring

The server supports search using the :contains modifier.

_countnumber

The server supports search result limiting.

_sortstring

The server supports search result sorting by date and MAY support other values.

Combined Search Parameters
Parameters Types
url+ version uri+token
_count+ _sort number+string
title+ _count+ _sort string+number+string
Operations
Operation Documentation
$assemble

" - }, - "url": "https://smartforms.csiro.au/ig/CapabilityStatement/SmartFormsServer", - "name": "SmartFormsServer", - "title": "Smart Forms Server", - "description": "This CapabilityStatement describes the capabilities of the Smart Forms Server. The Smart Forms Server provides a definitional repository of resources that a client application can retrieve for use in a Smart Forms context. The capabilities listed include supported FHIR profiles, RESTful operations, and search parameters.", - "status": "draft", - "experimental": false, - "date": "2023-06-16", - "publisher": "AEHRC CSIRO", - "kind": "capability", - "instantiates": [ - "http://hl7.org/fhir/uv/sdc/CapabilityStatement/sdc-form-manager" - ], - "software": { - "name": "Smart Forms Server" - }, - "fhirVersion": "4.0.1", - "format": [ - "json", - "xml" - ], - "rest": [ - { - "mode": "server", - "documentation": "The Smart Forms Server provides interactions for hosting Questionnaire resources and the assembly of modular Questionnaires.", - "resource": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", - "extension": [ - { - "url": "required", - "valueString": "url" - }, - { - "url": "required", - "valueString": "version" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", - "extension": [ - { - "url": "required", - "valueString": "_count" - }, - { - "url": "required", - "valueString": "_sort" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", - "extension": [ - { - "url": "required", - "valueString": "title" - }, - { - "url": "required", - "valueString": "_count" - }, - { - "url": "required", - "valueString": "_sort" - } - ] - } - ], - "type": "Questionnaire", - "profile": "http://hl7.org/fhir/StructureDefinition/Questionnaire", - "supportedProfile": [ - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" - ], - "interaction": [ - { - "code": "search-type" - } - ], - "searchParam": [ - { - "name": "url", - "definition": "http://hl7.org/fhir/SearchParameter/Questionnaire-url", - "type": "uri" - }, - { - "name": "version", - "definition": "http://hl7.org/fhir/SearchParameter/Questionnaire-version", - "type": "token" - }, - { - "name": "title", - "definition": "http://hl7.org/fhir/SearchParameter/Questionnaire-title", - "type": "string", - "documentation": "

The client supports search using the :contains modifier.

" - }, - { - "name": "_count", - "type": "number", - "documentation": "

The server supports search result limiting.

" - }, - { - "name": "_sort", - "type": "string", - "documentation": "

The server supports search result sorting by date and MAY support other values.

" - } - ], - "operation": [ - { - "name": "assemble", - "definition": "http://hl7.org/fhir/uv/sdc/OperationDefinition/Questionnaire-assemble" - } - ] - } - ] - } - ] -} From df1ae1d6cba2a145929e830fec15e16e3e2cd1ec Mon Sep 17 00:00:00 2001 From: liambarnes Date: Tue, 1 Apr 2025 14:16:35 +1000 Subject: [PATCH 059/177] update scripts and gitignore --- .gitignore | 1 + _updatePublisher.bat | 15 ++++++++++++++- _updatePublisher.sh | 14 +++++++++++++- 3 files changed, 28 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 2b9365b3..67782918 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,7 @@ bulk-import.py assembler/ fsh-generated/fsh-index.* fsh-generated/includes/ +fsh-generated/data/ input-cache/ node_modules/ output/ diff --git a/_updatePublisher.bat b/_updatePublisher.bat index 67aebf58..10fee381 100644 --- a/_updatePublisher.bat +++ b/_updatePublisher.bat @@ -8,6 +8,8 @@ SET input_cache_path=%CD%\input-cache\ SET skipPrompts=false SET scriptdlroot=https://raw.githubusercontent.com/HL7/ig-publisher-scripts/main +SET build_bat_url=%scriptdlroot%/_build.bat +SET build_sh_url=%scriptdlroot%/_build.sh SET update_bat_url=%scriptdlroot%/_updatePublisher.bat SET gen_bat_url=%scriptdlroot%/_genonce.bat SET gencont_bat_url=%scriptdlroot%/_gencontinuous.bat @@ -20,7 +22,7 @@ IF "%~1"=="/f" SET skipPrompts=y ECHO. ECHO Checking internet connection... -PING tx.fhir.org -4 -n 1 -w 1000 | FINDSTR TTL && GOTO isonline +PING tx.fhir.org -4 -n 1 -w 4000 | FINDSTR TTL && GOTO isonline ECHO We're offline, nothing to do... GOTO end @@ -69,6 +71,7 @@ IF DEFINED FORCE ( IF "%skipPrompts%"=="y" ( SET create=Y ) ELSE ( + ECHO Will place publisher jar here: %input_cache_path%%publisher_jar% SET /p create="Ok? (Y/N) " ) IF /I "%create%"=="Y" ( @@ -211,6 +214,16 @@ goto end start copy /y "_updatePublisher.new.bat" "_updatePublisher.bat" ^&^& del "_updatePublisher.new.bat" ^&^& exit +:dl_script_7 +ECHO Updating _build.bat +call POWERSHELL -command if ('System.Net.WebClient' -as [type]) {(new-object System.Net.WebClient).DownloadFile(\"%build_bat_url%\",\"_build.new.bat\") } else { Invoke-WebRequest -Uri "%update_bat_url%" -Outfile "_build.new.bat" } +if %ERRORLEVEL% == 0 goto upd_script_6 +echo "Errors encountered during download: %errorlevel%" +goto end +:upd_script_6 +start copy /y "_build.new.bat" "_build.bat" ^&^& del "_build.new.bat" ^&^& exit + + :end diff --git a/_updatePublisher.sh b/_updatePublisher.sh index 0f9ecbed..6a97fe0b 100644 --- a/_updatePublisher.sh +++ b/_updatePublisher.sh @@ -12,6 +12,8 @@ gencont_bat_url=$scriptdlroot/_gencontinuous.bat gencont_sh_url=$scriptdlroot/_gencontinuous.sh gen_sh_url=$scriptdlroot/_genonce.sh update_sh_url=$scriptdlroot/_updatePublisher.sh +build_sh_url=$scriptdlroot/_build.sh +build_bat_url=$scriptdlroot/_build.bat skipPrompts=false FORCE=false @@ -103,6 +105,16 @@ if [[ $skipPrompts != true ]]; then if [[ $skipPrompts == true ]] || [[ $response =~ ^[yY].*$ ]]; then echo "Downloading most recent scripts " + curl -L $build_bat_url -o /tmp/_build.new + cp /tmp/_build.new _build.bat + rm /tmp/_build.new + + + curl -L $build_sh_url -o /tmp/_build.new + cp /tmp/_build.new _build.sh + chmod +x _build.sh + rm /tmp/_build.new + curl -L $update_bat_url -o /tmp/_updatePublisher.new cp /tmp/_updatePublisher.new _updatePublisher.bat rm /tmp/_updatePublisher.new @@ -129,4 +141,4 @@ if [[ $skipPrompts == true ]] || [[ $response =~ ^[yY].*$ ]]; then cp /tmp/_updatePublisher.new _updatePublisher.sh chmod +x _updatePublisher.sh rm /tmp/_updatePublisher.new -fi +fi \ No newline at end of file From 9551225846c87262218d858f4be36f94065d492b Mon Sep 17 00:00:00 2001 From: liambarnes Date: Thu, 3 Apr 2025 09:13:13 +1000 Subject: [PATCH 060/177] Update gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 2b9365b3..67782918 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,7 @@ bulk-import.py assembler/ fsh-generated/fsh-index.* fsh-generated/includes/ +fsh-generated/data/ input-cache/ node_modules/ output/ From 2981326567e594ee17aa8439bd870329d7e6b146 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Tue, 15 Apr 2025 15:08:02 +1000 Subject: [PATCH 061/177] write back added to capability statements --- ...iginalTorresStraitIslanderHealthCheck.json | 160 ++++++++++++++---- ...bilityStatement-SmartFormsApplication.json | 30 ++-- .../CapabilityStatement-SmartFormsServer.json | 2 +- ...ntationGuide-csiro.fhir.au.smartforms.json | 4 +- input/fsh/capability.fsh | 76 +++++++-- 5 files changed, 216 insertions(+), 56 deletions(-) diff --git a/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json b/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json index d777b6cb..f81ceb93 100644 --- a/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json +++ b/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json @@ -4,10 +4,10 @@ "url": "https://smartforms.csiro.au/ig/CapabilityStatement/SFLauncherServerAboriginalTorresStraitIslanderHealthCheck", "name": "SmartFormsLauncherServerAboriginalTorresStraitIslanderHealthCheck", "title": "Smart Forms Launcher Server for the Aboriginal and Torres Strait Islander Health Check", - "description": "This CapabilityStatement describes the expected capabilities for systems to launch and exchange data with the [Smart Forms client application](CapabilityStatement-SmartFormsApplication.html) to support the [Aboriginal and Torres Strait Islander Health Check](Questionnaire-AboriginalTorresStraitIslanderHealthCheck.html). It lists the server's conformance expectations for the resource types required as a launch context, resource types required to support prepopulation of the form, and QuestionnaireResponse requirements for managing form responses. These expectations include supported FHIR profiles, RESTful operations, and search parameters.", + "description": "This CapabilityStatement describes the expected capabilities for systems to launch and exchange data with the [Smart Forms client application](CapabilityStatement-SmartFormsApplication.html) to support the [Aboriginal and Torres Strait Islander Health Check](Questionnaire-AboriginalTorresStraitIslanderHealthCheck.html). It lists the server's conformance expectations for the resource types required as a launch context, resource types required to support prepopulation of the form, resource types required to support writing back to the patient record, and QuestionnaireResponse requirements for managing form responses. These expectations include supported FHIR profiles, RESTful operations, and search parameters.", "status": "draft", "experimental": false, - "date": "2023-06-16", + "date": "2025-04-15", "publisher": "AEHRC CSIRO", "jurisdiction": [ { @@ -168,7 +168,8 @@ "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", "valueCode": "SHALL" } - ] + ], + "documentation": "**SHALL** support `create`, `conditional create`." }, { "code": "update", @@ -177,9 +178,28 @@ "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", "valueCode": "SHALL" } - ] + ], + "documentation": "**SHALL** support `update`, `conditional update`." } ], + "conditionalCreate": true, + "_conditionalCreate": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + "conditionalUpdate": true, + "_conditionalUpdate": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, "searchParam": [ { "name": "patient", @@ -247,7 +267,8 @@ "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", "valueCode": "SHALL" } - ] + ], + "documentation": "**SHALL** support `create`, `conditional create`." }, { "code": "update", @@ -256,9 +277,28 @@ "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", "valueCode": "SHALL" } - ] + ], + "documentation": "**SHALL** support `update`, `conditional update`." } ], + "conditionalCreate": true, + "_conditionalCreate": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + "conditionalUpdate": true, + "_conditionalUpdate": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, "searchParam": [ { "name": "patient", @@ -368,18 +408,19 @@ "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", "valueCode": "SHALL" } - ] - }, - { - "code": "update", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] + ], + "documentation": "**SHALL** support `create`, `conditional create`." } ], + "conditionalCreate": true, + "_conditionalCreate": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, "searchParam": [ { "name": "patient", @@ -442,9 +483,19 @@ "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", "valueCode": "SHALL" } - ] + ], + "documentation": "**SHALL** support `create`, `conditional create`." } - ] + ], + "conditionalCreate": true, + "_conditionalCreate": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + } }, { "extension": [ @@ -490,8 +541,46 @@ "valueCode": "SHALL" } ] + }, + { + "code": "create", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "documentation": "**SHALL** support `create`, `conditional create`." + }, + { + "code": "update", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "documentation": "**SHALL** support `update`, `conditional update`." } ], + "conditionalCreate": true, + "_conditionalCreate": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + "conditionalUpdate": true, + "_conditionalUpdate": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, "searchInclude": [ "MedicationRequest:medication" ], @@ -652,18 +741,19 @@ "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", "valueCode": "SHALL" } - ] - }, - { - "code": "update", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] + ], + "documentation": "**SHALL** support `create`, `conditional create`." } ], + "conditionalCreate": true, + "_conditionalCreate": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, "searchParam": [ { "name": "patient", @@ -726,9 +816,19 @@ "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", "valueCode": "SHALL" } - ] + ], + "documentation": "**SHALL** support `update`, `conditional update`." } - ] + ], + "conditionalUpdate": true, + "_conditionalUpdate": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + } }, { "extension": [ diff --git a/fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json b/fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json index d3535e3c..3b3d81dc 100644 --- a/fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json +++ b/fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json @@ -4,10 +4,10 @@ "url": "https://smartforms.csiro.au/ig/CapabilityStatement/SmartFormsApplication", "name": "SmartFormsApplication", "title": "Smart Forms Application", - "description": "This CapabilityStatement describes the capabilities of the Smart Forms Application. These capabilities include supported FHIR profiles, RESTful operations, and search parameters. It covers supported tasks such as SMART App launch context, prepopulation and completion of forms.", + "description": "This CapabilityStatement describes the capabilities of the Smart Forms Application. These capabilities include supported FHIR profiles, RESTful operations, and search parameters. It covers supported tasks such as SMART App launch context, prepopulation, write-back and completion of forms.", "status": "draft", "experimental": false, - "date": "2023-06-16", + "date": "2025-04-15", "publisher": "AEHRC CSIRO", "kind": "capability", "instantiates": [ @@ -70,6 +70,8 @@ "code": "update" } ], + "conditionalCreate": true, + "conditionalUpdate": true, "searchParam": [ { "name": "patient", @@ -111,6 +113,8 @@ "code": "update" } ], + "conditionalCreate": true, + "conditionalUpdate": true, "searchParam": [ { "name": "patient", @@ -165,11 +169,9 @@ }, { "code": "create" - }, - { - "code": "update" } ], + "conditionalCreate": true, "searchParam": [ { "name": "patient", @@ -198,7 +200,8 @@ { "code": "create" } - ] + ], + "conditionalCreate": true }, { "extension": [ @@ -224,8 +227,16 @@ "interaction": [ { "code": "search-type" + }, + { + "code": "create" + }, + { + "code": "update" } ], + "conditionalCreate": true, + "conditionalUpdate": true, "searchInclude": [ "MedicationRequest:medication" ], @@ -283,11 +294,9 @@ }, { "code": "create" - }, - { - "code": "update" } ], + "conditionalCreate": true, "searchParam": [ { "name": "patient", @@ -316,7 +325,8 @@ { "code": "update" } - ] + ], + "conditionalUpdate": true }, { "type": "Practitioner", diff --git a/fsh-generated/resources/CapabilityStatement-SmartFormsServer.json b/fsh-generated/resources/CapabilityStatement-SmartFormsServer.json index ae7ed7f7..94bf8a3e 100644 --- a/fsh-generated/resources/CapabilityStatement-SmartFormsServer.json +++ b/fsh-generated/resources/CapabilityStatement-SmartFormsServer.json @@ -7,7 +7,7 @@ "description": "This CapabilityStatement describes the capabilities of the Smart Forms Server. The Smart Forms Server provides a definitional repository of resources that a client application can retrieve for use in a Smart Forms context. The capabilities listed include supported FHIR profiles, RESTful operations, and search parameters.", "status": "draft", "experimental": false, - "date": "2023-06-16", + "date": "2025-04-15", "publisher": "AEHRC CSIRO", "kind": "capability", "instantiates": [ diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index 79c4ba31..c246cea5 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -445,7 +445,7 @@ "reference": "CapabilityStatement/SmartFormsApplication" }, "name": "Smart Forms Application", - "description": "This CapabilityStatement describes the capabilities of the Smart Forms Application. These capabilities include supported FHIR profiles, RESTful operations, and search parameters. It covers supported tasks such as SMART App launch context, prepopulation and completion of forms.", + "description": "This CapabilityStatement describes the capabilities of the Smart Forms Application. These capabilities include supported FHIR profiles, RESTful operations, and search parameters. It covers supported tasks such as SMART App launch context, prepopulation, write-back and completion of forms.", "exampleBoolean": false }, { @@ -453,7 +453,7 @@ "reference": "CapabilityStatement/SFLauncherServerAboriginalTorresStraitIslanderHealthCheck" }, "name": "Smart Forms Launcher Server for the Aboriginal and Torres Strait Islander Health Check", - "description": "This CapabilityStatement describes the expected capabilities for systems to launch and exchange data with the [Smart Forms client application](CapabilityStatement-SmartFormsApplication.html) to support the [Aboriginal and Torres Strait Islander Health Check](Questionnaire-AboriginalTorresStraitIslanderHealthCheck.html). It lists the server's conformance expectations for the resource types required as a launch context, resource types required to support prepopulation of the form, and QuestionnaireResponse requirements for managing form responses. These expectations include supported FHIR profiles, RESTful operations, and search parameters.", + "description": "This CapabilityStatement describes the expected capabilities for systems to launch and exchange data with the [Smart Forms client application](CapabilityStatement-SmartFormsApplication.html) to support the [Aboriginal and Torres Strait Islander Health Check](Questionnaire-AboriginalTorresStraitIslanderHealthCheck.html). It lists the server's conformance expectations for the resource types required as a launch context, resource types required to support prepopulation of the form, resource types required to support writing back to the patient record, and QuestionnaireResponse requirements for managing form responses. These expectations include supported FHIR profiles, RESTful operations, and search parameters.", "exampleBoolean": false }, { diff --git a/input/fsh/capability.fsh b/input/fsh/capability.fsh index 101eedce..ee7683da 100644 --- a/input/fsh/capability.fsh +++ b/input/fsh/capability.fsh @@ -4,10 +4,10 @@ InstanceOf: CapabilityStatement Usage: #definition * name = "SmartFormsLauncherServerAboriginalTorresStraitIslanderHealthCheck" * title = "Smart Forms Launcher Server for the Aboriginal and Torres Strait Islander Health Check" -* description = "This CapabilityStatement describes the expected capabilities for systems to launch and exchange data with the [Smart Forms client application](CapabilityStatement-SmartFormsApplication.html) to support the [Aboriginal and Torres Strait Islander Health Check](Questionnaire-AboriginalTorresStraitIslanderHealthCheck.html). It lists the server's conformance expectations for the resource types required as a launch context, resource types required to support prepopulation of the form, and QuestionnaireResponse requirements for managing form responses. These expectations include supported FHIR profiles, RESTful operations, and search parameters." +* description = "This CapabilityStatement describes the expected capabilities for systems to launch and exchange data with the [Smart Forms client application](CapabilityStatement-SmartFormsApplication.html) to support the [Aboriginal and Torres Strait Islander Health Check](Questionnaire-AboriginalTorresStraitIslanderHealthCheck.html). It lists the server's conformance expectations for the resource types required as a launch context, resource types required to support prepopulation of the form, resource types required to support writing back to the patient record, and QuestionnaireResponse requirements for managing form responses. These expectations include supported FHIR profiles, RESTful operations, and search parameters." * status = #draft * experimental = false -* date = "2023-06-16" +* date = "2025-04-15" * publisher = "AEHRC CSIRO" * jurisdiction = urn:iso:std:iso:3166#AU * kind = #requirements @@ -81,9 +81,17 @@ Also see the [AU Core Security and Privacy](https://hl7.org.au/fhir/core/1.0.0/s * rest.resource[=].interaction[+].code = #create * rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[=].extension[0].valueCode = #SHALL +* rest.resource[=].interaction[=].documentation = "**SHALL** support `create`, `conditional create`." * rest.resource[=].interaction[+].code = #update * rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[=].extension[0].valueCode = #SHALL +* rest.resource[=].interaction[=].documentation = "**SHALL** support `update`, `conditional update`." +* rest.resource[=].conditionalCreate = true +* rest.resource[=].conditionalCreate.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].conditionalCreate.extension[0].valueCode = #SHALL +* rest.resource[=].conditionalUpdate = true +* rest.resource[=].conditionalUpdate.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].conditionalUpdate.extension[0].valueCode = #SHALL * rest.resource[=].searchParam[+].name = "patient" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" * rest.resource[=].searchParam[=].type = #reference @@ -114,9 +122,17 @@ The server **SHALL** support both." * rest.resource[=].interaction[+].code = #create * rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[=].extension[0].valueCode = #SHALL +* rest.resource[=].interaction[=].documentation = "**SHALL** support `create`, `conditional create`." * rest.resource[=].interaction[+].code = #update * rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[=].extension[0].valueCode = #SHALL +* rest.resource[=].interaction[=].documentation = "**SHALL** support `update`, `conditional update`." +* rest.resource[=].conditionalCreate = true +* rest.resource[=].conditionalCreate.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].conditionalCreate.extension[0].valueCode = #SHALL +* rest.resource[=].conditionalUpdate = true +* rest.resource[=].conditionalUpdate.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].conditionalUpdate.extension[0].valueCode = #SHALL * rest.resource[=].searchParam[+].name = "patient" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" * rest.resource[=].searchParam[=].type = #reference @@ -167,9 +183,10 @@ The server **SHALL** support both." * rest.resource[=].interaction[+].code = #create * rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[=].extension[0].valueCode = #SHALL -* rest.resource[=].interaction[+].code = #update -* rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].interaction[=].extension[0].valueCode = #SHALL +* rest.resource[=].interaction[=].documentation = "**SHALL** support `create`, `conditional create`." +* rest.resource[=].conditionalCreate = true +* rest.resource[=].conditionalCreate.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].conditionalCreate.extension[0].valueCode = #SHALL * rest.resource[=].searchParam[+].name = "patient" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" * rest.resource[=].searchParam[=].type = #reference @@ -201,6 +218,10 @@ The server **SHALL** support both." * rest.resource[=].interaction[+].code = #create * rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[=].extension[0].valueCode = #SHALL +* rest.resource[=].interaction[=].documentation = "**SHALL** support `create`, `conditional create`." +* rest.resource[=].conditionalCreate = true +* rest.resource[=].conditionalCreate.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].conditionalCreate.extension[0].valueCode = #SHALL //MedicationStatement * rest.resource[+].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" @@ -220,6 +241,20 @@ The server **SHALL** support both." * rest.resource[=].interaction[0].code = #search-type * rest.resource[=].interaction[0].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[0].extension[0].valueCode = #SHALL +* rest.resource[=].interaction[+].code = #create +* rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].interaction[=].extension[0].valueCode = #SHALL +* rest.resource[=].interaction[=].documentation = "**SHALL** support `create`, `conditional create`." +* rest.resource[=].interaction[+].code = #update +* rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].interaction[=].extension[0].valueCode = #SHALL +* rest.resource[=].interaction[=].documentation = "**SHALL** support `update`, `conditional update`." +* rest.resource[=].conditionalCreate = true +* rest.resource[=].conditionalCreate.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].conditionalCreate.extension[0].valueCode = #SHALL +* rest.resource[=].conditionalUpdate = true +* rest.resource[=].conditionalUpdate.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].conditionalUpdate.extension[0].valueCode = #SHALL * rest.resource[=].searchInclude[+] = "MedicationRequest:medication" * rest.resource[=].searchParam[+].name = "patient" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" @@ -297,9 +332,10 @@ The client **SHALL** support this method." * rest.resource[=].interaction[+].code = #create * rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[=].extension[0].valueCode = #SHALL -* rest.resource[=].interaction[+].code = #update -* rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].interaction[=].extension[0].valueCode = #SHALL +* rest.resource[=].interaction[=].documentation = "**SHALL** support `create`, `conditional create`." +* rest.resource[=].conditionalCreate = true +* rest.resource[=].conditionalCreate.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].conditionalCreate.extension[0].valueCode = #SHALL * rest.resource[=].searchParam[+].name = "patient" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" * rest.resource[=].searchParam[=].type = #reference @@ -339,6 +375,10 @@ The client **SHALL** support this method." * rest.resource[=].interaction[+].code = #update * rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[=].extension[0].valueCode = #SHALL +* rest.resource[=].interaction[=].documentation = "**SHALL** support `update`, `conditional update`." +* rest.resource[=].conditionalUpdate = true +* rest.resource[=].conditionalUpdate.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].conditionalUpdate.extension[0].valueCode = #SHALL //Practitioner * rest.resource[+].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" @@ -445,7 +485,7 @@ Usage: #definition * description = "This CapabilityStatement describes the capabilities of the Smart Forms Server. The Smart Forms Server provides a definitional repository of resources that a client application can retrieve for use in a Smart Forms context. The capabilities listed include supported FHIR profiles, RESTful operations, and search parameters." * status = #draft * experimental = false -* date = "2023-06-16" +* date = "2025-04-15" * publisher = "AEHRC CSIRO" * kind = #capability * instantiates[+] = "http://hl7.org/fhir/uv/sdc/CapabilityStatement/sdc-form-manager" @@ -507,10 +547,10 @@ InstanceOf: CapabilityStatement Usage: #definition * name = "SmartFormsApplication" * title = "Smart Forms Application" -* description = "This CapabilityStatement describes the capabilities of the Smart Forms Application. These capabilities include supported FHIR profiles, RESTful operations, and search parameters. It covers supported tasks such as SMART App launch context, prepopulation and completion of forms." +* description = "This CapabilityStatement describes the capabilities of the Smart Forms Application. These capabilities include supported FHIR profiles, RESTful operations, and search parameters. It covers supported tasks such as SMART App launch context, prepopulation, write-back and completion of forms." * status = #draft * experimental = false -* date = "2023-06-16" +* date = "2025-04-15" * publisher = "AEHRC CSIRO" * kind = #capability * instantiates[+] = "http://hl7.org/fhir/uv/sdc/CapabilityStatement/sdc-form-filler" @@ -537,6 +577,8 @@ Usage: #definition * rest.resource[=].interaction[0].code = #search-type * rest.resource[=].interaction[+].code = #create * rest.resource[=].interaction[+].code = #update +* rest.resource[=].conditionalCreate = true +* rest.resource[=].conditionalUpdate = true * rest.resource[=].searchParam[+].name = "patient" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" * rest.resource[=].searchParam[=].type = #reference @@ -556,6 +598,8 @@ The server **SHALL** support both." * rest.resource[=].interaction[0].code = #search-type * rest.resource[=].interaction[+].code = #create * rest.resource[=].interaction[+].code = #update +* rest.resource[=].conditionalCreate = true +* rest.resource[=].conditionalUpdate = true * rest.resource[=].searchParam[+].name = "patient" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" * rest.resource[=].searchParam[=].type = #reference @@ -587,7 +631,7 @@ The server **SHALL** support both." * rest.resource[=].documentation = "The client supports the Immunization resource, the AU Core profile and the conformance expectations for the Immunization resource." * rest.resource[=].interaction[0].code = #search-type * rest.resource[=].interaction[+].code = #create -* rest.resource[=].interaction[+].code = #update +* rest.resource[=].conditionalCreate = true * rest.resource[=].searchParam[+].name = "patient" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" * rest.resource[=].searchParam[=].type = #reference @@ -607,6 +651,7 @@ The server **SHALL** support both." * rest.resource[=].documentation = "The client supports the Medication resource, the AU Core profile and the conformance expectations for the Medication resource." * rest.resource[=].interaction[0].code = #read * rest.resource[=].interaction[+].code = #create +* rest.resource[=].conditionalCreate = true //MedicationStatement * rest.resource[+].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination" @@ -618,6 +663,10 @@ The server **SHALL** support both." * rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-medicationstatement" * rest.resource[=].documentation = "The client supports the MedicationStatement resource, the AU Core profile and the conformance expectations for the MedicationStatement resource." * rest.resource[=].interaction[0].code = #search-type +* rest.resource[=].interaction[+].code = #create +* rest.resource[=].interaction[+].code = #update +* rest.resource[=].conditionalCreate = true +* rest.resource[=].conditionalUpdate = true * rest.resource[=].searchInclude[+] = "MedicationRequest:medication" * rest.resource[=].searchParam[+].name = "patient" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" @@ -665,7 +714,7 @@ The client **SHALL** support this method." * rest.resource[=].documentation = "The client supports the Observation resource, the AU Core profiles listed and the conformance expectations for the Observation resource." * rest.resource[=].interaction[0].code = #search-type * rest.resource[=].interaction[+].code = #create -* rest.resource[=].interaction[+].code = #update +* rest.resource[=].conditionalCreate = true * rest.resource[=].searchParam[+].name = "patient" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" * rest.resource[=].searchParam[=].type = #reference @@ -693,6 +742,7 @@ The client **SHALL** support this method." * rest.resource[=].documentation = "The client supports the Patient resource, AU Core profile and the conformance expectations for the Patient resource." * rest.resource[=].interaction[0].code = #read * rest.resource[=].interaction[+].code = #update +* rest.resource[=].conditionalUpdate = true //Practitioner * rest.resource[+].type = #Practitioner From d1ad303673f8de3a2f7673ac020df103ab191896 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Tue, 15 Apr 2025 17:25:06 +1000 Subject: [PATCH 062/177] update publisher, capability statement and dependency updates --- _build.new.bat | 386 ++ ...iginalTorresStraitIslanderHealthCheck.json | 29 +- ...bilityStatement-SmartFormsApplication.json | 27 +- ...ntationGuide-csiro.fhir.au.smartforms.json | 40 +- input/fsh/capability.fsh | 63 +- ...tructureDefinition-au-core-headcircum.json | 4127 +++++++++++++++++ ...efinition-au-core-medicationstatement.json | 3067 ++++++++++++ ...ctureDefinition-au-core-relatedperson.json | 2025 ++++++++ sushi-config.yaml | 7 +- 9 files changed, 9736 insertions(+), 35 deletions(-) create mode 100644 _build.new.bat create mode 100644 input/resources/StructureDefinition-au-core-headcircum.json create mode 100644 input/resources/StructureDefinition-au-core-medicationstatement.json create mode 100644 input/resources/StructureDefinition-au-core-relatedperson.json diff --git a/_build.new.bat b/_build.new.bat new file mode 100644 index 00000000..2bf0d793 --- /dev/null +++ b/_build.new.bat @@ -0,0 +1,386 @@ +@ECHO OFF +setlocal enabledelayedexpansion + +SET "dlurl=https://github.com/HL7/fhir-ig-publisher/releases/latest/download/publisher.jar" +SET "publisher_jar=publisher.jar" +SET "input_cache_path=%CD%\input-cache\" +SET "skipPrompts=false" +SET "upper_path=..\" +SET "scriptdlroot=https://raw.githubusercontent.com/HL7/ig-publisher-scripts/main" +SET "build_bat_url=%scriptdlroot%/_build.bat" +SET "build_sh_url=%scriptdlroot%/_build.sh" + + + +:: Debugging statements to check jar file location +ECHO Checking for publisher.jar in %input_cache_path% +IF EXIST "%input_cache_path%%publisher_jar%" ( + SET "jar_location=%input_cache_path%%publisher_jar%" + ECHO Found publisher.jar in input-cache +) ELSE ( + ECHO Checking for publisher.jar in %upper_path% + IF EXIST "%upper_path%%publisher_jar%" ( + SET "jar_location=%upper_path%%publisher_jar%" + ECHO Found publisher.jar in parent folder + ) ELSE ( + SET "jar_location=not_found" + SET "default_choice=1" + ECHO publisher.jar not found in input-cache or parent folder + ) +) + + +:: Handle command-line argument to bypass the menu +IF NOT "%~1"=="" ( + IF /I "%~1"=="update" SET "userChoice=1" + IF /I "%~1"=="build" SET "userChoice=2" + IF /I "%~1"=="nosushi" SET "userChoice=3" + IF /I "%~1"=="notx" SET "userChoice=4" + IF /I "%~1"=="jekyll" SET "userChoice=5" + IF /I "%~1"=="clean" SET "userChoice=6" + IF /I "%~1"=="exit" SET "userChoice=0" + GOTO executeChoice +) + +echo --------------------------------------------------------------- +ECHO Checking internet connection... +PING tx.fhir.org -4 -n 1 -w 4000 >nul 2>&1 && SET "online_status=true" || SET "online_status=false" + +IF "%online_status%"=="true" ( + ECHO We're online and tx.fhir.org is available. + FOR /F "tokens=2 delims=:" %%a IN ('curl -s https://api.github.com/repos/HL7/fhir-ig-publisher/releases/latest ^| findstr "tag_name"') DO SET "latest_version=%%a" + SET "latest_version=!latest_version:"=!" + SET "latest_version=!latest_version: =!" + SET "latest_version=!latest_version:~0,-1!" +) ELSE ( + ECHO We're offline or tx.fhir.org is not available, can only run the publisher without TX... + SET "txoption=-tx n/a" + SET "latest_version=unknown" + SET "default_choice=4" +) + +echo --------------------------------------------------------------- + + +IF NOT "%jar_location%"=="not_found" ( + FOR /F "tokens=*" %%i IN ('java "-Dfile.encoding=UTF-8" -jar "%jar_location%" -v 2^>^&1') DO SET "publisher_version=%%i" + SET "publisher_version=!publisher_version:"=!" + ECHO Detected publisher version: !publisher_version! +) ELSE ( + SET "publisher_version=unknown" + ECHO publisher.jar location is not found +) + +ECHO Publisher version: !publisher_version!; Latest is !latest_version! + +IF NOT "%online_status%"=="true" ( + ECHO We're offline. +) ELSE ( + IF NOT "!publisher_version!"=="!latest_version!" ( + ECHO An update is recommended. + SET "default_choice=1" + ) ELSE ( + ECHO Publisher is up to date. + SET "default_choice=2" + ) +) + +echo --------------------------------------------------------------- +echo. + +echo Please select an option: +echo 1. Download or upload publisher +echo 2. Build IG +echo 3. Build IG - no sushi +echo 4. Build IG - force no TX server +echo 5. Jekyll build +echo 6. Clean up temp directories +echo 0. Exit +:: echo [Press Enter for default (%default_choice%) or type an option number:] +echo. + +:: Using CHOICE to handle input with timeout +:: ECHO [Enter=Continue, 1-7=Option, 0=Exit] +choice /C 12345670 /N /CS /D %default_choice% /T 5 /M "Choose an option number or wait 5 seconds for default (%default_choice%):" +SET "userChoice=%ERRORLEVEL%" + + +:executeChoice +echo You selected: %userChoice% + +IF "%userChoice%"=="1" GOTO downloadpublisher +IF "%userChoice%"=="2" GOTO publish_once +IF "%userChoice%"=="3" GOTO publish_nosushi +IF "%userChoice%"=="4" GOTO publish_notx +IF "%userChoice%"=="5" GOTO debugjekyll +IF "%userChoice%"=="6" GOTO clean +IF "%userChoice%"=="0" EXIT /B + +:end + + + +:debugjekyll + echo Running Jekyll build... + jekyll build -s temp/pages -d output +GOTO end + + +:clean + echo Cleaning up directories... + if exist ".\input-cache\publisher.jar" ( + echo Preserving publisher.jar and removing other files in .\input-cache... + move ".\input-cache\publisher.jar" ".\" + rmdir /s /q ".\input-cache" + mkdir ".\input-cache" + move ".\publisher.jar" ".\input-cache" + ) else ( + if exist ".\input-cache\" ( + rmdir /s /q ".\input-cache" + ) + ) + if exist ".\temp\" ( + rmdir /s /q ".\temp" + echo Removed: .\temp + ) + if exist ".\output\" ( + rmdir /s /q ".\output" + echo Removed: .\output + ) + if exist ".\template\" ( + rmdir /s /q ".\template" + echo Removed: .\template + ) + +GOTO end + + + + + +:downloadpublisher +ECHO Downloading Publisher... +:processflags +SET ARG=%1 +IF DEFINED ARG ( + IF "%ARG%"=="-f" SET FORCE=true + IF "%ARG%"=="--force" SET FORCE=true + SHIFT + GOTO processflags +) + +FOR %%x IN ("%CD%") DO SET upper_path=%%~dpx + +ECHO. +IF NOT EXIST "%input_cache_path%%publisher_jar%" ( + IF NOT EXIST "%upper_path%%publisher_jar%" ( + SET jarlocation="%input_cache_path%%publisher_jar%" + SET jarlocationname=Input Cache + ECHO IG Publisher is not yet in input-cache or parent folder. + REM we don't use jarlocation below because it will be empty because we're in a bracketed if statement + GOTO create + ) ELSE ( + ECHO IG Publisher FOUND in parent folder + SET jarlocation="%upper_path%%publisher_jar%" + SET jarlocationname=Parent folder + GOTO upgrade + ) +) ELSE ( + ECHO IG Publisher FOUND in input-cache + SET jarlocation="%input_cache_path%%publisher_jar%" + SET jarlocationname=Input Cache + GOTO upgrade +) + +:create +IF DEFINED FORCE ( + MKDIR "%input_cache_path%" 2> NUL + GOTO download +) + +IF "%skipPrompts%"=="y" ( + SET create=Y +) ELSE ( + SET /p create="Download? (Y/N) " +) +IF /I "%create%"=="Y" ( + ECHO Will place publisher jar here: %input_cache_path%%publisher_jar% + MKDIR "%input_cache_path%" 2> NUL + GOTO download +) +GOTO done + +:upgrade +IF "%skipPrompts%"=="y" ( + SET overwrite=Y +) ELSE ( + SET /p overwrite="Overwrite %jarlocation%? (Y/N) " +) + +IF /I "%overwrite%"=="Y" ( + GOTO download +) +GOTO done + +:download +ECHO Downloading most recent publisher to %jarlocationname% - it's ~200 MB, so this may take a bit + +FOR /f "tokens=4-5 delims=. " %%i IN ('ver') DO SET VERSION=%%i.%%j +IF "%version%" == "10.0" GOTO win10 +IF "%version%" == "6.3" GOTO win8.1 +IF "%version%" == "6.2" GOTO win8 +IF "%version%" == "6.1" GOTO win7 +IF "%version%" == "6.0" GOTO vista + +ECHO Unrecognized version: %version% +GOTO done + +:win10 +CALL POWERSHELL -command if ('System.Net.WebClient' -as [type]) {(new-object System.Net.WebClient).DownloadFile(\"%dlurl%\",\"%jarlocation%\") } else { Invoke-WebRequest -Uri "%dlurl%" -Outfile "%jarlocation%" } + +GOTO done + +:win7 +rem this may be triggering the antivirus - bitsadmin.exe is a known threat +rem CALL bitsadmin /transfer GetPublisher /download /priority normal "%dlurl%" "%jarlocation%" + +rem this didn't work in win 10 +rem CALL Start-BitsTransfer /priority normal "%dlurl%" "%jarlocation%" + +rem this should work - untested +call (New-Object Net.WebClient).DownloadFile('%dlurl%', '%jarlocation%') +GOTO done + +:win8.1 +:win8 +:vista +GOTO done + + + +:done + + + + +ECHO. +ECHO Updating scripts +IF "%skipPrompts%"=="y" ( + SET updateScripts=Y +) ELSE ( + SET /p updateScripts="Update scripts? (Y/N) " +) +IF /I "%updateScripts%"=="Y" ( + GOTO scripts +) +GOTO end + + +:scripts + +REM Download all batch files (and this one with a new name) + +SETLOCAL DisableDelayedExpansion + + + +:dl_script_1 +ECHO Updating _build.sh +call POWERSHELL -command if ('System.Net.WebClient' -as [type]) {(new-object System.Net.WebClient).DownloadFile(\"%build_sh_url%\",\"_build.new.sh\") } else { Invoke-WebRequest -Uri "%build_sh_url%" -Outfile "_build.new.sh" } +if %ERRORLEVEL% == 0 goto upd_script_1 +echo "Errors encountered during download: %errorlevel%" +goto dl_script_2 +:upd_script_1 +start copy /y "_build.new.sh" "_build.sh" ^&^& del "_build.new.sh" ^&^& exit + + +:dl_script_2 +ECHO Updating _build.bat +call POWERSHELL -command if ('System.Net.WebClient' -as [type]) {(new-object System.Net.WebClient).DownloadFile(\"%build_bat_url%\",\"_build.new.bat\") } else { Invoke-WebRequest -Uri "%build_bat_url%" -Outfile "_build.new.bat" } +if %ERRORLEVEL% == 0 goto upd_script_2 +echo "Errors encountered during download: %errorlevel%" +goto end +:upd_script_2 +start copy /y "_build.new.bat" "_build.bat" ^&^& del "_build.new.bat" ^&^& exit + + +GOTO end + + +:publish_once + +SET JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8 + +:: Debugging statements before running publisher +ECHO 1jar_location is: %jar_location% +IF NOT "%jar_location%"=="not_found" ( + java %JAVA_OPTS% -jar "%jar_location%" -ig . %txoption% %* +) ELSE ( + ECHO IG Publisher NOT FOUND in input-cache or parent folder. Please run _updatePublisher. Aborting... +) + +GOTO end + + + +:publish_nosushi + +SET JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8 + +:: Debugging statements before running publisher +ECHO 3jar_location is: %jar_location% +IF NOT "%jar_location%"=="not_found" ( + java %JAVA_OPTS% -jar "%jar_location%" -ig . %txoption% -no-sushi %* +) ELSE ( + ECHO IG Publisher NOT FOUND in input-cache or parent folder. Please run _updatePublisher. Aborting... +) + +GOTO end + + +:publish_notx +SET txoption=-tx n/a + +SET JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8 + +:: Debugging statements before running publisher +ECHO 2jar_location is: %jar_location% +IF NOT "%jar_location%"=="not_found" ( + java %JAVA_OPTS% -jar "%jar_location%" -ig . %txoption% %* +) ELSE ( + ECHO IG Publisher NOT FOUND in input-cache or parent folder. Please run _updatePublisher. Aborting... +) + +GOTO end + + + + +:publish_continuous + +SET JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8 + +:: Debugging statements before running publisher +ECHO Checking %input_cache_path% for publisher.jar +IF EXIST "%input_cache_path%\%publisher_jar%" ( + java %JAVA_OPTS% -jar "%input_cache_path%\%publisher_jar%" -ig . %txoption% -watch %* +) ELSE ( + ECHO Checking %upper_path% for publisher.jar + IF EXIST "..\%publisher_jar%" ( + java %JAVA_OPTS% -jar "..\%publisher_jar%" -ig . %txoption% -watch %* + ) ELSE ( + ECHO IG Publisher NOT FOUND in input-cache or parent folder. Please run _updatePublisher. Aborting... + ) +) + +GOTO end + + +:end + +:: Pausing at the end + + +IF NOT "%skipPrompts%"=="true" ( + PAUSE +) diff --git a/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json b/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json index f81ceb93..8e4c7ca0 100644 --- a/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json +++ b/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json @@ -90,7 +90,7 @@ "rest": [ { "mode": "server", - "documentation": "Smart Forms Launcher Server **SHALL**:\r\n1. Support the [AU Core AllergyIntolerance resource profile](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-allergyintolerance.html)\r\n1. Support the [AU Core Condition resource profile](http://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-condition.html)\r\n1. Support the [AU Core Encounter resource profile](http://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-encounter.html)\r\n1. Support the [AU Core Immunization resource profile](https://build.fhir.org/ig/hl7au/au-fhir-core/StructureDefinition-au-core-immunization.html)\r\n1. Support the [AU Core Medication profile](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-medication.html)\r\n1. Support the [AU Core MedicationStatement profile](https://build.fhir.org/ig/hl7au/au-fhir-core/StructureDefinition-au-core-medicationstatement.html)\r\n1. Support the [AU Core Observation resource profiles](http://hl7.org.au/fhir/core/1.0.0/profiles-and-extensions.html#observation)\r\n1. Support the [AU Core Patient resource profile](http://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-patient.html)\r\n1. Support the [AU Core Practitioner resource profile](http://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-practitioner.html)\r\n1. Support the [SDC Standard Questionnaire Response profile](https://hl7.org/fhir/uv/sdc/2025Jan/StructureDefinition-sdc-questionnaireresponse.html)\r\n1. Implement the RESTful behavior according to the FHIR specification\r\n1. Support JSON source formats for all interactions", + "documentation": "Smart Forms Launcher Server **SHALL**:\r\n1. Support the [AU Core AllergyIntolerance resource profile](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-allergyintolerance.html)\r\n1. Support the [AU Core Condition resource profile](http://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-condition.html)\r\n1. Support the [AU Core Encounter resource profile](http://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-encounter.html)\r\n1. Support the [AU Core Immunization resource profile](https://build.fhir.org/ig/hl7au/au-fhir-core/StructureDefinition-au-core-immunization.html)\r\n1. Support the [AU Core Medication profile](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-medication.html)\r\n1. Support the [AU Core MedicationStatement profile](https://hl7.org.au/fhir/core/1.1.0-preview/StructureDefinition-au-core-medicationstatement.html)\r\n1. Support the [AU Core Observation resource profiles](http://hl7.org.au/fhir/core/1.0.0/profiles-and-extensions.html#observation)\r\n1. Support the [AU Core Patient resource profile](http://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-patient.html)\r\n1. Support the [AU Core Practitioner resource profile](http://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-practitioner.html)\r\n1. Support the [SDC Questionnaire Response profile](https://hl7.org/fhir/uv/sdc/STU3/StructureDefinition-sdc-questionnaireresponse.html)\r\n1. Implement the RESTful behavior according to the FHIR specification\r\n1. Support JSON source formats for all interactions", "security": { "cors": true, "_cors": { @@ -642,6 +642,10 @@ { "url": "required", "valueString": "code" + }, + { + "url": "required", + "valueString": "_sort" } ] } @@ -652,7 +656,7 @@ "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyheight", "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyweight", "http://hl7.org.au/fhir/core/StructureDefinition/au-core-diagnosticresult-path", - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum|0.2.2-preview", + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum", "http://hl7.org.au/fhir/core/StructureDefinition/au-core-heartrate", "http://hl7.org.au/fhir/core/StructureDefinition/au-core-waistcircum", "http://hl7.org.au/fhir/core/StructureDefinition/au-core-smokingstatus" @@ -759,7 +763,7 @@ "name": "patient", "definition": "http://hl7.org/fhir/SearchParameter/clinical-patient", "type": "reference", - "documentation": "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. The server **SHALL** support both. ", + "documentation": "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. \r\n\r\nThe server **SHALL** support both. ", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", @@ -771,7 +775,18 @@ "name": "code", "definition": "http://hl7.org/fhir/SearchParameter/clinical-code", "type": "token", - "documentation": "The client **SHALL** provide at least a code value and **MAY** provide both the code and system values. The server **SHALL** support both.", + "documentation": "The client **SHALL** provide at least a code value and **MAY** provide both the code and system values. \r\n\r\nThe server **SHALL** support both.", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "name": "_sort", + "type": "string", + "documentation": "The client and server **SHALL** support search result sorting by date and **MAY** support other values.", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", @@ -1001,7 +1016,7 @@ "name": "patient", "definition": "http://hl7.org/fhir/SearchParameter/QuestionnaireResponse-patient", "type": "reference", - "documentation": "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. The server **SHALL** support both. ", + "documentation": "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. \r\n\r\nThe server **SHALL** support both. ", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", @@ -1013,7 +1028,7 @@ "name": "questionnaire", "definition": "http://hl7.org/fhir/SearchParameter/QuestionnaireResponse-questionnaire", "type": "reference", - "documentation": "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. The server **SHALL** support both.

The client and server **SHALL** support chained search questionnaire.title using the :contains modifier.", + "documentation": "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. \r\n\r\nThe server **SHALL** support both.\r\n\r\nThe client and server **SHALL** support chained search questionnaire.title using the :contains modifier.", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", @@ -1025,7 +1040,7 @@ "name": "status", "definition": "http://hl7.org/fhir/SearchParameter/QuestionnaireResponse-status", "type": "token", - "documentation": "The client **SHALL** provide at least a code value and **MAY** provide both the code and system values. The server **SHALL** support both.", + "documentation": "The client **SHALL** provide at least a code value and **MAY** provide both the code and system values. \r\n\r\nThe server **SHALL** support both.", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", diff --git a/fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json b/fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json index 3b3d81dc..bab62cd3 100644 --- a/fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json +++ b/fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json @@ -21,7 +21,7 @@ "json" ], "implementationGuide": [ - "http://hl7.org/fhir/smart-app-launch/ImplementationGuide/hl7.fhir.uv.smart-app-launch" + "http://hl7.org/fhir/smart-app-launch/ImplementationGuide/hl7.fhir.uv.smart-app-launch|2.2.0" ], "rest": [ { @@ -272,6 +272,10 @@ { "url": "required", "valueString": "code" + }, + { + "url": "required", + "valueString": "_sort" } ] } @@ -302,13 +306,24 @@ "name": "patient", "definition": "http://hl7.org/fhir/SearchParameter/clinical-patient", "type": "reference", - "documentation": "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. The server **SHALL** support both. " + "documentation": "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. \r\n\r\nThe server **SHALL** support both. " }, { "name": "code", "definition": "http://hl7.org/fhir/SearchParameter/clinical-code", "type": "token", - "documentation": "The client **SHALL** provide at least a code value and **MAY** provide both the code and system values. The server **SHALL** support both." + "documentation": "The client **SHALL** provide at least a code value and **MAY** provide both the code and system values. \r\n\r\nThe server **SHALL** support both." + }, + { + "name": "_sort", + "type": "string", + "documentation": "The client and server **SHALL** support search result sorting by date and **MAY** support other values.", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] } ] }, @@ -521,19 +536,19 @@ "name": "patient", "definition": "http://hl7.org/fhir/SearchParameter/QuestionnaireResponse-patient", "type": "reference", - "documentation": "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. The server **SHALL** support both. " + "documentation": "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. \r\n\r\nThe server **SHALL** support both. " }, { "name": "questionnaire", "definition": "http://hl7.org/fhir/SearchParameter/QuestionnaireResponse-questionnaire", "type": "reference", - "documentation": "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. The server **SHALL** support both.

The client and server **SHALL** support chained search questionnaire.title using the :contains modifier." + "documentation": "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. \r\n\r\nThe server **SHALL** support both.\r\n\r\nThe client and server **SHALL** support chained search questionnaire.title using the :contains modifier." }, { "name": "status", "definition": "http://hl7.org/fhir/SearchParameter/QuestionnaireResponse-status", "type": "token", - "documentation": "The client **SHALL** provide at least a code value and **MAY** provide both the code and system values. The server **SHALL** support both." + "documentation": "The client **SHALL** provide at least a code value and **MAY** provide both the code and system values. \r\n\r\nThe server **SHALL** support both." }, { "name": "_count", diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index c246cea5..c35e68f9 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -29,7 +29,7 @@ "dependsOn": [ { "packageId": "hl7.fhir.au.core", - "version": "0.3.0-ballot", + "version": "1.0.0", "uri": "http://hl7.org.au/fhir/core/ImplementationGuide/hl7.fhir.au.core", "id": "hl7_fhir_au_core" }, @@ -41,7 +41,7 @@ }, { "packageId": "hl7.fhir.uv.smart-app-launch", - "version": "2.1.0", + "version": "2.2.0", "uri": "http://hl7.org/fhir/smart-app-launch/ImplementationGuide/hl7.fhir.uv.smart-app-launch", "id": "hl7_fhir_uv_smart_app_launch" } @@ -336,6 +336,30 @@ "description": "The gender of a person used for administrative purposes.", "exampleBoolean": false }, + { + "reference": { + "reference": "StructureDefinition/au-core-headcircum" + }, + "description": "This profile sets minimum expectations for an Observation resource to record, search, and fetch head circumference observations with standard coding and units of measure. It is based on the [FHIR Head Circumference Profile](http://hl7.org/fhir/R4/headcircum.html) and identifies the *additional* mandatory core elements, extensions, vocabularies and value sets that **SHALL** be present in the Observation resource when conforming to this profile. It provides the floor for standards development for specific uses cases in an Australian context.", + "exampleBoolean": false, + "name": "AU Core Head Circumference" + }, + { + "reference": { + "reference": "StructureDefinition/au-core-medicationstatement" + }, + "description": "This profile sets minimum expectations for a MedicationStatement resource to record, search, and fetch summary statements of medication use associated with a patient. It is based on the [AU Base Medication Statement](http://build.fhir.org/ig/hl7au/au-fhir-base/StructureDefinition-au-medicationstatement.html) profile and identifies the *additional* mandatory core elements, extensions, vocabularies and value sets that **SHALL** be present in the MedicationStatement when conforming to this profile. It provides the floor for standards development for specific uses cases in an Australian context.", + "exampleBoolean": false, + "name": "AU Core MedicationStatement" + }, + { + "reference": { + "reference": "StructureDefinition/au-core-relatedperson" + }, + "description": "This profile sets minimum expectations for a RelatedPerson resource to record, search, and fetch basic demographics and other administrative information about individual related persons associated with a patient. It is based on the [AU Base Related Person](http://build.fhir.org/ig/hl7au/au-fhir-base/StructureDefinition-au-relatedperson.html) profile and identifies the *additional* mandatory core elements, extensions, vocabularies and value sets that **SHALL** be present in the RelatedPerson resource when conforming to this profile. It provides the floor for standards development for specific uses cases in an Australian context.", + "exampleBoolean": false, + "name": "AU Core RelatedPerson" + }, { "reference": { "reference": "ValueSet/australian-pronouns-1" @@ -749,6 +773,18 @@ "code": "special-url", "value": "https://healthterminologies.gov.au/fhir/ValueSet/clinical-condition-1" }, + { + "code": "special-url", + "value": "http://hl7.org.au/fhir/core/StructureDefinition/au-core-medicationstatement" + }, + { + "code": "special-url", + "value": "http://hl7.org.au/fhir/core/StructureDefinition/au-core-relatedperson" + }, + { + "code": "special-url", + "value": "http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum" + }, { "code": "apply-publisher", "value": "false" diff --git a/input/fsh/capability.fsh b/input/fsh/capability.fsh index ee7683da..551a1429 100644 --- a/input/fsh/capability.fsh +++ b/input/fsh/capability.fsh @@ -42,11 +42,11 @@ Usage: #definition 1. Support the [AU Core Encounter resource profile](http://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-encounter.html) 1. Support the [AU Core Immunization resource profile](https://build.fhir.org/ig/hl7au/au-fhir-core/StructureDefinition-au-core-immunization.html) 1. Support the [AU Core Medication profile](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-medication.html) -1. Support the [AU Core MedicationStatement profile](https://build.fhir.org/ig/hl7au/au-fhir-core/StructureDefinition-au-core-medicationstatement.html) +1. Support the [AU Core MedicationStatement profile](https://hl7.org.au/fhir/core/1.1.0-preview/StructureDefinition-au-core-medicationstatement.html) 1. Support the [AU Core Observation resource profiles](http://hl7.org.au/fhir/core/1.0.0/profiles-and-extensions.html#observation) 1. Support the [AU Core Patient resource profile](http://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-patient.html) 1. Support the [AU Core Practitioner resource profile](http://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-practitioner.html) -1. Support the [SDC Standard Questionnaire Response profile](https://hl7.org/fhir/uv/sdc/2025Jan/StructureDefinition-sdc-questionnaireresponse.html) +1. Support the [SDC Questionnaire Response profile](https://hl7.org/fhir/uv/sdc/STU3/StructureDefinition-sdc-questionnaireresponse.html) 1. Implement the RESTful behavior according to the FHIR specification 1. Support JSON source formats for all interactions" @@ -297,9 +297,10 @@ The client **SHALL** support this method." /* * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "_count" +*/ * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "_sort" -*/ + * rest.resource[=].type = #Observation * rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bloodpressure" * rest.resource[=].supportedProfile[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" @@ -313,7 +314,7 @@ The client **SHALL** support this method." * rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-diagnosticresult-path" * rest.resource[=].supportedProfile[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].supportedProfile[=].extension[0].valueCode = #SHALL -* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum|0.2.2-preview" +* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum" * rest.resource[=].supportedProfile[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].supportedProfile[=].extension[0].valueCode = #SHALL * rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-heartrate" @@ -339,13 +340,17 @@ The client **SHALL** support this method." * rest.resource[=].searchParam[+].name = "patient" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" * rest.resource[=].searchParam[=].type = #reference -* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. The server **SHALL** support both. " +* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. + +The server **SHALL** support both. " * rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL * rest.resource[=].searchParam[+].name = "code" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-code" * rest.resource[=].searchParam[=].type = #token -* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a code value and **MAY** provide both the code and system values. The server **SHALL** support both." +* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a code value and **MAY** provide both the code and system values. + +The server **SHALL** support both." * rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL /* @@ -354,12 +359,13 @@ The client **SHALL** support this method." * rest.resource[=].searchParam[=].documentation = "The client and server **SHALL** support search result limiting." * rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL +*/ * rest.resource[=].searchParam[+].name = "_sort" * rest.resource[=].searchParam[=].type = #string * rest.resource[=].searchParam[=].documentation = "The client and server **SHALL** support search result sorting by date and **MAY** support other values." * rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL -*/ + //Patient * rest.resource[+].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" @@ -449,19 +455,27 @@ The client **SHALL** support this method." * rest.resource[=].searchParam[+].name = "patient" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/QuestionnaireResponse-patient" * rest.resource[=].searchParam[=].type = #reference -* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. The server **SHALL** support both. " +* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. + +The server **SHALL** support both. " * rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL * rest.resource[=].searchParam[+].name = "questionnaire" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/QuestionnaireResponse-questionnaire" * rest.resource[=].searchParam[=].type = #reference -* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. The server **SHALL** support both.

The client and server **SHALL** support chained search questionnaire.title using the :contains modifier." +* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. + +The server **SHALL** support both. + +The client and server **SHALL** support chained search questionnaire.title using the :contains modifier." * rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL * rest.resource[=].searchParam[+].name = "status" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/QuestionnaireResponse-status" * rest.resource[=].searchParam[=].type = #token -* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a code value and **MAY** provide both the code and system values. The server **SHALL** support both." +* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a code value and **MAY** provide both the code and system values. + +The server **SHALL** support both." * rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL * rest.resource[=].searchParam[+].name = "_count" @@ -557,7 +571,7 @@ Usage: #definition * software.name = "Smart Forms Application" * fhirVersion = #4.0.1 * format[0] = #json -* implementationGuide[+] = "http://hl7.org/fhir/smart-app-launch/ImplementationGuide/hl7.fhir.uv.smart-app-launch" +* implementationGuide[+] = "http://hl7.org/fhir/smart-app-launch/ImplementationGuide/hl7.fhir.uv.smart-app-launch|2.2.0" * rest.mode = #client * rest.documentation = "The Smart Forms Application performs interactions to support SMART App Launch, form prepopulation and form filling. The interactions performed for prepopulation are not listed here as they can vary greatly and are defined in the Questionnaire instance." @@ -699,9 +713,10 @@ The client **SHALL** support this method." /* * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "_count" +*/ * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "_sort" -*/ + * rest.resource[=].type = #Observation * rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bloodpressure" * rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyheight" @@ -718,23 +733,27 @@ The client **SHALL** support this method." * rest.resource[=].searchParam[+].name = "patient" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" * rest.resource[=].searchParam[=].type = #reference -* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. The server **SHALL** support both. " +* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. + +The server **SHALL** support both. " * rest.resource[=].searchParam[+].name = "code" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-code" * rest.resource[=].searchParam[=].type = #token -* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a code value and **MAY** provide both the code and system values. The server **SHALL** support both." +* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a code value and **MAY** provide both the code and system values. + +The server **SHALL** support both." /* * rest.resource[=].searchParam[+].name = "_count" * rest.resource[=].searchParam[=].type = #number * rest.resource[=].searchParam[=].documentation = "The client and server **SHALL** support search result limiting." * rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL +*/ * rest.resource[=].searchParam[+].name = "_sort" * rest.resource[=].searchParam[=].type = #string * rest.resource[=].searchParam[=].documentation = "The client and server **SHALL** support search result sorting by date and **MAY** support other values." * rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL -*/ //Patient * rest.resource[+].type = #Patient @@ -832,15 +851,23 @@ The client **SHALL** support this method." * rest.resource[=].searchParam[+].name = "patient" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/QuestionnaireResponse-patient" * rest.resource[=].searchParam[=].type = #reference -* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. The server **SHALL** support both. " +* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. + +The server **SHALL** support both. " * rest.resource[=].searchParam[+].name = "questionnaire" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/QuestionnaireResponse-questionnaire" * rest.resource[=].searchParam[=].type = #reference -* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. The server **SHALL** support both.

The client and server **SHALL** support chained search questionnaire.title using the :contains modifier." +* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. + +The server **SHALL** support both. + +The client and server **SHALL** support chained search questionnaire.title using the :contains modifier." * rest.resource[=].searchParam[+].name = "status" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/QuestionnaireResponse-status" * rest.resource[=].searchParam[=].type = #token -* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a code value and **MAY** provide both the code and system values. The server **SHALL** support both." +* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a code value and **MAY** provide both the code and system values. + +The server **SHALL** support both." * rest.resource[=].searchParam[+].name = "_count" * rest.resource[=].searchParam[=].type = #number * rest.resource[=].searchParam[=].documentation = "The client and server **SHALL** support search result limiting." diff --git a/input/resources/StructureDefinition-au-core-headcircum.json b/input/resources/StructureDefinition-au-core-headcircum.json new file mode 100644 index 00000000..8d99f18a --- /dev/null +++ b/input/resources/StructureDefinition-au-core-headcircum.json @@ -0,0 +1,4127 @@ +{ + "resourceType" : "StructureDefinition", + "id" : "au-core-headcircum", + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm", + "valueInteger" : 0, + "_valueInteger" : { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom", + "valueCanonical" : "http://hl7.org.au/fhir/core/ImplementationGuide/hl7.fhir.au.core" + }] + } + }, + { + "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", + "valueCode" : "draft", + "_valueCode" : { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom", + "valueCanonical" : "http://hl7.org.au/fhir/core/ImplementationGuide/hl7.fhir.au.core" + }] + } + }], + "url" : "http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum", + "version" : "0.2.2-preview", + "name" : "AUCoreHeadCircumference", + "title" : "AU Core Head Circumference", + "status" : "draft", + "date" : "2023-11-16T10:32:02+11:00", + "publisher" : "HL7 Australia", + "contact" : [{ + "name" : "HL7 Australia FHIR Work Group", + "telecom" : [{ + "system" : "url", + "value" : "https://confluence.hl7.org/display/HAFWG", + "use" : "work" + }] + }], + "description" : "This profile sets minimum expectations for an Observation resource to record, search, and fetch head circumference observations with standard coding and units of measure. It is based on the [FHIR Head Circumference Profile](http://hl7.org/fhir/R4/headcircum.html) and identifies the *additional* mandatory core elements, extensions, vocabularies and value sets that **SHALL** be present in the Observation resource when conforming to this profile. It provides the floor for standards development for specific uses cases in an Australian context.", + "jurisdiction" : [{ + "coding" : [{ + "system" : "urn:iso:std:iso:3166", + "code" : "AU" + }] + }], + "copyright" : "Used by permission of HL7 International, all rights reserved Creative Commons License. HL7 Australia© 2022+; Licensed Under Creative Commons No Rights Reserved.\n\nThis resource includes SNOMED Clinical Terms™ (SNOMED CT®) which is used by permission of the International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. “SNOMED” and “SNOMED CT” are registered trademarks of the IHTSDO. The rights to use and implement or implementation of SNOMED CT content are limited to the extent it is necessary to allow for the end use of this material. No further rights are granted in respect of the International Release and no further use of any SNOMED CT content by any other party is permitted. \n\nThis material contains content from LOINC (http://loinc.org). LOINC is copyright © 1995-2021, Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee and is available at no cost under the license at http://loinc.org/license. LOINC® is a registered United States trademark of Regenstrief Institute, Inc.\n\nAll copies of this resource must include this copyright statement and all information contained in this statement.", + "fhirVersion" : "4.0.1", + "mapping" : [{ + "identity" : "workflow", + "uri" : "http://hl7.org/fhir/workflow", + "name" : "Workflow Pattern" + }, + { + "identity" : "sct-concept", + "uri" : "http://snomed.info/conceptdomain", + "name" : "SNOMED CT Concept Domain Binding" + }, + { + "identity" : "v2", + "uri" : "http://hl7.org/v2", + "name" : "HL7 v2 Mapping" + }, + { + "identity" : "rim", + "uri" : "http://hl7.org/v3", + "name" : "RIM Mapping" + }, + { + "identity" : "w5", + "uri" : "http://hl7.org/fhir/fivews", + "name" : "FiveWs Pattern Mapping" + }, + { + "identity" : "sct-attr", + "uri" : "http://snomed.org/attributebinding", + "name" : "SNOMED CT Attribute Binding" + }], + "kind" : "resource", + "abstract" : false, + "type" : "Observation", + "baseDefinition" : "http://hl7.org/fhir/StructureDefinition/headcircum", + "derivation" : "constraint", + "snapshot" : { + "element" : [{ + "id" : "Observation", + "path" : "Observation", + "short" : "Head circumference", + "definition" : "Measurement of a patient's head circumference at a point in time.", + "comment" : "Head circumference observation using a LOINC code, a SNOMED CT code and a metric UCUM unit of measure.", + "alias" : ["Vital Signs", + "Measurement", + "Results", + "Tests"], + "min" : 0, + "max" : "*", + "base" : { + "path" : "Observation", + "min" : 0, + "max" : "*" + }, + "constraint" : [{ + "key" : "dom-2", + "severity" : "error", + "human" : "If the resource is contained in another resource, it SHALL NOT contain nested Resources", + "expression" : "contained.contained.empty()", + "xpath" : "not(parent::f:contained and f:contained)", + "source" : "http://hl7.org/fhir/StructureDefinition/DomainResource" + }, + { + "key" : "dom-3", + "severity" : "error", + "human" : "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource", + "expression" : "contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()", + "xpath" : "not(exists(for $id in f:contained/*/f:id/@value return $contained[not(parent::*/descendant::f:reference/@value=concat('#', $contained/*/id/@value) or descendant::f:reference[@value='#'])]))", + "source" : "http://hl7.org/fhir/StructureDefinition/DomainResource" + }, + { + "key" : "dom-4", + "severity" : "error", + "human" : "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated", + "expression" : "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()", + "xpath" : "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))", + "source" : "http://hl7.org/fhir/StructureDefinition/DomainResource" + }, + { + "key" : "dom-5", + "severity" : "error", + "human" : "If a resource is contained in another resource, it SHALL NOT have a security label", + "expression" : "contained.meta.security.empty()", + "xpath" : "not(exists(f:contained/*/f:meta/f:security))", + "source" : "http://hl7.org/fhir/StructureDefinition/DomainResource" + }, + { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice", + "valueBoolean" : true + }, + { + "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice-explanation", + "valueMarkdown" : "When a resource has no narrative, only systems that fully understand the data can display the resource to a human safely. Including a human readable representation in the resource makes for a much more robust eco-system and cheaper handling of resources by intermediary systems. Some ecosystems restrict distribution of resources to only those systems that do fully understand the resources, and as a consequence implementers may believe that the narrative is superfluous. However experience shows that such eco-systems often open up to new participants over time." + }], + "key" : "dom-6", + "severity" : "warning", + "human" : "A resource should have narrative for robust management", + "expression" : "text.`div`.exists()", + "xpath" : "exists(f:text/h:div)", + "source" : "http://hl7.org/fhir/StructureDefinition/DomainResource" + }, + { + "key" : "obs-6", + "severity" : "error", + "human" : "dataAbsentReason SHALL only be present if Observation.value[x] is not present", + "expression" : "dataAbsentReason.empty() or value.empty()", + "xpath" : "not(exists(f:dataAbsentReason)) or (not(exists(*[starts-with(local-name(.), 'value')])))", + "source" : "http://hl7.org/fhir/StructureDefinition/Observation" + }, + { + "key" : "obs-7", + "severity" : "error", + "human" : "If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present", + "expression" : "value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()", + "xpath" : "not(f:*[starts-with(local-name(.), 'value')] and (for $coding in f:code/f:coding return f:component/f:code/f:coding[f:code/@value=$coding/f:code/@value] [f:system/@value=$coding/f:system/@value]))", + "source" : "http://hl7.org/fhir/StructureDefinition/Observation" + }, + { + "key" : "vs-2", + "severity" : "error", + "human" : "If there is no component or hasMember element then either a value[x] or a data absent reason must be present.", + "expression" : "(component.empty() and hasMember.empty()) implies (dataAbsentReason.exists() or value.exists())", + "xpath" : "f:component or f:memberOF or f:*[starts-with(local-name(.), 'value')] or f:dataAbsentReason", + "source" : "http://hl7.org/fhir/StructureDefinition/vitalsigns" + }, + { + "key" : "au-core-obs-02", + "severity" : "error", + "human" : "At least value or data absent reason shall be present", + "expression" : "dataAbsentReason.exists() or value.exists()", + "xpath" : "exists(f:*[starts-with(local-name(.), 'value')]) or exists(f:dataAbsentReason)", + "source" : "http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "rim", + "map" : "Entity. Role, or Act" + }, + { + "identity" : "workflow", + "map" : "Event" + }, + { + "identity" : "sct-concept", + "map" : "< 363787002 |Observable entity|" + }, + { + "identity" : "v2", + "map" : "OBX" + }, + { + "identity" : "rim", + "map" : "Observation[classCode=OBS, moodCode=EVN]" + }] + }, + { + "id" : "Observation.id", + "path" : "Observation.id", + "short" : "Logical id of this artifact", + "definition" : "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.", + "comment" : "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Resource.id", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", + "valueUrl" : "id" + }], + "code" : "http://hl7.org/fhirpath/System.String" + }], + "isModifier" : false, + "isSummary" : true + }, + { + "id" : "Observation.meta", + "path" : "Observation.meta", + "short" : "Metadata about the resource", + "definition" : "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Resource.meta", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "Meta" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true + }, + { + "id" : "Observation.implicitRules", + "path" : "Observation.implicitRules", + "short" : "A set of rules under which this content was created", + "definition" : "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.", + "comment" : "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Resource.implicitRules", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "uri" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : true, + "isModifierReason" : "This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation", + "isSummary" : true + }, + { + "id" : "Observation.language", + "path" : "Observation.language", + "short" : "Language of the resource content", + "definition" : "The base language in which the resource is written.", + "comment" : "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Resource.language", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "code" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : false, + "binding" : { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet", + "valueCanonical" : "http://hl7.org/fhir/ValueSet/all-languages" + }, + { + "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", + "valueString" : "Language" + }], + "strength" : "preferred", + "description" : "A human language.", + "valueSet" : "http://hl7.org/fhir/ValueSet/languages" + } + }, + { + "id" : "Observation.text", + "path" : "Observation.text", + "short" : "Text summary of the resource, for human interpretation", + "definition" : "A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.", + "comment" : "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded information is added later.", + "alias" : ["narrative", + "html", + "xhtml", + "display"], + "min" : 0, + "max" : "1", + "base" : { + "path" : "DomainResource.text", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "Narrative" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "rim", + "map" : "Act.text?" + }] + }, + { + "id" : "Observation.contained", + "path" : "Observation.contained", + "short" : "Contained, inline Resources", + "definition" : "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.", + "comment" : "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.", + "alias" : ["inline resources", + "anonymous resources", + "contained resources"], + "min" : 0, + "max" : "*", + "base" : { + "path" : "DomainResource.contained", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Resource" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "rim", + "map" : "N/A" + }] + }, + { + "id" : "Observation.extension", + "path" : "Observation.extension", + "short" : "Additional content defined by implementations", + "definition" : "May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", + "comment" : "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", + "alias" : ["extensions", + "user content"], + "min" : 0, + "max" : "*", + "base" : { + "path" : "DomainResource.extension", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Extension" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key" : "ext-1", + "severity" : "error", + "human" : "Must have either extensions or value[x], not both", + "expression" : "extension.exists() != value.exists()", + "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", + "source" : "http://hl7.org/fhir/StructureDefinition/Extension" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "rim", + "map" : "N/A" + }] + }, + { + "id" : "Observation.modifierExtension", + "path" : "Observation.modifierExtension", + "short" : "Extensions that cannot be ignored", + "definition" : "May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", + "comment" : "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", + "requirements" : "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/extensibility.html#modifierExtension).", + "alias" : ["extensions", + "user content"], + "min" : 0, + "max" : "*", + "base" : { + "path" : "DomainResource.modifierExtension", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Extension" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key" : "ext-1", + "severity" : "error", + "human" : "Must have either extensions or value[x], not both", + "expression" : "extension.exists() != value.exists()", + "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", + "source" : "http://hl7.org/fhir/StructureDefinition/Extension" + }], + "isModifier" : true, + "isModifierReason" : "Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them", + "isSummary" : false, + "mapping" : [{ + "identity" : "rim", + "map" : "N/A" + }] + }, + { + "id" : "Observation.identifier", + "path" : "Observation.identifier", + "short" : "Business Identifier for observation", + "definition" : "A unique identifier assigned to this observation.", + "requirements" : "Allows observations to be distinguished and referenced.", + "min" : 0, + "max" : "*", + "base" : { + "path" : "Observation.identifier", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Identifier" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "workflow", + "map" : "Event.identifier" + }, + { + "identity" : "w5", + "map" : "FiveWs.identifier" + }, + { + "identity" : "v2", + "map" : "OBX.21 For OBX segments from systems without OBX-21 support a combination of ORC/OBR and OBX must be negotiated between trading partners to uniquely identify the OBX segment. Depending on how V2 has been implemented each of these may be an option: 1) OBR-3 + OBX-3 + OBX-4 or 2) OBR-3 + OBR-4 + OBX-3 + OBX-4 or 2) some other way to uniquely ID the OBR/ORC + OBX-3 + OBX-4." + }, + { + "identity" : "rim", + "map" : "id" + }] + }, + { + "id" : "Observation.basedOn", + "path" : "Observation.basedOn", + "short" : "Fulfills plan, proposal or order", + "definition" : "A plan, proposal or order that is fulfilled in whole or in part by this event. For example, a MedicationRequest may require a patient to have laboratory test performed before it is dispensed.", + "requirements" : "Allows tracing of authorization for the event and tracking whether proposals/recommendations were acted upon.", + "alias" : ["Fulfills"], + "min" : 0, + "max" : "*", + "base" : { + "path" : "Observation.basedOn", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Reference", + "targetProfile" : ["http://hl7.org/fhir/StructureDefinition/CarePlan", + "http://hl7.org/fhir/StructureDefinition/DeviceRequest", + "http://hl7.org/fhir/StructureDefinition/ImmunizationRecommendation", + "http://hl7.org/fhir/StructureDefinition/MedicationRequest", + "http://hl7.org/fhir/StructureDefinition/NutritionOrder", + "http://hl7.org/fhir/StructureDefinition/ServiceRequest"] + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "workflow", + "map" : "Event.basedOn" + }, + { + "identity" : "v2", + "map" : "ORC" + }, + { + "identity" : "rim", + "map" : ".inboundRelationship[typeCode=COMP].source[moodCode=EVN]" + }] + }, + { + "id" : "Observation.partOf", + "path" : "Observation.partOf", + "short" : "Part of referenced event", + "definition" : "A larger event of which this particular Observation is a component or step. For example, an observation as part of a procedure.", + "comment" : "To link an Observation to an Encounter use `encounter`. See the [Notes](http://hl7.org/fhir/observation.html#obsgrouping) below for guidance on referencing another Observation.", + "alias" : ["Container"], + "min" : 0, + "max" : "*", + "base" : { + "path" : "Observation.partOf", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Reference", + "targetProfile" : ["http://hl7.org/fhir/StructureDefinition/MedicationAdministration", + "http://hl7.org/fhir/StructureDefinition/MedicationDispense", + "http://hl7.org/fhir/StructureDefinition/MedicationStatement", + "http://hl7.org/fhir/StructureDefinition/Procedure", + "http://hl7.org/fhir/StructureDefinition/Immunization", + "http://hl7.org/fhir/StructureDefinition/ImagingStudy"] + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "workflow", + "map" : "Event.partOf" + }, + { + "identity" : "v2", + "map" : "Varies by domain" + }, + { + "identity" : "rim", + "map" : ".outboundRelationship[typeCode=FLFS].target" + }] + }, + { + "id" : "Observation.status", + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint", + "valueString" : "default: final" + }], + "path" : "Observation.status", + "short" : "registered | preliminary | final | amended +", + "definition" : "The status of the result value.", + "comment" : "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.", + "requirements" : "Need to track the status of individual results. Some results are finalized before the whole report is finalized.", + "min" : 1, + "max" : "1", + "base" : { + "path" : "Observation.status", + "min" : 1, + "max" : "1" + }, + "type" : [{ + "code" : "code" + }], + "fixedCode" : "final", + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "mustSupport" : true, + "isModifier" : true, + "isModifierReason" : "This element is labeled as a modifier because it is a status element that contains status entered-in-error which means that the resource should not be treated as valid", + "isSummary" : true, + "binding" : { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", + "valueString" : "Status" + }], + "strength" : "required", + "valueSet" : "http://hl7.org/fhir/ValueSet/observation-status|4.0.1" + }, + "mapping" : [{ + "identity" : "workflow", + "map" : "Event.status" + }, + { + "identity" : "w5", + "map" : "FiveWs.status" + }, + { + "identity" : "sct-concept", + "map" : "< 445584004 |Report by finality status|" + }, + { + "identity" : "v2", + "map" : "OBX-11" + }, + { + "identity" : "rim", + "map" : "status Amended & Final are differentiated by whether it is the subject of a ControlAct event with a type of \"revise\"" + }] + }, + { + "id" : "Observation.category", + "path" : "Observation.category", + "slicing" : { + "discriminator" : [{ + "type" : "value", + "path" : "coding.code" + }, + { + "type" : "value", + "path" : "coding.system" + }], + "ordered" : false, + "rules" : "open" + }, + "short" : "Classification of type of observation", + "definition" : "A code that classifies the general type of observation being made.", + "comment" : "In addition to the required category valueset, this element allows various categorization schemes based on the owner’s definition of the category and effectively multiple categories can be used at once. The level of granularity is defined by the category concepts in the value set.", + "requirements" : "Used for filtering what observations are retrieved and displayed.", + "min" : 1, + "max" : "*", + "base" : { + "path" : "Observation.category", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "CodeableConcept" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "mustSupport" : true, + "isModifier" : false, + "isSummary" : false, + "binding" : { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", + "valueString" : "ObservationCategory" + }], + "strength" : "preferred", + "description" : "Codes for high level observation categories.", + "valueSet" : "http://hl7.org/fhir/ValueSet/observation-category" + }, + "mapping" : [{ + "identity" : "w5", + "map" : "FiveWs.class" + }, + { + "identity" : "rim", + "map" : ".outboundRelationship[typeCode=\"COMP].target[classCode=\"LIST\", moodCode=\"EVN\"].code" + }] + }, + { + "id" : "Observation.category:VSCat", + "path" : "Observation.category", + "sliceName" : "VSCat", + "short" : "Classification of type of observation", + "definition" : "A code that classifies the general type of observation being made.", + "comment" : "In addition to the required category valueset, this element allows various categorization schemes based on the owner’s definition of the category and effectively multiple categories can be used at once. The level of granularity is defined by the category concepts in the value set.", + "requirements" : "Used for filtering what observations are retrieved and displayed.", + "min" : 1, + "max" : "1", + "base" : { + "path" : "Observation.category", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "CodeableConcept" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "mustSupport" : true, + "isModifier" : false, + "isSummary" : false, + "binding" : { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", + "valueString" : "ObservationCategory" + }], + "strength" : "preferred", + "description" : "Codes for high level observation categories.", + "valueSet" : "http://hl7.org/fhir/ValueSet/observation-category" + }, + "mapping" : [{ + "identity" : "w5", + "map" : "FiveWs.class" + }, + { + "identity" : "rim", + "map" : ".outboundRelationship[typeCode=\"COMP].target[classCode=\"LIST\", moodCode=\"EVN\"].code" + }] + }, + { + "id" : "Observation.category:VSCat.id", + "path" : "Observation.category.id", + "representation" : ["xmlAttr"], + "short" : "Unique id for inter-element referencing", + "definition" : "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Element.id", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", + "valueUrl" : "string" + }], + "code" : "http://hl7.org/fhirpath/System.String" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "rim", + "map" : "n/a" + }] + }, + { + "id" : "Observation.category:VSCat.extension", + "path" : "Observation.category.extension", + "slicing" : { + "discriminator" : [{ + "type" : "value", + "path" : "url" + }], + "description" : "Extensions are always sliced by (at least) url", + "rules" : "open" + }, + "short" : "Additional content defined by implementations", + "definition" : "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", + "comment" : "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", + "alias" : ["extensions", + "user content"], + "min" : 0, + "max" : "*", + "base" : { + "path" : "Element.extension", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Extension" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key" : "ext-1", + "severity" : "error", + "human" : "Must have either extensions or value[x], not both", + "expression" : "extension.exists() != value.exists()", + "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", + "source" : "http://hl7.org/fhir/StructureDefinition/Extension" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "rim", + "map" : "n/a" + }] + }, + { + "id" : "Observation.category:VSCat.coding", + "path" : "Observation.category.coding", + "short" : "Code defined by a terminology system", + "definition" : "A reference to a code defined by a terminology system.", + "comment" : "Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.", + "requirements" : "Allows for alternative encodings within a code system, and translations to other code systems.", + "min" : 1, + "max" : "*", + "base" : { + "path" : "CodeableConcept.coding", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Coding" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "mustSupport" : true, + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "C*E.1-8, C*E.10-22" + }, + { + "identity" : "rim", + "map" : "union(., ./translation)" + }, + { + "identity" : "orim", + "map" : "fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding" + }] + }, + { + "id" : "Observation.category:VSCat.coding.id", + "path" : "Observation.category.coding.id", + "representation" : ["xmlAttr"], + "short" : "Unique id for inter-element referencing", + "definition" : "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Element.id", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", + "valueUrl" : "string" + }], + "code" : "http://hl7.org/fhirpath/System.String" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "rim", + "map" : "n/a" + }] + }, + { + "id" : "Observation.category:VSCat.coding.extension", + "path" : "Observation.category.coding.extension", + "slicing" : { + "discriminator" : [{ + "type" : "value", + "path" : "url" + }], + "description" : "Extensions are always sliced by (at least) url", + "rules" : "open" + }, + "short" : "Additional content defined by implementations", + "definition" : "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", + "comment" : "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", + "alias" : ["extensions", + "user content"], + "min" : 0, + "max" : "*", + "base" : { + "path" : "Element.extension", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Extension" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key" : "ext-1", + "severity" : "error", + "human" : "Must have either extensions or value[x], not both", + "expression" : "extension.exists() != value.exists()", + "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", + "source" : "http://hl7.org/fhir/StructureDefinition/Extension" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "rim", + "map" : "n/a" + }] + }, + { + "id" : "Observation.category:VSCat.coding.system", + "path" : "Observation.category.coding.system", + "short" : "Identity of the terminology system", + "definition" : "The identification of the code system that defines the meaning of the symbol in the code.", + "comment" : "The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should reference to some definition that establishes the system clearly and unambiguously.", + "requirements" : "Need to be unambiguous about the source of the definition of the symbol.", + "min" : 1, + "max" : "1", + "base" : { + "path" : "Coding.system", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "uri" + }], + "fixedUri" : "http://terminology.hl7.org/CodeSystem/observation-category", + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "mustSupport" : true, + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "C*E.3" + }, + { + "identity" : "rim", + "map" : "./codeSystem" + }, + { + "identity" : "orim", + "map" : "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem" + }] + }, + { + "id" : "Observation.category:VSCat.coding.version", + "path" : "Observation.category.coding.version", + "short" : "Version of the system - if relevant", + "definition" : "The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.", + "comment" : "Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Coding.version", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "string" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "C*E.7" + }, + { + "identity" : "rim", + "map" : "./codeSystemVersion" + }, + { + "identity" : "orim", + "map" : "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion" + }] + }, + { + "id" : "Observation.category:VSCat.coding.code", + "path" : "Observation.category.coding.code", + "short" : "Symbol in syntax defined by the system", + "definition" : "A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).", + "requirements" : "Need to refer to a particular code in the system.", + "min" : 1, + "max" : "1", + "base" : { + "path" : "Coding.code", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "code" + }], + "fixedCode" : "vital-signs", + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "mustSupport" : true, + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "C*E.1" + }, + { + "identity" : "rim", + "map" : "./code" + }, + { + "identity" : "orim", + "map" : "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code" + }] + }, + { + "id" : "Observation.category:VSCat.coding.display", + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", + "valueBoolean" : true + }], + "path" : "Observation.category.coding.display", + "short" : "Representation defined by the system", + "definition" : "A representation of the meaning of the code in the system, following the rules of the system.", + "requirements" : "Need to be able to carry a human-readable meaning of the code for readers that do not know the system.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Coding.display", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "string" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "C*E.2 - but note this is not well followed" + }, + { + "identity" : "rim", + "map" : "CV.displayName" + }, + { + "identity" : "orim", + "map" : "fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName" + }] + }, + { + "id" : "Observation.category:VSCat.coding.userSelected", + "path" : "Observation.category.coding.userSelected", + "short" : "If this coding was chosen directly by the user", + "definition" : "Indicates that this coding was chosen by a user directly - e.g. off a pick list of available items (codes or displays).", + "comment" : "Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.", + "requirements" : "This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Coding.userSelected", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "boolean" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "Sometimes implied by being first" + }, + { + "identity" : "rim", + "map" : "CD.codingRationale" + }, + { + "identity" : "orim", + "map" : "fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\\#true a [ fhir:source \"true\"; fhir:target dt:CDCoding.codingRationale\\#O ]" + }] + }, + { + "id" : "Observation.category:VSCat.text", + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", + "valueBoolean" : true + }], + "path" : "Observation.category.text", + "short" : "Plain text representation of the concept", + "definition" : "A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.", + "comment" : "Very often the text is the same as a displayName of one of the codings.", + "requirements" : "The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "CodeableConcept.text", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "string" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "C*E.9. But note many systems use C*E.2 for this" + }, + { + "identity" : "rim", + "map" : "./originalText[mediaType/code=\"text/plain\"]/data" + }, + { + "identity" : "orim", + "map" : "fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText" + }] + }, + { + "id" : "Observation.code", + "path" : "Observation.code", + "short" : "Head Circumference", + "definition" : "Head Circumference.", + "comment" : "additional codes that translate or map to this code are allowed. For example a more granular LOINC code or code that is used locally in a system.", + "requirements" : "5. SHALL contain exactly one [1..1] code, where the @code SHOULD be selected from ValueSet HITSP Vital Sign Result Type 2.16.840.1.113883.3.88.12.80.62 DYNAMIC (CONF:7301).", + "alias" : ["Name", + "Test"], + "min" : 1, + "max" : "1", + "base" : { + "path" : "Observation.code", + "min" : 1, + "max" : "1" + }, + "type" : [{ + "code" : "CodeableConcept" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "mustSupport" : true, + "isModifier" : false, + "isSummary" : true, + "binding" : { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", + "valueString" : "VitalSigns" + }], + "strength" : "extensible", + "description" : "This identifies the vital sign result type.", + "valueSet" : "http://hl7.org/fhir/ValueSet/observation-vitalsignresult" + }, + "mapping" : [{ + "identity" : "workflow", + "map" : "Event.code" + }, + { + "identity" : "w5", + "map" : "FiveWs.what[x]" + }, + { + "identity" : "sct-concept", + "map" : "< 363787002 |Observable entity| OR < 386053000 |Evaluation procedure|" + }, + { + "identity" : "v2", + "map" : "OBX-3" + }, + { + "identity" : "rim", + "map" : "code" + }, + { + "identity" : "sct-attr", + "map" : "116680003 |Is a|" + }] + }, + { + "id" : "Observation.code.id", + "path" : "Observation.code.id", + "representation" : ["xmlAttr"], + "short" : "Unique id for inter-element referencing", + "definition" : "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Element.id", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", + "valueUrl" : "string" + }], + "code" : "http://hl7.org/fhirpath/System.String" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "rim", + "map" : "n/a" + }] + }, + { + "id" : "Observation.code.extension", + "path" : "Observation.code.extension", + "slicing" : { + "discriminator" : [{ + "type" : "value", + "path" : "url" + }], + "description" : "Extensions are always sliced by (at least) url", + "rules" : "open" + }, + "short" : "Additional content defined by implementations", + "definition" : "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", + "comment" : "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", + "alias" : ["extensions", + "user content"], + "min" : 0, + "max" : "*", + "base" : { + "path" : "Element.extension", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Extension" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key" : "ext-1", + "severity" : "error", + "human" : "Must have either extensions or value[x], not both", + "expression" : "extension.exists() != value.exists()", + "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", + "source" : "http://hl7.org/fhir/StructureDefinition/Extension" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "rim", + "map" : "n/a" + }] + }, + { + "id" : "Observation.code.coding", + "path" : "Observation.code.coding", + "slicing" : { + "discriminator" : [{ + "type" : "value", + "path" : "code" + }, + { + "type" : "value", + "path" : "system" + }], + "ordered" : false, + "rules" : "open" + }, + "short" : "Code defined by a terminology system", + "definition" : "A reference to a code defined by a terminology system.", + "comment" : "Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.", + "requirements" : "Allows for alternative encodings within a code system, and translations to other code systems.", + "min" : 2, + "max" : "*", + "base" : { + "path" : "CodeableConcept.coding", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Coding" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "C*E.1-8, C*E.10-22" + }, + { + "identity" : "rim", + "map" : "union(., ./translation)" + }, + { + "identity" : "orim", + "map" : "fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding" + }] + }, + { + "id" : "Observation.code.coding:HeadCircumCode", + "path" : "Observation.code.coding", + "sliceName" : "HeadCircumCode", + "short" : "Code defined by a terminology system", + "definition" : "A reference to a code defined by a terminology system.", + "comment" : "Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.", + "requirements" : "Allows for alternative encodings within a code system, and translations to other code systems.", + "min" : 1, + "max" : "1", + "base" : { + "path" : "CodeableConcept.coding", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Coding" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "C*E.1-8, C*E.10-22" + }, + { + "identity" : "rim", + "map" : "union(., ./translation)" + }, + { + "identity" : "orim", + "map" : "fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding" + }] + }, + { + "id" : "Observation.code.coding:HeadCircumCode.id", + "path" : "Observation.code.coding.id", + "representation" : ["xmlAttr"], + "short" : "Unique id for inter-element referencing", + "definition" : "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Element.id", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", + "valueUrl" : "string" + }], + "code" : "http://hl7.org/fhirpath/System.String" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "rim", + "map" : "n/a" + }] + }, + { + "id" : "Observation.code.coding:HeadCircumCode.extension", + "path" : "Observation.code.coding.extension", + "slicing" : { + "discriminator" : [{ + "type" : "value", + "path" : "url" + }], + "description" : "Extensions are always sliced by (at least) url", + "rules" : "open" + }, + "short" : "Additional content defined by implementations", + "definition" : "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", + "comment" : "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", + "alias" : ["extensions", + "user content"], + "min" : 0, + "max" : "*", + "base" : { + "path" : "Element.extension", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Extension" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key" : "ext-1", + "severity" : "error", + "human" : "Must have either extensions or value[x], not both", + "expression" : "extension.exists() != value.exists()", + "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", + "source" : "http://hl7.org/fhir/StructureDefinition/Extension" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "rim", + "map" : "n/a" + }] + }, + { + "id" : "Observation.code.coding:HeadCircumCode.system", + "path" : "Observation.code.coding.system", + "short" : "Identity of the terminology system", + "definition" : "The identification of the code system that defines the meaning of the symbol in the code.", + "comment" : "The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should reference to some definition that establishes the system clearly and unambiguously.", + "requirements" : "Need to be unambiguous about the source of the definition of the symbol.", + "min" : 1, + "max" : "1", + "base" : { + "path" : "Coding.system", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "uri" + }], + "fixedUri" : "http://loinc.org", + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "C*E.3" + }, + { + "identity" : "rim", + "map" : "./codeSystem" + }, + { + "identity" : "orim", + "map" : "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem" + }] + }, + { + "id" : "Observation.code.coding:HeadCircumCode.version", + "path" : "Observation.code.coding.version", + "short" : "Version of the system - if relevant", + "definition" : "The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.", + "comment" : "Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Coding.version", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "string" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "C*E.7" + }, + { + "identity" : "rim", + "map" : "./codeSystemVersion" + }, + { + "identity" : "orim", + "map" : "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion" + }] + }, + { + "id" : "Observation.code.coding:HeadCircumCode.code", + "path" : "Observation.code.coding.code", + "short" : "Symbol in syntax defined by the system", + "definition" : "A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).", + "requirements" : "Need to refer to a particular code in the system.", + "min" : 1, + "max" : "1", + "base" : { + "path" : "Coding.code", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "code" + }], + "fixedCode" : "9843-4", + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "C*E.1" + }, + { + "identity" : "rim", + "map" : "./code" + }, + { + "identity" : "orim", + "map" : "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code" + }] + }, + { + "id" : "Observation.code.coding:HeadCircumCode.display", + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", + "valueBoolean" : true + }], + "path" : "Observation.code.coding.display", + "short" : "Representation defined by the system", + "definition" : "A representation of the meaning of the code in the system, following the rules of the system.", + "requirements" : "Need to be able to carry a human-readable meaning of the code for readers that do not know the system.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Coding.display", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "string" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "C*E.2 - but note this is not well followed" + }, + { + "identity" : "rim", + "map" : "CV.displayName" + }, + { + "identity" : "orim", + "map" : "fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName" + }] + }, + { + "id" : "Observation.code.coding:HeadCircumCode.userSelected", + "path" : "Observation.code.coding.userSelected", + "short" : "If this coding was chosen directly by the user", + "definition" : "Indicates that this coding was chosen by a user directly - e.g. off a pick list of available items (codes or displays).", + "comment" : "Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.", + "requirements" : "This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Coding.userSelected", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "boolean" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "Sometimes implied by being first" + }, + { + "identity" : "rim", + "map" : "CD.codingRationale" + }, + { + "identity" : "orim", + "map" : "fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\\#true a [ fhir:source \"true\"; fhir:target dt:CDCoding.codingRationale\\#O ]" + }] + }, + { + "id" : "Observation.code.coding:snomedHeadCircumCode", + "path" : "Observation.code.coding", + "sliceName" : "snomedHeadCircumCode", + "short" : "SNOMED CT Head Circumference", + "definition" : "A reference to a code defined by a terminology system.", + "comment" : "Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.", + "requirements" : "Allows for alternative encodings within a code system, and translations to other code systems.", + "min" : 1, + "max" : "1", + "base" : { + "path" : "CodeableConcept.coding", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Coding" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "C*E.1-8, C*E.10-22" + }, + { + "identity" : "rim", + "map" : "union(., ./translation)" + }, + { + "identity" : "orim", + "map" : "fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding" + }] + }, + { + "id" : "Observation.code.coding:snomedHeadCircumCode.id", + "path" : "Observation.code.coding.id", + "representation" : ["xmlAttr"], + "short" : "Unique id for inter-element referencing", + "definition" : "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Element.id", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", + "valueUrl" : "string" + }], + "code" : "http://hl7.org/fhirpath/System.String" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "rim", + "map" : "n/a" + }] + }, + { + "id" : "Observation.code.coding:snomedHeadCircumCode.extension", + "path" : "Observation.code.coding.extension", + "slicing" : { + "discriminator" : [{ + "type" : "value", + "path" : "url" + }], + "description" : "Extensions are always sliced by (at least) url", + "rules" : "open" + }, + "short" : "Additional content defined by implementations", + "definition" : "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", + "comment" : "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", + "alias" : ["extensions", + "user content"], + "min" : 0, + "max" : "*", + "base" : { + "path" : "Element.extension", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Extension" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key" : "ext-1", + "severity" : "error", + "human" : "Must have either extensions or value[x], not both", + "expression" : "extension.exists() != value.exists()", + "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", + "source" : "http://hl7.org/fhir/StructureDefinition/Extension" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "rim", + "map" : "n/a" + }] + }, + { + "id" : "Observation.code.coding:snomedHeadCircumCode.system", + "path" : "Observation.code.coding.system", + "short" : "Identity of the terminology system", + "definition" : "The identification of the code system that defines the meaning of the symbol in the code.", + "comment" : "The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should reference to some definition that establishes the system clearly and unambiguously.", + "requirements" : "Need to be unambiguous about the source of the definition of the symbol.", + "min" : 1, + "max" : "1", + "base" : { + "path" : "Coding.system", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "uri" + }], + "fixedUri" : "http://snomed.info/sct", + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "C*E.3" + }, + { + "identity" : "rim", + "map" : "./codeSystem" + }, + { + "identity" : "orim", + "map" : "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem" + }] + }, + { + "id" : "Observation.code.coding:snomedHeadCircumCode.version", + "path" : "Observation.code.coding.version", + "short" : "Version of the system - if relevant", + "definition" : "The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.", + "comment" : "Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Coding.version", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "string" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "C*E.7" + }, + { + "identity" : "rim", + "map" : "./codeSystemVersion" + }, + { + "identity" : "orim", + "map" : "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion" + }] + }, + { + "id" : "Observation.code.coding:snomedHeadCircumCode.code", + "path" : "Observation.code.coding.code", + "short" : "Symbol in syntax defined by the system", + "definition" : "A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).", + "requirements" : "Need to refer to a particular code in the system.", + "min" : 1, + "max" : "1", + "base" : { + "path" : "Coding.code", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "code" + }], + "fixedCode" : "363812007", + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "C*E.1" + }, + { + "identity" : "rim", + "map" : "./code" + }, + { + "identity" : "orim", + "map" : "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code" + }] + }, + { + "id" : "Observation.code.coding:snomedHeadCircumCode.display", + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", + "valueBoolean" : true + }], + "path" : "Observation.code.coding.display", + "short" : "Representation defined by the system", + "definition" : "A representation of the meaning of the code in the system, following the rules of the system.", + "requirements" : "Need to be able to carry a human-readable meaning of the code for readers that do not know the system.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Coding.display", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "string" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "C*E.2 - but note this is not well followed" + }, + { + "identity" : "rim", + "map" : "CV.displayName" + }, + { + "identity" : "orim", + "map" : "fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName" + }] + }, + { + "id" : "Observation.code.coding:snomedHeadCircumCode.userSelected", + "path" : "Observation.code.coding.userSelected", + "short" : "If this coding was chosen directly by the user", + "definition" : "Indicates that this coding was chosen by a user directly - e.g. off a pick list of available items (codes or displays).", + "comment" : "Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.", + "requirements" : "This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Coding.userSelected", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "boolean" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "Sometimes implied by being first" + }, + { + "identity" : "rim", + "map" : "CD.codingRationale" + }, + { + "identity" : "orim", + "map" : "fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\\#true a [ fhir:source \"true\"; fhir:target dt:CDCoding.codingRationale\\#O ]" + }] + }, + { + "id" : "Observation.code.text", + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", + "valueBoolean" : true + }], + "path" : "Observation.code.text", + "short" : "Plain text representation of the concept", + "definition" : "A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.", + "comment" : "Very often the text is the same as a displayName of one of the codings.", + "requirements" : "The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "CodeableConcept.text", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "string" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "C*E.9. But note many systems use C*E.2 for this" + }, + { + "identity" : "rim", + "map" : "./originalText[mediaType/code=\"text/plain\"]/data" + }, + { + "identity" : "orim", + "map" : "fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText" + }] + }, + { + "id" : "Observation.subject", + "path" : "Observation.subject", + "short" : "Who and/or what the observation is about", + "definition" : "The patient, or group of patients, location, or device this observation is about and into whose record the observation is placed. If the actual focus of the observation is different from the subject (or a sample of, part, or region of the subject), the `focus` element or the `code` itself specifies the actual focus of the observation.", + "comment" : "One would expect this element to be a cardinality of 1..1. The only circumstance in which the subject can be missing is when the observation is made by a device that does not know the patient. In this case, the observation SHALL be matched to a patient through some context/channel matching technique, and at this point, the observation should be updated.", + "requirements" : "Observations have no value if you don't know who or what they're about.", + "min" : 1, + "max" : "1", + "base" : { + "path" : "Observation.subject", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "Reference", + "targetProfile" : ["http://hl7.org.au/fhir/core/StructureDefinition/au-core-patient"] + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "mustSupport" : true, + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "workflow", + "map" : "Event.subject" + }, + { + "identity" : "w5", + "map" : "FiveWs.subject[x]" + }, + { + "identity" : "v2", + "map" : "PID-3" + }, + { + "identity" : "rim", + "map" : "participation[typeCode=RTGT]" + }, + { + "identity" : "w5", + "map" : "FiveWs.subject" + }] + }, + { + "id" : "Observation.focus", + "path" : "Observation.focus", + "short" : "What the observation is about, when it is not about the subject of record", + "definition" : "The actual focus of an observation when it is not the patient of record representing something or someone associated with the patient such as a spouse, parent, fetus, or donor. For example, fetus observations in a mother's record. The focus of an observation could also be an existing condition, an intervention, the subject's diet, another observation of the subject, or a body structure such as tumor or implanted device. An example use case would be using the Observation resource to capture whether the mother is trained to change her child's tracheostomy tube. In this example, the child is the patient of record and the mother is the focus.", + "comment" : "Typically, an observation is made about the subject - a patient, or group of patients, location, or device - and the distinction between the subject and what is directly measured for an observation is specified in the observation code itself ( e.g., \"Blood Glucose\") and does not need to be represented separately using this element. Use `specimen` if a reference to a specimen is required. If a code is required instead of a resource use either `bodysite` for bodysites or the standard extension [focusCode](http://hl7.org/fhir/extension-observation-focuscode.html).", + "min" : 0, + "max" : "*", + "base" : { + "path" : "Observation.focus", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Reference", + "targetProfile" : ["http://hl7.org/fhir/StructureDefinition/Resource"] + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "w5", + "map" : "FiveWs.subject[x]" + }, + { + "identity" : "v2", + "map" : "OBX-3" + }, + { + "identity" : "rim", + "map" : "participation[typeCode=SBJ]" + }, + { + "identity" : "w5", + "map" : "FiveWs.subject" + }] + }, + { + "id" : "Observation.encounter", + "path" : "Observation.encounter", + "short" : "Healthcare event during which this observation is made", + "definition" : "The healthcare event (e.g. a patient and healthcare provider interaction) during which this observation is made.", + "comment" : "This will typically be the encounter the event occurred within, but some events may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter (e.g. pre-admission laboratory tests).", + "requirements" : "For some observations it may be important to know the link between an observation and a particular encounter.", + "alias" : ["Context"], + "min" : 0, + "max" : "1", + "base" : { + "path" : "Observation.encounter", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "Reference", + "targetProfile" : ["http://hl7.org.au/fhir/core/StructureDefinition/au-core-encounter"] + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "mustSupport" : true, + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "workflow", + "map" : "Event.context" + }, + { + "identity" : "w5", + "map" : "FiveWs.context" + }, + { + "identity" : "v2", + "map" : "PV1" + }, + { + "identity" : "rim", + "map" : "inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN]" + }] + }, + { + "id" : "Observation.effective[x]", + "path" : "Observation.effective[x]", + "short" : "Date, and optionally time, the observation was performed", + "definition" : "Date, and optionally time, the observation was performed.", + "comment" : "At least a date should be present unless this observation is a historical report. For recording imprecise or \"fuzzy\" times (For example, a blood glucose measurement taken \"after breakfast\") use the [Timing](http://hl7.org/fhir/datatypes.html#timing) datatype which allow the measurement to be tied to regular life events.", + "requirements" : "Knowing when an observation was deemed true is important to its relevance as well as determining trends.", + "alias" : ["Occurrence"], + "min" : 1, + "max" : "1", + "base" : { + "path" : "Observation.effective[x]", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "dateTime" + }], + "condition" : ["vs-1", + "au-core-obs-01"], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key" : "vs-1", + "severity" : "error", + "human" : "if Observation.effective[x] is dateTime and has a value then that value shall be precise to the day", + "expression" : "$this is dateTime implies $this.toString().length() >= 10", + "xpath" : "f:effectiveDateTime[matches(@value, '^\\d{4}-\\d{2}-\\d{2}')]", + "source" : "http://hl7.org/fhir/StructureDefinition/headcircum" + }, + { + "key" : "au-core-obs-01", + "severity" : "error", + "human" : "Date shall be at least to day", + "expression" : "$this is DateTime implies $this.toString().length() >= 10", + "xpath" : "f:matches(effectiveDateTime,/\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d([+-][0-2]\\d:[0-5]\\d|Z)/)", + "source" : "http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum" + }], + "mustSupport" : true, + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "workflow", + "map" : "Event.occurrence[x]" + }, + { + "identity" : "w5", + "map" : "FiveWs.done[x]" + }, + { + "identity" : "v2", + "map" : "OBX-14, and/or OBX-19 after v2.4 (depends on who observation made)" + }, + { + "identity" : "rim", + "map" : "effectiveTime" + }] + }, + { + "id" : "Observation.issued", + "path" : "Observation.issued", + "short" : "Date/Time this version was made available", + "definition" : "The date and time this version of the observation was made available to providers, typically after the results have been reviewed and verified.", + "comment" : "For Observations that don’t require review and verification, it may be the same as the [`lastUpdated` ](http://hl7.org/fhir/resource-definitions.html#Meta.lastUpdated) time of the resource itself. For Observations that do require review and verification for certain updates, it might not be the same as the `lastUpdated` time of the resource itself due to a non-clinically significant update that doesn’t require the new version to be reviewed and verified again.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Observation.issued", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "instant" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "w5", + "map" : "FiveWs.recorded" + }, + { + "identity" : "v2", + "map" : "OBR.22 (or MSH.7), or perhaps OBX-19 (depends on who observation made)" + }, + { + "identity" : "rim", + "map" : "participation[typeCode=AUT].time" + }] + }, + { + "id" : "Observation.performer", + "path" : "Observation.performer", + "short" : "Who is responsible for the observation", + "definition" : "Who was responsible for asserting the observed value as \"true\".", + "requirements" : "May give a degree of confidence in the observation and also indicates where follow-up questions should be directed.", + "min" : 0, + "max" : "*", + "base" : { + "path" : "Observation.performer", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Reference", + "targetProfile" : ["http://hl7.org.au/fhir/core/StructureDefinition/au-core-practitioner", + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-practitionerrole", + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-organization", + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-patient", + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-relatedperson"] + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "mustSupport" : true, + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "workflow", + "map" : "Event.performer.actor" + }, + { + "identity" : "w5", + "map" : "FiveWs.actor" + }, + { + "identity" : "v2", + "map" : "OBX.15 / (Practitioner) OBX-16, PRT-5:PRT-4='RO' / (Device) OBX-18 , PRT-10:PRT-4='EQUIP' / (Organization) OBX-23, PRT-8:PRT-4='PO'" + }, + { + "identity" : "rim", + "map" : "participation[typeCode=PRF]" + }] + }, + { + "id" : "Observation.value[x]", + "path" : "Observation.value[x]", + "slicing" : { + "discriminator" : [{ + "type" : "type", + "path" : "$this" + }], + "ordered" : false, + "rules" : "closed" + }, + "short" : "Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept.", + "definition" : "Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept.", + "comment" : "An observation may have; 1) a single value here, 2) both a value and a set of related or component values, or 3) only a set of related or component values. If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](http://hl7.org/fhir/observation.html#notes) below.", + "requirements" : "9. SHALL contain exactly one [1..1] value with @xsi:type=\"PQ\" (CONF:7305).", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Observation.value[x]", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "Quantity" + }], + "condition" : ["obs-7", + "vs-2"], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "mustSupport" : true, + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "sct-concept", + "map" : "< 441742003 |Evaluation finding|" + }, + { + "identity" : "v2", + "map" : "OBX.2, OBX.5, OBX.6" + }, + { + "identity" : "rim", + "map" : "value" + }, + { + "identity" : "sct-attr", + "map" : "363714003 |Interprets|" + }] + }, + { + "id" : "Observation.value[x]:valueQuantity", + "path" : "Observation.value[x]", + "sliceName" : "valueQuantity", + "short" : "Head circumference", + "definition" : "Vital Signs value are recorded using the Quantity data type. For supporting observations such as Cuff size could use other datatypes such as CodeableConcept.", + "comment" : "An observation may have; 1) a single value here, 2) both a value and a set of related or component values, or 3) only a set of related or component values. If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](http://hl7.org/fhir/observation.html#notes) below.", + "requirements" : "9. SHALL contain exactly one [1..1] value with @xsi:type=\"PQ\" (CONF:7305).", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Observation.value[x]", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "Quantity" + }], + "condition" : ["obs-7", + "vs-2", + "au-core-obs-02"], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "mustSupport" : true, + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "sct-concept", + "map" : "< 441742003 |Evaluation finding|" + }, + { + "identity" : "v2", + "map" : "OBX.2, OBX.5, OBX.6" + }, + { + "identity" : "rim", + "map" : "value" + }, + { + "identity" : "sct-attr", + "map" : "363714003 |Interprets|" + }] + }, + { + "id" : "Observation.value[x]:valueQuantity.id", + "path" : "Observation.value[x].id", + "representation" : ["xmlAttr"], + "short" : "Unique id for inter-element referencing", + "definition" : "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Element.id", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", + "valueUrl" : "string" + }], + "code" : "http://hl7.org/fhirpath/System.String" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "rim", + "map" : "n/a" + }] + }, + { + "id" : "Observation.value[x]:valueQuantity.extension", + "path" : "Observation.value[x].extension", + "slicing" : { + "discriminator" : [{ + "type" : "value", + "path" : "url" + }], + "description" : "Extensions are always sliced by (at least) url", + "rules" : "open" + }, + "short" : "Additional content defined by implementations", + "definition" : "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", + "comment" : "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", + "alias" : ["extensions", + "user content"], + "min" : 0, + "max" : "*", + "base" : { + "path" : "Element.extension", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Extension" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key" : "ext-1", + "severity" : "error", + "human" : "Must have either extensions or value[x], not both", + "expression" : "extension.exists() != value.exists()", + "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", + "source" : "http://hl7.org/fhir/StructureDefinition/Extension" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "rim", + "map" : "n/a" + }] + }, + { + "id" : "Observation.value[x]:valueQuantity.value", + "path" : "Observation.value[x].value", + "short" : "Numerical value (with implicit precision)", + "definition" : "The value of the measured amount. The value includes an implicit precision in the presentation of the value.", + "comment" : "The implicit precision in the value should always be honored. Monetary values have their own rules for handling precision (refer to standard accounting text books).", + "requirements" : "Precision is handled implicitly in almost all cases of measurement.", + "min" : 1, + "max" : "1", + "base" : { + "path" : "Quantity.value", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "decimal" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "mustSupport" : true, + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "SN.2 / CQ - N/A" + }, + { + "identity" : "rim", + "map" : "PQ.value, CO.value, MO.value, IVL.high or IVL.low depending on the value" + }] + }, + { + "id" : "Observation.value[x]:valueQuantity.comparator", + "path" : "Observation.value[x].comparator", + "short" : "< | <= | >= | > - how to understand the value", + "definition" : "How the value should be understood and represented - whether the actual value is greater or less than the stated value due to measurement issues; e.g. if the comparator is \"<\" , then the real value is < stated value.", + "requirements" : "Need a framework for handling measures where the value is <5ug/L or >400mg/L due to the limitations of measuring methodology.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Quantity.comparator", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "code" + }], + "meaningWhenMissing" : "If there is no comparator, then there is no modification of the value", + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : true, + "isModifierReason" : "This is labeled as \"Is Modifier\" because the comparator modifies the interpretation of the value significantly. If there is no comparator, then there is no modification of the value", + "isSummary" : true, + "binding" : { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", + "valueString" : "QuantityComparator" + }], + "strength" : "required", + "description" : "How the Quantity should be understood and represented.", + "valueSet" : "http://hl7.org/fhir/ValueSet/quantity-comparator|4.0.1" + }, + "mapping" : [{ + "identity" : "v2", + "map" : "SN.1 / CQ.1" + }, + { + "identity" : "rim", + "map" : "IVL properties" + }] + }, + { + "id" : "Observation.value[x]:valueQuantity.unit", + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", + "valueBoolean" : true + }], + "path" : "Observation.value[x].unit", + "short" : "Unit representation", + "definition" : "A human-readable form of the unit.", + "requirements" : "There are many representations for units of measure and in many contexts, particular representations are fixed and required. I.e. mcg for micrograms.", + "min" : 1, + "max" : "1", + "base" : { + "path" : "Quantity.unit", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "string" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "mustSupport" : true, + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "(see OBX.6 etc.) / CQ.2" + }, + { + "identity" : "rim", + "map" : "PQ.unit" + }] + }, + { + "id" : "Observation.value[x]:valueQuantity.system", + "path" : "Observation.value[x].system", + "short" : "System that defines coded unit form", + "definition" : "The identification of the system that provides the coded form of the unit.", + "requirements" : "Need to know the system that defines the coded form of the unit.", + "min" : 1, + "max" : "1", + "base" : { + "path" : "Quantity.system", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "uri" + }], + "fixedUri" : "http://unitsofmeasure.org", + "condition" : ["qty-3"], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "mustSupport" : true, + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "(see OBX.6 etc.) / CQ.2" + }, + { + "identity" : "rim", + "map" : "CO.codeSystem, PQ.translation.codeSystem" + }] + }, + { + "id" : "Observation.value[x]:valueQuantity.code", + "path" : "Observation.value[x].code", + "short" : "Coded responses from the common UCUM units for vital signs value set.", + "definition" : "Coded responses from the common UCUM units for vital signs value set.", + "comment" : "The preferred system is UCUM, but SNOMED CT can also be used (for customary units) or ISO 4217 for currency. The context of use may additionally require a code from a particular system.", + "requirements" : "Need a computable form of the unit that is fixed across all forms. UCUM provides this for quantities, but SNOMED CT provides many units of interest.", + "min" : 1, + "max" : "1", + "base" : { + "path" : "Quantity.code", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "code" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "mustSupport" : true, + "isModifier" : false, + "isSummary" : true, + "binding" : { + "strength" : "required", + "valueSet" : "https://healthterminologies.gov.au/fhir/ValueSet/metric-body-length-units-1" + }, + "mapping" : [{ + "identity" : "v2", + "map" : "(see OBX.6 etc.) / CQ.2" + }, + { + "identity" : "rim", + "map" : "PQ.code, MO.currency, PQ.translation.code" + }] + }, + { + "id" : "Observation.dataAbsentReason", + "path" : "Observation.dataAbsentReason", + "short" : "Why the result is missing", + "definition" : "Provides a reason why the expected value in the element Observation.value[x] is missing.", + "comment" : "Null or exceptional values can be represented two ways in FHIR Observations. One way is to simply include them in the value set and represent the exceptions in the value. For example, measurement values for a serology test could be \"detected\", \"not detected\", \"inconclusive\", or \"specimen unsatisfactory\". \n\nThe alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values. For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed. Note that an observation may only be reported if there are values to report. For example differential cell counts values may be reported only when > 0. Because of these options, use-case agreements are required to interpret general observations for null or exceptional values.", + "requirements" : "For many results it is necessary to handle exceptional values in measurements.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Observation.dataAbsentReason", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "CodeableConcept" + }], + "condition" : ["obs-6", + "vs-2", + "au-core-obs-02"], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "mustSupport" : true, + "isModifier" : false, + "isSummary" : false, + "binding" : { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", + "valueString" : "ObservationValueAbsentReason" + }], + "strength" : "extensible", + "description" : "Codes specifying why the result (`Observation.value[x]`) is missing.", + "valueSet" : "http://hl7.org/fhir/ValueSet/data-absent-reason" + }, + "mapping" : [{ + "identity" : "v2", + "map" : "N/A" + }, + { + "identity" : "rim", + "map" : "value.nullFlavor" + }] + }, + { + "id" : "Observation.interpretation", + "path" : "Observation.interpretation", + "short" : "High, low, normal, etc.", + "definition" : "A categorical assessment of an observation value. For example, high, low, normal.", + "comment" : "Historically used for laboratory results (known as 'abnormal flag' ), its use extends to other use cases where coded interpretations are relevant. Often reported as one or more simple compact codes this element is often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result.", + "requirements" : "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.", + "alias" : ["Abnormal Flag"], + "min" : 0, + "max" : "*", + "base" : { + "path" : "Observation.interpretation", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "CodeableConcept" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : false, + "binding" : { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", + "valueString" : "ObservationInterpretation" + }], + "strength" : "extensible", + "description" : "Codes identifying interpretations of observations.", + "valueSet" : "http://hl7.org/fhir/ValueSet/observation-interpretation" + }, + "mapping" : [{ + "identity" : "sct-concept", + "map" : "< 260245000 |Findings values|" + }, + { + "identity" : "v2", + "map" : "OBX-8" + }, + { + "identity" : "rim", + "map" : "interpretationCode" + }, + { + "identity" : "sct-attr", + "map" : "363713009 |Has interpretation|" + }] + }, + { + "id" : "Observation.note", + "path" : "Observation.note", + "short" : "Comments about the observation", + "definition" : "Comments about the observation or the results.", + "comment" : "May include general statements about the observation, or statements about significant, unexpected or unreliable results values, or information about its source when relevant to its interpretation.", + "requirements" : "Need to be able to provide free text additional information.", + "min" : 0, + "max" : "*", + "base" : { + "path" : "Observation.note", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Annotation" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "v2", + "map" : "NTE.3 (partner NTE to OBX, or sometimes another (child?) OBX)" + }, + { + "identity" : "rim", + "map" : "subjectOf.observationEvent[code=\"annotation\"].value" + }] + }, + { + "id" : "Observation.bodySite", + "path" : "Observation.bodySite", + "short" : "Observed body part", + "definition" : "Indicates the site on the subject's body where the observation was made (i.e. the target site).", + "comment" : "Only used if not implicit in code found in Observation.code. In many systems, this may be represented as a related observation instead of an inline component. \n\nIf the use case requires BodySite to be handled as a separate resource (e.g. to identify and track separately) then use the standard extension[ bodySite](http://hl7.org/fhir/extension-bodysite.html).", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Observation.bodySite", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "CodeableConcept" + }], + "condition" : ["au-core-obs-04"], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key" : "au-core-obs-04", + "severity" : "error", + "human" : "If a coded body site is provided, at least one code shall be from SNOMED CT", + "expression" : "coding.exists() implies coding.where(system='http://snomed.info/sct').exists()", + "xpath" : "not(exists(f:coding/f:system)) or exists(f:coding/f:system[@value='http://snomed.info/sct'])", + "source" : "http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum" + }], + "isModifier" : false, + "isSummary" : false, + "binding" : { + "strength" : "preferred", + "valueSet" : "https://healthterminologies.gov.au/fhir/ValueSet/body-site-1" + }, + "mapping" : [{ + "identity" : "sct-concept", + "map" : "< 123037004 |Body structure|" + }, + { + "identity" : "v2", + "map" : "OBX-20" + }, + { + "identity" : "rim", + "map" : "targetSiteCode" + }, + { + "identity" : "sct-attr", + "map" : "718497002 |Inherent location|" + }] + }, + { + "id" : "Observation.method", + "path" : "Observation.method", + "short" : "How it was done", + "definition" : "Indicates the mechanism used to perform the observation.", + "comment" : "Only used if not implicit in code for Observation.code.", + "requirements" : "In some cases, method can impact results and is thus used for determining whether results can be compared or determining significance of results.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Observation.method", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "CodeableConcept" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : false, + "binding" : { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", + "valueString" : "ObservationMethod" + }], + "strength" : "example", + "description" : "Methods for simple observations.", + "valueSet" : "http://hl7.org/fhir/ValueSet/observation-methods" + }, + "mapping" : [{ + "identity" : "v2", + "map" : "OBX-17" + }, + { + "identity" : "rim", + "map" : "methodCode" + }] + }, + { + "id" : "Observation.specimen", + "path" : "Observation.specimen", + "short" : "Specimen used for this observation", + "definition" : "The specimen that was used when this observation was made.", + "comment" : "Should only be used if not implicit in code found in `Observation.code`. Observations are not made on specimens themselves; they are made on a subject, but in many cases by the means of a specimen. Note that although specimens are often involved, they are not always tracked and reported explicitly. Also note that observation resources may be used in contexts that track the specimen explicitly (e.g. Diagnostic Report).", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Observation.specimen", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "Reference", + "targetProfile" : ["http://hl7.org/fhir/StructureDefinition/Specimen"] + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "sct-concept", + "map" : "< 123038009 |Specimen|" + }, + { + "identity" : "v2", + "map" : "SPM segment" + }, + { + "identity" : "rim", + "map" : "participation[typeCode=SPC].specimen" + }, + { + "identity" : "sct-attr", + "map" : "704319004 |Inherent in|" + }] + }, + { + "id" : "Observation.device", + "path" : "Observation.device", + "short" : "(Measurement) Device", + "definition" : "The device used to generate the observation data.", + "comment" : "Note that this is not meant to represent a device involved in the transmission of the result, e.g., a gateway. Such devices may be documented using the Provenance resource where relevant.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Observation.device", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "Reference", + "targetProfile" : ["http://hl7.org/fhir/StructureDefinition/Device", + "http://hl7.org/fhir/StructureDefinition/DeviceMetric"] + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "sct-concept", + "map" : "< 49062001 |Device|" + }, + { + "identity" : "v2", + "map" : "OBX-17 / PRT -10" + }, + { + "identity" : "rim", + "map" : "participation[typeCode=DEV]" + }, + { + "identity" : "sct-attr", + "map" : "424226004 |Using device|" + }] + }, + { + "id" : "Observation.referenceRange", + "path" : "Observation.referenceRange", + "short" : "Provides guide for interpretation", + "definition" : "Guidance on how to interpret the value by comparison to a normal or recommended range. Multiple reference ranges are interpreted as an \"OR\". In other words, to represent two distinct target populations, two `referenceRange` elements would be used.", + "comment" : "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this might not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.", + "requirements" : "Knowing what values are considered \"normal\" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.", + "min" : 0, + "max" : "*", + "base" : { + "path" : "Observation.referenceRange", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "BackboneElement" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key" : "obs-3", + "severity" : "error", + "human" : "Must have at least a low or a high or text", + "expression" : "low.exists() or high.exists() or text.exists()", + "xpath" : "(exists(f:low) or exists(f:high)or exists(f:text))", + "source" : "http://hl7.org/fhir/StructureDefinition/headcircum" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "v2", + "map" : "OBX.7" + }, + { + "identity" : "rim", + "map" : "outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]" + }] + }, + { + "id" : "Observation.referenceRange.id", + "path" : "Observation.referenceRange.id", + "representation" : ["xmlAttr"], + "short" : "Unique id for inter-element referencing", + "definition" : "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Element.id", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", + "valueUrl" : "string" + }], + "code" : "http://hl7.org/fhirpath/System.String" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "rim", + "map" : "n/a" + }] + }, + { + "id" : "Observation.referenceRange.extension", + "path" : "Observation.referenceRange.extension", + "short" : "Additional content defined by implementations", + "definition" : "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", + "comment" : "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", + "alias" : ["extensions", + "user content"], + "min" : 0, + "max" : "*", + "base" : { + "path" : "Element.extension", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Extension" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key" : "ext-1", + "severity" : "error", + "human" : "Must have either extensions or value[x], not both", + "expression" : "extension.exists() != value.exists()", + "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", + "source" : "http://hl7.org/fhir/StructureDefinition/Extension" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "rim", + "map" : "n/a" + }] + }, + { + "id" : "Observation.referenceRange.modifierExtension", + "path" : "Observation.referenceRange.modifierExtension", + "short" : "Extensions that cannot be ignored even if unrecognized", + "definition" : "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", + "comment" : "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", + "requirements" : "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/extensibility.html#modifierExtension).", + "alias" : ["extensions", + "user content", + "modifiers"], + "min" : 0, + "max" : "*", + "base" : { + "path" : "BackboneElement.modifierExtension", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Extension" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key" : "ext-1", + "severity" : "error", + "human" : "Must have either extensions or value[x], not both", + "expression" : "extension.exists() != value.exists()", + "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", + "source" : "http://hl7.org/fhir/StructureDefinition/Extension" + }], + "isModifier" : true, + "isModifierReason" : "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them", + "isSummary" : true, + "mapping" : [{ + "identity" : "rim", + "map" : "N/A" + }] + }, + { + "id" : "Observation.referenceRange.low", + "path" : "Observation.referenceRange.low", + "short" : "Low Range, if relevant", + "definition" : "The value of the low bound of the reference range. The low bound of the reference range endpoint is inclusive of the value (e.g. reference range is >=5 - <=9). If the low bound is omitted, it is assumed to be meaningless (e.g. reference range is <=2.3).", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Observation.referenceRange.low", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "Quantity", + "profile" : ["http://hl7.org/fhir/StructureDefinition/SimpleQuantity"] + }], + "condition" : ["obs-3"], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "v2", + "map" : "OBX-7" + }, + { + "identity" : "rim", + "map" : "value:IVL_PQ.low" + }] + }, + { + "id" : "Observation.referenceRange.high", + "path" : "Observation.referenceRange.high", + "short" : "High Range, if relevant", + "definition" : "The value of the high bound of the reference range. The high bound of the reference range endpoint is inclusive of the value (e.g. reference range is >=5 - <=9). If the high bound is omitted, it is assumed to be meaningless (e.g. reference range is >= 2.3).", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Observation.referenceRange.high", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "Quantity", + "profile" : ["http://hl7.org/fhir/StructureDefinition/SimpleQuantity"] + }], + "condition" : ["obs-3"], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "v2", + "map" : "OBX-7" + }, + { + "identity" : "rim", + "map" : "value:IVL_PQ.high" + }] + }, + { + "id" : "Observation.referenceRange.type", + "path" : "Observation.referenceRange.type", + "short" : "Reference range qualifier", + "definition" : "Codes to indicate the what part of the targeted reference population it applies to. For example, the normal or therapeutic range.", + "comment" : "This SHOULD be populated if there is more than one range. If this element is not present then the normal range is assumed.", + "requirements" : "Need to be able to say what kind of reference range this is - normal, recommended, therapeutic, etc., - for proper interpretation.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Observation.referenceRange.type", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "CodeableConcept" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : false, + "binding" : { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", + "valueString" : "ObservationRangeMeaning" + }], + "strength" : "preferred", + "description" : "Code for the meaning of a reference range.", + "valueSet" : "http://hl7.org/fhir/ValueSet/referencerange-meaning" + }, + "mapping" : [{ + "identity" : "sct-concept", + "map" : "< 260245000 |Findings values| OR \r< 365860008 |General clinical state finding| \rOR \r< 250171008 |Clinical history or observation findings| OR \r< 415229000 |Racial group| OR \r< 365400002 |Finding of puberty stage| OR\r< 443938003 |Procedure carried out on subject|" + }, + { + "identity" : "v2", + "map" : "OBX-10" + }, + { + "identity" : "rim", + "map" : "interpretationCode" + }] + }, + { + "id" : "Observation.referenceRange.appliesTo", + "path" : "Observation.referenceRange.appliesTo", + "short" : "Reference range population", + "definition" : "Codes to indicate the target population this reference range applies to. For example, a reference range may be based on the normal population or a particular sex or race. Multiple `appliesTo` are interpreted as an \"AND\" of the target populations. For example, to represent a target population of African American females, both a code of female and a code for African American would be used.", + "comment" : "This SHOULD be populated if there is more than one range. If this element is not present then the normal population is assumed.", + "requirements" : "Need to be able to identify the target population for proper interpretation.", + "min" : 0, + "max" : "*", + "base" : { + "path" : "Observation.referenceRange.appliesTo", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "CodeableConcept" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : false, + "binding" : { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", + "valueString" : "ObservationRangeType" + }], + "strength" : "example", + "description" : "Codes identifying the population the reference range applies to.", + "valueSet" : "http://hl7.org/fhir/ValueSet/referencerange-appliesto" + }, + "mapping" : [{ + "identity" : "sct-concept", + "map" : "< 260245000 |Findings values| OR \r< 365860008 |General clinical state finding| \rOR \r< 250171008 |Clinical history or observation findings| OR \r< 415229000 |Racial group| OR \r< 365400002 |Finding of puberty stage| OR\r< 443938003 |Procedure carried out on subject|" + }, + { + "identity" : "v2", + "map" : "OBX-10" + }, + { + "identity" : "rim", + "map" : "interpretationCode" + }] + }, + { + "id" : "Observation.referenceRange.age", + "path" : "Observation.referenceRange.age", + "short" : "Applicable age range, if relevant", + "definition" : "The age at which this reference range is applicable. This is a neonatal age (e.g. number of weeks at term) if the meaning says so.", + "requirements" : "Some analytes vary greatly over age.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Observation.referenceRange.age", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "Range" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "rim", + "map" : "outboundRelationship[typeCode=PRCN].targetObservationCriterion[code=\"age\"].value" + }] + }, + { + "id" : "Observation.referenceRange.text", + "path" : "Observation.referenceRange.text", + "short" : "Text based reference range in an observation", + "definition" : "Text based reference range in an observation which may be used when a quantitative range is not appropriate for an observation. An example would be a reference value of \"Negative\" or a list or table of \"normals\".", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Observation.referenceRange.text", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "string" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "v2", + "map" : "OBX-7" + }, + { + "identity" : "rim", + "map" : "value:ST" + }] + }, + { + "id" : "Observation.hasMember", + "path" : "Observation.hasMember", + "short" : "Used when reporting vital signs panel components", + "definition" : "Used when reporting vital signs panel components.", + "comment" : "When using this element, an observation will typically have either a value or a set of related resources, although both may be present in some cases. For a discussion on the ways Observations can assembled in groups together, see [Notes](http://hl7.org/fhir/observation.html#obsgrouping) below. Note that a system may calculate results from [QuestionnaireResponse](http://hl7.org/fhir/questionnaireresponse.html) into a final score and represent the score as an Observation.", + "min" : 0, + "max" : "*", + "base" : { + "path" : "Observation.hasMember", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Reference", + "targetProfile" : ["http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse", + "http://hl7.org/fhir/StructureDefinition/MolecularSequence", + "http://hl7.org/fhir/StructureDefinition/vitalsigns"] + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "Relationships established by OBX-4 usage" + }, + { + "identity" : "rim", + "map" : "outBoundRelationship" + }] + }, + { + "id" : "Observation.derivedFrom", + "path" : "Observation.derivedFrom", + "short" : "Related measurements the observation is made from", + "definition" : "The target resource that represents a measurement from which this observation value is derived. For example, a calculated anion gap or a fetal measurement based on an ultrasound image.", + "comment" : "All the reference choices that are listed in this element can represent clinical observations and other measurements that may be the source for a derived value. The most common reference will be another Observation. For a discussion on the ways Observations can assembled in groups together, see [Notes](http://hl7.org/fhir/observation.html#obsgrouping) below.", + "min" : 0, + "max" : "*", + "base" : { + "path" : "Observation.derivedFrom", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Reference", + "targetProfile" : ["http://hl7.org/fhir/StructureDefinition/DocumentReference", + "http://hl7.org/fhir/StructureDefinition/ImagingStudy", + "http://hl7.org/fhir/StructureDefinition/Media", + "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse", + "http://hl7.org/fhir/StructureDefinition/MolecularSequence", + "http://hl7.org/fhir/StructureDefinition/vitalsigns"] + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "Relationships established by OBX-4 usage" + }, + { + "identity" : "rim", + "map" : ".targetObservation" + }] + }, + { + "id" : "Observation.component", + "path" : "Observation.component", + "short" : "Used when reporting systolic and diastolic blood pressure.", + "definition" : "Used when reporting systolic and diastolic blood pressure.", + "comment" : "For a discussion on the ways Observations can be assembled in groups together see [Notes](http://hl7.org/fhir/observation.html#notes) below.", + "requirements" : "Component observations share the same attributes in the Observation resource as the primary observation and are always treated a part of a single observation (they are not separable). However, the reference range for the primary observation value is not inherited by the component values and is required when appropriate for each component observation.", + "min" : 0, + "max" : "*", + "base" : { + "path" : "Observation.component", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "BackboneElement" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key" : "vs-3", + "severity" : "error", + "human" : "If there is no a value a data absent reason must be present", + "expression" : "value.exists() or dataAbsentReason.exists()", + "xpath" : "f:*[starts-with(local-name(.), 'value')] or f:dataAbsentReason", + "source" : "http://hl7.org/fhir/StructureDefinition/headcircum" + }], + "mustSupport" : true, + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "containment by OBX-4?" + }, + { + "identity" : "rim", + "map" : "outBoundRelationship[typeCode=COMP]" + }] + }, + { + "id" : "Observation.component.id", + "path" : "Observation.component.id", + "representation" : ["xmlAttr"], + "short" : "Unique id for inter-element referencing", + "definition" : "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Element.id", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", + "valueUrl" : "string" + }], + "code" : "http://hl7.org/fhirpath/System.String" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "rim", + "map" : "n/a" + }] + }, + { + "id" : "Observation.component.extension", + "path" : "Observation.component.extension", + "short" : "Additional content defined by implementations", + "definition" : "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", + "comment" : "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", + "alias" : ["extensions", + "user content"], + "min" : 0, + "max" : "*", + "base" : { + "path" : "Element.extension", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Extension" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key" : "ext-1", + "severity" : "error", + "human" : "Must have either extensions or value[x], not both", + "expression" : "extension.exists() != value.exists()", + "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", + "source" : "http://hl7.org/fhir/StructureDefinition/Extension" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "rim", + "map" : "n/a" + }] + }, + { + "id" : "Observation.component.modifierExtension", + "path" : "Observation.component.modifierExtension", + "short" : "Extensions that cannot be ignored even if unrecognized", + "definition" : "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", + "comment" : "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", + "requirements" : "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/extensibility.html#modifierExtension).", + "alias" : ["extensions", + "user content", + "modifiers"], + "min" : 0, + "max" : "*", + "base" : { + "path" : "BackboneElement.modifierExtension", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Extension" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key" : "ext-1", + "severity" : "error", + "human" : "Must have either extensions or value[x], not both", + "expression" : "extension.exists() != value.exists()", + "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", + "source" : "http://hl7.org/fhir/StructureDefinition/Extension" + }], + "isModifier" : true, + "isModifierReason" : "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them", + "isSummary" : true, + "mapping" : [{ + "identity" : "rim", + "map" : "N/A" + }] + }, + { + "id" : "Observation.component.code", + "path" : "Observation.component.code", + "short" : "Type of component observation (code / type)", + "definition" : "Describes what was observed. Sometimes this is called the observation \"code\".", + "comment" : "*All* code-value and component.code-component.value pairs need to be taken into account to correctly understand the meaning of the observation.", + "requirements" : "Knowing what kind of observation is being made is essential to understanding the observation.", + "min" : 1, + "max" : "1", + "base" : { + "path" : "Observation.component.code", + "min" : 1, + "max" : "1" + }, + "type" : [{ + "code" : "CodeableConcept" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "mustSupport" : true, + "isModifier" : false, + "isSummary" : true, + "binding" : { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", + "valueString" : "VitalSigns" + }], + "strength" : "extensible", + "description" : "This identifies the vital sign result type.", + "valueSet" : "http://hl7.org/fhir/ValueSet/observation-vitalsignresult" + }, + "mapping" : [{ + "identity" : "w5", + "map" : "FiveWs.what[x]" + }, + { + "identity" : "sct-concept", + "map" : "< 363787002 |Observable entity| OR \r< 386053000 |Evaluation procedure|" + }, + { + "identity" : "v2", + "map" : "OBX-3" + }, + { + "identity" : "rim", + "map" : "code" + }] + }, + { + "id" : "Observation.component.value[x]", + "path" : "Observation.component.value[x]", + "short" : "Vital Sign Value recorded with UCUM", + "definition" : "Vital Sign Value recorded with UCUM.", + "comment" : "Used when observation has a set of component observations. An observation may have both a value (e.g. an Apgar score) and component observations (the observations from which the Apgar score was derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value. For additional guidance, see the [Notes section](http://hl7.org/fhir/observation.html#notes) below.", + "requirements" : "9. SHALL contain exactly one [1..1] value with @xsi:type=\"PQ\" (CONF:7305).", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Observation.component.value[x]", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "Quantity" + }, + { + "code" : "CodeableConcept" + }, + { + "code" : "string" + }, + { + "code" : "boolean" + }, + { + "code" : "integer" + }, + { + "code" : "Range" + }, + { + "code" : "Ratio" + }, + { + "code" : "SampledData" + }, + { + "code" : "time" + }, + { + "code" : "dateTime" + }, + { + "code" : "Period" + }], + "condition" : ["vs-3"], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "mustSupport" : true, + "isModifier" : false, + "isSummary" : true, + "binding" : { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", + "valueString" : "VitalSignsUnits" + }], + "strength" : "required", + "description" : "Common UCUM units for recording Vital Signs.", + "valueSet" : "http://hl7.org/fhir/ValueSet/ucum-vitals-common|4.0.1" + }, + "mapping" : [{ + "identity" : "sct-concept", + "map" : "363714003 |Interprets| < 441742003 |Evaluation finding|" + }, + { + "identity" : "v2", + "map" : "OBX.2, OBX.5, OBX.6" + }, + { + "identity" : "rim", + "map" : "value" + }, + { + "identity" : "sct-attr", + "map" : "363714003 |Interprets|" + }] + }, + { + "id" : "Observation.component.dataAbsentReason", + "path" : "Observation.component.dataAbsentReason", + "short" : "Why the component result is missing", + "definition" : "Provides a reason why the expected value in the element Observation.component.value[x] is missing.", + "comment" : "\"Null\" or exceptional values can be represented two ways in FHIR Observations. One way is to simply include them in the value set and represent the exceptions in the value. For example, measurement values for a serology test could be \"detected\", \"not detected\", \"inconclusive\", or \"test not done\". \n\nThe alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values. For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed. Because of these options, use-case agreements are required to interpret general observations for exceptional values.", + "requirements" : "For many results it is necessary to handle exceptional values in measurements.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Observation.component.dataAbsentReason", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "CodeableConcept" + }], + "condition" : ["obs-6", + "vs-3"], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "mustSupport" : true, + "isModifier" : false, + "isSummary" : false, + "binding" : { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", + "valueString" : "ObservationValueAbsentReason" + }], + "strength" : "extensible", + "description" : "Codes specifying why the result (`Observation.value[x]`) is missing.", + "valueSet" : "http://hl7.org/fhir/ValueSet/data-absent-reason" + }, + "mapping" : [{ + "identity" : "v2", + "map" : "N/A" + }, + { + "identity" : "rim", + "map" : "value.nullFlavor" + }] + }, + { + "id" : "Observation.component.interpretation", + "path" : "Observation.component.interpretation", + "short" : "High, low, normal, etc.", + "definition" : "A categorical assessment of an observation value. For example, high, low, normal.", + "comment" : "Historically used for laboratory results (known as 'abnormal flag' ), its use extends to other use cases where coded interpretations are relevant. Often reported as one or more simple compact codes this element is often placed adjacent to the result value in reports and flow sheets to signal the meaning/normalcy status of the result.", + "requirements" : "For some results, particularly numeric results, an interpretation is necessary to fully understand the significance of a result.", + "alias" : ["Abnormal Flag"], + "min" : 0, + "max" : "*", + "base" : { + "path" : "Observation.component.interpretation", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "CodeableConcept" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : false, + "binding" : { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", + "valueString" : "ObservationInterpretation" + }], + "strength" : "extensible", + "description" : "Codes identifying interpretations of observations.", + "valueSet" : "http://hl7.org/fhir/ValueSet/observation-interpretation" + }, + "mapping" : [{ + "identity" : "sct-concept", + "map" : "< 260245000 |Findings values|" + }, + { + "identity" : "v2", + "map" : "OBX-8" + }, + { + "identity" : "rim", + "map" : "interpretationCode" + }, + { + "identity" : "sct-attr", + "map" : "363713009 |Has interpretation|" + }] + }, + { + "id" : "Observation.component.referenceRange", + "path" : "Observation.component.referenceRange", + "short" : "Provides guide for interpretation of component result", + "definition" : "Guidance on how to interpret the value by comparison to a normal or recommended range.", + "comment" : "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this might not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.", + "requirements" : "Knowing what values are considered \"normal\" can help evaluate the significance of a particular result. Need to be able to provide multiple reference ranges for different contexts.", + "min" : 0, + "max" : "*", + "base" : { + "path" : "Observation.component.referenceRange", + "min" : 0, + "max" : "*" + }, + "contentReference" : "http://hl7.org/fhir/StructureDefinition/Observation#Observation.referenceRange", + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "v2", + "map" : "OBX.7" + }, + { + "identity" : "rim", + "map" : "outboundRelationship[typeCode=REFV]/target[classCode=OBS, moodCode=EVN]" + }] + }] + }, + "differential" : { + "element" : [{ + "id" : "Observation", + "path" : "Observation", + "short" : "Head circumference", + "definition" : "Measurement of a patient's head circumference at a point in time.", + "comment" : "Head circumference observation using a LOINC code, a SNOMED CT code and a metric UCUM unit of measure.", + "constraint" : [{ + "key" : "au-core-obs-02", + "severity" : "error", + "human" : "At least value or data absent reason shall be present", + "expression" : "dataAbsentReason.exists() or value.exists()", + "xpath" : "exists(f:*[starts-with(local-name(.), 'value')]) or exists(f:dataAbsentReason)", + "source" : "http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum" + }] + }, + { + "id" : "Observation.status", + "path" : "Observation.status", + "fixedCode" : "final" + }, + { + "id" : "Observation.code.coding", + "path" : "Observation.code.coding", + "min" : 2 + }, + { + "id" : "Observation.code.coding:snomedHeadCircumCode", + "path" : "Observation.code.coding", + "sliceName" : "snomedHeadCircumCode", + "short" : "SNOMED CT Head Circumference", + "min" : 1, + "max" : "1" + }, + { + "id" : "Observation.code.coding:snomedHeadCircumCode.system", + "path" : "Observation.code.coding.system", + "min" : 1, + "fixedUri" : "http://snomed.info/sct" + }, + { + "id" : "Observation.code.coding:snomedHeadCircumCode.code", + "path" : "Observation.code.coding.code", + "min" : 1, + "fixedCode" : "363812007" + }, + { + "id" : "Observation.subject", + "path" : "Observation.subject", + "type" : [{ + "code" : "Reference", + "targetProfile" : ["http://hl7.org.au/fhir/core/StructureDefinition/au-core-patient"] + }] + }, + { + "id" : "Observation.encounter", + "path" : "Observation.encounter", + "type" : [{ + "code" : "Reference", + "targetProfile" : ["http://hl7.org.au/fhir/core/StructureDefinition/au-core-encounter"] + }], + "mustSupport" : true + }, + { + "id" : "Observation.effective[x]", + "path" : "Observation.effective[x]", + "short" : "Date, and optionally time, the observation was performed", + "definition" : "Date, and optionally time, the observation was performed.", + "type" : [{ + "code" : "dateTime" + }], + "condition" : ["au-core-obs-01"], + "constraint" : [{ + "key" : "au-core-obs-01", + "severity" : "error", + "human" : "Date shall be at least to day", + "expression" : "$this is DateTime implies $this.toString().length() >= 10", + "xpath" : "f:matches(effectiveDateTime,/\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d([+-][0-2]\\d:[0-5]\\d|Z)/)", + "source" : "http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum" + }] + }, + { + "id" : "Observation.performer", + "path" : "Observation.performer", + "type" : [{ + "code" : "Reference", + "targetProfile" : ["http://hl7.org.au/fhir/core/StructureDefinition/au-core-practitioner", + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-practitionerrole", + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-organization", + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-patient", + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-relatedperson"] + }], + "mustSupport" : true + }, + { + "id" : "Observation.value[x]:valueQuantity", + "path" : "Observation.value[x]", + "sliceName" : "valueQuantity", + "short" : "Head circumference", + "condition" : ["au-core-obs-02"] + }, + { + "id" : "Observation.value[x]:valueQuantity.code", + "path" : "Observation.value[x].code", + "binding" : { + "strength" : "required", + "valueSet" : "https://healthterminologies.gov.au/fhir/ValueSet/metric-body-length-units-1" + } + }, + { + "id" : "Observation.dataAbsentReason", + "path" : "Observation.dataAbsentReason", + "condition" : ["au-core-obs-02"], + "mustSupport" : true + }, + { + "id" : "Observation.bodySite", + "path" : "Observation.bodySite", + "condition" : ["au-core-obs-04"], + "constraint" : [{ + "key" : "au-core-obs-04", + "severity" : "error", + "human" : "If a coded body site is provided, at least one code shall be from SNOMED CT", + "expression" : "coding.exists() implies coding.where(system='http://snomed.info/sct').exists()", + "xpath" : "not(exists(f:coding/f:system)) or exists(f:coding/f:system[@value='http://snomed.info/sct'])", + "source" : "http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum" + }], + "binding" : { + "strength" : "preferred", + "valueSet" : "https://healthterminologies.gov.au/fhir/ValueSet/body-site-1" + } + }] + } +} \ No newline at end of file diff --git a/input/resources/StructureDefinition-au-core-medicationstatement.json b/input/resources/StructureDefinition-au-core-medicationstatement.json new file mode 100644 index 00000000..9710b3d4 --- /dev/null +++ b/input/resources/StructureDefinition-au-core-medicationstatement.json @@ -0,0 +1,3067 @@ +{ + "resourceType" : "StructureDefinition", + "id" : "au-core-medicationstatement", + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm", + "valueInteger" : 0 + }, + { + "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", + "valueCode" : "trial-use", + "_valueCode" : { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom", + "valueCanonical" : "http://hl7.org.au/fhir/core/ImplementationGuide/hl7.fhir.au.core" + }] + } + }], + "url" : "http://hl7.org.au/fhir/core/StructureDefinition/au-core-medicationstatement", + "version" : "1.1.0-preview", + "name" : "AUCoreMedicationStatement", + "title" : "AU Core MedicationStatement", + "status" : "draft", + "date" : "2025-03-06T07:19:11+00:00", + "publisher" : "HL7 Australia", + "contact" : [{ + "name" : "HL7 Australia FHIR Work Group", + "telecom" : [{ + "system" : "url", + "value" : "https://confluence.hl7.org/display/HAFWG", + "use" : "work" + }] + }], + "description" : "This profile sets minimum expectations for a MedicationStatement resource to record, search, and fetch summary statements of medication use associated with a patient. It is based on the [AU Base Medication Statement](http://build.fhir.org/ig/hl7au/au-fhir-base/StructureDefinition-au-medicationstatement.html) profile and identifies the *additional* mandatory core elements, extensions, vocabularies and value sets that **SHALL** be present in the MedicationStatement when conforming to this profile. It provides the floor for standards development for specific uses cases in an Australian context.", + "jurisdiction" : [{ + "coding" : [{ + "system" : "urn:iso:std:iso:3166", + "code" : "AU" + }] + }], + "copyright" : "Used by permission of HL7 International, all rights reserved Creative Commons License. HL7 Australia© 2022+; Licensed Under Creative Commons No Rights Reserved.", + "fhirVersion" : "4.0.1", + "mapping" : [{ + "identity" : "workflow", + "uri" : "http://hl7.org/fhir/workflow", + "name" : "Workflow Pattern" + }, + { + "identity" : "rim", + "uri" : "http://hl7.org/v3", + "name" : "RIM Mapping" + }, + { + "identity" : "w5", + "uri" : "http://hl7.org/fhir/fivews", + "name" : "FiveWs Pattern Mapping" + }, + { + "identity" : "v2", + "uri" : "http://hl7.org/v2", + "name" : "HL7 v2 Mapping" + }], + "kind" : "resource", + "abstract" : false, + "type" : "MedicationStatement", + "baseDefinition" : "http://hl7.org.au/fhir/StructureDefinition/au-medicationstatement", + "derivation" : "constraint", + "snapshot" : { + "extension" : [{ + "url" : "http://hl7.org/fhir/tools/StructureDefinition/snapshot-base-version", + "valueString" : "5.1.0-preview" + }], + "element" : [{ + "id" : "MedicationStatement", + "path" : "MedicationStatement", + "short" : "A record of medication being taken by a patient in an Australian healthcare context", + "definition" : "A record of a medication that is being consumed by a patient. A MedicationStatement may indicate that the patient may be taking the medication now or has taken the medication in the past or will be taking the medication in the future. The source of this information can be the patient, significant other (such as a family member or spouse), or a clinician. A common scenario where this information is captured is during the history taking process during a patient visit or stay. The medication information may come from sources such as the patient's memory, from a prescription bottle, or from a list of medications the patient, clinician or other party maintains. \n\nThe primary difference between a medication statement and a medication administration is that the medication administration has complete administration information and is based on actual administration information from the person who administered the medication. A medication statement is often, if not always, less specific. There is no required date/time when the medication was administered, in fact we only know that a source has reported the patient is taking this medication, where details such as time, quantity, or rate or even medication product may be incomplete or missing or less precise. As stated earlier, the medication statement information may come from the patient's memory, from a prescription bottle or from a list of medications the patient, clinician or other party maintains. Medication administration is more formal and is not missing detailed information.", + "comment" : "When interpreting a medicationStatement, the value of the status and NotTaken needed to be considered:\rMedicationStatement.status + MedicationStatement.wasNotTaken\rStatus=Active + NotTaken=T = Not currently taking\rStatus=Completed + NotTaken=T = Not taken in the past\rStatus=Intended + NotTaken=T = No intention of taking\rStatus=Active + NotTaken=F = Taking, but not as prescribed\rStatus=Active + NotTaken=F = Taking\rStatus=Intended +NotTaken= F = Will be taking (not started)\rStatus=Completed + NotTaken=F = Taken in past\rStatus=In Error + NotTaken=N/A = In Error.", + "min" : 0, + "max" : "*", + "base" : { + "path" : "MedicationStatement", + "min" : 0, + "max" : "*" + }, + "constraint" : [{ + "key" : "dom-2", + "severity" : "error", + "human" : "If the resource is contained in another resource, it SHALL NOT contain nested Resources", + "expression" : "contained.contained.empty()", + "xpath" : "not(parent::f:contained and f:contained)", + "source" : "http://hl7.org/fhir/StructureDefinition/DomainResource" + }, + { + "key" : "dom-3", + "severity" : "error", + "human" : "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource", + "expression" : "contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()", + "xpath" : "not(exists(for $id in f:contained/*/f:id/@value return $contained[not(parent::*/descendant::f:reference/@value=concat('#', $contained/*/id/@value) or descendant::f:reference[@value='#'])]))", + "source" : "http://hl7.org/fhir/StructureDefinition/DomainResource" + }, + { + "key" : "dom-4", + "severity" : "error", + "human" : "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated", + "expression" : "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()", + "xpath" : "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))", + "source" : "http://hl7.org/fhir/StructureDefinition/DomainResource" + }, + { + "key" : "dom-5", + "severity" : "error", + "human" : "If a resource is contained in another resource, it SHALL NOT have a security label", + "expression" : "contained.meta.security.empty()", + "xpath" : "not(exists(f:contained/*/f:meta/f:security))", + "source" : "http://hl7.org/fhir/StructureDefinition/DomainResource" + }, + { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice", + "valueBoolean" : true + }, + { + "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice-explanation", + "valueMarkdown" : "When a resource has no narrative, only systems that fully understand the data can display the resource to a human safely. Including a human readable representation in the resource makes for a much more robust eco-system and cheaper handling of resources by intermediary systems. Some ecosystems restrict distribution of resources to only those systems that do fully understand the resources, and as a consequence implementers may believe that the narrative is superfluous. However experience shows that such eco-systems often open up to new participants over time." + }], + "key" : "dom-6", + "severity" : "warning", + "human" : "A resource should have narrative for robust management", + "expression" : "text.`div`.exists()", + "xpath" : "exists(f:text/h:div)", + "source" : "http://hl7.org/fhir/StructureDefinition/DomainResource" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "rim", + "map" : "Entity. Role, or Act" + }, + { + "identity" : "workflow", + "map" : "Event" + }, + { + "identity" : "rim", + "map" : "SubstanceAdministration" + }] + }, + { + "id" : "MedicationStatement.id", + "path" : "MedicationStatement.id", + "short" : "Logical id of this artifact", + "definition" : "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.", + "comment" : "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Resource.id", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", + "valueUrl" : "id" + }], + "code" : "http://hl7.org/fhirpath/System.String" + }], + "isModifier" : false, + "isSummary" : true + }, + { + "id" : "MedicationStatement.meta", + "path" : "MedicationStatement.meta", + "short" : "Metadata about the resource", + "definition" : "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Resource.meta", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "Meta" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true + }, + { + "id" : "MedicationStatement.implicitRules", + "path" : "MedicationStatement.implicitRules", + "short" : "A set of rules under which this content was created", + "definition" : "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.", + "comment" : "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Resource.implicitRules", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "uri" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : true, + "isModifierReason" : "This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation", + "isSummary" : true + }, + { + "id" : "MedicationStatement.language", + "path" : "MedicationStatement.language", + "short" : "Language of the resource content", + "definition" : "The base language in which the resource is written.", + "comment" : "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Resource.language", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "code" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : false, + "binding" : { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet", + "valueCanonical" : "http://hl7.org/fhir/ValueSet/all-languages" + }, + { + "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", + "valueString" : "Language" + }], + "strength" : "preferred", + "description" : "A human language.", + "valueSet" : "http://hl7.org/fhir/ValueSet/languages" + } + }, + { + "id" : "MedicationStatement.text", + "path" : "MedicationStatement.text", + "short" : "Text summary of the resource, for human interpretation", + "definition" : "A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.", + "comment" : "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded information is added later.", + "alias" : ["narrative", + "html", + "xhtml", + "display"], + "min" : 0, + "max" : "1", + "base" : { + "path" : "DomainResource.text", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "Narrative" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "rim", + "map" : "Act.text?" + }] + }, + { + "id" : "MedicationStatement.contained", + "path" : "MedicationStatement.contained", + "short" : "Contained, inline Resources", + "definition" : "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.", + "comment" : "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.", + "alias" : ["inline resources", + "anonymous resources", + "contained resources"], + "min" : 0, + "max" : "*", + "base" : { + "path" : "DomainResource.contained", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Resource" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "rim", + "map" : "N/A" + }] + }, + { + "id" : "MedicationStatement.extension", + "path" : "MedicationStatement.extension", + "slicing" : { + "discriminator" : [{ + "type" : "value", + "path" : "url" + }], + "rules" : "open" + }, + "short" : "Extension", + "definition" : "An Extension", + "min" : 0, + "max" : "*", + "base" : { + "path" : "DomainResource.extension", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Extension" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key" : "ext-1", + "severity" : "error", + "human" : "Must have either extensions or value[x], not both", + "expression" : "extension.exists() != value.exists()", + "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", + "source" : "http://hl7.org/fhir/StructureDefinition/Extension" + }], + "isModifier" : false, + "isSummary" : false + }, + { + "id" : "MedicationStatement.extension:longTerm", + "path" : "MedicationStatement.extension", + "sliceName" : "longTerm", + "short" : "Medication Long Term Indicator", + "definition" : "Indicator of long term use of a medication.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "DomainResource.extension", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Extension", + "profile" : ["http://hl7.org.au/fhir/StructureDefinition/medication-long-term"] + }], + "condition" : ["ele-1"], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key" : "ext-1", + "severity" : "error", + "human" : "Must have either extensions or value[x], not both", + "expression" : "extension.exists() != value.exists()", + "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])", + "source" : "http://hl7.org/fhir/StructureDefinition/Extension" + }], + "isModifier" : false + }, + { + "id" : "MedicationStatement.modifierExtension", + "path" : "MedicationStatement.modifierExtension", + "short" : "Extensions that cannot be ignored", + "definition" : "May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", + "comment" : "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", + "requirements" : "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).", + "alias" : ["extensions", + "user content"], + "min" : 0, + "max" : "*", + "base" : { + "path" : "DomainResource.modifierExtension", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Extension" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key" : "ext-1", + "severity" : "error", + "human" : "Must have either extensions or value[x], not both", + "expression" : "extension.exists() != value.exists()", + "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", + "source" : "http://hl7.org/fhir/StructureDefinition/Extension" + }], + "isModifier" : true, + "isModifierReason" : "Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them", + "isSummary" : false, + "mapping" : [{ + "identity" : "rim", + "map" : "N/A" + }] + }, + { + "id" : "MedicationStatement.identifier", + "path" : "MedicationStatement.identifier", + "short" : "External identifier", + "definition" : "Identifiers associated with this Medication Statement that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate. They are business identifiers assigned to this resource by the performer or other systems and remain constant as the resource is updated and propagates from server to server.", + "comment" : "This is a business identifier, not a resource identifier.", + "min" : 0, + "max" : "*", + "base" : { + "path" : "MedicationStatement.identifier", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Identifier" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "workflow", + "map" : "Event.identifier" + }, + { + "identity" : "w5", + "map" : "FiveWs.identifier" + }, + { + "identity" : "rim", + "map" : ".id" + }] + }, + { + "id" : "MedicationStatement.basedOn", + "path" : "MedicationStatement.basedOn", + "short" : "Fulfils plan, proposal or order", + "definition" : "A plan, proposal or order that is fulfilled in whole or in part by this event.", + "requirements" : "Allows tracing of authorization for the event and tracking whether proposals/recommendations were acted upon.", + "min" : 0, + "max" : "*", + "base" : { + "path" : "MedicationStatement.basedOn", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Reference", + "targetProfile" : ["http://hl7.org/fhir/StructureDefinition/MedicationRequest", + "http://hl7.org/fhir/StructureDefinition/CarePlan", + "http://hl7.org/fhir/StructureDefinition/ServiceRequest"] + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "workflow", + "map" : "Event.basedOn" + }, + { + "identity" : "rim", + "map" : ".outboundRelationship[typeCode=FLFS].target[classCode=SBADM or PROC or PCPR or OBS, moodCode=RQO orPLAN or PRP]" + }] + }, + { + "id" : "MedicationStatement.partOf", + "path" : "MedicationStatement.partOf", + "short" : "Part of referenced event", + "definition" : "A larger event of which this particular event is a component or step.", + "requirements" : "This should not be used when indicating which resource a MedicationStatement has been derived from. If that is the use case, then MedicationStatement.derivedFrom should be used.", + "min" : 0, + "max" : "*", + "base" : { + "path" : "MedicationStatement.partOf", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Reference", + "targetProfile" : ["http://hl7.org/fhir/StructureDefinition/MedicationAdministration", + "http://hl7.org/fhir/StructureDefinition/MedicationDispense", + "http://hl7.org/fhir/StructureDefinition/MedicationStatement", + "http://hl7.org/fhir/StructureDefinition/Procedure", + "http://hl7.org/fhir/StructureDefinition/Observation"] + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "workflow", + "map" : "Event.partOf" + }, + { + "identity" : "rim", + "map" : ".outboundRelationship[typeCode=COMP]/target[classCode=SPLY or SBADM or PROC or OBS,moodCode=EVN]" + }] + }, + { + "id" : "MedicationStatement.status", + "extension" : [{ + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:populate-if-known" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:no-error" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }], + "path" : "MedicationStatement.status", + "short" : "active | completed | entered-in-error | intended | stopped | on-hold | unknown | not-taken", + "definition" : "A code representing the patient or other source's judgment about the state of the medication used that this statement is about. Generally, this will be active or completed.", + "comment" : "MedicationStatement is a statement at a point in time. The status is only representative at the point when it was asserted. The value set for MedicationStatement.status contains codes that assert the status of the use of the medication by the patient (for example, stopped or on hold) as well as codes that assert the status of the medication statement itself (for example, entered in error).\r\rThis element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.", + "min" : 1, + "max" : "1", + "base" : { + "path" : "MedicationStatement.status", + "min" : 1, + "max" : "1" + }, + "type" : [{ + "code" : "code" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "mustSupport" : true, + "isModifier" : true, + "isModifierReason" : "This element is labelled as a modifier because it is a status element that contains status entered-in-error which means that the resource should not be treated as valid", + "isSummary" : true, + "binding" : { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", + "valueString" : "MedicationStatementStatus" + }], + "strength" : "required", + "description" : "A coded concept indicating the current status of a MedicationStatement.", + "valueSet" : "http://hl7.org/fhir/ValueSet/medication-statement-status|4.0.1" + }, + "mapping" : [{ + "identity" : "workflow", + "map" : "Event.status" + }, + { + "identity" : "w5", + "map" : "FiveWs.status" + }, + { + "identity" : "rim", + "map" : ".statusCode" + }] + }, + { + "id" : "MedicationStatement.statusReason", + "path" : "MedicationStatement.statusReason", + "short" : "Reason for current status", + "definition" : "Captures the reason for the current state of the MedicationStatement.", + "comment" : "This is generally only used for \"exception\" statuses such as \"not-taken\", \"on-hold\", \"cancelled\" or \"entered-in-error\". The reason for performing the event at all is captured in reasonCode, not here.", + "min" : 0, + "max" : "*", + "base" : { + "path" : "MedicationStatement.statusReason", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "CodeableConcept" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : false, + "binding" : { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", + "valueString" : "MedicationStatementStatusReason" + }], + "strength" : "example", + "description" : "A coded concept indicating the reason for the status of the statement.", + "valueSet" : "http://hl7.org/fhir/ValueSet/reason-medication-status-codes" + }, + "mapping" : [{ + "identity" : "workflow", + "map" : "Event.statusReason" + }, + { + "identity" : "rim", + "map" : ".inboundRelationship[typeCode=SUBJ].source[classCode=CACT, moodCode=EVN].reasonCOde" + }] + }, + { + "id" : "MedicationStatement.category", + "path" : "MedicationStatement.category", + "short" : "Type of medication usage", + "definition" : "Indicates where the medication is expected to be consumed or administered.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "MedicationStatement.category", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "CodeableConcept" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "binding" : { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", + "valueString" : "MedicationStatementCategory" + }], + "strength" : "preferred", + "description" : "A coded concept identifying where the medication included in the MedicationStatement is expected to be consumed or administered.", + "valueSet" : "http://hl7.org/fhir/ValueSet/medication-statement-category" + }, + "mapping" : [{ + "identity" : "w5", + "map" : "FiveWs.class" + }, + { + "identity" : "rim", + "map" : ".inboundRelationship[typeCode=COMP].source[classCode=OBS, moodCode=EVN, code=\"type of medication usage\"].value" + }] + }, + { + "id" : "MedicationStatement.medication[x]", + "extension" : [{ + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:populate-if-known" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:no-error" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }], + "path" : "MedicationStatement.medication[x]", + "slicing" : { + "discriminator" : [{ + "type" : "type", + "path" : "$this" + }], + "ordered" : false, + "rules" : "closed" + }, + "short" : "Medication Detail", + "definition" : "Identifies the medication being administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications.", + "comment" : "If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended. For example, if you require form or lot number, then you must reference the Medication resource.", + "min" : 1, + "max" : "1", + "base" : { + "path" : "MedicationStatement.medication[x]", + "min" : 1, + "max" : "1" + }, + "type" : [{ + "code" : "CodeableConcept" + }, + { + "code" : "Reference", + "targetProfile" : ["http://hl7.org/fhir/StructureDefinition/Medication"] + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "mustSupport" : true, + "isModifier" : false, + "isSummary" : true, + "binding" : { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", + "valueString" : "MedicationCode" + }], + "strength" : "example", + "description" : "A coded concept identifying the substance or product being taken.", + "valueSet" : "http://hl7.org/fhir/ValueSet/medication-codes" + }, + "mapping" : [{ + "identity" : "workflow", + "map" : "Event.code" + }, + { + "identity" : "w5", + "map" : "FiveWs.what[x]" + }, + { + "identity" : "rim", + "map" : ".participation[typeCode=CSM].role[classCode=ADMM or MANU]" + }] + }, + { + "id" : "MedicationStatement.medication[x]:medicationCodeableConcept", + "path" : "MedicationStatement.medication[x]", + "sliceName" : "medicationCodeableConcept", + "short" : "Coded Medication", + "definition" : "Identifies the medication being administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications.", + "comment" : "If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended. For example, if you require form or lot number, then you must reference the Medication resource.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "MedicationStatement.medication[x]", + "min" : 1, + "max" : "1" + }, + "type" : [{ + "code" : "CodeableConcept" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "binding" : { + "extension" : [{ + "extension" : [{ + "url" : "purpose", + "valueCode" : "preferred" + }, + { + "url" : "valueSet", + "valueCanonical" : "https://healthterminologies.gov.au/fhir/ValueSet/australian-medication-1" + }, + { + "url" : "documentation", + "valueMarkdown" : "This value set is for use when AMT (Australian Medicines Terminology) codes are preferred." + }], + "url" : "http://hl7.org/fhir/tools/StructureDefinition/additional-binding" + }, + { + "extension" : [{ + "url" : "purpose", + "valueCode" : "preferred" + }, + { + "url" : "valueSet", + "valueCanonical" : "http://terminology.hl7.org.au/ValueSet/pbs-item" + }, + { + "url" : "documentation", + "valueMarkdown" : "This value set is for use when PBS (Pharmaceutical Benefits Scheme) item codes are preferred." + }], + "url" : "http://hl7.org/fhir/tools/StructureDefinition/additional-binding" + }, + { + "extension" : [{ + "url" : "purpose", + "valueCode" : "preferred" + }, + { + "url" : "valueSet", + "valueCanonical" : "http://terminology.hl7.org.au/ValueSet/mims" + }, + { + "url" : "documentation", + "valueMarkdown" : "This value set is for use when MIMS (Monthly Index of Medical Specialties) codes are preferred." + }], + "url" : "http://hl7.org/fhir/tools/StructureDefinition/additional-binding" + }, + { + "extension" : [{ + "url" : "purpose", + "valueCode" : "preferred" + }, + { + "url" : "valueSet", + "valueCanonical" : "http://terminology.hl7.org/ValueSet/v3-GTIN" + }, + { + "url" : "documentation", + "valueMarkdown" : "This value set is for use when GTIN (Global Trade Item Number) codes are preferred." + }], + "url" : "http://hl7.org/fhir/tools/StructureDefinition/additional-binding" + }], + "strength" : "example", + "valueSet" : "http://hl7.org/fhir/ValueSet/medication-codes" + }, + "mapping" : [{ + "identity" : "workflow", + "map" : "Event.code" + }, + { + "identity" : "w5", + "map" : "FiveWs.what[x]" + }, + { + "identity" : "rim", + "map" : ".participation[typeCode=CSM].role[classCode=ADMM or MANU]" + }] + }, + { + "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.id", + "path" : "MedicationStatement.medication[x].id", + "representation" : ["xmlAttr"], + "short" : "Unique id for inter-element referencing", + "definition" : "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Element.id", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", + "valueUrl" : "string" + }], + "code" : "http://hl7.org/fhirpath/System.String" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "rim", + "map" : "n/a" + }] + }, + { + "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.extension", + "path" : "MedicationStatement.medication[x].extension", + "slicing" : { + "discriminator" : [{ + "type" : "value", + "path" : "url" + }], + "description" : "Extensions are always sliced by (at least) url", + "rules" : "open" + }, + "short" : "Additional content defined by implementations", + "definition" : "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", + "comment" : "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", + "alias" : ["extensions", + "user content"], + "min" : 0, + "max" : "*", + "base" : { + "path" : "Element.extension", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Extension" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key" : "ext-1", + "severity" : "error", + "human" : "Must have either extensions or value[x], not both", + "expression" : "extension.exists() != value.exists()", + "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", + "source" : "http://hl7.org/fhir/StructureDefinition/Extension" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "rim", + "map" : "n/a" + }] + }, + { + "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding", + "path" : "MedicationStatement.medication[x].coding", + "slicing" : { + "discriminator" : [{ + "type" : "pattern", + "path" : "$this" + }], + "rules" : "open" + }, + "short" : "Code defined by a terminology system", + "definition" : "A reference to a code defined by a terminology system.", + "comment" : "Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.", + "requirements" : "Allows for alternative encodings within a code system, and translations to other code systems.", + "min" : 0, + "max" : "*", + "base" : { + "path" : "CodeableConcept.coding", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Coding" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "C*E.1-8, C*E.10-22" + }, + { + "identity" : "rim", + "map" : "union(., ./translation)" + }, + { + "identity" : "orim", + "map" : "fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding" + }] + }, + { + "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding.id", + "path" : "MedicationStatement.medication[x].coding.id", + "representation" : ["xmlAttr"], + "short" : "Unique id for inter-element referencing", + "definition" : "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Element.id", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", + "valueUrl" : "string" + }], + "code" : "http://hl7.org/fhirpath/System.String" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "rim", + "map" : "n/a" + }] + }, + { + "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding.extension", + "path" : "MedicationStatement.medication[x].coding.extension", + "slicing" : { + "discriminator" : [{ + "type" : "value", + "path" : "url" + }], + "description" : "Extensions are always sliced by (at least) url", + "rules" : "open" + }, + "short" : "Extension", + "definition" : "An Extension", + "min" : 0, + "max" : "*", + "base" : { + "path" : "Element.extension", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Extension" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key" : "ext-1", + "severity" : "error", + "human" : "Must have either extensions or value[x], not both", + "expression" : "extension.exists() != value.exists()", + "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", + "source" : "http://hl7.org/fhir/StructureDefinition/Extension" + }], + "isModifier" : false, + "isSummary" : false + }, + { + "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding.extension:medicationClass", + "path" : "MedicationStatement.medication[x].coding.extension", + "sliceName" : "medicationClass", + "short" : "Medication type", + "definition" : "The type of information covered by the medication coding, e.g. branded product with no strength or form.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Element.extension", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Extension", + "profile" : ["http://hl7.org.au/fhir/StructureDefinition/medication-type"] + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key" : "ext-1", + "severity" : "error", + "human" : "Must have either extensions or value[x], not both", + "expression" : "extension.exists() != value.exists()", + "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", + "source" : "http://hl7.org/fhir/StructureDefinition/Extension" + }], + "isModifier" : false, + "isSummary" : false + }, + { + "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding.system", + "path" : "MedicationStatement.medication[x].coding.system", + "short" : "Identity of the terminology system", + "definition" : "The identification of the code system that defines the meaning of the symbol in the code.", + "comment" : "The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should reference to some definition that establishes the system clearly and unambiguously.", + "requirements" : "Need to be unambiguous about the source of the definition of the symbol.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Coding.system", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "uri" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "C*E.3" + }, + { + "identity" : "rim", + "map" : "./codeSystem" + }, + { + "identity" : "orim", + "map" : "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem" + }] + }, + { + "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding.version", + "path" : "MedicationStatement.medication[x].coding.version", + "short" : "Version of the system - if relevant", + "definition" : "The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.", + "comment" : "Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Coding.version", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "string" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "C*E.7" + }, + { + "identity" : "rim", + "map" : "./codeSystemVersion" + }, + { + "identity" : "orim", + "map" : "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion" + }] + }, + { + "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding.code", + "path" : "MedicationStatement.medication[x].coding.code", + "short" : "Symbol in syntax defined by the system", + "definition" : "A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).", + "requirements" : "Need to refer to a particular code in the system.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Coding.code", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "code" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "C*E.1" + }, + { + "identity" : "rim", + "map" : "./code" + }, + { + "identity" : "orim", + "map" : "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code" + }] + }, + { + "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding.display", + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", + "valueBoolean" : true + }], + "path" : "MedicationStatement.medication[x].coding.display", + "short" : "Representation defined by the system", + "definition" : "A representation of the meaning of the code in the system, following the rules of the system.", + "requirements" : "Need to be able to carry a human-readable meaning of the code for readers that do not know the system.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Coding.display", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "string" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "C*E.2 - but note this is not well followed" + }, + { + "identity" : "rim", + "map" : "CV.displayName" + }, + { + "identity" : "orim", + "map" : "fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName" + }] + }, + { + "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding.userSelected", + "path" : "MedicationStatement.medication[x].coding.userSelected", + "short" : "If this coding was chosen directly by the user", + "definition" : "Indicates that this coding was chosen by a user directly - e.g. off a pick list of available items (codes or displays).", + "comment" : "Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.", + "requirements" : "This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Coding.userSelected", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "boolean" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "Sometimes implied by being first" + }, + { + "identity" : "rim", + "map" : "CD.codingRationale" + }, + { + "identity" : "orim", + "map" : "fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\\#true a [ fhir:source \"true\"; fhir:target dt:CDCoding.codingRationale\\#O ]" + }] + }, + { + "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding:pbs", + "extension" : [{ + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:populate-if-known" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:no-error" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }], + "path" : "MedicationStatement.medication[x].coding", + "sliceName" : "pbs", + "short" : "Code defined by a terminology system", + "definition" : "A reference to a code defined by a terminology system.", + "comment" : "Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.", + "requirements" : "Allows for alternative encodings within a code system, and translations to other code systems.", + "min" : 0, + "max" : "*", + "base" : { + "path" : "CodeableConcept.coding", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Coding" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "mustSupport" : true, + "isModifier" : false, + "isSummary" : true, + "binding" : { + "strength" : "required", + "valueSet" : "http://terminology.hl7.org.au/ValueSet/pbs-item" + }, + "mapping" : [{ + "identity" : "v2", + "map" : "C*E.1-8, C*E.10-22" + }, + { + "identity" : "rim", + "map" : "union(., ./translation)" + }, + { + "identity" : "orim", + "map" : "fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding" + }] + }, + { + "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding:pbs.id", + "path" : "MedicationStatement.medication[x].coding.id", + "representation" : ["xmlAttr"], + "short" : "Unique id for inter-element referencing", + "definition" : "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Element.id", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", + "valueUrl" : "string" + }], + "code" : "http://hl7.org/fhirpath/System.String" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "rim", + "map" : "n/a" + }] + }, + { + "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding:pbs.extension", + "path" : "MedicationStatement.medication[x].coding.extension", + "slicing" : { + "discriminator" : [{ + "type" : "value", + "path" : "url" + }], + "description" : "Extensions are always sliced by (at least) url", + "rules" : "open" + }, + "short" : "Extension", + "definition" : "An Extension", + "min" : 0, + "max" : "*", + "base" : { + "path" : "Element.extension", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Extension" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key" : "ext-1", + "severity" : "error", + "human" : "Must have either extensions or value[x], not both", + "expression" : "extension.exists() != value.exists()", + "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", + "source" : "http://hl7.org/fhir/StructureDefinition/Extension" + }], + "isModifier" : false, + "isSummary" : false + }, + { + "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding:pbs.extension:medicationClass", + "path" : "MedicationStatement.medication[x].coding.extension", + "sliceName" : "medicationClass", + "short" : "Medication type", + "definition" : "The type of information covered by the medication coding, e.g. branded product with no strength or form.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Element.extension", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Extension", + "profile" : ["http://hl7.org.au/fhir/StructureDefinition/medication-type"] + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key" : "ext-1", + "severity" : "error", + "human" : "Must have either extensions or value[x], not both", + "expression" : "extension.exists() != value.exists()", + "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", + "source" : "http://hl7.org/fhir/StructureDefinition/Extension" + }], + "isModifier" : false, + "isSummary" : false + }, + { + "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding:pbs.system", + "path" : "MedicationStatement.medication[x].coding.system", + "short" : "Identity of the terminology system", + "definition" : "The identification of the code system that defines the meaning of the symbol in the code.", + "comment" : "The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should reference to some definition that establishes the system clearly and unambiguously.", + "requirements" : "Need to be unambiguous about the source of the definition of the symbol.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Coding.system", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "uri" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "C*E.3" + }, + { + "identity" : "rim", + "map" : "./codeSystem" + }, + { + "identity" : "orim", + "map" : "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem" + }] + }, + { + "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding:pbs.version", + "path" : "MedicationStatement.medication[x].coding.version", + "short" : "Version of the system - if relevant", + "definition" : "The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.", + "comment" : "Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Coding.version", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "string" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "C*E.7" + }, + { + "identity" : "rim", + "map" : "./codeSystemVersion" + }, + { + "identity" : "orim", + "map" : "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion" + }] + }, + { + "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding:pbs.code", + "path" : "MedicationStatement.medication[x].coding.code", + "short" : "Symbol in syntax defined by the system", + "definition" : "A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).", + "requirements" : "Need to refer to a particular code in the system.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Coding.code", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "code" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "C*E.1" + }, + { + "identity" : "rim", + "map" : "./code" + }, + { + "identity" : "orim", + "map" : "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code" + }] + }, + { + "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding:pbs.display", + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", + "valueBoolean" : true + }], + "path" : "MedicationStatement.medication[x].coding.display", + "short" : "Representation defined by the system", + "definition" : "A representation of the meaning of the code in the system, following the rules of the system.", + "requirements" : "Need to be able to carry a human-readable meaning of the code for readers that do not know the system.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Coding.display", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "string" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "C*E.2 - but note this is not well followed" + }, + { + "identity" : "rim", + "map" : "CV.displayName" + }, + { + "identity" : "orim", + "map" : "fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName" + }] + }, + { + "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding:pbs.userSelected", + "path" : "MedicationStatement.medication[x].coding.userSelected", + "short" : "If this coding was chosen directly by the user", + "definition" : "Indicates that this coding was chosen by a user directly - e.g. off a pick list of available items (codes or displays).", + "comment" : "Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.", + "requirements" : "This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Coding.userSelected", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "boolean" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "Sometimes implied by being first" + }, + { + "identity" : "rim", + "map" : "CD.codingRationale" + }, + { + "identity" : "orim", + "map" : "fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\\#true a [ fhir:source \"true\"; fhir:target dt:CDCoding.codingRationale\\#O ]" + }] + }, + { + "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding:amt", + "extension" : [{ + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:populate-if-known" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:no-error" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }], + "path" : "MedicationStatement.medication[x].coding", + "sliceName" : "amt", + "short" : "Code defined by a terminology system", + "definition" : "A reference to a code defined by a terminology system.", + "comment" : "Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.", + "requirements" : "Allows for alternative encodings within a code system, and translations to other code systems.", + "min" : 0, + "max" : "*", + "base" : { + "path" : "CodeableConcept.coding", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Coding" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "mustSupport" : true, + "isModifier" : false, + "isSummary" : true, + "binding" : { + "strength" : "required", + "valueSet" : "https://healthterminologies.gov.au/fhir/ValueSet/australian-medication-1" + }, + "mapping" : [{ + "identity" : "v2", + "map" : "C*E.1-8, C*E.10-22" + }, + { + "identity" : "rim", + "map" : "union(., ./translation)" + }, + { + "identity" : "orim", + "map" : "fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding" + }] + }, + { + "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding:amt.id", + "path" : "MedicationStatement.medication[x].coding.id", + "representation" : ["xmlAttr"], + "short" : "Unique id for inter-element referencing", + "definition" : "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Element.id", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", + "valueUrl" : "string" + }], + "code" : "http://hl7.org/fhirpath/System.String" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "rim", + "map" : "n/a" + }] + }, + { + "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding:amt.extension", + "path" : "MedicationStatement.medication[x].coding.extension", + "slicing" : { + "discriminator" : [{ + "type" : "value", + "path" : "url" + }], + "description" : "Extensions are always sliced by (at least) url", + "rules" : "open" + }, + "short" : "Extension", + "definition" : "An Extension", + "min" : 0, + "max" : "*", + "base" : { + "path" : "Element.extension", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Extension" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key" : "ext-1", + "severity" : "error", + "human" : "Must have either extensions or value[x], not both", + "expression" : "extension.exists() != value.exists()", + "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", + "source" : "http://hl7.org/fhir/StructureDefinition/Extension" + }], + "isModifier" : false, + "isSummary" : false + }, + { + "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding:amt.extension:medicationClass", + "path" : "MedicationStatement.medication[x].coding.extension", + "sliceName" : "medicationClass", + "short" : "Medication type", + "definition" : "The type of information covered by the medication coding, e.g. branded product with no strength or form.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Element.extension", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Extension", + "profile" : ["http://hl7.org.au/fhir/StructureDefinition/medication-type"] + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key" : "ext-1", + "severity" : "error", + "human" : "Must have either extensions or value[x], not both", + "expression" : "extension.exists() != value.exists()", + "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", + "source" : "http://hl7.org/fhir/StructureDefinition/Extension" + }], + "isModifier" : false, + "isSummary" : false + }, + { + "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding:amt.system", + "path" : "MedicationStatement.medication[x].coding.system", + "short" : "Identity of the terminology system", + "definition" : "The identification of the code system that defines the meaning of the symbol in the code.", + "comment" : "The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should reference to some definition that establishes the system clearly and unambiguously.", + "requirements" : "Need to be unambiguous about the source of the definition of the symbol.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Coding.system", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "uri" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "C*E.3" + }, + { + "identity" : "rim", + "map" : "./codeSystem" + }, + { + "identity" : "orim", + "map" : "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem" + }] + }, + { + "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding:amt.version", + "path" : "MedicationStatement.medication[x].coding.version", + "short" : "Version of the system - if relevant", + "definition" : "The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.", + "comment" : "Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Coding.version", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "string" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "C*E.7" + }, + { + "identity" : "rim", + "map" : "./codeSystemVersion" + }, + { + "identity" : "orim", + "map" : "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion" + }] + }, + { + "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding:amt.code", + "path" : "MedicationStatement.medication[x].coding.code", + "short" : "Symbol in syntax defined by the system", + "definition" : "A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).", + "requirements" : "Need to refer to a particular code in the system.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Coding.code", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "code" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "C*E.1" + }, + { + "identity" : "rim", + "map" : "./code" + }, + { + "identity" : "orim", + "map" : "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code" + }] + }, + { + "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding:amt.display", + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", + "valueBoolean" : true + }], + "path" : "MedicationStatement.medication[x].coding.display", + "short" : "Representation defined by the system", + "definition" : "A representation of the meaning of the code in the system, following the rules of the system.", + "requirements" : "Need to be able to carry a human-readable meaning of the code for readers that do not know the system.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Coding.display", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "string" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "C*E.2 - but note this is not well followed" + }, + { + "identity" : "rim", + "map" : "CV.displayName" + }, + { + "identity" : "orim", + "map" : "fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName" + }] + }, + { + "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding:amt.userSelected", + "path" : "MedicationStatement.medication[x].coding.userSelected", + "short" : "If this coding was chosen directly by the user", + "definition" : "Indicates that this coding was chosen by a user directly - e.g. off a pick list of available items (codes or displays).", + "comment" : "Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.", + "requirements" : "This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Coding.userSelected", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "boolean" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "Sometimes implied by being first" + }, + { + "identity" : "rim", + "map" : "CD.codingRationale" + }, + { + "identity" : "orim", + "map" : "fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\\#true a [ fhir:source \"true\"; fhir:target dt:CDCoding.codingRationale\\#O ]" + }] + }, + { + "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.text", + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", + "valueBoolean" : true + }], + "path" : "MedicationStatement.medication[x].text", + "short" : "Medication primary text", + "definition" : "A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.\r\n\r\nThis may be a brand or generic name as suitable for the intent of the entry.", + "comment" : "Very often the text is the same as a displayName of one of the codings.", + "requirements" : "The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "CodeableConcept.text", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "string" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "C*E.9. But note many systems use C*E.2 for this" + }, + { + "identity" : "rim", + "map" : "./originalText[mediaType/code=\"text/plain\"]/data" + }, + { + "identity" : "orim", + "map" : "fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText" + }] + }, + { + "id" : "MedicationStatement.medication[x]:medicationReference", + "extension" : [{ + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:populate-if-known" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:no-error" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }], + "path" : "MedicationStatement.medication[x]", + "sliceName" : "medicationReference", + "short" : "Medication Reference", + "definition" : "Identifies the medication being administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications.", + "comment" : "If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended. For example, if you require form or lot number, then you must reference the Medication resource.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "MedicationStatement.medication[x]", + "min" : 1, + "max" : "1" + }, + "type" : [{ + "code" : "Reference", + "targetProfile" : ["http://hl7.org.au/fhir/core/StructureDefinition/au-core-medication"] + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "workflow", + "map" : "Event.code" + }, + { + "identity" : "w5", + "map" : "FiveWs.what[x]" + }, + { + "identity" : "rim", + "map" : ".participation[typeCode=CSM].role[classCode=ADMM or MANU]" + }] + }, + { + "id" : "MedicationStatement.subject", + "extension" : [{ + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:populate-if-known" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:no-error" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }], + "path" : "MedicationStatement.subject", + "short" : "Who is/was taking the medication", + "definition" : "The person, animal or group who is/was taking the medication.", + "min" : 1, + "max" : "1", + "base" : { + "path" : "MedicationStatement.subject", + "min" : 1, + "max" : "1" + }, + "type" : [{ + "code" : "Reference", + "targetProfile" : ["http://hl7.org.au/fhir/core/StructureDefinition/au-core-patient"] + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "mustSupport" : true, + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "workflow", + "map" : "Event.subject" + }, + { + "identity" : "w5", + "map" : "FiveWs.subject[x]" + }, + { + "identity" : "v2", + "map" : "PID-3-Patient ID List" + }, + { + "identity" : "rim", + "map" : ".participation[typeCode=SBJ].role[classCode=PAT]" + }, + { + "identity" : "w5", + "map" : "FiveWs.subject" + }] + }, + { + "id" : "MedicationStatement.context", + "path" : "MedicationStatement.context", + "short" : "Encounter / Episode associated with MedicationStatement", + "definition" : "The encounter or episode of care that establishes the context for this MedicationStatement.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "MedicationStatement.context", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "Reference", + "targetProfile" : ["http://hl7.org/fhir/StructureDefinition/Encounter", + "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"] + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "workflow", + "map" : "Event.context" + }, + { + "identity" : "rim", + "map" : ".inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN, code=\"type of encounter or episode\"]" + }] + }, + { + "id" : "MedicationStatement.effective[x]", + "extension" : [{ + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:populate-if-known" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:no-error" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }], + "path" : "MedicationStatement.effective[x]", + "short" : "The date/time or interval when the medication is/was/will be taken", + "definition" : "The interval of time during which it is being asserted that the patient is/was/will be taking the medication (or was not taking, when the MedicationStatement.taken element is No).", + "comment" : "This attribute reflects the period over which the patient consumed the medication and is expected to be populated on the majority of Medication Statements. If the medication is still being taken at the time the statement is recorded, the \"end\" date will be omitted. The date/time attribute supports a variety of dates - year, year/month and exact date. If something more than this is required, this should be conveyed as text.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "MedicationStatement.effective[x]", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "dateTime" + }, + { + "code" : "Period" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "mustSupport" : true, + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "workflow", + "map" : "Event.occurrence[x]" + }, + { + "identity" : "w5", + "map" : "FiveWs.done[x]" + }, + { + "identity" : "rim", + "map" : ".effectiveTime" + }] + }, + { + "id" : "MedicationStatement.dateAsserted", + "extension" : [{ + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:populate-if-known" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:no-error" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }], + "path" : "MedicationStatement.dateAsserted", + "short" : "When the statement was asserted?", + "definition" : "The date when the medication statement was asserted by the information source.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "MedicationStatement.dateAsserted", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "dateTime" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "mustSupport" : true, + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "w5", + "map" : "FiveWs.recorded" + }, + { + "identity" : "rim", + "map" : ".participation[typeCode=AUT].time" + }] + }, + { + "id" : "MedicationStatement.informationSource", + "path" : "MedicationStatement.informationSource", + "short" : "Person or organization that provided the information about the taking of this medication", + "definition" : "The person or organization that provided the information about the taking of this medication. Note: Use derivedFrom when a MedicationStatement is derived from other resources, e.g. Claim or MedicationRequest.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "MedicationStatement.informationSource", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "Reference", + "targetProfile" : ["http://hl7.org/fhir/StructureDefinition/Patient", + "http://hl7.org/fhir/StructureDefinition/Practitioner", + "http://hl7.org/fhir/StructureDefinition/PractitionerRole", + "http://hl7.org/fhir/StructureDefinition/RelatedPerson", + "http://hl7.org/fhir/StructureDefinition/Organization"] + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "w5", + "map" : "FiveWs.source" + }, + { + "identity" : "rim", + "map" : ".participation[typeCode=INF].role[classCode=PAT, or codes for Practioner or Related Person (if PAT is the informer, then syntax for self-reported =true)" + }] + }, + { + "id" : "MedicationStatement.derivedFrom", + "path" : "MedicationStatement.derivedFrom", + "short" : "Additional supporting information", + "definition" : "Allows linking the MedicationStatement to the underlying MedicationRequest, or to other information that supports or is used to derive the MedicationStatement.", + "comment" : "Likely references would be to MedicationRequest, MedicationDispense, Claim, Observation or QuestionnaireAnswers. The most common use cases for deriving a MedicationStatement comes from creating a MedicationStatement from a MedicationRequest or from a lab observation or a claim. it should be noted that the amount of information that is available varies from the type resource that you derive the MedicationStatement from.", + "min" : 0, + "max" : "*", + "base" : { + "path" : "MedicationStatement.derivedFrom", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Reference", + "targetProfile" : ["http://hl7.org/fhir/StructureDefinition/Resource"] + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "rim", + "map" : ".outboundRelationship[typeCode=SPRT]/target[classCode=ACT,moodCode=EVN]" + }] + }, + { + "id" : "MedicationStatement.reasonCode", + "extension" : [{ + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:populate-if-known" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:no-error" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }], + "path" : "MedicationStatement.reasonCode", + "short" : "Reason for why the medication is being/was taken", + "definition" : "A reason for why the medication is being/was taken.", + "comment" : "This could be a diagnosis code. If a full condition record exists or additional detail is needed, use reasonForUseReference.", + "min" : 0, + "max" : "*", + "base" : { + "path" : "MedicationStatement.reasonCode", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "CodeableConcept" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "mustSupport" : true, + "isModifier" : false, + "isSummary" : false, + "binding" : { + "strength" : "preferred", + "valueSet" : "https://healthterminologies.gov.au/fhir/ValueSet/medication-reason-taken-1" + }, + "mapping" : [{ + "identity" : "workflow", + "map" : "Event.reasonCode" + }, + { + "identity" : "w5", + "map" : "FiveWs.why[x]" + }, + { + "identity" : "rim", + "map" : ".reasonCode" + }] + }, + { + "id" : "MedicationStatement.reasonReference", + "extension" : [{ + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:populate-if-known" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:no-error" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }], + "path" : "MedicationStatement.reasonReference", + "short" : "Condition or observation that supports why the medication is being/was taken", + "definition" : "Condition or observation that supports why the medication is being/was taken.", + "comment" : "This is a reference to a condition that is the reason why the medication is being/was taken. If only a code exists, use reasonForUseCode.", + "min" : 0, + "max" : "*", + "base" : { + "path" : "MedicationStatement.reasonReference", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Reference", + "targetProfile" : ["http://hl7.org.au/fhir/core/StructureDefinition/au-core-condition", + "http://hl7.org/fhir/StructureDefinition/Observation", + "http://hl7.org.au/fhir/StructureDefinition/au-diagnosticreport"] + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "mustSupport" : true, + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "workflow", + "map" : "Event.reasonReference" + }, + { + "identity" : "w5", + "map" : "FiveWs.why[x]" + }, + { + "identity" : "rim", + "map" : ".outboundRelationship[typeCode=RSON]/target[classCode=OBS,moodCode=EVN, code=\"reason for use\"].value" + }] + }, + { + "id" : "MedicationStatement.note", + "path" : "MedicationStatement.note", + "short" : "Further information about the statement", + "definition" : "Provides extra information about the medication statement that is not conveyed by the other attributes.", + "min" : 0, + "max" : "*", + "base" : { + "path" : "MedicationStatement.note", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Annotation" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "workflow", + "map" : "Event.note" + }, + { + "identity" : "rim", + "map" : ".inboundRelationship[typeCode=SUBJ]/source[classCode=OBS,moodCode=EVN,code=\"annotation\"].value" + }] + }, + { + "id" : "MedicationStatement.dosage", + "extension" : [{ + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:populate-if-known" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:no-error" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }], + "path" : "MedicationStatement.dosage", + "short" : "Details of how medication is/was taken or should be taken", + "definition" : "Indicates how the medication is/was or should be taken by the patient.", + "comment" : "The dates included in the dosage on a Medication Statement reflect the dates for a given dose. For example, \"from November 1, 2016 to November 3, 2016, take one tablet daily and from November 4, 2016 to November 7, 2016, take two tablets daily.\" It is expected that this specificity may only be populated where the patient brings in their labeled container or where the Medication Statement is derived from a MedicationRequest.", + "min" : 0, + "max" : "*", + "base" : { + "path" : "MedicationStatement.dosage", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Dosage", + "profile" : ["http://hl7.org.au/fhir/StructureDefinition/au-dosage"] + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "mustSupport" : true, + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "rim", + "map" : "refer dosageInstruction mapping" + }] + }] + }, + "differential" : { + "element" : [{ + "id" : "MedicationStatement", + "path" : "MedicationStatement" + }, + { + "id" : "MedicationStatement.status", + "extension" : [{ + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:populate-if-known" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:no-error" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }], + "path" : "MedicationStatement.status", + "mustSupport" : true + }, + { + "id" : "MedicationStatement.medication[x]", + "extension" : [{ + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:populate-if-known" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:no-error" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }], + "path" : "MedicationStatement.medication[x]", + "slicing" : { + "discriminator" : [{ + "type" : "type", + "path" : "$this" + }], + "rules" : "closed" + }, + "mustSupport" : true + }, + { + "id" : "MedicationStatement.medication[x]:medicationCodeableConcept", + "path" : "MedicationStatement.medication[x]", + "sliceName" : "medicationCodeableConcept", + "type" : [{ + "code" : "CodeableConcept" + }] + }, + { + "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding", + "path" : "MedicationStatement.medication[x].coding", + "slicing" : { + "discriminator" : [{ + "type" : "pattern", + "path" : "$this" + }], + "rules" : "open" + } + }, + { + "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding:pbs", + "extension" : [{ + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:populate-if-known" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:no-error" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }], + "path" : "MedicationStatement.medication[x].coding", + "sliceName" : "pbs", + "mustSupport" : true, + "binding" : { + "strength" : "required", + "valueSet" : "http://terminology.hl7.org.au/ValueSet/pbs-item" + } + }, + { + "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding:amt", + "extension" : [{ + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:populate-if-known" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:no-error" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }], + "path" : "MedicationStatement.medication[x].coding", + "sliceName" : "amt", + "mustSupport" : true, + "binding" : { + "strength" : "required", + "valueSet" : "https://healthterminologies.gov.au/fhir/ValueSet/australian-medication-1" + } + }, + { + "id" : "MedicationStatement.medication[x]:medicationReference", + "extension" : [{ + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:populate-if-known" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:no-error" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }], + "path" : "MedicationStatement.medication[x]", + "sliceName" : "medicationReference", + "type" : [{ + "code" : "Reference", + "targetProfile" : ["http://hl7.org.au/fhir/core/StructureDefinition/au-core-medication"] + }] + }, + { + "id" : "MedicationStatement.subject", + "extension" : [{ + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:populate-if-known" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:no-error" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }], + "path" : "MedicationStatement.subject", + "min" : 1, + "type" : [{ + "code" : "Reference", + "targetProfile" : ["http://hl7.org.au/fhir/core/StructureDefinition/au-core-patient"] + }], + "mustSupport" : true + }, + { + "id" : "MedicationStatement.effective[x]", + "extension" : [{ + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:populate-if-known" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:no-error" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }], + "path" : "MedicationStatement.effective[x]", + "mustSupport" : true + }, + { + "id" : "MedicationStatement.dateAsserted", + "extension" : [{ + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:populate-if-known" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:no-error" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }], + "path" : "MedicationStatement.dateAsserted", + "mustSupport" : true + }, + { + "id" : "MedicationStatement.reasonCode", + "extension" : [{ + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:populate-if-known" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:no-error" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }], + "path" : "MedicationStatement.reasonCode", + "mustSupport" : true + }, + { + "id" : "MedicationStatement.reasonReference", + "extension" : [{ + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:populate-if-known" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:no-error" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }], + "path" : "MedicationStatement.reasonReference", + "type" : [{ + "code" : "Reference", + "targetProfile" : ["http://hl7.org.au/fhir/core/StructureDefinition/au-core-condition", + "http://hl7.org/fhir/StructureDefinition/Observation", + "http://hl7.org.au/fhir/StructureDefinition/au-diagnosticreport"] + }], + "mustSupport" : true + }, + { + "id" : "MedicationStatement.dosage", + "extension" : [{ + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:populate-if-known" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:no-error" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }], + "path" : "MedicationStatement.dosage", + "mustSupport" : true + }] + } +} \ No newline at end of file diff --git a/input/resources/StructureDefinition-au-core-relatedperson.json b/input/resources/StructureDefinition-au-core-relatedperson.json new file mode 100644 index 00000000..db861e62 --- /dev/null +++ b/input/resources/StructureDefinition-au-core-relatedperson.json @@ -0,0 +1,2025 @@ +{ + "resourceType" : "StructureDefinition", + "id" : "au-core-relatedperson", + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm", + "valueInteger" : 0 + }, + { + "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", + "valueCode" : "trial-use", + "_valueCode" : { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom", + "valueCanonical" : "http://hl7.org.au/fhir/core/ImplementationGuide/hl7.fhir.au.core" + }] + } + }], + "url" : "http://hl7.org.au/fhir/core/StructureDefinition/au-core-relatedperson", + "version" : "1.1.0-preview", + "name" : "AUCoreRelatedPerson", + "title" : "AU Core RelatedPerson", + "status" : "draft", + "date" : "2025-03-06T07:19:11+00:00", + "publisher" : "HL7 Australia", + "contact" : [{ + "name" : "HL7 Australia FHIR Work Group", + "telecom" : [{ + "system" : "url", + "value" : "https://confluence.hl7.org/display/HAFWG", + "use" : "work" + }] + }], + "description" : "This profile sets minimum expectations for a RelatedPerson resource to record, search, and fetch basic demographics and other administrative information about individual related persons associated with a patient. It is based on the [AU Base Related Person](http://build.fhir.org/ig/hl7au/au-fhir-base/StructureDefinition-au-relatedperson.html) profile and identifies the *additional* mandatory core elements, extensions, vocabularies and value sets that **SHALL** be present in the RelatedPerson resource when conforming to this profile. It provides the floor for standards development for specific uses cases in an Australian context.", + "jurisdiction" : [{ + "coding" : [{ + "system" : "urn:iso:std:iso:3166", + "code" : "AU" + }] + }], + "copyright" : "Used by permission of HL7 International, all rights reserved Creative Commons License. HL7 Australia© 2022+; Licensed Under Creative Commons No Rights Reserved.", + "fhirVersion" : "4.0.1", + "mapping" : [{ + "identity" : "rim", + "uri" : "http://hl7.org/v3", + "name" : "RIM Mapping" + }, + { + "identity" : "w5", + "uri" : "http://hl7.org/fhir/fivews", + "name" : "FiveWs Pattern Mapping" + }, + { + "identity" : "v2", + "uri" : "http://hl7.org/v2", + "name" : "HL7 v2 Mapping" + }], + "kind" : "resource", + "abstract" : false, + "type" : "RelatedPerson", + "baseDefinition" : "http://hl7.org.au/fhir/StructureDefinition/au-relatedperson", + "derivation" : "constraint", + "snapshot" : { + "extension" : [{ + "url" : "http://hl7.org/fhir/tools/StructureDefinition/snapshot-base-version", + "valueString" : "5.1.0-preview" + }], + "element" : [{ + "id" : "RelatedPerson", + "path" : "RelatedPerson", + "short" : "A person related to a patient in an Australian healthcare context", + "definition" : "Information about a person that is involved in the care for a patient, but who is not the target of healthcare, nor has a formal responsibility in the care process.", + "min" : 0, + "max" : "*", + "base" : { + "path" : "RelatedPerson", + "min" : 0, + "max" : "*" + }, + "constraint" : [{ + "key" : "dom-2", + "severity" : "error", + "human" : "If the resource is contained in another resource, it SHALL NOT contain nested Resources", + "expression" : "contained.contained.empty()", + "xpath" : "not(parent::f:contained and f:contained)", + "source" : "http://hl7.org/fhir/StructureDefinition/DomainResource" + }, + { + "key" : "dom-3", + "severity" : "error", + "human" : "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource", + "expression" : "contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()", + "xpath" : "not(exists(for $id in f:contained/*/f:id/@value return $contained[not(parent::*/descendant::f:reference/@value=concat('#', $contained/*/id/@value) or descendant::f:reference[@value='#'])]))", + "source" : "http://hl7.org/fhir/StructureDefinition/DomainResource" + }, + { + "key" : "dom-4", + "severity" : "error", + "human" : "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated", + "expression" : "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()", + "xpath" : "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))", + "source" : "http://hl7.org/fhir/StructureDefinition/DomainResource" + }, + { + "key" : "dom-5", + "severity" : "error", + "human" : "If a resource is contained in another resource, it SHALL NOT have a security label", + "expression" : "contained.meta.security.empty()", + "xpath" : "not(exists(f:contained/*/f:meta/f:security))", + "source" : "http://hl7.org/fhir/StructureDefinition/DomainResource" + }, + { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice", + "valueBoolean" : true + }, + { + "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice-explanation", + "valueMarkdown" : "When a resource has no narrative, only systems that fully understand the data can display the resource to a human safely. Including a human readable representation in the resource makes for a much more robust eco-system and cheaper handling of resources by intermediary systems. Some ecosystems restrict distribution of resources to only those systems that do fully understand the resources, and as a consequence implementers may believe that the narrative is superfluous. However experience shows that such eco-systems often open up to new participants over time." + }], + "key" : "dom-6", + "severity" : "warning", + "human" : "A resource should have narrative for robust management", + "expression" : "text.`div`.exists()", + "xpath" : "exists(f:text/h:div)", + "source" : "http://hl7.org/fhir/StructureDefinition/DomainResource" + }, + { + "key" : "inv-relper-0", + "severity" : "warning", + "human" : "Individual gender identity shall be a member of the Gender Identity Response value set if any codes within that value set can apply", + "expression" : "extension('http://hl7.org/fhir/StructureDefinition/individual-genderIdentity').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-genderIdentity').all(extension('value').value.memberOf('https://healthterminologies.gov.au/fhir/ValueSet/gender-identity-response-1'))", + "source" : "http://hl7.org.au/fhir/StructureDefinition/au-relatedperson" + }, + { + "key" : "inv-relper-1", + "severity" : "warning", + "human" : "Individual pronouns shall be a member of the Australian Pronouns value set if any codes within that value set can apply", + "expression" : "extension('http://hl7.org/fhir/StructureDefinition/individual-pronouns').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-pronouns').all(extension('value').value.memberOf('https://healthterminologies.gov.au/fhir/ValueSet/australian-pronouns-1'))", + "source" : "http://hl7.org.au/fhir/StructureDefinition/au-relatedperson" + }, + { + "key" : "inv-relper-2", + "severity" : "warning", + "human" : "Recorded sex or gender type shall be a member of the AU Recorded Sex or Gender Type value set if any codes within that value set can apply", + "expression" : "extension('http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender').extension('type').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender').all(extension('type').value.memberOf('http://terminology.hl7.org.au/ValueSet/rsg-type'))", + "source" : "http://hl7.org.au/fhir/StructureDefinition/au-relatedperson" + }, + { + "key" : "inv-relper-3", + "severity" : "warning", + "human" : "Recorded sex or gender source document type shall be a member of the AU Recorded Sex or Gender (RSG) Source Document Type value set if any codes within that value set can apply", + "expression" : "extension('http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender').extension('sourceDocument').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender').all(extension('sourceDocument').value.memberOf('http://terminology.hl7.org.au/ValueSet/rsg-source-document-type'))", + "source" : "http://hl7.org.au/fhir/StructureDefinition/au-relatedperson" + }, + { + "key" : "inv-relper-4", + "severity" : "warning", + "human" : "Recorded sex or gender jurisdiction shall be a member of the Jurisdiction ValueSet - AU Extended if any codes within that value set can apply", + "expression" : "extension('http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender').extension('jurisdiction').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender').all(extension('jurisdiction').value.memberOf('http://terminology.hl7.org.au/ValueSet/jurisdiction-extended'))", + "source" : "http://hl7.org.au/fhir/StructureDefinition/au-relatedperson" + }, + { + "key" : "au-core-relper-01", + "severity" : "error", + "human" : "Either a name or a relationship shall be provided (or both)", + "expression" : "name.exists() or relationship.exists()", + "source" : "http://hl7.org.au/fhir/core/StructureDefinition/au-core-relatedperson" + }, + { + "key" : "au-core-relper-02", + "severity" : "error", + "human" : "Names shall have at least text, family name, or given name present, or if neither is available, the Data Absent Reason extension shall be present", + "expression" : "name.exists() implies name.extension('http://hl7.org/fhir/StructureDefinition/data-absent-reason').exists() xor name.all(text.exists() or family.exists() or given.exists())", + "source" : "http://hl7.org.au/fhir/core/StructureDefinition/au-core-relatedperson" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "rim", + "map" : "Entity. Role, or Act" + }, + { + "identity" : "rim", + "map" : "role" + }] + }, + { + "id" : "RelatedPerson.id", + "path" : "RelatedPerson.id", + "short" : "Logical id of this artifact", + "definition" : "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.", + "comment" : "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Resource.id", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", + "valueUrl" : "id" + }], + "code" : "http://hl7.org/fhirpath/System.String" + }], + "isModifier" : false, + "isSummary" : true + }, + { + "id" : "RelatedPerson.meta", + "path" : "RelatedPerson.meta", + "short" : "Metadata about the resource", + "definition" : "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Resource.meta", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "Meta" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true + }, + { + "id" : "RelatedPerson.implicitRules", + "path" : "RelatedPerson.implicitRules", + "short" : "A set of rules under which this content was created", + "definition" : "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.", + "comment" : "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Resource.implicitRules", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "uri" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : true, + "isModifierReason" : "This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation", + "isSummary" : true + }, + { + "id" : "RelatedPerson.language", + "path" : "RelatedPerson.language", + "short" : "Language of the resource content", + "definition" : "The base language in which the resource is written.", + "comment" : "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Resource.language", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "code" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : false, + "binding" : { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet", + "valueCanonical" : "http://hl7.org/fhir/ValueSet/all-languages" + }, + { + "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", + "valueString" : "Language" + }], + "strength" : "preferred", + "description" : "A human language.", + "valueSet" : "http://hl7.org/fhir/ValueSet/languages" + } + }, + { + "id" : "RelatedPerson.text", + "path" : "RelatedPerson.text", + "short" : "Text summary of the resource, for human interpretation", + "definition" : "A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.", + "comment" : "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded information is added later.", + "alias" : ["narrative", + "html", + "xhtml", + "display"], + "min" : 0, + "max" : "1", + "base" : { + "path" : "DomainResource.text", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "Narrative" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "rim", + "map" : "Act.text?" + }] + }, + { + "id" : "RelatedPerson.contained", + "path" : "RelatedPerson.contained", + "short" : "Contained, inline Resources", + "definition" : "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.", + "comment" : "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.", + "alias" : ["inline resources", + "anonymous resources", + "contained resources"], + "min" : 0, + "max" : "*", + "base" : { + "path" : "DomainResource.contained", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Resource" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "rim", + "map" : "N/A" + }] + }, + { + "id" : "RelatedPerson.extension", + "path" : "RelatedPerson.extension", + "slicing" : { + "discriminator" : [{ + "type" : "value", + "path" : "url" + }], + "rules" : "open" + }, + "short" : "Extension", + "definition" : "An Extension", + "min" : 0, + "max" : "*", + "base" : { + "path" : "DomainResource.extension", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Extension" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key" : "ext-1", + "severity" : "error", + "human" : "Must have either extensions or value[x], not both", + "expression" : "extension.exists() != value.exists()", + "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", + "source" : "http://hl7.org/fhir/StructureDefinition/Extension" + }], + "isModifier" : false, + "isSummary" : false + }, + { + "id" : "RelatedPerson.extension:genderIdentity", + "path" : "RelatedPerson.extension", + "sliceName" : "genderIdentity", + "short" : "Gender identity shall be a member of the Gender Identity Response value set if any codes within that value set can apply", + "definition" : "An individual's personal sense of being a man, woman, boy, girl, nonbinary, or something else.", + "comment" : "The individual's gender identity is populated in the `extension:value.value[x]` of the [Individual Gender Identity](http://hl7.org/fhir/StructureDefinition/individual-genderIdentity) extension and shall contain one of the codes from the [Gender Identity Response](https://healthterminologies.gov.au/fhir/ValueSet/gender-identity-response-1) value set if any of the codes within the value set can apply.\n\nSee [Australian Bureau of Statics (ABS) Standard for Sex, Gender, Variations of Sex Characteristics and Sexual Orientation Variables, 2020](https://www.abs.gov.au/statistics/standards/standard-sex-gender-variations-sex-characteristics-and-sexual-orientation-variables/latest-release#gender) for further materials.", + "min" : 0, + "max" : "*", + "base" : { + "path" : "DomainResource.extension", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Extension", + "profile" : ["http://hl7.org/fhir/StructureDefinition/individual-genderIdentity"] + }], + "condition" : ["inv-relper-0"], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key" : "ext-1", + "severity" : "error", + "human" : "Must have either extensions or value[x], not both", + "expression" : "extension.exists() != value.exists()", + "source" : "http://hl7.org/fhir/StructureDefinition/Extension" + }], + "isModifier" : false + }, + { + "id" : "RelatedPerson.extension:individualPronouns", + "path" : "RelatedPerson.extension", + "sliceName" : "individualPronouns", + "short" : "Pronouns shall be a member of the Australian Pronouns value set if any codes within that value set can apply", + "definition" : "The pronouns to use when referring to an individual in verbal or written communication.", + "comment" : "The individual's pronouns are populated in the `extension:value.value[x]` of the [Individual Pronouns](http://hl7.org/fhir/StructureDefinition/individual-pronouns) extension and shall contain one of the codes from the [Australian Pronouns](https://healthterminologies.gov.au/fhir/ValueSet/australian-pronouns-1) value set if any of the codes within the value set can apply.", + "min" : 0, + "max" : "*", + "base" : { + "path" : "DomainResource.extension", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Extension", + "profile" : ["http://hl7.org/fhir/StructureDefinition/individual-pronouns"] + }], + "condition" : ["inv-relper-1"], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key" : "ext-1", + "severity" : "error", + "human" : "Must have either extensions or value[x], not both", + "expression" : "extension.exists() != value.exists()", + "source" : "http://hl7.org/fhir/StructureDefinition/Extension" + }], + "isModifier" : false + }, + { + "id" : "RelatedPerson.extension:recordedSexOrGender", + "path" : "RelatedPerson.extension", + "sliceName" : "recordedSexOrGender", + "short" : "Recorded sex or gender type shall be a member of the AU Recorded Sex or Gender Type value set if any codes within that value set can apply. Recorded sex or gender source document type shall be a member of the AU Recorded Sex or Gender (RSG) Source Document Type value set if any codes within that value set can apply. Recorded sex or gender jurisdiction shall be a member of the Jurisdiction ValueSet - AU Extended if any codes within that value set can apply", + "definition" : "A sex or gender property for the individual from a document or other record", + "comment" : "The type of recorded sex or gender is populated in the `extension:type.value[x]` of the [Person Recorded Sex or Gender](http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender) extension and shall contain one of the codes from the [AU Recorded Sex or Gender Type](https://build.fhir.org/ig/hl7au/au-fhir-base/ValueSet-rsg-type.html) value set if any of the codes within the value set can apply.\n\nThe document from which the sex or gender property was acquired is populated in the `extension:sourceDocument.value[x]` of the [Person Recorded Sex or Gender](http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender) extension and shall contain one of the codes from the [AU Recorded Sex or Gender (RSG) Source Document Type](https://build.fhir.org/ig/hl7au/au-fhir-base/ValueSet-rsg-source-document-type.html) value set if any of the codes within the value set can apply.\n\nThe jurisdiction that issued the document where the sex or gender was acquired is populated in the `extension:jurisdiction.value[x]` of the [Person Recorded Sex or Gender](http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender) extension and shall contain one of the codes from the [Jurisdiction ValueSet - AU Extended](https://build.fhir.org/ig/hl7au/au-fhir-base/ValueSet-au-jurisdiction-extended.html) value set if any of the codes within the value set can apply.", + "min" : 0, + "max" : "*", + "base" : { + "path" : "DomainResource.extension", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Extension", + "profile" : ["http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender"] + }], + "condition" : ["inv-relper-2", + "inv-relper-3", + "inv-relper-4"], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key" : "ext-1", + "severity" : "error", + "human" : "Must have either extensions or value[x], not both", + "expression" : "extension.exists() != value.exists()", + "source" : "http://hl7.org/fhir/StructureDefinition/Extension" + }], + "isModifier" : false + }, + { + "id" : "RelatedPerson.modifierExtension", + "path" : "RelatedPerson.modifierExtension", + "short" : "Extensions that cannot be ignored", + "definition" : "May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", + "comment" : "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", + "requirements" : "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).", + "alias" : ["extensions", + "user content"], + "min" : 0, + "max" : "*", + "base" : { + "path" : "DomainResource.modifierExtension", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Extension" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key" : "ext-1", + "severity" : "error", + "human" : "Must have either extensions or value[x], not both", + "expression" : "extension.exists() != value.exists()", + "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", + "source" : "http://hl7.org/fhir/StructureDefinition/Extension" + }], + "isModifier" : true, + "isModifierReason" : "Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them", + "isSummary" : false, + "mapping" : [{ + "identity" : "rim", + "map" : "N/A" + }] + }, + { + "id" : "RelatedPerson.identifier", + "path" : "RelatedPerson.identifier", + "short" : "A human identifier for this person", + "definition" : "Identifier for a person within a particular scope.", + "requirements" : "People are known by a variety of ids. Some institutions maintain several, and most collect identifiers for exchange with other organizations concerning the patient. Examples are national person identifier and local identifier.", + "min" : 0, + "max" : "*", + "base" : { + "path" : "RelatedPerson.identifier", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Identifier", + "profile" : ["http://hl7.org/fhir/StructureDefinition/Identifier", + "http://hl7.org.au/fhir/StructureDefinition/au-ihi", + "http://hl7.org.au/fhir/StructureDefinition/au-medicarecardnumber", + "http://hl7.org.au/fhir/StructureDefinition/au-dvanumber", + "http://hl7.org.au/fhir/StructureDefinition/au-healthcarecardnumber", + "http://hl7.org.au/fhir/StructureDefinition/au-pensionerconcessioncardnumber", + "http://hl7.org.au/fhir/StructureDefinition/au-cwlthseniorshealthcardnumber", + "http://hl7.org.au/fhir/StructureDefinition/au-medicalrecordnumber", + "http://hl7.org.au/fhir/StructureDefinition/au-insurancemembernumber"] + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "w5", + "map" : "FiveWs.identifier" + }, + { + "identity" : "v2", + "map" : "NK1-33" + }, + { + "identity" : "rim", + "map" : ".id" + }] + }, + { + "id" : "RelatedPerson.active", + "path" : "RelatedPerson.active", + "short" : "Whether this related person's record is in active use", + "definition" : "Whether this related person record is in active use.", + "comment" : "This element is labeled as a modifier because it may be used to mark that the resource was created in error.", + "requirements" : "Need to be able to mark a related person record as not to be used, such as if it was created in error.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "RelatedPerson.active", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "boolean" + }], + "meaningWhenMissing" : "This resource is generally assumed to be active if no value is provided for the active element", + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : true, + "isModifierReason" : "This element is labelled as a modifier because it is a status element that can indicate that a record should not be treated as valid", + "isSummary" : true, + "mapping" : [{ + "identity" : "w5", + "map" : "FiveWs.status" + }, + { + "identity" : "rim", + "map" : ".statusCode" + }] + }, + { + "id" : "RelatedPerson.patient", + "extension" : [{ + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:populate-if-known" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:no-error" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }], + "path" : "RelatedPerson.patient", + "short" : "The patient this person is related to", + "definition" : "The patient this person is related to.", + "requirements" : "We need to know which patient this RelatedPerson is related to.", + "min" : 1, + "max" : "1", + "base" : { + "path" : "RelatedPerson.patient", + "min" : 1, + "max" : "1" + }, + "type" : [{ + "code" : "Reference", + "targetProfile" : ["http://hl7.org.au/fhir/core/StructureDefinition/au-core-patient"] + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "mustSupport" : true, + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "PID-3" + }, + { + "identity" : "rim", + "map" : "scoper[classCode=PSN|ANM and determinerCode='INSTANCE']/playedRole[classCode='PAT']/id" + }] + }, + { + "id" : "RelatedPerson.relationship", + "extension" : [{ + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:populate-if-known" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:no-error" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }], + "path" : "RelatedPerson.relationship", + "short" : "The nature of the relationship", + "definition" : "The nature of the relationship between a patient and the related person.", + "requirements" : "We need to know the relationship with the patient since it influences the interpretation of the information attributed to this person.", + "min" : 0, + "max" : "*", + "base" : { + "path" : "RelatedPerson.relationship", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "CodeableConcept" + }], + "condition" : ["au-core-relper-01"], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "mustSupport" : true, + "isModifier" : false, + "isSummary" : true, + "binding" : { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", + "valueString" : "PatientRelationshipType" + }], + "strength" : "extensible", + "valueSet" : "https://healthterminologies.gov.au/fhir/ValueSet/related-person-relationship-type-1" + }, + "mapping" : [{ + "identity" : "w5", + "map" : "FiveWs.class" + }, + { + "identity" : "v2", + "map" : "NK1-3" + }, + { + "identity" : "rim", + "map" : "code" + }] + }, + { + "id" : "RelatedPerson.name", + "extension" : [{ + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:populate-if-known" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:no-error" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }], + "path" : "RelatedPerson.name", + "short" : "A name associated with the person", + "definition" : "A name associated with the person.", + "requirements" : "Related persons need to be identified by name, but it is uncommon to need details about multiple other names for that person.", + "min" : 0, + "max" : "*", + "base" : { + "path" : "RelatedPerson.name", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "HumanName" + }], + "condition" : ["au-core-relper-01"], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "mustSupport" : true, + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "NK1-2" + }, + { + "identity" : "rim", + "map" : "name" + }] + }, + { + "id" : "RelatedPerson.name.id", + "path" : "RelatedPerson.name.id", + "representation" : ["xmlAttr"], + "short" : "Unique id for inter-element referencing", + "definition" : "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Element.id", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", + "valueUrl" : "string" + }], + "code" : "http://hl7.org/fhirpath/System.String" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "rim", + "map" : "n/a" + }] + }, + { + "id" : "RelatedPerson.name.extension", + "path" : "RelatedPerson.name.extension", + "slicing" : { + "discriminator" : [{ + "type" : "value", + "path" : "url" + }], + "description" : "Extensions are always sliced by (at least) url", + "rules" : "open" + }, + "short" : "Additional content defined by implementations", + "definition" : "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", + "comment" : "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", + "alias" : ["extensions", + "user content"], + "min" : 0, + "max" : "*", + "base" : { + "path" : "Element.extension", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Extension" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key" : "ext-1", + "severity" : "error", + "human" : "Must have either extensions or value[x], not both", + "expression" : "extension.exists() != value.exists()", + "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", + "source" : "http://hl7.org/fhir/StructureDefinition/Extension" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "rim", + "map" : "n/a" + }] + }, + { + "id" : "RelatedPerson.name.use", + "extension" : [{ + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:populate-if-known" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:no-error" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }], + "path" : "RelatedPerson.name.use", + "short" : "usual | official | temp | nickname | anonymous | old | maiden", + "definition" : "Identifies the purpose for this name.", + "comment" : "Applications can assume that a name is current unless it explicitly says that it is temporary or old.", + "requirements" : "Allows the appropriate name for a particular context of use to be selected from among a set of names.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "HumanName.use", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "code" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "mustSupport" : true, + "isModifier" : true, + "isModifierReason" : "This is labeled as \"Is Modifier\" because applications should not mistake a temporary or old name etc.for a current/permanent one", + "isSummary" : true, + "binding" : { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", + "valueString" : "NameUse" + }], + "strength" : "required", + "description" : "The use of a human name.", + "valueSet" : "http://hl7.org/fhir/ValueSet/name-use|4.0.1" + }, + "mapping" : [{ + "identity" : "v2", + "map" : "XPN.7, but often indicated by which field contains the name" + }, + { + "identity" : "rim", + "map" : "unique(./use)" + }, + { + "identity" : "servd", + "map" : "./NamePurpose" + }] + }, + { + "id" : "RelatedPerson.name.text", + "extension" : [{ + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:populate-if-known" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:no-error" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }], + "path" : "RelatedPerson.name.text", + "short" : "Text representation of the full name", + "definition" : "Specifies the entire name as it should be displayed e.g. on an application UI. This may be provided instead of or as well as the specific parts.", + "comment" : "Can provide both a text representation and parts. Applications updating a name SHALL ensure that when both text and parts are present, no content is included in the text that isn't found in a part.", + "requirements" : "A renderable, unencoded form.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "HumanName.text", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "string" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "mustSupport" : true, + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "implied by XPN.11" + }, + { + "identity" : "rim", + "map" : "./formatted" + }] + }, + { + "id" : "RelatedPerson.name.family", + "extension" : [{ + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:populate-if-known" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:no-error" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }], + "path" : "RelatedPerson.name.family", + "short" : "Family name (often called 'Surname')", + "definition" : "The part of a name that links to the genealogy. In some cultures (e.g. Eritrea) the family name of a son is the first name of his father.", + "comment" : "Family Name may be decomposed into specific parts using extensions (de, nl, es related cultures).", + "alias" : ["surname"], + "min" : 0, + "max" : "1", + "base" : { + "path" : "HumanName.family", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "string" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "mustSupport" : true, + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "XPN.1/FN.1" + }, + { + "identity" : "rim", + "map" : "./part[partType = FAM]" + }, + { + "identity" : "servd", + "map" : "./FamilyName" + }] + }, + { + "id" : "RelatedPerson.name.given", + "extension" : [{ + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:populate-if-known" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:no-error" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }], + "path" : "RelatedPerson.name.given", + "short" : "Given names (not always 'first'). Includes middle names", + "definition" : "Given name.", + "comment" : "If only initials are recorded, they may be used in place of the full name parts. Initials may be separated into multiple given names but often aren't due to paractical limitations. This element is not called \"first name\" since given names do not always come first.", + "alias" : ["first name", + "middle name"], + "min" : 0, + "max" : "*", + "base" : { + "path" : "HumanName.given", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "string" + }], + "orderMeaning" : "Given Names appear in the correct order for presenting the name", + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "mustSupport" : true, + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "XPN.2 + XPN.3" + }, + { + "identity" : "rim", + "map" : "./part[partType = GIV]" + }, + { + "identity" : "servd", + "map" : "./GivenNames" + }] + }, + { + "id" : "RelatedPerson.name.prefix", + "path" : "RelatedPerson.name.prefix", + "short" : "Parts that come before the name", + "definition" : "Part of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the start of the name.", + "min" : 0, + "max" : "*", + "base" : { + "path" : "HumanName.prefix", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "string" + }], + "orderMeaning" : "Prefixes appear in the correct order for presenting the name", + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "XPN.5" + }, + { + "identity" : "rim", + "map" : "./part[partType = PFX]" + }, + { + "identity" : "servd", + "map" : "./TitleCode" + }] + }, + { + "id" : "RelatedPerson.name.suffix", + "path" : "RelatedPerson.name.suffix", + "short" : "Parts that come after the name", + "definition" : "Part of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the end of the name.", + "min" : 0, + "max" : "*", + "base" : { + "path" : "HumanName.suffix", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "string" + }], + "orderMeaning" : "Suffixes appear in the correct order for presenting the name", + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "XPN/4" + }, + { + "identity" : "rim", + "map" : "./part[partType = SFX]" + }] + }, + { + "id" : "RelatedPerson.name.period", + "path" : "RelatedPerson.name.period", + "short" : "Time period when name was/is in use", + "definition" : "Indicates the period of time when this name was valid for the named person.", + "requirements" : "Allows names to be placed in historical context.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "HumanName.period", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "Period" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "XPN.13 + XPN.14" + }, + { + "identity" : "rim", + "map" : "./usablePeriod[type=\"IVL\"]" + }, + { + "identity" : "servd", + "map" : "./StartDate and ./EndDate" + }] + }, + { + "id" : "RelatedPerson.telecom", + "extension" : [{ + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:populate-if-known" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:no-error" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }], + "path" : "RelatedPerson.telecom", + "short" : "A contact detail for the person", + "definition" : "A contact detail for the person, e.g. a telephone number or an email address.", + "comment" : "Person may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently, and also to help with identification.", + "requirements" : "People have (primary) ways to contact them in some way such as phone, email.", + "min" : 0, + "max" : "*", + "base" : { + "path" : "RelatedPerson.telecom", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "ContactPoint" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "mustSupport" : true, + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "NK1-5 / NK1-6 / NK1-40" + }, + { + "identity" : "rim", + "map" : "telecom" + }] + }, + { + "id" : "RelatedPerson.gender", + "path" : "RelatedPerson.gender", + "short" : "male | female | other | unknown", + "definition" : "Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes.", + "requirements" : "Needed for identification of the person, in combination with (at least) name and birth date.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "RelatedPerson.gender", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "code" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "binding" : { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", + "valueString" : "AdministrativeGender" + }], + "strength" : "required", + "description" : "The gender of a person used for administrative purposes.", + "valueSet" : "http://hl7.org/fhir/ValueSet/administrative-gender|4.0.1" + }, + "mapping" : [{ + "identity" : "v2", + "map" : "NK1-15" + }, + { + "identity" : "rim", + "map" : "administrativeGender" + }] + }, + { + "id" : "RelatedPerson.birthDate", + "path" : "RelatedPerson.birthDate", + "short" : "The date on which the related person was born", + "definition" : "The date on which the related person was born.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "RelatedPerson.birthDate", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "date" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "rim", + "map" : "player.birthTime" + }] + }, + { + "id" : "RelatedPerson.address", + "extension" : [{ + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:populate-if-known" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:no-error" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }], + "path" : "RelatedPerson.address", + "short" : "Address where the related person can be contacted or visited", + "definition" : "Address where the related person can be contacted or visited.", + "comment" : "The address is intended to describe postal addresses for administrative purposes, not to describe absolute geographical coordinates. Postal addresses are often used as proxies for physical locations (also see the Location resource).", + "requirements" : "Need to keep track where the related person can be contacted per postal mail or visited.", + "min" : 0, + "max" : "*", + "base" : { + "path" : "RelatedPerson.address", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Address", + "profile" : ["http://hl7.org/fhir/StructureDefinition/Address", + "http://hl7.org.au/fhir/StructureDefinition/au-address"] + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "mustSupport" : true, + "isModifier" : false, + "isSummary" : true, + "mapping" : [{ + "identity" : "v2", + "map" : "NK1-4" + }, + { + "identity" : "rim", + "map" : "addr" + }] + }, + { + "id" : "RelatedPerson.photo", + "path" : "RelatedPerson.photo", + "short" : "Image of the person", + "definition" : "Image of the person.", + "requirements" : "Many EHR systems have the capability to capture an image of persons. Fits with newer social media usage too.", + "min" : 0, + "max" : "*", + "base" : { + "path" : "RelatedPerson.photo", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Attachment" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "v2", + "map" : "OBX-5 - needs a profile" + }, + { + "identity" : "rim", + "map" : "player[classCode='PSN' and determinerCode='INSTANCE']/desc" + }] + }, + { + "id" : "RelatedPerson.period", + "path" : "RelatedPerson.period", + "short" : "Period of time that this relationship is considered valid", + "definition" : "The period of time during which this relationship is or was active. If there are no dates defined, then the interval is unknown.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "RelatedPerson.period", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "Period" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "w5", + "map" : "FiveWs.done[x]" + }, + { + "identity" : "rim", + "map" : ".effectiveTime" + }] + }, + { + "id" : "RelatedPerson.communication", + "path" : "RelatedPerson.communication", + "short" : "A language which may be used to communicate with about the patient's health", + "definition" : "A language which may be used to communicate with about the patient's health.", + "comment" : "If no language is specified, this *implies* that the default local language is spoken. If you need to convey proficiency for multiple modes, then you need multiple RelatedPerson.Communication associations. If the RelatedPerson does not speak the default local language, then the Interpreter Required Standard can be used to explicitly declare that an interpreter is required.", + "requirements" : "If a related person does not speak the local language, interpreters may be required, so languages spoken and proficiency is an important things to keep track of both for patient and other persons of interest.", + "min" : 0, + "max" : "*", + "base" : { + "path" : "RelatedPerson.communication", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "BackboneElement" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "rim", + "map" : "LanguageCommunication" + }] + }, + { + "id" : "RelatedPerson.communication.id", + "path" : "RelatedPerson.communication.id", + "representation" : ["xmlAttr"], + "short" : "Unique id for inter-element referencing", + "definition" : "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "Element.id", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", + "valueUrl" : "string" + }], + "code" : "http://hl7.org/fhirpath/System.String" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "rim", + "map" : "n/a" + }] + }, + { + "id" : "RelatedPerson.communication.extension", + "path" : "RelatedPerson.communication.extension", + "short" : "Additional content defined by implementations", + "definition" : "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", + "comment" : "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", + "alias" : ["extensions", + "user content"], + "min" : 0, + "max" : "*", + "base" : { + "path" : "Element.extension", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Extension" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key" : "ext-1", + "severity" : "error", + "human" : "Must have either extensions or value[x], not both", + "expression" : "extension.exists() != value.exists()", + "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", + "source" : "http://hl7.org/fhir/StructureDefinition/Extension" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "rim", + "map" : "n/a" + }] + }, + { + "id" : "RelatedPerson.communication.modifierExtension", + "path" : "RelatedPerson.communication.modifierExtension", + "short" : "Extensions that cannot be ignored even if unrecognized", + "definition" : "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", + "comment" : "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", + "requirements" : "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).", + "alias" : ["extensions", + "user content", + "modifiers"], + "min" : 0, + "max" : "*", + "base" : { + "path" : "BackboneElement.modifierExtension", + "min" : 0, + "max" : "*" + }, + "type" : [{ + "code" : "Extension" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }, + { + "key" : "ext-1", + "severity" : "error", + "human" : "Must have either extensions or value[x], not both", + "expression" : "extension.exists() != value.exists()", + "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", + "source" : "http://hl7.org/fhir/StructureDefinition/Extension" + }], + "isModifier" : true, + "isModifierReason" : "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them", + "isSummary" : true, + "mapping" : [{ + "identity" : "rim", + "map" : "N/A" + }] + }, + { + "id" : "RelatedPerson.communication.language", + "path" : "RelatedPerson.communication.language", + "short" : "The language which can be used to communicate with the patient about his or her health", + "definition" : "A language which can be used to communicate with about the patient's health. The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. \"en\" for English, or \"en-US\" for American English versus \"en-EN\" for England English.", + "comment" : "The structure aa-BB with this exact casing is one the most widely used notations for locale. However not all systems actually code this but instead have it as free text. Hence CodeableConcept instead of code as the data type.", + "requirements" : "Most systems in multilingual countries will want to convey language. Not all systems actually need the regional dialect.", + "min" : 1, + "max" : "1", + "base" : { + "path" : "RelatedPerson.communication.language", + "min" : 1, + "max" : "1" + }, + "type" : [{ + "code" : "CodeableConcept" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : false, + "binding" : { + "strength" : "extensible", + "valueSet" : "https://healthterminologies.gov.au/fhir/ValueSet/common-languages-australia-2" + }, + "mapping" : [{ + "identity" : "rim", + "map" : "player[classCode=PSN|ANM and determinerCode=INSTANCE]/languageCommunication/code" + }] + }, + { + "id" : "RelatedPerson.communication.preferred", + "path" : "RelatedPerson.communication.preferred", + "short" : "Language preference indicator", + "definition" : "Indicates whether or not the patient prefers this language (over other languages he masters up a certain level).", + "comment" : "This language is specifically identified for communicating healthcare information.", + "requirements" : "People that master multiple languages up to certain level may prefer one or more, i.e. feel more confident in communicating in a particular language making other languages sort of a fall back method.", + "min" : 0, + "max" : "1", + "base" : { + "path" : "RelatedPerson.communication.preferred", + "min" : 0, + "max" : "1" + }, + "type" : [{ + "code" : "boolean" + }], + "constraint" : [{ + "key" : "ele-1", + "severity" : "error", + "human" : "All FHIR elements must have a @value or children", + "expression" : "hasValue() or (children().count() > id.count())", + "xpath" : "@value|f:*|h:div", + "source" : "http://hl7.org/fhir/StructureDefinition/Element" + }], + "isModifier" : false, + "isSummary" : false, + "mapping" : [{ + "identity" : "rim", + "map" : "preferenceInd" + }] + }] + }, + "differential" : { + "element" : [{ + "id" : "RelatedPerson", + "path" : "RelatedPerson", + "constraint" : [{ + "key" : "au-core-relper-01", + "severity" : "error", + "human" : "Either a name or a relationship shall be provided (or both)", + "expression" : "name.exists() or relationship.exists()", + "source" : "http://hl7.org.au/fhir/core/StructureDefinition/au-core-relatedperson" + }, + { + "key" : "au-core-relper-02", + "severity" : "error", + "human" : "Names shall have at least text, family name, or given name present, or if neither is available, the Data Absent Reason extension shall be present", + "expression" : "name.exists() implies name.extension('http://hl7.org/fhir/StructureDefinition/data-absent-reason').exists() xor name.all(text.exists() or family.exists() or given.exists())", + "source" : "http://hl7.org.au/fhir/core/StructureDefinition/au-core-relatedperson" + }] + }, + { + "id" : "RelatedPerson.patient", + "extension" : [{ + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:populate-if-known" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:no-error" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }], + "path" : "RelatedPerson.patient", + "type" : [{ + "code" : "Reference", + "targetProfile" : ["http://hl7.org.au/fhir/core/StructureDefinition/au-core-patient"] + }], + "mustSupport" : true + }, + { + "id" : "RelatedPerson.relationship", + "extension" : [{ + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:populate-if-known" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:no-error" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }], + "path" : "RelatedPerson.relationship", + "condition" : ["au-core-relper-01"], + "mustSupport" : true + }, + { + "id" : "RelatedPerson.name", + "extension" : [{ + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:populate-if-known" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:no-error" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }], + "path" : "RelatedPerson.name", + "condition" : ["au-core-relper-01"], + "mustSupport" : true + }, + { + "id" : "RelatedPerson.name.use", + "extension" : [{ + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:populate-if-known" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:no-error" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }], + "path" : "RelatedPerson.name.use", + "mustSupport" : true + }, + { + "id" : "RelatedPerson.name.text", + "extension" : [{ + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:populate-if-known" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:no-error" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }], + "path" : "RelatedPerson.name.text", + "mustSupport" : true + }, + { + "id" : "RelatedPerson.name.family", + "extension" : [{ + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:populate-if-known" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:no-error" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }], + "path" : "RelatedPerson.name.family", + "mustSupport" : true + }, + { + "id" : "RelatedPerson.name.given", + "extension" : [{ + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:populate-if-known" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:no-error" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }], + "path" : "RelatedPerson.name.given", + "mustSupport" : true + }, + { + "id" : "RelatedPerson.telecom", + "extension" : [{ + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:populate-if-known" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:no-error" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }], + "path" : "RelatedPerson.telecom", + "mustSupport" : true + }, + { + "id" : "RelatedPerson.address", + "extension" : [{ + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:populate-if-known" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension" : [{ + "url" : "code", + "valueCode" : "SHALL:no-error" + }, + { + "url" : "actor", + "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }], + "url" : "http://hl7.org/fhir/StructureDefinition/obligation" + }], + "path" : "RelatedPerson.address", + "mustSupport" : true + }] + } +} \ No newline at end of file diff --git a/sushi-config.yaml b/sushi-config.yaml index 6b0a2c25..c371d8a8 100644 --- a/sushi-config.yaml +++ b/sushi-config.yaml @@ -26,9 +26,9 @@ publisher: # dependencies: - hl7.fhir.au.core: 0.3.0-ballot + hl7.fhir.au.core: 1.0.0 hl7.fhir.uv.sdc: 3.0.0 - hl7.fhir.uv.smart-app-launch: 2.1.0 + hl7.fhir.uv.smart-app-launch: 2.2.0 # # # The pages property corresponds to IG.definition.page. SUSHI can @@ -106,6 +106,9 @@ parameters: - 'https://healthterminologies.gov.au/fhir/ValueSet/australian-pronouns-1' - 'https://healthterminologies.gov.au/fhir/ValueSet/australian-states-territories-2' - 'https://healthterminologies.gov.au/fhir/ValueSet/clinical-condition-1' + - 'http://hl7.org.au/fhir/core/StructureDefinition/au-core-medicationstatement' + - 'http://hl7.org.au/fhir/core/StructureDefinition/au-core-relatedperson' + - 'http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum' apply-publisher: false default-publisher: true From 7f3b7bbd24f78b3a9202f5f5f114ef6b221a0f96 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Wed, 16 Apr 2025 11:30:25 +1000 Subject: [PATCH 063/177] Trigger build --- ...cherServerAboriginalTorresStraitIslanderHealthCheck.json | 2 +- .../CapabilityStatement-SmartFormsApplication.json | 2 +- .../resources/CapabilityStatement-SmartFormsServer.json | 2 +- input/fsh/capability.fsh | 6 +++--- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json b/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json index 8e4c7ca0..c7dbccb5 100644 --- a/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json +++ b/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json @@ -7,7 +7,7 @@ "description": "This CapabilityStatement describes the expected capabilities for systems to launch and exchange data with the [Smart Forms client application](CapabilityStatement-SmartFormsApplication.html) to support the [Aboriginal and Torres Strait Islander Health Check](Questionnaire-AboriginalTorresStraitIslanderHealthCheck.html). It lists the server's conformance expectations for the resource types required as a launch context, resource types required to support prepopulation of the form, resource types required to support writing back to the patient record, and QuestionnaireResponse requirements for managing form responses. These expectations include supported FHIR profiles, RESTful operations, and search parameters.", "status": "draft", "experimental": false, - "date": "2025-04-15", + "date": "2025-04-16", "publisher": "AEHRC CSIRO", "jurisdiction": [ { diff --git a/fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json b/fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json index bab62cd3..017139fe 100644 --- a/fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json +++ b/fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json @@ -7,7 +7,7 @@ "description": "This CapabilityStatement describes the capabilities of the Smart Forms Application. These capabilities include supported FHIR profiles, RESTful operations, and search parameters. It covers supported tasks such as SMART App launch context, prepopulation, write-back and completion of forms.", "status": "draft", "experimental": false, - "date": "2025-04-15", + "date": "2025-04-16", "publisher": "AEHRC CSIRO", "kind": "capability", "instantiates": [ diff --git a/fsh-generated/resources/CapabilityStatement-SmartFormsServer.json b/fsh-generated/resources/CapabilityStatement-SmartFormsServer.json index 94bf8a3e..223abec7 100644 --- a/fsh-generated/resources/CapabilityStatement-SmartFormsServer.json +++ b/fsh-generated/resources/CapabilityStatement-SmartFormsServer.json @@ -7,7 +7,7 @@ "description": "This CapabilityStatement describes the capabilities of the Smart Forms Server. The Smart Forms Server provides a definitional repository of resources that a client application can retrieve for use in a Smart Forms context. The capabilities listed include supported FHIR profiles, RESTful operations, and search parameters.", "status": "draft", "experimental": false, - "date": "2025-04-15", + "date": "2025-04-16", "publisher": "AEHRC CSIRO", "kind": "capability", "instantiates": [ diff --git a/input/fsh/capability.fsh b/input/fsh/capability.fsh index 551a1429..9e76cbdc 100644 --- a/input/fsh/capability.fsh +++ b/input/fsh/capability.fsh @@ -7,7 +7,7 @@ Usage: #definition * description = "This CapabilityStatement describes the expected capabilities for systems to launch and exchange data with the [Smart Forms client application](CapabilityStatement-SmartFormsApplication.html) to support the [Aboriginal and Torres Strait Islander Health Check](Questionnaire-AboriginalTorresStraitIslanderHealthCheck.html). It lists the server's conformance expectations for the resource types required as a launch context, resource types required to support prepopulation of the form, resource types required to support writing back to the patient record, and QuestionnaireResponse requirements for managing form responses. These expectations include supported FHIR profiles, RESTful operations, and search parameters." * status = #draft * experimental = false -* date = "2025-04-15" +* date = "2025-04-16" * publisher = "AEHRC CSIRO" * jurisdiction = urn:iso:std:iso:3166#AU * kind = #requirements @@ -499,7 +499,7 @@ Usage: #definition * description = "This CapabilityStatement describes the capabilities of the Smart Forms Server. The Smart Forms Server provides a definitional repository of resources that a client application can retrieve for use in a Smart Forms context. The capabilities listed include supported FHIR profiles, RESTful operations, and search parameters." * status = #draft * experimental = false -* date = "2025-04-15" +* date = "2025-04-16" * publisher = "AEHRC CSIRO" * kind = #capability * instantiates[+] = "http://hl7.org/fhir/uv/sdc/CapabilityStatement/sdc-form-manager" @@ -564,7 +564,7 @@ Usage: #definition * description = "This CapabilityStatement describes the capabilities of the Smart Forms Application. These capabilities include supported FHIR profiles, RESTful operations, and search parameters. It covers supported tasks such as SMART App launch context, prepopulation, write-back and completion of forms." * status = #draft * experimental = false -* date = "2025-04-15" +* date = "2025-04-16" * publisher = "AEHRC CSIRO" * kind = #capability * instantiates[+] = "http://hl7.org/fhir/uv/sdc/CapabilityStatement/sdc-form-filler" From f49605335b2bc745bfb88a5c128142813c13279a Mon Sep 17 00:00:00 2001 From: liambarnes Date: Thu, 17 Apr 2025 14:21:32 +1000 Subject: [PATCH 064/177] Flag all sub-questionnaires to be examples --- ...ntationGuide-csiro.fhir.au.smartforms.json | 68 +++++++++---------- .../Questionnaire-AboutTheHealthCheck.json | 4 +- ...stionnaire-AbsoluteCVDRiskCalculation.json | 4 +- ...estionnaire-AllergiesAdverseReactions.json | 4 +- .../Questionnaire-AssemblyInstructions.json | 4 +- .../Questionnaire-ChronicDiseaseAgeing.json | 4 +- .../resources/Questionnaire-Consent.json | 4 +- .../Questionnaire-CurrentPriorities.json | 4 +- .../Questionnaire-EarHealthAndHearing.json | 4 +- .../resources/Questionnaire-Examination.json | 4 +- .../resources/Questionnaire-EyeHealth.json | 4 +- .../Questionnaire-FamilyHistory.json | 4 +- .../Questionnaire-FinalisingHealthCheck.json | 6 +- .../resources/Questionnaire-Gambling.json | 4 +- ...Questionnaire-HealthPrioritiesSummary.json | 4 +- .../Questionnaire-HealthyEating.json | 4 +- .../Questionnaire-HomeAndFamily.json | 4 +- .../resources/Questionnaire-Immunisation.json | 4 +- .../Questionnaire-Investigations.json | 4 +- .../Questionnaire-LearningAndDevelopment.json | 4 +- .../Questionnaire-LearningAndWork.json | 4 +- ...onnaire-MedicalHistoryCurrentProblems.json | 4 +- .../Questionnaire-MemoryAndThinking.json | 4 +- .../resources/Questionnaire-Mood.json | 4 +- .../Questionnaire-OralAndDentalHealth.json | 4 +- .../Questionnaire-PatientDetails.json | 4 +- ...onnaire-PhysicalActivityAndScreenTime.json | 4 +- ...aire-RedFlagsEarlyIdentificationGuide.json | 4 +- .../Questionnaire-RegularMedications.json | 4 +- .../Questionnaire-ScreeningPrograms.json | 4 +- .../resources/Questionnaire-SexualHealth.json | 4 +- .../resources/Questionnaire-Skin.json | 4 +- ...tionnaire-SocialAndEmotionalWellbeing.json | 4 +- .../Questionnaire-SocialHistoryChild.json | 4 +- .../resources/Questionnaire-SubstanceUse.json | 4 +- input/fsh/715-AboutTheHealthCheck.fsh | 2 +- input/fsh/715-AssemblyInstructions.fsh | 2 +- ...-Assessment-AbsoluteCVDRiskCalculation.fsh | 2 +- ...5-Assessment-AllergiesAdverseReactions.fsh | 2 +- .../715-Assessment-ChronicDiseaseAgeing.fsh | 2 +- .../fsh/715-Assessment-CurrentPriorities.fsh | 2 +- .../715-Assessment-EarHealthAndHearing.fsh | 2 +- input/fsh/715-Assessment-Examination.fsh | 2 +- input/fsh/715-Assessment-EyeHealth.fsh | 2 +- input/fsh/715-Assessment-FamilyHistory.fsh | 2 +- input/fsh/715-Assessment-Gambling.fsh | 2 +- input/fsh/715-Assessment-HealthyEating.fsh | 2 +- input/fsh/715-Assessment-HomeAndFamily.fsh | 2 +- input/fsh/715-Assessment-Immunisation.fsh | 2 +- input/fsh/715-Assessment-Investigations.fsh | 2 +- .../715-Assessment-LearningAndDevelopment.fsh | 2 +- input/fsh/715-Assessment-LearningAndWork.fsh | 2 +- ...sessment-MedicalHistoryCurrentProblems.fsh | 2 +- .../fsh/715-Assessment-MemoryAndThinking.fsh | 2 +- input/fsh/715-Assessment-Mood.fsh | 2 +- .../715-Assessment-OralAndDentalHealth.fsh | 2 +- ...sessment-PhysicalActivityAndScreenTime.fsh | 2 +- ...sment-RedFlagsEarlyIdentificationGuide.fsh | 2 +- .../fsh/715-Assessment-RegularMedications.fsh | 2 +- .../fsh/715-Assessment-ScreeningPrograms.fsh | 2 +- input/fsh/715-Assessment-SexualHealth.fsh | 2 +- input/fsh/715-Assessment-Skin.fsh | 2 +- ...Assessment-SocialAndEmotionalWellbeing.fsh | 2 +- .../fsh/715-Assessment-SocialHistoryChild.fsh | 2 +- input/fsh/715-Assessment-SubstanceUse.fsh | 2 +- input/fsh/715-Consent.fsh | 2 +- input/fsh/715-FinalisingHealthCheck.fsh | 4 +- input/fsh/715-HealthPrioritiesSummary.fsh | 2 +- input/fsh/715-PatientDetails.fsh | 2 +- 69 files changed, 102 insertions(+), 174 deletions(-) diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index c35e68f9..d46a3139 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -54,7 +54,7 @@ }, "name": "Aboriginal and Torres Strait Islander Health Check", "description": "Aboriginal and Torres Strait Islander Health Check assessment form.", - "exampleBoolean": false + "exampleBoolean": true }, { "reference": { @@ -70,7 +70,7 @@ }, "name": "Aboriginal and Torres Strait Islander Health Check - About The Health Check", "description": "About The Health Check sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", - "exampleBoolean": false + "exampleBoolean": true }, { "reference": { @@ -78,7 +78,7 @@ }, "name": "Aboriginal and Torres Strait Islander Health Check - Absolute Cardiovascular Disease Risk Calculation", "description": "Absolute Cardiovascular Disease Risk Calculation sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", - "exampleBoolean": false + "exampleBoolean": true }, { "reference": { @@ -86,7 +86,7 @@ }, "name": "Aboriginal and Torres Strait Islander Health Check - Allergies/Adverse Reactions", "description": "Allergies/Adverse Reactions sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", - "exampleBoolean": false + "exampleBoolean": true }, { "reference": { @@ -94,7 +94,7 @@ }, "name": "Aboriginal and Torres Strait Islander Health Check - Chronic Disease Ageing", "description": "Chronic Disease Ageing sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", - "exampleBoolean": false + "exampleBoolean": true }, { "reference": { @@ -102,7 +102,7 @@ }, "name": "Aboriginal and Torres Strait Islander Health Check - Consent", "description": "Consent sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", - "exampleBoolean": false + "exampleBoolean": true }, { "reference": { @@ -110,7 +110,7 @@ }, "name": "Aboriginal and Torres Strait Islander Health Check - Current Priorities", "description": "Current Priorities sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", - "exampleBoolean": false + "exampleBoolean": true }, { "reference": { @@ -118,7 +118,7 @@ }, "name": "Aboriginal and Torres Strait Islander Health Check - Ear Health And Hearing", "description": "Ear Health And Hearing sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", - "exampleBoolean": false + "exampleBoolean": true }, { "reference": { @@ -126,7 +126,7 @@ }, "name": "Aboriginal and Torres Strait Islander Health Check - Examination", "description": "Examination sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", - "exampleBoolean": false + "exampleBoolean": true }, { "reference": { @@ -134,7 +134,7 @@ }, "name": "Aboriginal and Torres Strait Islander Health Check - Eye Health", "description": "Eye Health sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", - "exampleBoolean": false + "exampleBoolean": true }, { "reference": { @@ -142,7 +142,7 @@ }, "name": "Aboriginal and Torres Strait Islander Health Check - Family History", "description": "Family History sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", - "exampleBoolean": false + "exampleBoolean": true }, { "reference": { @@ -150,7 +150,7 @@ }, "name": "Aboriginal and Torres Strait Islander Health Check - Finalising the Health Check", "description": "Finalising the Health Check sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", - "exampleBoolean": false + "exampleBoolean": true }, { "reference": { @@ -158,7 +158,7 @@ }, "name": "Aboriginal and Torres Strait Islander Health Check - Gambling", "description": "Gambling sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", - "exampleBoolean": false + "exampleBoolean": true }, { "reference": { @@ -166,7 +166,7 @@ }, "name": "Aboriginal and Torres Strait Islander Health Check - Health Priorities, Actions And Follow-Up Summary", "description": "Health Priorities, Actions And Follow-Up Summary sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", - "exampleBoolean": false + "exampleBoolean": true }, { "reference": { @@ -174,7 +174,7 @@ }, "name": "Aboriginal and Torres Strait Islander Health Check - Healthy Eating", "description": "Healthy Eating sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", - "exampleBoolean": false + "exampleBoolean": true }, { "reference": { @@ -182,7 +182,7 @@ }, "name": "Aboriginal and Torres Strait Islander Health Check - Home And Family", "description": "Home And Family sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", - "exampleBoolean": false + "exampleBoolean": true }, { "reference": { @@ -190,7 +190,7 @@ }, "name": "Aboriginal and Torres Strait Islander Health Check - Immunisation", "description": "Immunisation sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", - "exampleBoolean": false + "exampleBoolean": true }, { "reference": { @@ -198,7 +198,7 @@ }, "name": "Aboriginal and Torres Strait Islander Health Check - Investigations", "description": "Investigations sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", - "exampleBoolean": false + "exampleBoolean": true }, { "reference": { @@ -206,7 +206,7 @@ }, "name": "Aboriginal and Torres Strait Islander Health Check - Learning And Development", "description": "Learning And Development sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", - "exampleBoolean": false + "exampleBoolean": true }, { "reference": { @@ -214,7 +214,7 @@ }, "name": "Aboriginal and Torres Strait Islander Health Check - Learning And Work", "description": "Learning And Work sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", - "exampleBoolean": false + "exampleBoolean": true }, { "reference": { @@ -222,7 +222,7 @@ }, "name": "Aboriginal and Torres Strait Islander Health Check - Medical History", "description": "Medical History sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", - "exampleBoolean": false + "exampleBoolean": true }, { "reference": { @@ -230,7 +230,7 @@ }, "name": "Aboriginal and Torres Strait Islander Health Check - Memory And Thinking", "description": "Memory And Thinking sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", - "exampleBoolean": false + "exampleBoolean": true }, { "reference": { @@ -238,7 +238,7 @@ }, "name": "Aboriginal and Torres Strait Islander Health Check - Mood", "description": "Mood sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", - "exampleBoolean": false + "exampleBoolean": true }, { "reference": { @@ -246,7 +246,7 @@ }, "name": "Aboriginal and Torres Strait Islander Health Check - Oral And Dental Health", "description": "Oral And Dental Health sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", - "exampleBoolean": false + "exampleBoolean": true }, { "reference": { @@ -254,7 +254,7 @@ }, "name": "Aboriginal and Torres Strait Islander Health Check - Patient Details", "description": "Patient Details sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", - "exampleBoolean": false + "exampleBoolean": true }, { "reference": { @@ -262,7 +262,7 @@ }, "name": "Aboriginal and Torres Strait Islander Health Check - Red Flags Early Identification Guide For Children", "description": "Red Flags Early Identification Guide For Children sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", - "exampleBoolean": false + "exampleBoolean": true }, { "reference": { @@ -270,7 +270,7 @@ }, "name": "Aboriginal and Torres Strait Islander Health Check - Regular Medications", "description": "Regular Medications sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", - "exampleBoolean": false + "exampleBoolean": true }, { "reference": { @@ -278,7 +278,7 @@ }, "name": "Aboriginal and Torres Strait Islander Health Check - Screening Programs", "description": "Screening Programs sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", - "exampleBoolean": false + "exampleBoolean": true }, { "reference": { @@ -286,7 +286,7 @@ }, "name": "Aboriginal and Torres Strait Islander Health Check - Sexual Health", "description": "Sexual Health sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", - "exampleBoolean": false + "exampleBoolean": true }, { "reference": { @@ -294,7 +294,7 @@ }, "name": "Aboriginal and Torres Strait Islander Health Check - Skin", "description": "Skin sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", - "exampleBoolean": false + "exampleBoolean": true }, { "reference": { @@ -302,7 +302,7 @@ }, "name": "Aboriginal and Torres Strait Islander Health Check - Social And Emotional Wellbeing", "description": "Social And Emotional Wellbeing sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", - "exampleBoolean": false + "exampleBoolean": true }, { "reference": { @@ -310,7 +310,7 @@ }, "name": "Aboriginal and Torres Strait Islander Health Check - Social History Child", "description": "Social History Child sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", - "exampleBoolean": false + "exampleBoolean": true }, { "reference": { @@ -318,7 +318,7 @@ }, "name": "Aboriginal and Torres Strait Islander Health Check - Substance Use", "description": "Substance Use sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", - "exampleBoolean": false + "exampleBoolean": true }, { "reference": { @@ -430,7 +430,7 @@ }, "name": "Physical Activity And Screen Time", "description": "Physical Activity And Screen Time sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", - "exampleBoolean": false + "exampleBoolean": true }, { "reference": { diff --git a/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json b/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json index 2ad502d8..987dc10e 100644 --- a/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json +++ b/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json @@ -8,9 +8,6 @@ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" ] }, - "url": "http://www.health.gov.au/assessments/mbs/715/AboutTheHealthCheck", - "title": "Aboriginal and Torres Strait Islander Health Check - About The Health Check", - "description": "About The Health Check sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", "item": [ { "extension": [ @@ -364,6 +361,7 @@ } } ], + "url": "http://www.health.gov.au/assessments/mbs/715/AboutTheHealthCheck", "name": "AboutTheHealthCheck", "status": "draft", "experimental": false, diff --git a/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json b/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json index 4d3d770e..69b38bfb 100644 --- a/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json +++ b/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json @@ -8,9 +8,6 @@ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" ] }, - "url": "http://www.health.gov.au/assessments/mbs/715/AbsoluteCVDRiskCalculation", - "title": "Aboriginal and Torres Strait Islander Health Check - Absolute Cardiovascular Disease Risk Calculation", - "description": "Absolute Cardiovascular Disease Risk Calculation sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", "item": [ { "extension": [ @@ -806,6 +803,7 @@ } } ], + "url": "http://www.health.gov.au/assessments/mbs/715/AbsoluteCVDRiskCalculation", "name": "AbsoluteCVDRiskCalculation", "status": "draft", "experimental": false, diff --git a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json index b5f5bdcd..2fcd3db2 100644 --- a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json +++ b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json @@ -8,9 +8,6 @@ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" ] }, - "url": "http://www.health.gov.au/assessments/mbs/715/AllergiesAdverseReactions", - "title": "Aboriginal and Torres Strait Islander Health Check - Allergies/Adverse Reactions", - "description": "Allergies/Adverse Reactions sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", "item": [ { "extension": [ @@ -205,6 +202,7 @@ "valueString": "age" } ], + "url": "http://www.health.gov.au/assessments/mbs/715/AllergiesAdverseReactions", "name": "AllergiesAdverseReactions", "status": "draft", "experimental": false, diff --git a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json index d4b5ced7..f7c1576d 100644 --- a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json +++ b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json @@ -8,9 +8,6 @@ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" ] }, - "url": "http://www.health.gov.au/assessments/mbs/715", - "title": "Aboriginal and Torres Strait Islander Health Check", - "description": "Aboriginal and Torres Strait Islander Health Check assessment form.", "item": [ { "extension": [ @@ -2193,6 +2190,7 @@ } } ], + "url": "http://www.health.gov.au/assessments/mbs/715", "name": "AboriginalTorresStraitIslanderHealthCheck", "status": "draft", "experimental": false, diff --git a/fsh-generated/resources/Questionnaire-ChronicDiseaseAgeing.json b/fsh-generated/resources/Questionnaire-ChronicDiseaseAgeing.json index 3a8925d5..4e372178 100644 --- a/fsh-generated/resources/Questionnaire-ChronicDiseaseAgeing.json +++ b/fsh-generated/resources/Questionnaire-ChronicDiseaseAgeing.json @@ -8,9 +8,6 @@ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" ] }, - "url": "http://www.health.gov.au/assessments/mbs/715/ChronicDiseaseAgeing", - "title": "Aboriginal and Torres Strait Islander Health Check - Chronic Disease Ageing", - "description": "Chronic Disease Ageing sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", "item": [ { "extension": [ @@ -226,6 +223,7 @@ "valueString": "age" } ], + "url": "http://www.health.gov.au/assessments/mbs/715/ChronicDiseaseAgeing", "name": "ChronicDiseaseAgeing", "status": "draft", "experimental": false, diff --git a/fsh-generated/resources/Questionnaire-Consent.json b/fsh-generated/resources/Questionnaire-Consent.json index 7c0ea48b..18c270a5 100644 --- a/fsh-generated/resources/Questionnaire-Consent.json +++ b/fsh-generated/resources/Questionnaire-Consent.json @@ -8,9 +8,6 @@ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" ] }, - "url": "http://www.health.gov.au/assessments/mbs/715/Consent", - "title": "Aboriginal and Torres Strait Islander Health Check - Consent", - "description": "Consent sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", "item": [ { "extension": [ @@ -551,6 +548,7 @@ "valueString": "age" } ], + "url": "http://www.health.gov.au/assessments/mbs/715/Consent", "name": "Consent", "status": "draft", "experimental": false, diff --git a/fsh-generated/resources/Questionnaire-CurrentPriorities.json b/fsh-generated/resources/Questionnaire-CurrentPriorities.json index d92c4c9b..1c407642 100644 --- a/fsh-generated/resources/Questionnaire-CurrentPriorities.json +++ b/fsh-generated/resources/Questionnaire-CurrentPriorities.json @@ -8,9 +8,6 @@ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" ] }, - "url": "http://www.health.gov.au/assessments/mbs/715/CurrentPriorities", - "title": "Aboriginal and Torres Strait Islander Health Check - Current Priorities", - "description": "Current Priorities sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", "item": [ { "extension": [ @@ -452,6 +449,7 @@ "valueString": "age" } ], + "url": "http://www.health.gov.au/assessments/mbs/715/CurrentPriorities", "name": "CurrentPriorities", "status": "draft", "experimental": false, diff --git a/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json b/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json index 070dd391..96869899 100644 --- a/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json +++ b/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json @@ -8,9 +8,6 @@ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" ] }, - "url": "http://www.health.gov.au/assessments/mbs/715/EarHealthAndHearing", - "title": "Aboriginal and Torres Strait Islander Health Check - Ear Health And Hearing", - "description": "Ear Health And Hearing sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", "item": [ { "extension": [ @@ -776,6 +773,7 @@ "valueString": "age" } ], + "url": "http://www.health.gov.au/assessments/mbs/715/EarHealthAndHearing", "name": "EarHealthAndHearing", "status": "draft", "experimental": false, diff --git a/fsh-generated/resources/Questionnaire-Examination.json b/fsh-generated/resources/Questionnaire-Examination.json index 09eb14a9..cfa38fc0 100644 --- a/fsh-generated/resources/Questionnaire-Examination.json +++ b/fsh-generated/resources/Questionnaire-Examination.json @@ -8,9 +8,6 @@ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" ] }, - "url": "http://www.health.gov.au/assessments/mbs/715/Examination", - "title": "Aboriginal and Torres Strait Islander Health Check - Examination", - "description": "Examination sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", "item": [ { "extension": [ @@ -1042,6 +1039,7 @@ } } ], + "url": "http://www.health.gov.au/assessments/mbs/715/Examination", "name": "Examination", "status": "draft", "experimental": false, diff --git a/fsh-generated/resources/Questionnaire-EyeHealth.json b/fsh-generated/resources/Questionnaire-EyeHealth.json index b5036ccb..aea27179 100644 --- a/fsh-generated/resources/Questionnaire-EyeHealth.json +++ b/fsh-generated/resources/Questionnaire-EyeHealth.json @@ -8,9 +8,6 @@ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" ] }, - "url": "http://www.health.gov.au/assessments/mbs/715/EyeHealth", - "title": "Aboriginal and Torres Strait Islander Health Check - Eye Health", - "description": "Eye Health sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", "item": [ { "extension": [ @@ -533,6 +530,7 @@ "valueString": "age" } ], + "url": "http://www.health.gov.au/assessments/mbs/715/EyeHealth", "name": "EyeHealth", "status": "draft", "experimental": false, diff --git a/fsh-generated/resources/Questionnaire-FamilyHistory.json b/fsh-generated/resources/Questionnaire-FamilyHistory.json index cb83c98d..6d5b66c9 100644 --- a/fsh-generated/resources/Questionnaire-FamilyHistory.json +++ b/fsh-generated/resources/Questionnaire-FamilyHistory.json @@ -8,9 +8,6 @@ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" ] }, - "url": "http://www.health.gov.au/assessments/mbs/715/FamilyHistory", - "title": "Aboriginal and Torres Strait Islander Health Check - Family History", - "description": "Family History sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", "item": [ { "extension": [ @@ -260,6 +257,7 @@ "valueString": "age" } ], + "url": "http://www.health.gov.au/assessments/mbs/715/FamilyHistory", "name": "FamilyHistory", "status": "draft", "experimental": false, diff --git a/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json b/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json index 68ee7ad4..b0904239 100644 --- a/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json +++ b/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json @@ -8,9 +8,6 @@ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" ] }, - "url": "http://www.health.gov.au/assessments/mbs/715/FinalisingHealthCheck", - "title": "Aboriginal and Torres Strait Islander Health Check - Finalising the Health Check", - "description": "Finalising the Health Check sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", "item": [ { "extension": [ @@ -882,13 +879,11 @@ } ], "linkId": "40e3933d-77bb-40f3-8609-0c38ebb4421e", - "definition": "http://aehrc.com/fhir/StructureDefinition/AUPrimaryCareFollowUp#CarePlan.subject.reference", "text": "recall-subject", "type": "string" }, { "linkId": "fece6a3c-f8f1-4592-a166-5ea5a3c60c8e", - "definition": "http://aehrc.com/fhir/StructureDefinition/AUPrimaryCareFollowUp#CarePlan.title", "text": "Recall", "type": "text", "repeats": false @@ -1069,6 +1064,7 @@ "valueString": "age" } ], + "url": "http://www.health.gov.au/assessments/mbs/715/FinalisingHealthCheck", "name": "FinalisingHealthCheck", "status": "draft", "experimental": false, diff --git a/fsh-generated/resources/Questionnaire-Gambling.json b/fsh-generated/resources/Questionnaire-Gambling.json index ce300fcb..c148f236 100644 --- a/fsh-generated/resources/Questionnaire-Gambling.json +++ b/fsh-generated/resources/Questionnaire-Gambling.json @@ -8,9 +8,6 @@ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" ] }, - "url": "http://www.health.gov.au/assessments/mbs/715/Gambling", - "title": "Aboriginal and Torres Strait Islander Health Check - Gambling", - "description": "Gambling sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", "item": [ { "extension": [ @@ -290,6 +287,7 @@ "valueString": "age" } ], + "url": "http://www.health.gov.au/assessments/mbs/715/Gambling", "name": "Gambling", "status": "draft", "experimental": false, diff --git a/fsh-generated/resources/Questionnaire-HealthPrioritiesSummary.json b/fsh-generated/resources/Questionnaire-HealthPrioritiesSummary.json index 7082ab46..5d0b6a45 100644 --- a/fsh-generated/resources/Questionnaire-HealthPrioritiesSummary.json +++ b/fsh-generated/resources/Questionnaire-HealthPrioritiesSummary.json @@ -8,9 +8,6 @@ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" ] }, - "url": "http://www.health.gov.au/assessments/mbs/715/HealthPrioritiesSummary", - "title": "Aboriginal and Torres Strait Islander Health Check - Health Priorities, Actions And Follow-Up Summary", - "description": "Health Priorities, Actions And Follow-Up Summary sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", "item": [ { "extension": [ @@ -977,6 +974,7 @@ "valueString": "HealthPrioritiesSummaryInvestigations" } ], + "url": "http://www.health.gov.au/assessments/mbs/715/HealthPrioritiesSummary", "name": "HealthPrioritiesActionsAndFollowUpSummary", "status": "draft", "experimental": false, diff --git a/fsh-generated/resources/Questionnaire-HealthyEating.json b/fsh-generated/resources/Questionnaire-HealthyEating.json index 57484743..4dea50ea 100644 --- a/fsh-generated/resources/Questionnaire-HealthyEating.json +++ b/fsh-generated/resources/Questionnaire-HealthyEating.json @@ -8,9 +8,6 @@ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" ] }, - "url": "http://www.health.gov.au/assessments/mbs/715/HealthyEating", - "title": "Aboriginal and Torres Strait Islander Health Check - Healthy Eating", - "description": "Healthy Eating sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", "item": [ { "extension": [ @@ -664,6 +661,7 @@ "valueString": "age" } ], + "url": "http://www.health.gov.au/assessments/mbs/715/HealthyEating", "name": "HealthyEating", "status": "draft", "experimental": false, diff --git a/fsh-generated/resources/Questionnaire-HomeAndFamily.json b/fsh-generated/resources/Questionnaire-HomeAndFamily.json index cc840381..3da3904b 100644 --- a/fsh-generated/resources/Questionnaire-HomeAndFamily.json +++ b/fsh-generated/resources/Questionnaire-HomeAndFamily.json @@ -8,9 +8,6 @@ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" ] }, - "url": "http://www.health.gov.au/assessments/mbs/715/HomeAndFamily", - "title": "Aboriginal and Torres Strait Islander Health Check - Home And Family", - "description": "Home And Family sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", "item": [ { "extension": [ @@ -364,6 +361,7 @@ "valueString": "age" } ], + "url": "http://www.health.gov.au/assessments/mbs/715/HomeAndFamily", "name": "HomeAndFamily", "status": "draft", "experimental": false, diff --git a/fsh-generated/resources/Questionnaire-Immunisation.json b/fsh-generated/resources/Questionnaire-Immunisation.json index 1f037cab..fbd91250 100644 --- a/fsh-generated/resources/Questionnaire-Immunisation.json +++ b/fsh-generated/resources/Questionnaire-Immunisation.json @@ -8,9 +8,6 @@ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" ] }, - "url": "http://www.health.gov.au/assessments/mbs/715/Immunisation", - "title": "Aboriginal and Torres Strait Islander Health Check - Immunisation", - "description": "Immunisation sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", "item": [ { "extension": [ @@ -376,6 +373,7 @@ "valueString": "age" } ], + "url": "http://www.health.gov.au/assessments/mbs/715/Immunisation", "name": "Immunisation", "status": "draft", "experimental": false, diff --git a/fsh-generated/resources/Questionnaire-Investigations.json b/fsh-generated/resources/Questionnaire-Investigations.json index e48b4280..39f4289c 100644 --- a/fsh-generated/resources/Questionnaire-Investigations.json +++ b/fsh-generated/resources/Questionnaire-Investigations.json @@ -8,9 +8,6 @@ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" ] }, - "url": "http://www.health.gov.au/assessments/mbs/715/Investigations", - "title": "Aboriginal and Torres Strait Islander Health Check - Investigations", - "description": "Investigations sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", "item": [ { "extension": [ @@ -247,6 +244,7 @@ "valueString": "age" } ], + "url": "http://www.health.gov.au/assessments/mbs/715/Investigations", "name": "Investigations", "status": "draft", "experimental": false, diff --git a/fsh-generated/resources/Questionnaire-LearningAndDevelopment.json b/fsh-generated/resources/Questionnaire-LearningAndDevelopment.json index 6bf3fad3..19ef04b1 100644 --- a/fsh-generated/resources/Questionnaire-LearningAndDevelopment.json +++ b/fsh-generated/resources/Questionnaire-LearningAndDevelopment.json @@ -8,9 +8,6 @@ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" ] }, - "url": "http://www.health.gov.au/assessments/mbs/715/LearningAndDevelopment", - "title": "Aboriginal and Torres Strait Islander Health Check - Learning And Development", - "description": "Learning And Development sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", "item": [ { "extension": [ @@ -518,6 +515,7 @@ "valueString": "age" } ], + "url": "http://www.health.gov.au/assessments/mbs/715/LearningAndDevelopment", "name": "LearningAndDevelopment", "status": "draft", "experimental": false, diff --git a/fsh-generated/resources/Questionnaire-LearningAndWork.json b/fsh-generated/resources/Questionnaire-LearningAndWork.json index 3ef1ff31..d844b432 100644 --- a/fsh-generated/resources/Questionnaire-LearningAndWork.json +++ b/fsh-generated/resources/Questionnaire-LearningAndWork.json @@ -8,9 +8,6 @@ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" ] }, - "url": "http://www.health.gov.au/assessments/mbs/715/LearningAndWork", - "title": "Aboriginal and Torres Strait Islander Health Check - Learning And Work", - "description": "Learning And Work sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", "item": [ { "extension": [ @@ -590,6 +587,7 @@ "valueString": "age" } ], + "url": "http://www.health.gov.au/assessments/mbs/715/LearningAndWork", "name": "LearningAndWork", "status": "draft", "experimental": false, diff --git a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json index 584faacc..3dbef3f2 100644 --- a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json +++ b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json @@ -8,9 +8,6 @@ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" ] }, - "url": "http://www.health.gov.au/assessments/mbs/715/MedicalHistoryCurrentProblems", - "title": "Aboriginal and Torres Strait Islander Health Check - Medical History", - "description": "Medical History sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", "item": [ { "extension": [ @@ -639,6 +636,7 @@ "valueString": "Condition" } ], + "url": "http://www.health.gov.au/assessments/mbs/715/MedicalHistoryCurrentProblems", "name": "MedicalHistoryCurrentProblems", "status": "draft", "experimental": false, diff --git a/fsh-generated/resources/Questionnaire-MemoryAndThinking.json b/fsh-generated/resources/Questionnaire-MemoryAndThinking.json index ccb28774..d9b002f1 100644 --- a/fsh-generated/resources/Questionnaire-MemoryAndThinking.json +++ b/fsh-generated/resources/Questionnaire-MemoryAndThinking.json @@ -8,9 +8,6 @@ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" ] }, - "url": "http://www.health.gov.au/assessments/mbs/715/MemoryAndThinking", - "title": "Aboriginal and Torres Strait Islander Health Check - Memory And Thinking", - "description": "Memory And Thinking sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", "item": [ { "extension": [ @@ -364,6 +361,7 @@ "valueString": "age" } ], + "url": "http://www.health.gov.au/assessments/mbs/715/MemoryAndThinking", "name": "MemoryAndThinking", "status": "draft", "experimental": false, diff --git a/fsh-generated/resources/Questionnaire-Mood.json b/fsh-generated/resources/Questionnaire-Mood.json index 68f13891..1a7e51a8 100644 --- a/fsh-generated/resources/Questionnaire-Mood.json +++ b/fsh-generated/resources/Questionnaire-Mood.json @@ -8,9 +8,6 @@ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" ] }, - "url": "http://www.health.gov.au/assessments/mbs/715/Mood", - "title": "Aboriginal and Torres Strait Islander Health Check - Mood", - "description": "Mood sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", "item": [ { "extension": [ @@ -270,6 +267,7 @@ "valueString": "age" } ], + "url": "http://www.health.gov.au/assessments/mbs/715/Mood", "name": "Mood", "status": "draft", "experimental": false, diff --git a/fsh-generated/resources/Questionnaire-OralAndDentalHealth.json b/fsh-generated/resources/Questionnaire-OralAndDentalHealth.json index 96b137c9..9a3bbec2 100644 --- a/fsh-generated/resources/Questionnaire-OralAndDentalHealth.json +++ b/fsh-generated/resources/Questionnaire-OralAndDentalHealth.json @@ -8,9 +8,6 @@ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" ] }, - "url": "http://www.health.gov.au/assessments/mbs/715/OralAndDentalHealth", - "title": "Aboriginal and Torres Strait Islander Health Check - Oral And Dental Health", - "description": "Oral And Dental Health sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", "item": [ { "extension": [ @@ -414,6 +411,7 @@ "valueString": "age" } ], + "url": "http://www.health.gov.au/assessments/mbs/715/OralAndDentalHealth", "name": "OralAndDentalHealth", "status": "draft", "experimental": false, diff --git a/fsh-generated/resources/Questionnaire-PatientDetails.json b/fsh-generated/resources/Questionnaire-PatientDetails.json index 263a033d..5128ebea 100644 --- a/fsh-generated/resources/Questionnaire-PatientDetails.json +++ b/fsh-generated/resources/Questionnaire-PatientDetails.json @@ -8,9 +8,6 @@ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" ] }, - "url": "http://www.health.gov.au/assessments/mbs/715/PatientDetails", - "title": "Aboriginal and Torres Strait Islander Health Check - Patient Details", - "description": "Patient Details sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", "item": [ { "item": [ @@ -2286,6 +2283,7 @@ } } ], + "url": "http://www.health.gov.au/assessments/mbs/715/PatientDetails", "name": "PatientDetails", "status": "draft", "experimental": false, diff --git a/fsh-generated/resources/Questionnaire-PhysicalActivityAndScreenTime.json b/fsh-generated/resources/Questionnaire-PhysicalActivityAndScreenTime.json index c2215f7c..51ab18c0 100644 --- a/fsh-generated/resources/Questionnaire-PhysicalActivityAndScreenTime.json +++ b/fsh-generated/resources/Questionnaire-PhysicalActivityAndScreenTime.json @@ -8,9 +8,6 @@ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" ] }, - "url": "http://www.health.gov.au/assessments/mbs/715/PhysicalActivityAndScreenTime", - "title": "Physical Activity And Screen Time", - "description": "Physical Activity And Screen Time sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", "item": [ { "extension": [ @@ -651,6 +648,7 @@ "valueString": "age" } ], + "url": "http://www.health.gov.au/assessments/mbs/715/PhysicalActivityAndScreenTime", "name": "PhysicalActivityAndScreenTime", "status": "draft", "experimental": false, diff --git a/fsh-generated/resources/Questionnaire-RedFlagsEarlyIdentificationGuide.json b/fsh-generated/resources/Questionnaire-RedFlagsEarlyIdentificationGuide.json index bc8ec164..deaf03ed 100644 --- a/fsh-generated/resources/Questionnaire-RedFlagsEarlyIdentificationGuide.json +++ b/fsh-generated/resources/Questionnaire-RedFlagsEarlyIdentificationGuide.json @@ -8,9 +8,6 @@ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" ] }, - "url": "http://www.health.gov.au/assessments/mbs/715/RedFlagsEarlyIdentificationGuide", - "title": "Aboriginal and Torres Strait Islander Health Check - Red Flags Early Identification Guide For Children", - "description": "Red Flags Early Identification Guide For Children sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", "item": [ { "extension": [ @@ -1362,6 +1359,7 @@ "valueString": "age" } ], + "url": "http://www.health.gov.au/assessments/mbs/715/RedFlagsEarlyIdentificationGuide", "name": "RedFlagsEarlyIdentificationGuideForChildren", "status": "draft", "experimental": false, diff --git a/fsh-generated/resources/Questionnaire-RegularMedications.json b/fsh-generated/resources/Questionnaire-RegularMedications.json index a79a6aa5..df5ce83d 100644 --- a/fsh-generated/resources/Questionnaire-RegularMedications.json +++ b/fsh-generated/resources/Questionnaire-RegularMedications.json @@ -8,9 +8,6 @@ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" ] }, - "url": "http://www.health.gov.au/assessments/mbs/715/RegularMedications", - "title": "Aboriginal and Torres Strait Islander Health Check - Regular Medications", - "description": "Regular Medications sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", "item": [ { "extension": [ @@ -372,6 +369,7 @@ "valueString": "age" } ], + "url": "http://www.health.gov.au/assessments/mbs/715/RegularMedications", "name": "RegularMedications", "status": "draft", "experimental": false, diff --git a/fsh-generated/resources/Questionnaire-ScreeningPrograms.json b/fsh-generated/resources/Questionnaire-ScreeningPrograms.json index 1115aab0..8e0e5c2d 100644 --- a/fsh-generated/resources/Questionnaire-ScreeningPrograms.json +++ b/fsh-generated/resources/Questionnaire-ScreeningPrograms.json @@ -8,9 +8,6 @@ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" ] }, - "url": "http://www.health.gov.au/assessments/mbs/715/ScreeningPrograms", - "title": "Aboriginal and Torres Strait Islander Health Check - Screening Programs", - "description": "Screening Programs sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", "item": [ { "extension": [ @@ -367,6 +364,7 @@ "valueString": "age" } ], + "url": "http://www.health.gov.au/assessments/mbs/715/ScreeningPrograms", "name": "ScreeningPrograms", "status": "draft", "experimental": false, diff --git a/fsh-generated/resources/Questionnaire-SexualHealth.json b/fsh-generated/resources/Questionnaire-SexualHealth.json index af30d8a8..2c694aed 100644 --- a/fsh-generated/resources/Questionnaire-SexualHealth.json +++ b/fsh-generated/resources/Questionnaire-SexualHealth.json @@ -8,9 +8,6 @@ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" ] }, - "url": "http://www.health.gov.au/assessments/mbs/715/SexualHealth", - "title": "Aboriginal and Torres Strait Islander Health Check - Sexual Health", - "description": "Sexual Health sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", "item": [ { "extension": [ @@ -911,6 +908,7 @@ "valueString": "age" } ], + "url": "http://www.health.gov.au/assessments/mbs/715/SexualHealth", "name": "SexualHealth", "status": "draft", "experimental": false, diff --git a/fsh-generated/resources/Questionnaire-Skin.json b/fsh-generated/resources/Questionnaire-Skin.json index 4d3179c5..6e380c40 100644 --- a/fsh-generated/resources/Questionnaire-Skin.json +++ b/fsh-generated/resources/Questionnaire-Skin.json @@ -8,9 +8,6 @@ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" ] }, - "url": "http://www.health.gov.au/assessments/mbs/715/Skin", - "title": "Aboriginal and Torres Strait Islander Health Check - Skin", - "description": "Skin sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", "item": [ { "extension": [ @@ -400,6 +397,7 @@ "valueString": "age" } ], + "url": "http://www.health.gov.au/assessments/mbs/715/Skin", "name": "Skin", "status": "draft", "experimental": false, diff --git a/fsh-generated/resources/Questionnaire-SocialAndEmotionalWellbeing.json b/fsh-generated/resources/Questionnaire-SocialAndEmotionalWellbeing.json index 1242887a..f82cc236 100644 --- a/fsh-generated/resources/Questionnaire-SocialAndEmotionalWellbeing.json +++ b/fsh-generated/resources/Questionnaire-SocialAndEmotionalWellbeing.json @@ -8,9 +8,6 @@ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" ] }, - "url": "http://www.health.gov.au/assessments/mbs/715/SocialAndEmotionalWellbeing", - "title": "Aboriginal and Torres Strait Islander Health Check - Social And Emotional Wellbeing", - "description": "Social And Emotional Wellbeing sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", "item": [ { "extension": [ @@ -339,6 +336,7 @@ "valueString": "age" } ], + "url": "http://www.health.gov.au/assessments/mbs/715/SocialAndEmotionalWellbeing", "name": "SocialAndEmotionalWellbeing", "status": "draft", "experimental": false, diff --git a/fsh-generated/resources/Questionnaire-SocialHistoryChild.json b/fsh-generated/resources/Questionnaire-SocialHistoryChild.json index 765fcd3b..40fa6c06 100644 --- a/fsh-generated/resources/Questionnaire-SocialHistoryChild.json +++ b/fsh-generated/resources/Questionnaire-SocialHistoryChild.json @@ -8,9 +8,6 @@ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" ] }, - "url": "http://www.health.gov.au/assessments/mbs/715/SocialHistoryChild", - "title": "Aboriginal and Torres Strait Islander Health Check - Social History Child", - "description": "Social History Child sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", "item": [ { "extension": [ @@ -355,6 +352,7 @@ "valueString": "age" } ], + "url": "http://www.health.gov.au/assessments/mbs/715/SocialHistoryChild", "name": "SocialHistoryChild", "status": "draft", "experimental": false, diff --git a/fsh-generated/resources/Questionnaire-SubstanceUse.json b/fsh-generated/resources/Questionnaire-SubstanceUse.json index 97649dca..4b84cd5a 100644 --- a/fsh-generated/resources/Questionnaire-SubstanceUse.json +++ b/fsh-generated/resources/Questionnaire-SubstanceUse.json @@ -8,9 +8,6 @@ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" ] }, - "url": "http://www.health.gov.au/assessments/mbs/715/SubstanceUse", - "title": "Aboriginal and Torres Strait Islander Health Check - Substance Use", - "description": "Substance Use sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", "item": [ { "extension": [ @@ -542,6 +539,7 @@ } } ], + "url": "http://www.health.gov.au/assessments/mbs/715/SubstanceUse", "name": "SubstanceUse", "status": "draft", "experimental": false, diff --git a/input/fsh/715-AboutTheHealthCheck.fsh b/input/fsh/715-AboutTheHealthCheck.fsh index a866b675..b867b315 100644 --- a/input/fsh/715-AboutTheHealthCheck.fsh +++ b/input/fsh/715-AboutTheHealthCheck.fsh @@ -4,7 +4,7 @@ Alias: $UCUM = http://unitsofmeasure.org Instance: AboutTheHealthCheck InstanceOf: Questionnaire -Usage: #definition +Usage: #example Title: "Aboriginal and Torres Strait Islander Health Check - About The Health Check" Description: "About The Health Check sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." diff --git a/input/fsh/715-AssemblyInstructions.fsh b/input/fsh/715-AssemblyInstructions.fsh index 1a649e26..8139e964 100644 --- a/input/fsh/715-AssemblyInstructions.fsh +++ b/input/fsh/715-AssemblyInstructions.fsh @@ -4,7 +4,7 @@ Alias: $UCUM = http://unitsofmeasure.org Instance: AssemblyInstructions InstanceOf: Questionnaire -Usage: #definition +Usage: #example Title: "Aboriginal and Torres Strait Islander Health Check" Description: "Aboriginal and Torres Strait Islander Health Check assessment form." diff --git a/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh b/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh index 06c950a2..974b298f 100644 --- a/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh +++ b/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh @@ -4,7 +4,7 @@ Alias: $UCUM = http://unitsofmeasure.org Instance: AbsoluteCVDRiskCalculation InstanceOf: Questionnaire -Usage: #definition +Usage: #example Title: "Aboriginal and Torres Strait Islander Health Check - Absolute Cardiovascular Disease Risk Calculation" Description: "Absolute Cardiovascular Disease Risk Calculation sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." diff --git a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh index 01a150a8..0a1da183 100644 --- a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh +++ b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh @@ -4,7 +4,7 @@ Alias: $UCUM = http://unitsofmeasure.org Instance: AllergiesAdverseReactions InstanceOf: Questionnaire -Usage: #definition +Usage: #example Title: "Aboriginal and Torres Strait Islander Health Check - Allergies/Adverse Reactions" Description: "Allergies/Adverse Reactions sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." diff --git a/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh b/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh index ee54ac15..d72019a5 100644 --- a/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh +++ b/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh @@ -4,7 +4,7 @@ Alias: $UCUM = http://unitsofmeasure.org Instance: ChronicDiseaseAgeing InstanceOf: Questionnaire -Usage: #definition +Usage: #example Title: "Aboriginal and Torres Strait Islander Health Check - Chronic Disease Ageing" Description: "Chronic Disease Ageing sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." diff --git a/input/fsh/715-Assessment-CurrentPriorities.fsh b/input/fsh/715-Assessment-CurrentPriorities.fsh index 1b41756f..27e61c14 100644 --- a/input/fsh/715-Assessment-CurrentPriorities.fsh +++ b/input/fsh/715-Assessment-CurrentPriorities.fsh @@ -4,7 +4,7 @@ Alias: $UCUM = http://unitsofmeasure.org Instance: CurrentPriorities InstanceOf: Questionnaire -Usage: #definition +Usage: #example Title: "Aboriginal and Torres Strait Islander Health Check - Current Priorities" Description: "Current Priorities sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." diff --git a/input/fsh/715-Assessment-EarHealthAndHearing.fsh b/input/fsh/715-Assessment-EarHealthAndHearing.fsh index 2e16816b..6bffdedb 100644 --- a/input/fsh/715-Assessment-EarHealthAndHearing.fsh +++ b/input/fsh/715-Assessment-EarHealthAndHearing.fsh @@ -4,7 +4,7 @@ Alias: $UCUM = http://unitsofmeasure.org Instance: EarHealthAndHearing InstanceOf: Questionnaire -Usage: #definition +Usage: #example Title: "Aboriginal and Torres Strait Islander Health Check - Ear Health And Hearing" Description: "Ear Health And Hearing sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." diff --git a/input/fsh/715-Assessment-Examination.fsh b/input/fsh/715-Assessment-Examination.fsh index 2f903a6a..1bd9472b 100644 --- a/input/fsh/715-Assessment-Examination.fsh +++ b/input/fsh/715-Assessment-Examination.fsh @@ -4,7 +4,7 @@ Alias: $UCUM = http://unitsofmeasure.org Instance: Examination InstanceOf: Questionnaire -Usage: #definition +Usage: #example Title: "Aboriginal and Torres Strait Islander Health Check - Examination" Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." diff --git a/input/fsh/715-Assessment-EyeHealth.fsh b/input/fsh/715-Assessment-EyeHealth.fsh index 823c3167..109f6dd0 100644 --- a/input/fsh/715-Assessment-EyeHealth.fsh +++ b/input/fsh/715-Assessment-EyeHealth.fsh @@ -4,7 +4,7 @@ Alias: $UCUM = http://unitsofmeasure.org Instance: EyeHealth InstanceOf: Questionnaire -Usage: #definition +Usage: #example Title: "Aboriginal and Torres Strait Islander Health Check - Eye Health" Description: "Eye Health sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." diff --git a/input/fsh/715-Assessment-FamilyHistory.fsh b/input/fsh/715-Assessment-FamilyHistory.fsh index 0b9e5510..4f19a242 100644 --- a/input/fsh/715-Assessment-FamilyHistory.fsh +++ b/input/fsh/715-Assessment-FamilyHistory.fsh @@ -4,7 +4,7 @@ Alias: $UCUM = http://unitsofmeasure.org Instance: FamilyHistory InstanceOf: Questionnaire -Usage: #definition +Usage: #example Title: "Aboriginal and Torres Strait Islander Health Check - Family History" Description: "Family History sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." diff --git a/input/fsh/715-Assessment-Gambling.fsh b/input/fsh/715-Assessment-Gambling.fsh index d6e4b467..3271aa06 100644 --- a/input/fsh/715-Assessment-Gambling.fsh +++ b/input/fsh/715-Assessment-Gambling.fsh @@ -4,7 +4,7 @@ Alias: $UCUM = http://unitsofmeasure.org Instance: Gambling InstanceOf: Questionnaire -Usage: #definition +Usage: #example Title: "Aboriginal and Torres Strait Islander Health Check - Gambling" Description: "Gambling sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." diff --git a/input/fsh/715-Assessment-HealthyEating.fsh b/input/fsh/715-Assessment-HealthyEating.fsh index 0e08cdda..01741978 100644 --- a/input/fsh/715-Assessment-HealthyEating.fsh +++ b/input/fsh/715-Assessment-HealthyEating.fsh @@ -4,7 +4,7 @@ Alias: $UCUM = http://unitsofmeasure.org Instance: HealthyEating InstanceOf: Questionnaire -Usage: #definition +Usage: #example Title: "Aboriginal and Torres Strait Islander Health Check - Healthy Eating" Description: "Healthy Eating sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." diff --git a/input/fsh/715-Assessment-HomeAndFamily.fsh b/input/fsh/715-Assessment-HomeAndFamily.fsh index c6682464..97a23d24 100644 --- a/input/fsh/715-Assessment-HomeAndFamily.fsh +++ b/input/fsh/715-Assessment-HomeAndFamily.fsh @@ -4,7 +4,7 @@ Alias: $UCUM = http://unitsofmeasure.org Instance: HomeAndFamily InstanceOf: Questionnaire -Usage: #definition +Usage: #example Title: "Aboriginal and Torres Strait Islander Health Check - Home And Family" Description: "Home And Family sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." diff --git a/input/fsh/715-Assessment-Immunisation.fsh b/input/fsh/715-Assessment-Immunisation.fsh index 73593d71..1b12aea3 100644 --- a/input/fsh/715-Assessment-Immunisation.fsh +++ b/input/fsh/715-Assessment-Immunisation.fsh @@ -4,7 +4,7 @@ Alias: $UCUM = http://unitsofmeasure.org Instance: Immunisation InstanceOf: Questionnaire -Usage: #definition +Usage: #example Title: "Aboriginal and Torres Strait Islander Health Check - Immunisation" Description: "Immunisation sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." diff --git a/input/fsh/715-Assessment-Investigations.fsh b/input/fsh/715-Assessment-Investigations.fsh index 2056bd30..3f57b94c 100644 --- a/input/fsh/715-Assessment-Investigations.fsh +++ b/input/fsh/715-Assessment-Investigations.fsh @@ -4,7 +4,7 @@ Alias: $UCUM = http://unitsofmeasure.org Instance: Investigations InstanceOf: Questionnaire -Usage: #definition +Usage: #example Title: "Aboriginal and Torres Strait Islander Health Check - Investigations" Description: "Investigations sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." diff --git a/input/fsh/715-Assessment-LearningAndDevelopment.fsh b/input/fsh/715-Assessment-LearningAndDevelopment.fsh index 0fa8609a..b27c0589 100644 --- a/input/fsh/715-Assessment-LearningAndDevelopment.fsh +++ b/input/fsh/715-Assessment-LearningAndDevelopment.fsh @@ -4,7 +4,7 @@ Alias: $UCUM = http://unitsofmeasure.org Instance: LearningAndDevelopment InstanceOf: Questionnaire -Usage: #definition +Usage: #example Title: "Aboriginal and Torres Strait Islander Health Check - Learning And Development" Description: "Learning And Development sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." diff --git a/input/fsh/715-Assessment-LearningAndWork.fsh b/input/fsh/715-Assessment-LearningAndWork.fsh index 1b2a0a8c..b8894d58 100644 --- a/input/fsh/715-Assessment-LearningAndWork.fsh +++ b/input/fsh/715-Assessment-LearningAndWork.fsh @@ -4,7 +4,7 @@ Alias: $UCUM = http://unitsofmeasure.org Instance: LearningAndWork InstanceOf: Questionnaire -Usage: #definition +Usage: #example Title: "Aboriginal and Torres Strait Islander Health Check - Learning And Work" Description: "Learning And Work sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." diff --git a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh index e8d173cd..999ccbdc 100644 --- a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh +++ b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh @@ -4,7 +4,7 @@ Alias: $UCUM = http://unitsofmeasure.org Instance: MedicalHistoryCurrentProblems InstanceOf: Questionnaire -Usage: #definition +Usage: #example Title: "Aboriginal and Torres Strait Islander Health Check - Medical History" Description: "Medical History sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." diff --git a/input/fsh/715-Assessment-MemoryAndThinking.fsh b/input/fsh/715-Assessment-MemoryAndThinking.fsh index 166f1c53..f2628237 100644 --- a/input/fsh/715-Assessment-MemoryAndThinking.fsh +++ b/input/fsh/715-Assessment-MemoryAndThinking.fsh @@ -4,7 +4,7 @@ Alias: $UCUM = http://unitsofmeasure.org Instance: MemoryAndThinking InstanceOf: Questionnaire -Usage: #definition +Usage: #example Title: "Aboriginal and Torres Strait Islander Health Check - Memory And Thinking" Description: "Memory And Thinking sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." diff --git a/input/fsh/715-Assessment-Mood.fsh b/input/fsh/715-Assessment-Mood.fsh index a9043869..644998a9 100644 --- a/input/fsh/715-Assessment-Mood.fsh +++ b/input/fsh/715-Assessment-Mood.fsh @@ -4,7 +4,7 @@ Alias: $UCUM = http://unitsofmeasure.org Instance: Mood InstanceOf: Questionnaire -Usage: #definition +Usage: #example Title: "Aboriginal and Torres Strait Islander Health Check - Mood" Description: "Mood sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." diff --git a/input/fsh/715-Assessment-OralAndDentalHealth.fsh b/input/fsh/715-Assessment-OralAndDentalHealth.fsh index 42358445..8090c1af 100644 --- a/input/fsh/715-Assessment-OralAndDentalHealth.fsh +++ b/input/fsh/715-Assessment-OralAndDentalHealth.fsh @@ -4,7 +4,7 @@ Alias: $UCUM = http://unitsofmeasure.org Instance: OralAndDentalHealth InstanceOf: Questionnaire -Usage: #definition +Usage: #example Title: "Aboriginal and Torres Strait Islander Health Check - Oral And Dental Health" Description: "Oral And Dental Health sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." diff --git a/input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh b/input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh index dd2810f7..e5396924 100644 --- a/input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh +++ b/input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh @@ -4,7 +4,7 @@ Alias: $UCUM = http://unitsofmeasure.org Instance: PhysicalActivityAndScreenTime InstanceOf: Questionnaire -Usage: #definition +Usage: #example Title: "Physical Activity And Screen Time" Description: "Physical Activity And Screen Time sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." diff --git a/input/fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh b/input/fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh index d3f6ab6f..c04ab7b3 100644 --- a/input/fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh +++ b/input/fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh @@ -4,7 +4,7 @@ Alias: $UCUM = http://unitsofmeasure.org Instance: RedFlagsEarlyIdentificationGuide InstanceOf: Questionnaire -Usage: #definition +Usage: #example Title: "Aboriginal and Torres Strait Islander Health Check - Red Flags Early Identification Guide For Children" Description: "Red Flags Early Identification Guide For Children sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." diff --git a/input/fsh/715-Assessment-RegularMedications.fsh b/input/fsh/715-Assessment-RegularMedications.fsh index 9c7fb64b..0e56f0a8 100644 --- a/input/fsh/715-Assessment-RegularMedications.fsh +++ b/input/fsh/715-Assessment-RegularMedications.fsh @@ -4,7 +4,7 @@ Alias: $UCUM = http://unitsofmeasure.org Instance: RegularMedications InstanceOf: Questionnaire -Usage: #definition +Usage: #example Title: "Aboriginal and Torres Strait Islander Health Check - Regular Medications" Description: "Regular Medications sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." diff --git a/input/fsh/715-Assessment-ScreeningPrograms.fsh b/input/fsh/715-Assessment-ScreeningPrograms.fsh index 82dd2d7f..c0fb3750 100644 --- a/input/fsh/715-Assessment-ScreeningPrograms.fsh +++ b/input/fsh/715-Assessment-ScreeningPrograms.fsh @@ -4,7 +4,7 @@ Alias: $UCUM = http://unitsofmeasure.org Instance: ScreeningPrograms InstanceOf: Questionnaire -Usage: #definition +Usage: #example Title: "Aboriginal and Torres Strait Islander Health Check - Screening Programs" Description: "Screening Programs sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." diff --git a/input/fsh/715-Assessment-SexualHealth.fsh b/input/fsh/715-Assessment-SexualHealth.fsh index 19d2a815..a72b5fcd 100644 --- a/input/fsh/715-Assessment-SexualHealth.fsh +++ b/input/fsh/715-Assessment-SexualHealth.fsh @@ -4,7 +4,7 @@ Alias: $UCUM = http://unitsofmeasure.org Instance: SexualHealth InstanceOf: Questionnaire -Usage: #definition +Usage: #example Title: "Aboriginal and Torres Strait Islander Health Check - Sexual Health" Description: "Sexual Health sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." diff --git a/input/fsh/715-Assessment-Skin.fsh b/input/fsh/715-Assessment-Skin.fsh index b7546513..2df99f14 100644 --- a/input/fsh/715-Assessment-Skin.fsh +++ b/input/fsh/715-Assessment-Skin.fsh @@ -4,7 +4,7 @@ Alias: $UCUM = http://unitsofmeasure.org Instance: Skin InstanceOf: Questionnaire -Usage: #definition +Usage: #example Title: "Aboriginal and Torres Strait Islander Health Check - Skin" Description: "Skin sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." diff --git a/input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh b/input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh index a2c9ce71..bed3a244 100644 --- a/input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh +++ b/input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh @@ -4,7 +4,7 @@ Alias: $UCUM = http://unitsofmeasure.org Instance: SocialAndEmotionalWellbeing InstanceOf: Questionnaire -Usage: #definition +Usage: #example Title: "Aboriginal and Torres Strait Islander Health Check - Social And Emotional Wellbeing" Description: "Social And Emotional Wellbeing sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." diff --git a/input/fsh/715-Assessment-SocialHistoryChild.fsh b/input/fsh/715-Assessment-SocialHistoryChild.fsh index f9b7465b..41f1d8ea 100644 --- a/input/fsh/715-Assessment-SocialHistoryChild.fsh +++ b/input/fsh/715-Assessment-SocialHistoryChild.fsh @@ -4,7 +4,7 @@ Alias: $UCUM = http://unitsofmeasure.org Instance: SocialHistoryChild InstanceOf: Questionnaire -Usage: #definition +Usage: #example Title: "Aboriginal and Torres Strait Islander Health Check - Social History Child" Description: "Social History Child sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." diff --git a/input/fsh/715-Assessment-SubstanceUse.fsh b/input/fsh/715-Assessment-SubstanceUse.fsh index f68d3100..e2d835b4 100644 --- a/input/fsh/715-Assessment-SubstanceUse.fsh +++ b/input/fsh/715-Assessment-SubstanceUse.fsh @@ -4,7 +4,7 @@ Alias: $UCUM = http://unitsofmeasure.org Instance: SubstanceUse InstanceOf: Questionnaire -Usage: #definition +Usage: #example Title: "Aboriginal and Torres Strait Islander Health Check - Substance Use" Description: "Substance Use sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." diff --git a/input/fsh/715-Consent.fsh b/input/fsh/715-Consent.fsh index 9c4ea94f..f9db9f6c 100644 --- a/input/fsh/715-Consent.fsh +++ b/input/fsh/715-Consent.fsh @@ -6,7 +6,7 @@ Alias: $UCUM = http://unitsofmeasure.org Instance: Consent InstanceOf: Questionnaire -Usage: #definition +Usage: #example Title: "Aboriginal and Torres Strait Islander Health Check - Consent" Description: "Consent sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." diff --git a/input/fsh/715-FinalisingHealthCheck.fsh b/input/fsh/715-FinalisingHealthCheck.fsh index 8ed90a0e..250f043d 100644 --- a/input/fsh/715-FinalisingHealthCheck.fsh +++ b/input/fsh/715-FinalisingHealthCheck.fsh @@ -4,7 +4,7 @@ Alias: $UCUM = http://unitsofmeasure.org Instance: FinalisingHealthCheck InstanceOf: Questionnaire -Usage: #definition +Usage: #example Title: "Aboriginal and Torres Strait Islander Health Check - Finalising the Health Check" Description: "Finalising the Health Check sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." @@ -405,12 +405,10 @@ Description: "Finalising the Health Check sub-questionnaire for Aboriginal and T * language = #text/fhirpath * expression = "%patient.id" * linkId = "40e3933d-77bb-40f3-8609-0c38ebb4421e" - * definition = "http://aehrc.com/fhir/StructureDefinition/AUPrimaryCareFollowUp#CarePlan.subject.reference" * text = "recall-subject" * type = #string * item[+] * linkId = "fece6a3c-f8f1-4592-a166-5ea5a3c60c8e" - * definition = "http://aehrc.com/fhir/StructureDefinition/AUPrimaryCareFollowUp#CarePlan.title" * text = "Recall" * type = #text * repeats = false diff --git a/input/fsh/715-HealthPrioritiesSummary.fsh b/input/fsh/715-HealthPrioritiesSummary.fsh index 496b173e..98215512 100644 --- a/input/fsh/715-HealthPrioritiesSummary.fsh +++ b/input/fsh/715-HealthPrioritiesSummary.fsh @@ -4,7 +4,7 @@ Alias: $UCUM = http://unitsofmeasure.org Instance: HealthPrioritiesSummary InstanceOf: Questionnaire -Usage: #definition +Usage: #example Title: "Aboriginal and Torres Strait Islander Health Check - Health Priorities, Actions And Follow-Up Summary" Description: "Health Priorities, Actions And Follow-Up Summary sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." diff --git a/input/fsh/715-PatientDetails.fsh b/input/fsh/715-PatientDetails.fsh index f4fa8ede..2b890038 100644 --- a/input/fsh/715-PatientDetails.fsh +++ b/input/fsh/715-PatientDetails.fsh @@ -4,7 +4,7 @@ Alias: $UCUM = http://unitsofmeasure.org Instance: PatientDetails InstanceOf: Questionnaire -Usage: #definition +Usage: #example Title: "Aboriginal and Torres Strait Islander Health Check - Patient Details" Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." From 9f0e3b3cb167016b4455696ce45f7982a1d78f5f Mon Sep 17 00:00:00 2001 From: liambarnes Date: Wed, 30 Apr 2025 16:38:23 +1000 Subject: [PATCH 065/177] Guidance material and capability statement updates --- _build.new.bat => _build.bat | 0 ...iginalTorresStraitIslanderHealthCheck.json | 159 +---------------- ...bilityStatement-SmartFormsApplication.json | 32 +--- ...ntationGuide-csiro.fhir.au.smartforms.json | 11 +- input/fsh/capability.fsh | 36 ++-- input/fsh/terminology.fsh | 6 +- ...artHealthCheck-PMSIntegration_20231025.pdf | Bin 734415 -> 0 bytes input/images/SmartForms_SolnSum_HighLevel.png | Bin 58139 -> 0 bytes input/images/architecture.png | Bin 0 -> 283878 bytes input/pagecontent/index.md | 3 +- input/pagecontent/informative-guidance.xml | 19 +++ input/pagecontent/reference-implementation.md | 8 + ...t-health-check-application-integration.xml | 11 -- .../smart-health-check-integration.md | 161 ++++++++++++++++++ sushi-config.yaml | 3 +- 15 files changed, 234 insertions(+), 215 deletions(-) rename _build.new.bat => _build.bat (100%) delete mode 100644 input/images/CSIRO-SmartHealthCheck-PMSIntegration_20231025.pdf delete mode 100644 input/images/SmartForms_SolnSum_HighLevel.png create mode 100644 input/images/architecture.png create mode 100644 input/pagecontent/informative-guidance.xml delete mode 100644 input/pagecontent/smart-health-check-application-integration.xml create mode 100644 input/pagecontent/smart-health-check-integration.md diff --git a/_build.new.bat b/_build.bat similarity index 100% rename from _build.new.bat rename to _build.bat diff --git a/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json b/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json index c7dbccb5..9efca075 100644 --- a/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json +++ b/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json @@ -168,38 +168,9 @@ "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", "valueCode": "SHALL" } - ], - "documentation": "**SHALL** support `create`, `conditional create`." - }, - { - "code": "update", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ], - "documentation": "**SHALL** support `update`, `conditional update`." + ] } ], - "conditionalCreate": true, - "_conditionalCreate": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, - "conditionalUpdate": true, - "_conditionalUpdate": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, "searchParam": [ { "name": "patient", @@ -267,38 +238,9 @@ "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", "valueCode": "SHALL" } - ], - "documentation": "**SHALL** support `create`, `conditional create`." - }, - { - "code": "update", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ], - "documentation": "**SHALL** support `update`, `conditional update`." + ] } ], - "conditionalCreate": true, - "_conditionalCreate": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, - "conditionalUpdate": true, - "_conditionalUpdate": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, "searchParam": [ { "name": "patient", @@ -408,19 +350,9 @@ "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", "valueCode": "SHALL" } - ], - "documentation": "**SHALL** support `create`, `conditional create`." + ] } ], - "conditionalCreate": true, - "_conditionalCreate": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, "searchParam": [ { "name": "patient", @@ -475,27 +407,8 @@ "valueCode": "SHOULD" } ] - }, - { - "code": "create", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ], - "documentation": "**SHALL** support `create`, `conditional create`." } - ], - "conditionalCreate": true, - "_conditionalCreate": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - } + ] }, { "extension": [ @@ -549,38 +462,9 @@ "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", "valueCode": "SHALL" } - ], - "documentation": "**SHALL** support `create`, `conditional create`." - }, - { - "code": "update", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ], - "documentation": "**SHALL** support `update`, `conditional update`." + ] } ], - "conditionalCreate": true, - "_conditionalCreate": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, - "conditionalUpdate": true, - "_conditionalUpdate": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, "searchInclude": [ "MedicationRequest:medication" ], @@ -745,19 +629,9 @@ "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", "valueCode": "SHALL" } - ], - "documentation": "**SHALL** support `create`, `conditional create`." + ] } ], - "conditionalCreate": true, - "_conditionalCreate": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, "searchParam": [ { "name": "patient", @@ -823,27 +697,8 @@ "valueCode": "SHALL" } ] - }, - { - "code": "update", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ], - "documentation": "**SHALL** support `update`, `conditional update`." } - ], - "conditionalUpdate": true, - "_conditionalUpdate": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - } + ] }, { "extension": [ diff --git a/fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json b/fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json index 017139fe..77a0f213 100644 --- a/fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json +++ b/fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json @@ -65,13 +65,8 @@ }, { "code": "create" - }, - { - "code": "update" } ], - "conditionalCreate": true, - "conditionalUpdate": true, "searchParam": [ { "name": "patient", @@ -108,13 +103,8 @@ }, { "code": "create" - }, - { - "code": "update" } ], - "conditionalCreate": true, - "conditionalUpdate": true, "searchParam": [ { "name": "patient", @@ -171,7 +161,6 @@ "code": "create" } ], - "conditionalCreate": true, "searchParam": [ { "name": "patient", @@ -196,12 +185,8 @@ "interaction": [ { "code": "read" - }, - { - "code": "create" } - ], - "conditionalCreate": true + ] }, { "extension": [ @@ -227,16 +212,8 @@ "interaction": [ { "code": "search-type" - }, - { - "code": "create" - }, - { - "code": "update" } ], - "conditionalCreate": true, - "conditionalUpdate": true, "searchInclude": [ "MedicationRequest:medication" ], @@ -300,7 +277,6 @@ "code": "create" } ], - "conditionalCreate": true, "searchParam": [ { "name": "patient", @@ -336,12 +312,8 @@ "interaction": [ { "code": "read" - }, - { - "code": "update" } - ], - "conditionalUpdate": true + ] }, { "type": "Practitioner", diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index d46a3139..509ea31a 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -557,6 +557,11 @@ "title": "Downloads", "generation": "markdown" }, + { + "nameUrl": "informative-guidance.html", + "title": "Informative Guidance", + "generation": "html" + }, { "nameUrl": "profiles-and-extensions.html", "title": "Profiles and Extensions", @@ -573,9 +578,9 @@ "generation": "markdown" }, { - "nameUrl": "smart-health-check-application-integration.html", - "title": "Smart Health Check Application Integration", - "generation": "html" + "nameUrl": "smart-health-check-integration.html", + "title": "Smart Health Check Integration", + "generation": "markdown" }, { "nameUrl": "terminology.html", diff --git a/input/fsh/capability.fsh b/input/fsh/capability.fsh index 9e76cbdc..c0169942 100644 --- a/input/fsh/capability.fsh +++ b/input/fsh/capability.fsh @@ -1,4 +1,3 @@ - Instance: SFLauncherServerAboriginalTorresStraitIslanderHealthCheck InstanceOf: CapabilityStatement Usage: #definition @@ -81,6 +80,7 @@ Also see the [AU Core Security and Privacy](https://hl7.org.au/fhir/core/1.0.0/s * rest.resource[=].interaction[+].code = #create * rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[=].extension[0].valueCode = #SHALL +/* * rest.resource[=].interaction[=].documentation = "**SHALL** support `create`, `conditional create`." * rest.resource[=].interaction[+].code = #update * rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" @@ -92,6 +92,7 @@ Also see the [AU Core Security and Privacy](https://hl7.org.au/fhir/core/1.0.0/s * rest.resource[=].conditionalUpdate = true * rest.resource[=].conditionalUpdate.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].conditionalUpdate.extension[0].valueCode = #SHALL +*/ * rest.resource[=].searchParam[+].name = "patient" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" * rest.resource[=].searchParam[=].type = #reference @@ -122,6 +123,7 @@ The server **SHALL** support both." * rest.resource[=].interaction[+].code = #create * rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[=].extension[0].valueCode = #SHALL +/* * rest.resource[=].interaction[=].documentation = "**SHALL** support `create`, `conditional create`." * rest.resource[=].interaction[+].code = #update * rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" @@ -133,6 +135,7 @@ The server **SHALL** support both." * rest.resource[=].conditionalUpdate = true * rest.resource[=].conditionalUpdate.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].conditionalUpdate.extension[0].valueCode = #SHALL +*/ * rest.resource[=].searchParam[+].name = "patient" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" * rest.resource[=].searchParam[=].type = #reference @@ -183,10 +186,12 @@ The server **SHALL** support both." * rest.resource[=].interaction[+].code = #create * rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[=].extension[0].valueCode = #SHALL +/* * rest.resource[=].interaction[=].documentation = "**SHALL** support `create`, `conditional create`." * rest.resource[=].conditionalCreate = true * rest.resource[=].conditionalCreate.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].conditionalCreate.extension[0].valueCode = #SHALL +*/ * rest.resource[=].searchParam[+].name = "patient" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" * rest.resource[=].searchParam[=].type = #reference @@ -215,13 +220,6 @@ The server **SHALL** support both." * rest.resource[=].interaction[0].code = #read * rest.resource[=].interaction[0].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[0].extension[0].valueCode = #SHOULD -* rest.resource[=].interaction[+].code = #create -* rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].interaction[=].extension[0].valueCode = #SHALL -* rest.resource[=].interaction[=].documentation = "**SHALL** support `create`, `conditional create`." -* rest.resource[=].conditionalCreate = true -* rest.resource[=].conditionalCreate.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].conditionalCreate.extension[0].valueCode = #SHALL //MedicationStatement * rest.resource[+].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" @@ -244,6 +242,7 @@ The server **SHALL** support both." * rest.resource[=].interaction[+].code = #create * rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[=].extension[0].valueCode = #SHALL +/* * rest.resource[=].interaction[=].documentation = "**SHALL** support `create`, `conditional create`." * rest.resource[=].interaction[+].code = #update * rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" @@ -255,6 +254,7 @@ The server **SHALL** support both." * rest.resource[=].conditionalUpdate = true * rest.resource[=].conditionalUpdate.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].conditionalUpdate.extension[0].valueCode = #SHALL +*/ * rest.resource[=].searchInclude[+] = "MedicationRequest:medication" * rest.resource[=].searchParam[+].name = "patient" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" @@ -333,10 +333,12 @@ The client **SHALL** support this method." * rest.resource[=].interaction[+].code = #create * rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[=].extension[0].valueCode = #SHALL +/* * rest.resource[=].interaction[=].documentation = "**SHALL** support `create`, `conditional create`." * rest.resource[=].conditionalCreate = true * rest.resource[=].conditionalCreate.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].conditionalCreate.extension[0].valueCode = #SHALL +*/ * rest.resource[=].searchParam[+].name = "patient" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" * rest.resource[=].searchParam[=].type = #reference @@ -378,6 +380,7 @@ The server **SHALL** support both." * rest.resource[=].interaction[0].code = #read * rest.resource[=].interaction[0].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[0].extension[0].valueCode = #SHALL +/* * rest.resource[=].interaction[+].code = #update * rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[=].extension[0].valueCode = #SHALL @@ -385,6 +388,7 @@ The server **SHALL** support both." * rest.resource[=].conditionalUpdate = true * rest.resource[=].conditionalUpdate.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].conditionalUpdate.extension[0].valueCode = #SHALL +*/ //Practitioner * rest.resource[+].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" @@ -590,9 +594,11 @@ Usage: #definition * rest.resource[=].documentation = "The client supports the AllergyIntolerance resource, the AU Core profile and the conformance expectations for the AllergyIntolerance resource." * rest.resource[=].interaction[0].code = #search-type * rest.resource[=].interaction[+].code = #create +/* * rest.resource[=].interaction[+].code = #update * rest.resource[=].conditionalCreate = true * rest.resource[=].conditionalUpdate = true +*/ * rest.resource[=].searchParam[+].name = "patient" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" * rest.resource[=].searchParam[=].type = #reference @@ -611,9 +617,11 @@ The server **SHALL** support both." * rest.resource[=].documentation = "The client supports the Condition resource, the AU Core profile and the conformance expectations for the Condition resource." * rest.resource[=].interaction[0].code = #search-type * rest.resource[=].interaction[+].code = #create +/* * rest.resource[=].interaction[+].code = #update * rest.resource[=].conditionalCreate = true * rest.resource[=].conditionalUpdate = true +*/ * rest.resource[=].searchParam[+].name = "patient" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" * rest.resource[=].searchParam[=].type = #reference @@ -645,7 +653,7 @@ The server **SHALL** support both." * rest.resource[=].documentation = "The client supports the Immunization resource, the AU Core profile and the conformance expectations for the Immunization resource." * rest.resource[=].interaction[0].code = #search-type * rest.resource[=].interaction[+].code = #create -* rest.resource[=].conditionalCreate = true +//* rest.resource[=].conditionalCreate = true * rest.resource[=].searchParam[+].name = "patient" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" * rest.resource[=].searchParam[=].type = #reference @@ -664,8 +672,6 @@ The server **SHALL** support both." * rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-medication" * rest.resource[=].documentation = "The client supports the Medication resource, the AU Core profile and the conformance expectations for the Medication resource." * rest.resource[=].interaction[0].code = #read -* rest.resource[=].interaction[+].code = #create -* rest.resource[=].conditionalCreate = true //MedicationStatement * rest.resource[+].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination" @@ -677,10 +683,12 @@ The server **SHALL** support both." * rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-medicationstatement" * rest.resource[=].documentation = "The client supports the MedicationStatement resource, the AU Core profile and the conformance expectations for the MedicationStatement resource." * rest.resource[=].interaction[0].code = #search-type +/* * rest.resource[=].interaction[+].code = #create * rest.resource[=].interaction[+].code = #update * rest.resource[=].conditionalCreate = true * rest.resource[=].conditionalUpdate = true +*/ * rest.resource[=].searchInclude[+] = "MedicationRequest:medication" * rest.resource[=].searchParam[+].name = "patient" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" @@ -729,7 +737,7 @@ The client **SHALL** support this method." * rest.resource[=].documentation = "The client supports the Observation resource, the AU Core profiles listed and the conformance expectations for the Observation resource." * rest.resource[=].interaction[0].code = #search-type * rest.resource[=].interaction[+].code = #create -* rest.resource[=].conditionalCreate = true +//* rest.resource[=].conditionalCreate = true * rest.resource[=].searchParam[+].name = "patient" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" * rest.resource[=].searchParam[=].type = #reference @@ -760,8 +768,8 @@ The server **SHALL** support both." * rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-patient" * rest.resource[=].documentation = "The client supports the Patient resource, AU Core profile and the conformance expectations for the Patient resource." * rest.resource[=].interaction[0].code = #read -* rest.resource[=].interaction[+].code = #update -* rest.resource[=].conditionalUpdate = true +//* rest.resource[=].interaction[+].code = #update +//* rest.resource[=].conditionalUpdate = true //Practitioner * rest.resource[+].type = #Practitioner diff --git a/input/fsh/terminology.fsh b/input/fsh/terminology.fsh index 3fd91a16..b0ca0f7f 100644 --- a/input/fsh/terminology.fsh +++ b/input/fsh/terminology.fsh @@ -745,9 +745,9 @@ Description: "The Australian Pronouns value set includes values that indicate th * ^expansion.contains[=].version = "5.0.0-ballot" * ^expansion.contains[=].code = #unknown * ^expansion.contains[=].display = "Unknown" -* LOINC#LA29518-0 "he/him/his/his/himself" -* LOINC#LA29519-8 "she/her/her/hers/herself" -* LOINC#LA29520-6 "they/them/their/theirs/themselves" +* $LOINC#LA29518-0 "he/him/his/his/himself" +* $LOINC#LA29519-8 "she/her/her/hers/herself" +* $LOINC#LA29520-6 "they/them/their/theirs/themselves" * DataAbsentReason#unknown * DataAbsentReason#asked-declined * DataAbsentReason#not-asked diff --git a/input/images/CSIRO-SmartHealthCheck-PMSIntegration_20231025.pdf b/input/images/CSIRO-SmartHealthCheck-PMSIntegration_20231025.pdf deleted file mode 100644 index 2bfffb17568c80c5410faccc38fb3b0d168f7b8f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 734415 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�LjgGU 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�Mn_H7?x>Ixz*wn`l}K<#}A#AJ=@+ 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 j%!Y`kjWTrB;C5`8ekC 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

3`bTbRUa;$7sMCPOZU7AS0JXkM)9Tb2;5|fe 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 diff --git a/input/images/SmartForms_SolnSum_HighLevel.png b/input/images/SmartForms_SolnSum_HighLevel.png deleted file mode 100644 index b24563ba8f150f87eff82c0931c823776549e470..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 58139 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ⅈHNX?xCg*pne2dUwO5l}S=8CAsUyGu*M zApOG&jTdpewf86?bIHCAC0l>ya@66Wj#LYR?!voesS1?rk2c_bw0_7CeCs)Kgr9rm zxizhI(PO<9>cLX@tEbC(6xjr@g8zx%n=J!eCuShfPkJzuq8E#E;yqUH(RExMk1$pd zFf=USzoUCKsWFx{Rc=1*d=%nnZcSY`_gz-Ms*9#)khBGAT2k(-uYp2Eds}4ZaX(Od z55o(4O7wzyoTF*D#DaBi4I1x0Yu0g3vEsoYjM$g%4ENCO^F_0|6dWtHb_y94*i3xS zp5t8CFGwv6tg@>kW{=_;e5GkTM+H+2^9X>0}(YM*P;OdsME z3>RoMx5JwnEim#&Yr7}g?CBhAzG3o?I3VKj{AbSuYrm$D3}K(>IqO_|FBm5E6e=#| zr22s3w#-P=QOWKw)4HS+PlGug7cDUdr2{HxGrS0KO#}K`1<;adP+r`PTP;C+qz7s4 zmqqW6pmLEb|C49ZDOeAs+3cjG4I$E4lo!{|mIV^o_fwi|sl}$P_5zQH;g%K7^IxoM zOwr67Z3^$}u3FrE=his^JB>q~w7cC~hypcTGAi;T4$dV;O}{MPfP2EJ7gOdvvaK0v zC+%Q)W95c?ur@RN*8M}RY{f;%tvYp~sHa8Z>R!ihf?7hG`cBt-ZD(~5{=MFvH4%?& z?#@qD6V5EbheUtC+t(*&UCt!F{)pfi^}Og@tVCaL!^4TV(0e{Q(Ly+_CCq}pWtbut z^CY*Ma?>vR;Kv!ylihJ&u)=-Hs_zM3DeWq=~Nhi8KG`Etio z=pXe|-xsqlnkt6Gg!wjbvzp6+#@fmSQ%RjKR3P5aZ;;z=BvgOv;sEFhIhy%@3KZTd zR#^9XDA-sqFR3U$c%(__;oSRSOLE#Wj1a!;&jdKzqGWd?!pS37nrb90Z#pG=vvW)R zP+A@O>4V!2>zb^J?&BI19sgTgN+Y00L8IPUmHn|QuNMAwWL$PvZygI>o^=XSE(DY(WZYV{<+!M@~`)6g1h zzV3%EH|55@t{OW2g`u;K0YmOvWb#7f%PCd;`I~JFEnH7h+pj;poS$B1bkm{eLw-R! zg0<5*wbCM3^4@&xvm0Y0mc^c{I=5=52&l2Eg&7^>Fxz@Q@*P0%QipDYXFWx^zZ0yu zZQ|^#7*Q>ZpsXy7lI>2t-ROCC2odHZkcn*^kkU9WTmo`Egjrl>e^r=Q!OoBMUSaiG zH%&QqmkP^t8)Don(E{$R=uHM2@63-aKje~k{rLO6!!_M*&7KF@iUJ})dR4GQ_U-vF z_a#HL>q1d)89W^huuHw}X*+Yap$?`>7yF<5OkM^@$ z4f{$;TDKO3JAgVjS4eP2vX;a$g^G~M<~?kJFLUX!ezqb^-jqN9rlrh209_8x!p zFs0a`%HT<-dSjJIZdnQFiloXf-F1V?|IDE96Q2nUG!b$f#){-7J8;pUC}Tmjj82XY z%#I#a?UT0_v?@H%2#UeFSKK~eOZR*d_5m=6f~s^MX;?={&QN_8sw=lH(J0d^KX1r* zU4*-YUbvJ0Mzz5ItS3iPB%if}G@rUPF6B29QuYT@J~EWYIWLoTKF$^$g)R?_i0@l+ zbtmw|azX69^X?U%HVtvd7{k)C&M<75RloeooRMt`!cm+ z1OCuKF9WS?x6x`=pZy_noW^T6wQwtIpaq*GZiJQ|Exm|#g{lieCl0E(o#C=xoD;P# z8?WJ&@9H1zUYNQyyZuqGUsDvh`iiGPRe+FH(YX_Bhp?QM>z}+5Mm2eYCoNuz$*q3ec zS~om)6{$Mrm3C!($S)-n6fl)a7WB6uLqN~;Rd1+vT3cy1YV-5c5BRcIj;!656M{A9 zdJu1

CNJ*j4Ec^@K}ls7s!q?jIkm!{uL-?aIqSuyb)3uO^4%mI-Gk%4R+guc;vN z9PZ4G3pno<9S}_|j`M33$1m>@eu53(FDFs2~uM>hShPD#(R70+-2ccO$QI349EHcx^8xy@k*9yp9IiUh{nB)+g;kD`9f)8==-%i=aFw;Z8P;B{n1P)#kN~ybXkN^z&a`S^E>*RUfnw( zC)W)cJ4-m$lxLKOqP(i#naJfw8?hO7iwuJHiT99A?SVP&nTxcrOEfymE%zH<84kI? z8^L?}heazzLR;KQn*<;A3lAo42Bj?*SAzjAszgO1$l%gHNZ7B9Hc@!ojj{yYq6kj= z0Il=FI@$9T@yaptH*A+VrfszJWUWh!FHeZc&BU!xBe2-|f$A134XIy(>YUiZqYp!6 z4Jj9qknJusEW#3bSK?r#*u@1oWsg#;KQ3(Nl8QIs&t7|@c$cx7*P!>|UI<*SHCyZS zcDbJV=uPdF2dHz+)z)eB=@+422$(dB>8U!4nl-(=LhCCt^y&QZ{f5GQCthrwH`ziy zp|F9iXAS+AOs)eVlEg4m?<5t4=4V2OGE%lIxXBmOl;1m$c<6ptWuoP)cP8PIs)}IA zivlC9{m${Zyg9Yms8FBee$}UF(7)=z0eLHsh8lK_m0!8$eR~i0)%2}%xeR{x2t0s3VZDbC3)|x zqu-47)8pP${E`NFw4i)mM5|AHM59;1-+IM-GwfzkNZV7&#$7+qO)dzSNnW)qz&&dXAViCQX zQzQM;P`hiL7@JrN2f0jmYd3u#SQD=g<-)oA+L<9dNPeEi=HBSItc2nNJ8LNCkU#tG z-M*$DRHn!g_bv`3mKTNMS}R_u%^&&!C74e&PpFfUZ>0U?XSYTRy#q2t<(HIeh?*daY;^~;oVihF?#Hx%HcL>1$C)si&%n~kX&mG>XX;f zgQNpo)^FHX`F4*2D3XgVfqQdv=C0NRJt?IQ$u<}>W4S=~)>MlvOe+QTgU$v0)ue*c zN2sy>>SFxEpfOhgHQk_kiuD=V3C$B~a}IXvuR(>3dYYm#bmrh)Za#VgV0nMU5J!H( z$I)(gVpV=hd=wRAe^7cy$0g=juT6C`+!P%jD(DiRXKux_3K37`>|bpY^D1Ts*0!G= zlqChyEehGV=ke~O)}|Y1(8%pJzBl?i>FE>#8y0kiBE*gSJ?EO+bM*j6)=kqaLdy!Y zgBo9Qh+}Q4wK&J+Qg%e`2eXSEeo>r1D=M;!Tq!NAQEr4u1|HSGG=u4}k*^uyZP_JI zo4S1XgAs1K=k^cH1&*i`)w|0*K@EC7RaIxsiz3c@jh;Fvy_|XP1P)relq)Wgy?qL8 zuT|d$l6$)cZ+4w-TlPWghXD7NqR*i2mmY_|PvNLRqZOb{`2aVU--pTgOD<4JgacMWOzKP82+jSpc9DRqEg9uO1aqLDr z1j%m>(>R#v_15WA$ORvo_>};kLlM4kbXMpGRI|K8H;R5@Xy%F7upGS&c!oE$1N5V?u)ymTw_=iD(v|_pP8Vn#hS*4YO%%Xa1?D+;iiBUS>@7TBw z_v7DP?x&0C8%j^o4jOID<5+D$I3{WCz$*$0BZi9J#!#Y$0hK_f9JHh!gfti;f2q)F z0jR@$AiYkKVo=IvgDfF2Y2THge*CxH#6kPH6)C!2G@ow=!x6!`xhz|s{IPFzXg#%=K*e*HHmCn32%37F^ z(MhB4qYpY?qBZI+O9Uxl7p{~-tIClAE&Abie(pw>oVI%=)E3-Dv-z#vUL}7Jy(7N z=6JX3wkW&=3Is^j>Uza6sS}VPLvgzbozm1Zy|y>T6lZDCjC!(=cfveWiFuQ zb~;B}LwzhZ;C6_-BP{@J@B*Q4a{S$%Vm58WNj2^6+RV;CL&7~!1r` z=mkZ^lRE(MLOt4qo`h{UU0UJP7@*fN)E?(3csFxPOIt^L*V}?fP=Fcia5R`?KuV+m zN|SG`SIIg?skCSlfDZWW7d?hCl+Eve??R?fn&| zwC3wBCn=(i-&+z`qdeDbnFD^gB!X3xTIwSeg+yZ*g&ttSeB5 z&iF@5NFJI*ExJSm4HT^++?Rkz++;UrR3pVAA|TD+UQL>PdwkHvbsiRwtL6V)t~MOp ztaAARR3+5;A=uZST_qmXpM}@=o%veLRE2}=3H|s>rv2Oh)7VqG>}mi z6|m&WYtULt!aO>e%3@rhgH3OckhS5d(@(Uh)VB;V@6H@JRBvHz{=U-kMkkuR{9;j$ z>?r7M*GN@Yh0%jm3oexwfL0v4)BL4tJ7`*Q8~fVJ3t}_-4cbfYY9oV4i&^u486MG? z>c2>YL91S2Q?d$Pb*LAamsuQYucjFP%r6$W&ZuNoQq_`!9%**i`uiRP7ek6f?{(>P zz(Jvp4%Bti6;HNo&0`Gh_ z1M7fB04F;@D53)Qnv4qpe&>D%=%iX&UORdc5Eg2c_$#&&5ld_qKj#|Krf+c3F0$My zSP}P5+@Yf)%=shbf4<_^NPml> zU@GzzsIqyAuupHpf}DJ5$`PbG%JZSO4Y{lZFjlKqg&o-T?mz4TTUJJrM1fBv%2}c< zeX|(QEy|nx0KuK2OYuHotb@|02$i-e65|ifDFp1YisVd9KUIXKB#oTk0je`*ps#hj z7@3rZFOM}2IRLsaF{aPXc@S<$S%w^yBi3#!S3+R9kp^$8Zf14Ay5$3v;UHzK1VME9 z9oGP{@J5nz!S;a^(GGRMyRsGDbgUTom?O$-oo;Xc^szyGtb;oPiBEjm2^6b+$APL% zP7q~6n2Ub_J=4XJ4*X&bS247YSX z6a<{P_fk1oeYe(g`}fg>QZLX|YCy#GkOA6rS}{Njj=po|zTpC#;wff~M+TG$8~PO= znrpqRus_X!>Qc0KGbi38MmGg&2{>h|So2?319N-q1ED;iwJZGSq&KtxjgdTDd65Vl z`JhlP_kd(Lw`gk*sLMUVyT^bY}wt5K3GGx1-dCY&)&6ixo&Uqmx>GXpbSM3$Z4ZWEm_=iogSGzp(TdI%HnH zf}nxi(9bJ5$r*aT6%@O!yWF6`jP5mHf(DK7eREeE)dP-hJRsy&2X56birL8aeE(&U z2TOK*Je+?K-{TfBw1Dq7NbH{uC@7mF560hL>(U__ywg1k2~ra*Mgc@Bi1bJUWi>;F z-W9H27JVN;RSc-u-pRWn{_K$ZsD1H~fL&FFhr{c@s_M_RzuoLw27-d9S}$Hpgl(2;J2-ae0}Re$e-|C z1~PeY?YTEB0KW4=P?^1So&FtP&wC8w^Hr|7I%=I&)Wl2sU}Y~rY(D&n0* zyCBTRPk)}NTvH6~s8G*D!Bl)c5{M4wv1-_5FzNU_J9tXctGrVZTG2;-!> z0Q5XNI{>*Z5s>^!jplLx#ODD#X8u#Zbwq$?-17K7=Rx~AtOp9$F4`811}$l9=c+b% z9j`0{M!cd%Wy7QqS3~rebRoa+2Xa5P10HkI{I$nI?;OXEMY*q&usV;=c=xm{N>^|g z@S3WxTnDf(QT>Wocrg1~J9h>^`khaExo zO|yFSlVcp{;2#|5sxc06?(fjQcNVk<$M+?;^uAIKZj-ex;pe`rJ$PVypFe%SK3=>2 z*mMeWno{Sn!N#DPRkr~|JEnOEF$YkT+jthl42+J-ZD!L8Ficw+ zv@D>3rgK>!(y(brea?vLAf$OSH6}s{CHtl_x zWqtF`vDD6lTp@>#uYKqd!31l;nD||lVyf-wz)8p}R-WaRFQe=l>!%ZqN6mYm?fmpA zfBQgn*n7yc&_RsOtyPRJp@t+n?unuN z#BuOExX&odn};()H4R?#Z(}!yC=p#Bwp-?}F-$PqTRgD)b^0!Qt#!QQLX<~4x5b)^ z(%HZ_exMH|tzlU8kC4XCF(Y`ua^+i=3Xsc%OHHx&UtHRp&UZnYm-JH9p~k*kzrBnS z?aY6|eyBB)4t0Q8_p{}1sn-|cgBtq9Q2jd{5SehVA9{1(}i_6q=}b7HKnEdgRWmqyTX`y!m{>I{SUjdf#9H2MMYQw*^Kv|E1S zPU%&9UsNEu39WA)5Y-TAG!G;jRL%;vpFtUV-5IjB=j0@U#GbjDk&SDCQ;(VF8K;4#_z^CwT~WDoX4GeMUVK_SR-= zwB9k+C17odw|u1%08^lxvTaF`BimW)MF@TUR-d@i(5lt+V2;C?fVWq@>RtevGLJXe zfD>X-rgL6K6#+_R<016wrVK zPPBLX5L_o=n0aXR9e@@~^^4e&+QgShgn*Pyicl?6$1N4sTaxo;&JXkEuC}R7(~B}G zl)AWd4zv+&%_KS&1$%2|-D;M~UqNgPVcie&i?x2B9M`_TS8%`A+`bHHJq;a{90lEb z&M7<8>UKasheOLvpDJW>^$|SqFGJZ>1PLCyD}H8xPTWa9*5GR+C)^LXqg23Wt-9{ibVZ|79ss|ZgIkUFbR{Pw8$Iw= zXannM>9fX8MU!S1?J-Id>Sup54=mFe4CO8FPPgNC`UMl~Dzh}5qYCCPS<^!MQTS)P z<)^x_(K;IN=jlP>Z*OK5v-8yMSd`Z1+@eH6bwM<;*jy~U9Su+f&CnOCs@dTvtH37! z+~}=~FD+#uJ{UIIgjjC_5^?)EsrF_1o3%J7Mx~Y4!lQrW#J%DQH_*RR>c`e)B^fqQ zy-#9q%5mAPf__SC(7u>nzO{Y%z)@Hd0D^y-8PY^^bHC z-ED^Uab2W|mOCZO(NiV19E;<8CO7O58RC!t#9o9KHBO7lia;kk440yK?++(3}EnHKv_vfdd7et;GlV>k+!wgL_dQk9b;S{&6VrK9ldQ8zON%vw2exdrm)ShBnsNK3W`%Z|vZH zSt3*7@DKz5ea%a1$wFw`gSAyTmBFAyKvhN0=?2^OB3g^=9y9^vd5Aw6qgzn>*7y|< z)e_5-RAtbd3lISfvDB4AD0ajiTdd0 zlBx!;xPSU^L*4L+z)D>ew$P~jU|hnf;Yd4_W;XJ0Zpe-3NusdqM?@vZnv&BmcSQ}1 zHrVM7k9fKacO?1&o^qm=S~1`T*62T|Eh!3($pQNe{i>zXp-$VKrRSdhf_AkIZYcU- zIht>Q?4&=;f5D#jRn_9CTxJ5@$-?Y2A?YnES-_g9y!B z{8HYZ`P-A*(9x!w4_xm+?+n_MnG|}X6|sbJ{8MFt8#-yVr1gR9_a!$V=<7B*q#wCI z#Ck`xObOplq*!Q&Puehc8)G#dLmS1aANu=EuGTUi5G9Y^X^PyJ&9Z+DsuJMLTD)>w zjX)`}T{rG{s%~g){S_09r0OdvV4F{)=TVgB*}g1yqu93j+4nT>7I@D6!DiG9EBG38 z%PxBc81Sy{-FJlYsYKF1vVAmm>*7$fymDn6K0G=CIC(cgYqiBA=v6`2O*)c))D?VD zx~|qCpgp;$KBX?@)tQAuaY-3`u3S{hRAef<{VS;kXOw~=#fE+)Tfy$U^QHM7s;uT- z3Gq`&*lxklouBqjVaNp%o=^_f65d;O6u=rmq7&5R4}|Kabtj9 zbCAHw@VDF?NMm(F{%kbZ+R=~so zCAF4(Cx{)4dlj~a^9*wPnUrdo1%}B*3Xvun4j|rlWxQ2=(cS1()al%v-n~Qq?Rmwk zr|%|(5YM~y7@k`F_CrhgIhk!#O5%>@sw1*0RqkV>HC)A@!A^V?ScHn*xRkYV?rG12 zbWomKD%WF_`;zI&UM*WUqeO zaasVekYlhWxBI0b@o=Fqe-z$WcMNK=a9+{Tka__SF*xx$ejrNV-&-2UP+~MHip0Q;=S-O_+OdOK@;(#7&08G>CK1 zIc4edQ+7^SD+8Z5Z|(tf=~QuZP=tIEvCf9Gwxcppz1c!3z5u-%2*4ia;_M{wbFglzcoZ<04#q$@?^tA5lj>kOe0B)Zco=cFujVBFX*D`>oYu?w^|7acw1cBUqAYlCgokVyDoffn6*b zopNsH6z;P8AA8>&j&=Y39U*BLg(Ok3L-vZ0mA&^!_TEI9sqC_{N3!Cw_ZAVdXI4Zu zsjLv5^V3cB`yJ2kdA`pd&wuwn_t9}5uIu`I-s2pv^L4&XlQvfB-&xiF)b6zMQDEhW z3oxR69;Nc+_LI{EzyT*J;hM*}rIX6aR6dD53IUVMs2^gDJC>(LjE8K}EW?C)+$L@@ zsX5*KP_OghXQaSgO|l(e$c|1m1+GAYVUg?F>@e(yHQ#Er!$4Qs1WC?E#+*GLznRkN zTsJm3h$2y?>PX|kaYCg)n7Vp-=e0lG+FOvbes8|F1u0?#zt)dvgOCD*5e}7RvUEBis{#Oh{W$uOllM~q zI^zX9x{F8uLy!WY$r-%rka?q~>zbATu3mKI%(;F5i+?c>3vqA#>;}%R$#JaHw%#8R z?uV+nKBijk1ZOKRu`0twtrGJYixro_bXI|{^~as-(N2_GERvniL2PcM)$_^3vgwA| zymhp-Q?^8`ii6J8tHT@+$)Khsyi|)U!uWe)ez$d7@mo2S zi&;cbCMC>wF~1yqeR}Hy(sv1c$n-efV)%x6&Ym8L?vPRruNr6`=_NRw2Wnc#kFh_i zl57mCVv#=G;CZSVxbTB{dbhNoPc^(1Nf`RlWf(MH&YeilQ6bbu==FgfsFiyqGnqa* zlF;nvP3F|EunCM-u9;u>0HhFwfHQWLG4KDJyEXdl9r-6f3PewG+nxgOp37bB?I)7; zQ#(fm*MwVI640l-7@7ybm`3w&kBs*}$pXa1`9Nv+LD_d%ExZSP)Nz*g0NZgiVcW@( z{RuxHqm}qVH-ojv*4=V`O>`fSL%0E5XoF+dgr`3~sR7l^>{9~b}6*gpX#|Vx( z-FxCx^7Uazh#gj9EpqAT#hLHT&zxMH({W|4{wloXx=y|7{7&J)J_Lkp2`)KBxg{g& z%%-%*mWiJqK#r+%koo1Yh&(4(UF|(9TA^WeSGuG0_B#_e?vLWfR(_*}7m+T01hyL3 zfgR<<%q`}~=c4k9- z2Yl<@w`H=|tM6!)nlCA1HWrV6LpmutAFbzJQ1;mS32jiN&>ESt@ZIf%=#smq(A!U0 z_Q)dcU4TXG609J`bPVo1J=i9Z<6+g89?T$S@I6vZ*UpvBxsrVqhNW#Z4}Ko`T)x0ZF*^u1!MBViZy|QzNfqd~$00(PraV zg~PbHe$I8KYgV^BdPIq1N}1J0i=7Gu0-tOY2eVy-|`bMAYK;u)~GJqPI zF^8O*QRuUa4(`Ns+*%Sli9Igz`VUiAc3?=Su^JdKYLI z_Dq1lcAgOQ?HJl@0znANo|qT1? z9IP!IcM?v|5*GO{qTc31k^9wS=9a-O!5Ij*jJ|Me@FNs--Y2|5;Vjk`8Fv&y&Q^2J z{Sh=>3Yz1c&aoci>Hj!s8gHQ zxlT?$AQQ;W9{7m%=hAbT+UChW1)|&Oe6El88?g>C$>+-*-{(=E4|O5>mrZcI=v!V- z-dk8)k>o-G73opasE{To?^NcgzT8^q%P_^v-XFJd%GKjt_)ghH#|jFU zh{T!Fm$|B3d)3+p7!@yWV&8|zh4u3P)tiot5mi6jwvS^s3p%vTk7p+r9aGb?$nKufSYJqFWZ4)^cS9|vt?xKG|4Reoxyycj6q#X1#ag zgRqqWh|-erOZweo#|S82Hs*cpfZzFxJQsM@C9$sHql@thfI+sA0`?;yqW22ia^4+p z&EKdEwlAV{6Hi=mRHgDZhtFi6{N`|kZzW>_U|(|Vnbgr=pkXXhgJ~F_uV6WhR1FdN z9WlNa#)rv>ATN}@B*kyZpE~-IW8SuqsXtk}%5@an%FDoKIIehv96f!pAcRjulXi4R zf8ixK4!~LtDL>bd22T*8!DITa_xj=2N<0NXU}64*`R}tsfhP-|z*hJ3Z!?w!C{+&i z+peRh_a=h2x&ic?On;PCG7&W)r&n`FY>Vd#5W|qHsK*{v5Ec+Tm26Lt@#uDQ>e1Gs9J$*Mi7$r@wcWFm|aSYuFmb%n>eeA+vfXGS@cI*|IRMFwr zQjoz)r@bQ2{EJM-jkfAwS^Z_{W?p6+l_O%35qg2x{8lO4se zEqTWn{tLc51(iY4Iu@71-|>z|>X;f&`?Qa?n}QPIhow@QVI3|ky0O_GREPT z79y9N=s_gs@BDR`7!KmDyY!JH3WWwdN2{9y*Ws78#K30rEZN5XE>IeZz+MMAUh6n| zj(%*s2pJhQdHkb~q`*fsmQ_Z4j}Dok9(-hZi-qw};l|q#tS7X zj`s06KHMp`-ca`Ahfl6Z3A@IjBP4qCkwB!NRiI{e?)OLB;Uh&8?~0F<#=;PdEfkl_ zq4pH47gTeL&Sq2`?VO+(!flZd?>&9^r?)55fcCUlz$!lujuOE=8AdReBF(Y`Ru{wVJRj zRN21q!9+0SQ2>SpP_8>n)xdZ`c^>Qse{@`&n1t}22SjK!O?FW^NvMwV1LHVz-XGFglJM&wnwLK z$bFb3i~hEFE<(ojgj_6pD>MljyRE%?Uc9q`D(Wm$lI3X{DYHrXP9)C{-$cRVji~up zmw&>FyP@x+rJ^MCj5{}7L$=oY#Yt1XX?#jCcEW~$;TNvxv4JC|=Z> zRIA&GM5IJs zpn2qMI^`0UA?1idX5?&+f=+APMK{1+G!FJbz|K}Px*U#-f4IZ#KkJ1JH#_(kiy?md zxkDvjyinL;d?7_?6<9G9|EZ2-t3W;18A6xvqE6oTzX!mDJ8(&7Gjm6Px);qpwiC)Rvh;~d11LrnpDVsPaovM01r74M48 z`YfSQ;Y$Y4tqOqG*tMsJm?pt&z{ZhW7~azXoU&^-Jy9%X}-v;rwguY+o`c#Y2jrD4rTp@@WwH zLjg>&;EP6-VnMdS6HoxQ0%qp6Z}LC^qPj-Pi1{1q#0F5 zsQs1^;27&qtTW6YGFA$tw)7+qAi*JGL%ah|Mv*hJP51+>dk#=SWR5}Y$;S$6zT22D zXF`EgPsl@u`R8g}qkvyQZ#k&Ng!R&Jph4Cv40)Gl<$x14Gis;*1W7Vj5#*uJLuroR2)7{V;iL|i>UtseIj>lu{or9e&~w)HSnx|NCJYt6s=^^ zhoWhun`5ewP1A>SeEOB>#~TpPG@6P=xB$Vt1PJAoz0luqPs_4ERD??D^shUagAQu! zg-)v<$8|pDXmLS%@sK%Vz!DxU=)VM_{kMRRy3eBh9Q8jU_}(|r!OHYpwYdOCK)?8E zTNS8WB1-JqW>7EkFR_^r_-nb4XaO`SCz)(OI1KcxOiGBFoUqTsrEKy##9CotO+}Dv zzrX?4-for&xy={AOg5T^as>f+c|#L_#%drd(jCe~xy3fM+s&%Ft}}lv*Ln?V)r88O zd1*JsSMWUSx9Cd=l0T>T4pi{sg1F%x{xge!A_(rGesK$_7+jSLIey>2%ah_?YeE(f z|J2vLODwcaJZQ~?$Nzf_lRjiCd$iD)KRnJdi0xCrLO-Gvjem;k@HY88LVg#yR=?#S z^8CEgwfgdVg1>JP_OFJo*7b{>M-PEIHqoWu)IyHjSG+X8wXgai7b2#R{rAK8;Squz zb`Jpf-(v;9BkOwAJque9jz3x=b+p=~#(>aUey~IolK69<8j&YQ{1g63cnf$VAl07! z>j|old6HB0J?5r4+{k?Nhqs;*QhMUSMhZn-?QDF?b5A}1xw{Zm?eai4b%pl*pH5Lc z)B9-q0+Q*c?Edprxc&F=1&Z#k=s(>fq=~2EgVD-~(|=D+@Dgl1^>s^uRmaca=w33wcB!*`KY`p!5xS|H52Gou(zxLV zDXzl$Qu?G`_@^IA5E_Rb={E;)Bn`qz}MpwF8EXmJ*t>NuT2x0PoXjs@3-P(x17Q_6Hjxc<+=1S$m?eBh)A-T~Az|bDUW(94)&vNA@161J4 z3%)CI9|eG3g3=I~H)CiiUjI+O9a^;G$Y7)ae&i(?7GiB%Z;<)qjcuT%VnOp*r4j20 z{^R?vo`-BvxE)9I(|=-tlGk^)f%jQN!e%U@?6%Sb`7kf1`;H^RFSKCxWmuxFU)`(h zaWFVCPsgAl41y)-)p$`;m(T-Ih!OAsBS7Pq@Jb6mBImZrnttwa-ZG?Oh>jiMamy1Z zpva(#QE2-+Ke>3naD8QTsMy>E6tDf}up%y29jn_ipqa(`V?9{l2S|@+$%Xz$R{ZO( zMfXQS>xH(~-KFnjlGpOQJ}gJ{8f=y=%mEEo$H4kw)4^7yN= z2xj&oxc*mmC{>)!!BNmH0$4KK|FUGe9;)?@FoL8+G>{0BHf{4dLr!s+ zj(sbYGc*Q&2w=!ne;}kCLk}CDk;Rw!E7JKD$_fg?uN)UHxk1{=i1FDTG4IsyD+WFt zt_2uIOE-@FxG{vrPg(X5r0|v@-YNrX5r%aSLT-h@7X`q%Z-gEz12R76>kn37E{g%= zAxb@6xX>vY2hx`%R->F>`A?B}?k(w!f=;%M<2a(B4)RAR^%v-OaXgSnFP#?=FGd>4 zau=ZC7zw=&$ML8&ZTjZkApWeI+`F}g&?`Z?!nMzQFtcD#&(j_0a3!5iwLJOt!7Z)5 zI~GUB*}EEPAeNS!z7)*naHoe`Os5Ulx5naRP7(Y-m1m^qZFzVv(7L_}`v>;dz4m;N z&QG?yl%>-4xl#MXdeB(mi)2*U0@D8pdH*}4|5M9pKqc<=4@@JZ>!}KneWibMV*yxg zRSD4k@8n^9Vfj*HUM6X8aO^OG<+Q4IvLzXBB(4KlH=F(Y7tnrx8pkk%lnWu% z>Rg*9j!=2>ZTel+v22%RRZ2#+Aw-(HhZ{uw%dD1=X8D{SDM=PHIjU>cg{{;tb1B)- z)6j)#lW_Uh<&myD$~U`R2S4TFc%8Denq=E@1)tkRjt};+{<-X8$Q-Dc#KsC|li4uy zG6t8KAw5qkw<~)dwe@J3iKaK(1>GCD0#gOVw@d_5I!P3iL{&2d1do1o)J)OH#W>4 zdQAc^d9X87S7{Y=u;qDBCR#EEY93?U`>k>wy(#wP+n3KcAthhh zy$=Sv=-a8Dc5ytvuH*`VT`wS^(yESyMEe#iCxC4E$ z)Nw)4MX&BDvyI0L54`g~?SjwVQ(4KeSqxt112A?OI*T2Ktt)1TNN?V^6?2O-?!Qej zzqJNP%C9*w6#<&~0&eT`v3YY1%>>xIxfiol`iXvrlN3vcx$A4>9-3{}R5${9<>1l0wrn!= z(V*5KsOy45N5RDE!wG#~b;3mD`dF~^1>w>WIu-V5rjj2Z_x4XH`^qlU0bSi`kn1-) zQ{&fM(YScJ@d~=LKoZhQL4vFrV^+OS@OAAa>usWGo(BH&i-v1mjX_8OHHxvd(z5qtR2)Xuk zcF95Bgh8465Y!lfy;X!>*5~cqjbCHE#=GYFWcg%XFzZ=Y#es113uHLfrjz#bIE>}o z?6FH!HBbI|Sme2}Nzpb7KDN`wvrPvv)3I5<&J~W35%rr8_dk}@r4Vbi+8jW;M7DHa zYOGyA5cf{_a6qB|9QRG&7uyf0s5LEI3n)Y`i1fuzprvzj<$UwtIt!S@ob}ZSJ!=?Z zR4n>yo=$v`M!IxNu`wejH9y}LqWcpXI54M|;C(TDobK)OREyQTVL0yo=Qg2r#X>D`rM`ncOs1c*mv&FiTBPVKn{F+BM)1r^==p{C2r^4N6!Oy zhqqAydaVIC`iMq}>q|{{=u3Caz~>K-grZ5n4ndY$UgG*zmCGt;ZGq4uEW!_o8x304 z6-|D=X_Ap`CSANC5aubbTMVK!To=vKtDw%H#{NJ@pUO048JZ)Rc6zG{Rg;YM)1ViH z6|g^^h1BpcRjH^x09I205^@#MU>AyH!&o%LK;NH>Qs zO@440ljFOwxQcMQZ}%FOrl2;YhYd~2sLvU}90N0qUPq-1&p?L`RNo0a!{sS;mHZ2L z#I&HPUPdIBXj}v#wpwBVkoSz6G;Aa8RAbBfng-X_PP%2K=&F&s0gFn{`DwRO2h=4n zg7%GPxT4FP-bXS-E!umK-tYSE>iYQ*WVMR6ey7i?jEc2ta}Io0O>l}f~b^5FSO&|MISXcE4&oOYNcc^{?f3v*K7}0u|)l?z;b&fNovty{|AL&HC~Vm_tdrHgivcUE(;_ zacy>s!FJ0m$F_luq6m-_N>Bh{YjV zfJO7x_g0Rc{5WWYwSZ)j<$j_Xd0cwZ!1}wvl!i>4m*#RSH#ho~>_KgQMoJDfl_Tbn zC6P&`@%8ckO}k4wDO=!;riGWFW9BoIqr>kt1(5Jn*r%h!m@GzSqHRQC7D9~)8C2UF z*8-Vq@q#a?ps5AobT5`kpO0Fx|8C$8g;*}?z}WO++0tgmhrCHJw65}77dT@t&1YLWRBn!^?zMIhukRA0B+w!+t!e#FRa6 zhk9V>wP+ug#a#&@fd;_ORS^$%e`FTwRuUkzl4{zMVprtMvt1yte#t;4JjbUdooY}( z{T&`@&`ug6-dO>SYVFU8ks$-()WTJPa@TN+9Dll#u)m?gzXnITF|}y;JDQtBY;izg z%-K6!Pb;^(JEW%2wlMt*FAfk(>7#63E@-(yUZPyfG=E&L@5#KD$xiy+NO~1Z|3Y(l zF4fphQPB)U7M539CMm_H!Av=~w27oRCKo3+5Wi(}O{32m(O0JPwjM3*NF}33&67}N ztL1g7iRxv2$k)H!#+iwC34J&>dosv3@$WP3kDO^^(#~NA=f)^Q!g2N+g0C1h{BjMA zVDQJRv?}B4#paN`-byH|vkO$JZ$opA^vJ!9uGhy>=Q^`+lao{E+&0{-^rTqP`gqT7 zyfiD$+rc_TUqR940p8IbviCUDg9YpkURC$deZXVR2Xpd6SSq6DTUJ=|zV+FL{>ErC z>-pxZ@#p50x<&?g-PQ-vqIAuFR=QmyYPyUjkhJnG#n}x5&!}(uvnivsvACUBn>v{6 z^n(GeH;&U`v@P^4J|Y@RaSt)mZtO!(TF2-EQ15w`!891`ogksHWN2O)47!(+>?MJT z;i30cpOoZUQ#)zz7+*5ECbIa#_F?|8hrsG+Sy$@iUN%h}h87oo20Iv{~h-UQb=Qbc<06zXX_kN6kdBRdtOytIb~C~sK;r( z`_1XMvg0BOoaYDzJ<8cx2{NH3PnTntid)QXjctzj|O$#U;Jg2>EFFeShW-LJ4T)W{Q!%VG2MEAuzG zwArDlZs{VAu+B)koeI9oXc?~foHn~!DecA}S3Xn4XM(lnm_$z~-k)NViGeuI0d;Q( zNyAc1Hnc|#ujb&W$Hr2|OkNt`Xe?jBx1IVYDBBu`>WAXpX=la6`MAQJrz0@n55&b~ zotsfL3W}o^=&~q=yj|%BMIPpNt$MfxyaiQ9r?%o zb8Evw(a{0t1S2-|S!~&MkMUoV8R1tN{E~m_oDnQbNE(x@G}=@IZ5%fdzsWQt-QghI zgs2?1=WQ^u1ox|;#iDylV{>n8qv&dp&O7v~yW$bSB*W!)ujXA@++MI!m0@$2i4ZR0Bc?wx|3l9k`@n00n9*Tz5WI3l)ltMfv2{L$8TH{(IBVx{wLY!l~X9qhe+@| zg_~-Q7^=CG&Q>ZSSY{zzCa&FB8 zE?2v*Nte+26}nZ2?_A!n{OHrHjaSrwA;-6tv$@hQM^&u38z-ydUU3%!c2>7_Q;iaH z6>ljK%n_KW3WZr6#dMd=eWvzcqV0#B!LDs3x>wtFZWtWqBpv~U0r|=2n-KyR54)}s zF->CYbIFK-;&*^e-wa;$k~yvKwFXm1_G+?o2Enp0eUAr7Rx<#R$c@#wpSG$0Sqc| z$F4*dfJpWk|4E763ft8j4vst^v-qnrIR2#mOFK3)e=Rh5^oRTX6>+9DZ( zB~T_-cyw_AM0LzTUZhD~&};o1L@k@*2BL`ARl<@)yL5YYOF*2?9%`wuEHkaP209gE zM(wx%oCU%99%(R$NnLp@}>HY{?_H&f=x28`;2pq@EdQu+W1T;o5SGxioZ4dHM zdw@BklTR`#;2Uwo{s1q?ZXmmLfvv-sXiaa?$vULabsxDl-8TJdjbKeCVg)X_ulLOE_jI@}UpJlL zCGLGPuC8`Pv?(8fLJorqbP?pbgrohwE*hiK(s^+~VFPlRb_h&`n~(_22Ay8o3*!!UbM~>80A01q;bFJC7UKon-F`kC zelE?|`1QG$R#F#z!{T<~gUw}@xw?6*k-U535n8*+_|>uKlA@XcMHpk6YMq+|7Jqxj z7Aa&o7|{Po@jjQ#r=LezrQ`5+6X$a5MjAH+L}vOG!lC0ZfRp^LquT}myK~73DI)%< zfp_#IhlqPjfbigv$DD5A)gp9)?0lY$N$t70w(Rw$*ou6Ry-x3P3mOBl1^K)32nvA& z>8#Gn>PmX=a(jl(Kfw6$u=HKv$O67#gv_(>S0&{!WKAS=210m7IdnlP7>F$6LxAn> zC=oAxPNi&HB)Q=B0+l}CM<$V13c?6fNM)@*OGQc&B)L1g>o$oBPuP*o z!L{(s&wU1rr8Y>;;^l%=d)&s#?d+i>Lvm{gbS@a6^*;hYSI%?&p|wxC<|O3mEFOtR zIGwS2^W-oueMHelZB4LoP>FvZs&q2G7WeMBtfkTEa*!3)<`A7TUXdO>!!Zm z@!^V~O1zfa^($R-vmJ3D4y*MUw9mF4SJ#>$c@LY}=m<@)YzDVn{fg7f!)FE9zb_Ho zr%%!v&xp`GnGMg5$moTUr^F>b$ihzm;fBE53it{|eXmz#_KbE|Hvr4(Smihug=4)a z*B5qurXayC^GwIrG==B_Y;E@fZOZE23S(WF)ygR87n?&&G<+Kg1V&En7s(!i^JunH$<@}l2(+tP zSYN=4MS$FpRR2?y=w5220Q)#wlK>L6vrPx|L)5OsW?v0J%d`Zg!429J6vyL&hB{E; z>mXGFI#(+fu`{P$Wkt6G7fb<-qCqdsKRI|NvX;adhfxE(oO*zi7v*x*SC592`(Pr0pQ1 zy&SZs-DM53+c`NWi>8T-jedAGpp1K!LhYfK`>}2=b1N>nfVM2}LTc*9vVEb_1f7B^ zUoP`iQ)TM6fV3+gy# z8HJw!`?iAWuOX;A&aN;KS{S4OY-T@VmT?Ep(G0K>sdelm23_!;d}^92O5bHt%Z<-# z9N2vgbj<1k65>~7dkg7Jta zi6^p17Jz_A58)TbR3=Uic;j#g6)$?KmzWO(kwboIB^IPYt_coAu>J~QQhXQ$Y_8b(x$1a-S@Q}Bl0_IT4JWXqmnf8CBJX@OJL3jG6#t5YD|tPGQO zDQ4bBb+y|{sNUPc~ZX%NGL4L{hzM3$u0$GXJ3PBBI%|NA&MbL0&WIB zS;iSuX`znzgnZ?%C-?UIl{Sks4wH5kqa){z2{E4puRLJTlu_Ty&$eXN#!tQPokd>g zHU=uG>*98W(R-q8sJwTmEl=D!_*n!3RWuVrkTZ33vGW$I7u>s3M-I|G)aJ@{5b{RN zO%T#6KQ{>BX?_`c-^3VbzxGhXZ-dMuHlqg|R4ammA}M4p8=95>oQELI6YIZfE$1bX z<9-U`uLChjQ~dXF|6s{;cpxkZ1u$kDfJ zL%64~O-LQOM-YS)W<*7S)MX2R+}78hU0@N0G>IFEpd=_+Y=hnFu zP9a;M1i#8FO28KbcfG?`^Tkm9a2o+d6k=m&ed_@|q;{C=j0C9et*E*TL%elQe*>ae zeY3=N>VPAb<3*yn5}{Tf;Zj{mjyk=;Qr(6LC<#YF35qF^V0dR0L8?GZKGd2k?f$nZ zyUVlncV;vF&5BNVHrV6Jr%!!Jj4~Hkmfc>f^SH3+gPL)&G#tth-A_k;Zk*T&IzIVW&t*z zZZ{Q>p(1dv91~8K5qI$>E69UflZk&{-r38Z*kFiC zk>r@-e4$CT=??kZ$z-3a(HXto`AOXvH_ck$($tj z=u1%@#8S1MoTPax7tOGRm4d=$`+XpMed^(OF)3xpMnay^lBJT3b4dvf=?uc#hzFrC zF+cvAtqEKS`S7dUP<9RG9t8mjp84cQ z=)q<%5vms?v*{F5{QxA?#X5V5RwYaMq+?RJQ^=f0rwj?%U!`6=P&}FkdcjkFDU2Tv z-caR7KZetAXA&U5NN8!8q>*N+V!8El2YW#60@f{kbs~0T@mh~=)8|Xx2oMP3zl;XW zL80UxKd$Hgp{sxnmQ;u$6kjW* z)xYGko%AxrF&-Cb4hU$0KdnJ3#q`RVc;y1b{Z|rqdDv7O|H4)4g%O+c9_`TPP?W*W zwm;l&K>oY_riuWLHqY;)ZU4k8{jcS@WC23K)rH}W4XW)d0Mux;lexvbwtm`MTk$DW%XJ&!hZHR)g zPvT%HJUh3tE#Zlx`Z%@8&=5o4Iq`xmW{ zIkl@mVvo;XrbtQD#kYEs4gx%8_tc&-s;@AkQT(#o{FQT`V${tCQD#@KIX!ZMX@|34 zDBQnngLe-S1i$Gruygcj~AIdyW}!v_Z?FC*(Gs^>I^$#Id}+3 zIvgg3W<;j{y5S^H<&C?-9T)Xxm^vR@`P~7L_Z?$DI@k+of7&ISiYc0Qw`4Rnq{88w zKm7gj&i>x65p)-(Oc|s4^YrwnP+1Lzgf`V4Yr2r`$R)wxP3dv~TSlJ)-AyADJm_Y~~Df;#*Q(A2y>6%kLq4?=hy zbFzgFZX4~tB;u+~KZ*C0Q2?2T{?`5vgW6e0mZ_kg`Sq0+Nm;AIEdxjGzmlrSU-hJV z#F03>B>ZVpaYJgo#|r(&$#LrVF^}hazWaD~c`70rTOWu_V>(`Jbr0p~F@w4IXmLW>Qw;Lbx)C*GP zYG8mv#%U;&A~NU0B^FU;2Y}v0A#9_WZwt6fZAwB*3~&2KVNy8^ezY zAA#HJU5D?MxR<u6Gjqvh zJ_n5RY$69^*SwOtWh!Ha&t@gvDC)sjq6Y+g_EE=+vTo1)ZIcQpl?QbvH)MDWwa5|T zaCCeDi2L*Cw!aXuQO>gCAiMb&&^c!x!=aBg7maaV8kB)XQPZq#ve4y~fLA3A*ru8z z&?2ctbY1;^wIiY{1cSaIIhkE3KC{wiliz*5W=iik&E79-VlARef{Q^ zgWcdf+n)_WV(YLVGa$t>y^$x?Evms#)o|7IT!mR%BuEBI0@~W1_cKId z(@ocmnFlRcaTShlqTV3HJ$?m@TBR6T_1KxT*;6R%T9oKqJ`m{8maOut8XazZSi8N7 z)sodq9dvw4ln7@3=Cef--3b#Yw~tTnCrXTFGC91*Hxq&0<=QbQ9@rrt83F@>qIO z2oZhC)5kD|W|Zmb;#04BgtznAF{M1C!5v102;XS1#r*_LO<^D$Nz+9E)5R!u9InRo z#XU&eU9d|b`m?-(`4E(B7z-eWg914mEk(B{;;G?qn5BFiX_SlRw-Fg$CK)NMH-67q z7{uItya9})Y3G$Q}GsAO0b|1MegrT9K=Rx?Spjw+`_ZOR%F)HiIiu~ye!a1$pfT>8D`Jz zz=Zd#x$plER`b_!xMgzUKnDI?6T(KPX++th5l zz#mtBsH8vdPm}nZfJ!nNE2mCME&3ExLG>Fj=m2+I2XSuf;MRbECmj zWt&n7#EmJ!VIw`8j@m$caBK6cgE1EBOm#o)VN_LcW@hG^{7d1-H%n_SBi)z?X-HPu zn}L&^qg<>}Gq6^MFi_hiO(CdKQn2XEwNAaRME+^!^74`L+s(iYqC@D*9dpr%HYkNL zpl(Os9t@9r(>g`38}t{*P>x{VQg_d_H$YA&WQ}<+npE@%jv@m`RqZF5_7FY1yt9vz zx^Z*;3I*g%ie}EN*F4y|sQ(=xajr9+z^XtrZ*6`8Col>KpiPf?2%pise-1qNQgC13kW8fdH>QlhD3s zT>CB{APfj451OxxTkHfLquPXq+$?hyE@7!J+PKn6M@BA{d+=auUe%zgkR zv+3hKT@3D{-{7CPKPL$eu)F=-_Oz=Yno5JTHg`Q~u9iWa1?RVsqL^fbw4CYqev&K1 z+&nEglb*W{&WK@6Galsn=^JDBJ~G>WTyFk^2{?pIpkZKDZj60^HU%kanb>QQ3~HTy z<%wL`3W}P_)t5Le)nCfGW{3={)3EX=sphHJDO2)um=9b$nJt`?*uw)A%03aH=~A}i z^cVD8#+~eX*qw9I(X9tjG5GQ-KiWlt02BeR*GiLHhN7)x-k|pS9qd%T4n*`o zSP{szGRM8#o<{7nQCsynOsYNbctOhR435W+oC>45>j|8_G|8SfvcBdnG#jJ=A8^(v z{G8lP7WdnihsLU1i{e3NvJj%Jhm1?_sV}0fihZhB#Zs~S3wkd{s+*&}2l==V=bos6 zsOTyL54DmjTe!Dgx*J#A7tP%{xpxmRx8tsyS|0_6&X>@qn)R$10B(x}wjF)t98^!z zOJpL?asrZ>xRNzDOf5xOZPrJ9u5|~Xins!E$9bN)_;A8?U@eM#0ov8WxjUM{<`}5~ zX>OaS#DNP^=XB&7V=J{pzp2yrBdkE|JWQPo6G_w0YnckKf?5p~>Ib)bww2#xCOb&= z@xKxt?PYtwT(hp&!xj*kBerP%Iftn3UFg7D-iO~1H~~Xr@Ag&I_0z_LBXpmxC9h>~ z=>V1E;!fCOoFt*^J1I|UyF*c?%C%ySRSNgNR0$Er{T2FJBi@hm(=7l;NjodLarU_& zP|TO@TcPx5aJ=(4LpOK(%H6iQq<@S)Df{f_vDItI4AZGXI2de;5dJ@3F< z-l4yoT|W$@P*>n{QAK)Pv}nIL9vk$?$%CM&&yZ{|vlimv_MehUv5Oo24elxPSw11@ zH6f7{L6oBvPE&3&tvM$9h{&y-12Pf}62*@v*FIq1K-&xI*=1Dqp>IcYi>X)K3RC6+ zmgc;*9?#Wk85aB%XiZYX-Lmf8>*IuYC7uE9R@HlH!u>LBje^!)|D+pbbIfrc=K_*$ z#IYDZU`(+r#b7H>>`=w(w$!~BY^iKgCDs8=wXClRvu{LYS>uTe`@FrqG^zX?keLS^ z&%l@&Y;s_J1sxD7Q0`#^K}auxwg&B3IB0ethU)xR zTRA1Bj%Ay}ISmdIjD;T{Z$65TY{Mat<677^BZWx2vjjr9PoD2fI7pY6JsPwVc;B3c4!=wb-X41Gz9l1xS9AxyGt=Xu>K z39F<$-Q$s6{sC(1Y#14$!y-&DPbM6E*@#G2mPD*{>VSg|hs-ym2v`TDiE8LAZa*O9 zv^4F#3>a6A-?Hcg3V`JOP`W@_3fe#o0=--Y zTs{*NKG^D13myRby%#+AeJ6(Z(zAE+?ilL3c=U_ur(_3|x?MJ3Zf`eCv662NrE9dz z>s#*{1YVlrqr^HXe`>Uvt{nVc>kQ1!7lr948!+D43WeMng$Y!-f6zv}uYt$*8EjgR z>#uKtc@Vcp;?(fWv~Ivu$2;kU=30VzvA>7#nJI+=&P7Z>BM2d&)R`Z2d>d1o+M@&Y zx$syHi`lBN-1(@ieHbd-;hG1*p-k*Wu0d~QX9B*(3|i8q_fS}oj+G~5Eioqv-HI#mIGUy)%Clf!`a*y9dTT7+c5x0#X}~OqEG->Zp$M++UXX<9FqsZ=`A4% zI;hfKSAB|6&I*Aa7{Ir`3THjgr5MVj--tMEOMr^i|_4g~y_%_cirB5Zam!?;#7O3|zSQJ=yBXT8X z;9sljz-;Ngv}owEGi+oGx8UGkhftTaPPy;#(hoX3d2}dlbWpxse18_^02mp5`a1S( zxu4DUD6OG*-uJ5p;SMzj2YIbG2h@-yWM;GNd3>UgPEt8<0q@MW1d-VoCi1cfqcE;N z23QJo?BCfnaGOKO7@*&crB0HDo>fJ8GLip5P&XH-@EEXZ>?H>lMrqsooAS=T#qM=9 zk;io&TDz!*QV+EeKvk<88*(tg<@x;FQHCZb%AYp-iE6Gk9SDK2G(5bXQYI04)y`Y* zm4V4W44C&r*3X+m32%}T=jqky0%S?;mgxV2A-7x@Q3q*6S9v8^A6u9X7%?PI^gN$@ z&k6IbLq$^p(6+FUXLBB=842FML40rdU&-A1uYlA_R8-@qjVH#3NzYS@^o-SdKTbM0 ze60TB)c@1>@i)7LI`E=lC11R_TDAgGbJH}vL$6? zgztH2JbS-BzdwG*(b4gG9k18X<9@&H*L7a!c{^{n+o_Udsq{I4-9~v-@ABT2?j(&x zrLY*~uyo~Enlle~nm&GrKee#!?*8ou(>k39ZS_#B4Y8xZ)yDe?1=F-Yk(a1!=$I-E_sN0u6!H|W_4szq*8r=C zziMhH0|-L@@3l=ovj1sc{Q0y2@MUcTM$wmjbhT_jzFSp$(3YuV%YnCO$no$NpeVeL z&$`@)fllp$QA$_2^QNE#NsMXcT(rI*eo*6%Ipq%6k)Hzn2k95??NX&=f&J{6<=_LfdWc1 zc`eOCsS=!YoQqbwrv-Y>Fr6!a9IqWZR?KLU_2#kOo!82u2mj;eMbo2JiB$k9-G}#6 z7iojUxm5y5qq8yDLho)85+q=v|Gg$m5Qyy<1;E$Y#Z<6EbHjr=wg> z8X6Y|nvgMm-tedbK>iaiU)3njy3?ZuAXr>Cw0)f( z{SHbMwI!k~pX5E5ZtwsECu|?>h5YM7O2vQ3icB5B{o68-^F!!M7V2ygIRZF_$^P%{Oh178Z0$oyI0(+R5hk})He@2LpHJ7kOa9<%!&JfgU;yHRK zmPJae#~nF&ZUncf7}!MIizAp?V-w^484WFihosKRh51(28ku3?@;I85nT54WXLB@i zV@aQ^{nVf|UJKJ#HrxLEKoxSoIx_n!R}R|r+Zu=HNxWJE-I6eeUpWQymbJ$O;9#8% zz6X^h%ZNeg5lZm6H~?4%GJQgsj9Z{~{9bgCjnEYWMW5VL_vr5c^`zwFuj~R4eleck z>`h&QwHiwiGz)Wd%bzU{mv_>?zI|%lQT}LL9gIju#R%Jp4x~BdKe9YR{7OmS(BCLY zBC+4eaQahKb*32c4tdHq?@@g&xBfy4Sx$V;^)-P-$c8PMel=HZD~=!HG*0Ks&v6h? zj*e&VVo@+*4fT1qTAdJ4>OA)*J^c%a{x|_|Io($?ABAT5bo)FAMno#o@JyH`6_b;} z_;gskPwh(6v#7M@g2CAs_S_o_aYDvd-;(IbPdi(vee~|jo`9N`rCu(hQ*e^sbtzNx zO?D|1{l|#TR&sjG{?Jyt-SH*$E>VZcTb`#)L{|7Xlu7xYltlKIX=!9IUn@tQWfK;; z%dE!S#O6c6iTU%94RDDu0?a0G5Hdew&l6K;@w|>r^Q7_E_KU7}GF zHc%%TFe#m)@7jwm$vR;-QdKN^ausIXv}dQu8S$vaTzRR|`#{5}C>3&>E9Bg{(HWdP z))!bi=6h#)Q+N?2g|1KS&N;IV3e*{^9)Ly4WY7JwKzkd(M{4&6a0eR?qaNZ zBLdw=|76ELQmgwgTo2G2X7nu~qwsh>a(ertqtRpQli&7Nq;h{nWRL$MDnKje)Me!x zxpOyD+^3J3Q~`FO&~yrz3JQcQ_)aumwqQ((A`_?~Gb2E=H=*T`xa9yE5Y`UOQ2ZBXskmL66(EfsY;YN&;mAp!0#0&Ql}29p zLzM7ZJ$=jyplA%p5XG+5Og6I0eZ=h-Y(daU9aJeLrtM@`3~;2v&uXUW5$^)MM&H+b z(ea{Src;{zyd^~e6=jGHgb%k$kIZblDDgX-*&)@;3C zzm%d>Q3dE3tRWf8e)sYi`Q@7&u>os9;e7=3T?^Y#f(+$UAiS~G*HMKlzCVJc#xDLN z<8)^j>EG~sFA{~{X^P)Hy@q4Za(O%vL`nMd9^;;BWJDPEA>~gOZU!DmA)iyny5eU^{$TcxqVh@y&&D-FIb#c>9RJx&IEN%6{O|`rU%X zvcMf@a}HqAlv^fe?C@|s34N*~LWGbR>5ze#>0~CzD{gXa?PWxq<-C-uPp5$m9i$AH zUVA5a#ACAhe+2ug_xfv*$pjI5IuGXfb3Z_*#0ioW5vyb_ zt%BnoDo05Eu9+0QHimz+^^gt4%ddn6JL_yYAj}7iX?TcA=uR|BRRQu~3ZkI2!}r^r_TY9= z2iE=OWGHVYgbPGfRs??K6d3N|O7I@~r*B4b1Ur7wF;3{dEktp61evJ#W;Q1=%g5QESV_->`B33O-G3#y;~Sq&udYoee+E2#+fwIoLk z$WIHiNHbelc=}55_6QL0UtG=A?3Qb1jfGRx35wOv(AOgr;BPtfAKpj;e5fDAShJ2Q zu2?;yqBopru%n^(bo&0=rTNs1B{sPj7Z>*(tEB%HK?=I7W)QPldVq_Az&V`{O;Tle zKYzT~3op!oYp?0OR$R`Y*Af~Gg@`$<@<<8+2(TjU9Rq@d4L0;pALQ#*(uje$fi(P0h7>(5 z_DApSd_>@Gk%JUra)FCBQToNelG7fHUU>+;$SK;`WWH_4AP#v|trGvU5t%WIOD3}X zw!MK^7QNAL=`r+C4Djp6{63Xn##T=o+rHm884j&YrOc6N2hccp=T0#O26uK&-vb4Xc`%aYoz{p;p-%ArYC8`l4mq| z$CLC{j1jzh(-t$ThU;lFL;v$kUWZL-;MI^M$k*Q?CA zfy{C73`TCqvhc71@jrV~e?JGI{T=eqo3M2yGf;ge3#v&WQ5(n*^ZP&l?mY1BW5F1b z`PY*J-|}LvW_nX4hmVCgwaq*Zj z1FvuPHXf;&L=6)(t1$`Yz^KW?)0QlR$jJj^$9sN7lk`xY`=GUju4&nknps$OZ!VwII&@&odr1h~|Lo%v|92m|G?AWf zgPx|3&jX=%vovRb%W@p}btRxCg|0%ZuR^s0^8&D@03|+u3zNtlDfRXUoGc-%g_(ym+c3`cbIcW$ z_FY0+2N((0g{h;e2%d zp-(bPu7$idL3*A@t`T5w>W~+1LRq^aGzb}LJUD8IoJiZ}iT=tYe3KZ^$ISWPk2#?V zCl|hD?Me8S|NIzmfatH?*%9IhEB#E<-1+0n2R7i#m098&$mx95@_Bwa&7zH!ORnLz zvy9eh&|L>lGm+Bt}$Tbrv?m8b@q{?v7 zD0q<1eek@?sy>kD0)24rc({a)96c=st^cF;Wq=}m2jA-3Z}I*WM7443A2pu;J!-oU zE0&3g{`XMazfqy+k{~poNOJ~mp3lIz=@D_2)3JZ_3K0dNqI+KhASIG*g8A}Auoo< z;Oz0cMil?NaR6FgD(wGx-wyP?eA{vWO;JOF`a8!aRs2~uTzjh!soP52SIkYmLXs8> zjyexo&M?(XJXdViG&qUW{l~IHN)ax09Ps~Wr=@#4)i1nvJdim?CTwH=>kS74-c$U2 zc`yKHBU$&dy=;!#BOQ;og@uKi$p}{+C4=`h61dUt+?S47n>hEEUdPWEwYV}5Ia?HL z)Rr$fxa6V9-Pxo(_$*ikki_3qPg8nn6@p&X+$LdQ_b^&Qgh&@*!3TFZNjsPBJS(P6_ux#^1KjF|Q zb-vi$$_=JTN8b;Z(bsSHOdYt-nxR>_ox0~U%!D}aV`H(T_7y{}75ZxSb=qB^BJu6+ zWs9C@6dwahcPA8jvGx-uJ!aF=c^&k@4sGP$uOfPpzH57sUK!83k-qzo7u@jpOg<@5 zYteYH9_~2|9p)t=C3OnD`X7o-0*gyr7Bqpfp%hD1eH`|aj~E7j*w%{X6BzDXxf<2y z2z5m##4u*IBnLmS6ECfMNVFkUNV?f_4BZ%SXCOiE0Drd0NPGnZe!d)SzUkqFG3=|(}D@w2INF|MSkD>DH z9k|Q3gK&c8?RVf#WV(JCKDX+}imI1P*2{5mtDtvkgT#(!%it0uhGwXHFUFF9S+(th z_|V*Yyx?-0pL@?kZarb*sMDb_?dIq5K6ybxnhEm+E>PbFW|1kFSNGMC9u@i

Xkh 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 + + + Informative Guidance + + +

+ This page provides some additional guidance material that implementers may find useful. It does not contain any formative requirements or recommendations. It is informative only. +

+

Previous Smart Health Checks Material

+

The following document was produced as part of a previous phase of the Smart Health Checks project. It is provided here for reference only. Current requirements have changed since this document was produced.

+ +
+ +
+ + + + diff --git a/input/pagecontent/reference-implementation.md b/input/pagecontent/reference-implementation.md index 15f51a56..b2a98f19 100644 --- a/input/pagecontent/reference-implementation.md +++ b/input/pagecontent/reference-implementation.md @@ -12,6 +12,14 @@ The source code and additional information is available at the [Smart Forms GitH If you are interested in using the rendering engine in your projects, a standalone package is published on NPM as [@aehrc/smart-forms-renderer](https://www.npmjs.com/package/@aehrc/smart-forms-renderer). +#### Smart Health Checks Application + +Try it out here: + +An instance of the Smart Forms Application is hosted to act in the role of the Smart Health Checks Application. It serves as a Smart Health Checks Commons Services component. + +For more information on this specific instance see the [Smart Health Check Integration](smart-health-check-integration.html) page. + #### Smart Forms Server diff --git a/input/pagecontent/smart-health-check-application-integration.xml b/input/pagecontent/smart-health-check-application-integration.xml deleted file mode 100644 index ecd6d093..00000000 --- a/input/pagecontent/smart-health-check-application-integration.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - Smart Health Check Application Integration - - -
- -
- - diff --git a/input/pagecontent/smart-health-check-integration.md b/input/pagecontent/smart-health-check-integration.md new file mode 100644 index 00000000..1694826d --- /dev/null +++ b/input/pagecontent/smart-health-check-integration.md @@ -0,0 +1,161 @@ +This page provides an overview of the integration requirements for a practice management system to launch the Smart Health Checks Application. The requirements outlined are based on a reference architecture that includes separately hosted services to support the Smart Health Check solution. Other deployment architectures are possible but will have additional requirements not covered in this page or implementation guide generally. + +### Solution Overview + +#### Overview + +The Smart Health Checks Application (SHCA) is a standards-based data collection application supporting the Aboriginal and Torres Strait Islander Health Check assessment (henceforth referred to as, Health Check). It allows a Practice Management System (PMS) to support the collection of Health Check data without the need to implement and maintain each Health Check within the PMS itself. The PMS is integrated with the SHCA using HL7 FHIR standards and associated implementation guides as part of implementing the App Launch, Authorization Service and FHIR Server Application Programming Interfaces. + +#### Assumptions and Constraints + +This solution integration assumes the following: +1. The PMS is a desktop application deployed on-premise within a primary care organisation’s private network or cloud-based virtual private network. +1. The PMS user agent will have access to SHCA and associated Ontoserver terminology service and Smart Health Checks Forms Server using public internet. +1. The PMS Authorization Service will allow secure access from the PMS user agent hosting the SHCA within the private network or public internet when required. +1. The PMS FHIR Server will allow secure access from the PMS user agent hosting the SHCA within the private network or public internet when required. +1. The PMS Authorization Service will maintain secure storage of launch context, authorization codes and access tokens as recommended by OAuth 2.0 specifications. +1. The PMS FHIR Server will maintain storage of FHIR QuestionnaireResponse resources. +1. The PMS FHIR Server will retrieve (read or search) the supported patient and user data from the PMS data store. +1. The PMS FHIR Server will save (create) the supported patient data to the PMS data store. + +### Logical View + +#### High Level Solution Architecture + +The high-level architecture of the Smart Health Check solution is shown in the figure below. The solution consists of a PMS integrated with Smart Health Check Common Services. The PMS represents any existing or future PMS, on-premise or cloud-based, provided by any vendor whilst the Smart Health Check Common Services shared by the multiple and various PMS instances. The Smart Health Check Common Services is not limited to a single centralised deployment, it could be deployed within a jurisdiction, regionally or by a vendor as deemed appropriate. + +
High Level Solution Architecture
+ +The PMS uses the FHIR SMART App Launch framework to launch the SHCA with a unique launch context that correlates to the current user, current patient, current patient visit and required Health Check. + +The SHCA should be integrated within the PMS using an embedded web browser or inline frame (iframe). When necessary, the SHCA may be loaded as a separate web browser instance. + +As part of the SHCA launch sequence, the App will request authorization to access the patient health data using the PMS Authorization Service. The authorize request allows the PMS to grant the App an authorization code that enables the App to then retrieve an access token to the FHIR Server and the App launch data associated with the specified launch context. + +Using the App launch data, such as the Patient ID, user’s Practitioner ID and Health Check Questionnaire identifier, the SHCA will execute FHIR read and search requests against the PMS FHIR Server using the retrieved access token, to retrieve the patient health data required to pre-populate the requested Health Check. On completion of the Health Check the SHCA will send FHIR create requests and supply new patient information to the PMS FHIR server. + +The user records Health Check data within the SHCA and the Health Check response data is saved as draft or completed using the FHIR Server QuestionnaireResponse create or update request. + +##### Practice Management System Components +###### PMS App +The PMS App is an existing practice management system provided by a PMS software provider. The system may be deployed on-premise where the application and database servers are located within confines or control of the primary care organization. An on-premise system would normally be considered a desktop application, where the application executes on multiple workstations connected to a centralised database server. There are also some systems using a hybrid of on-premise and cloud infrastructure. + +In the context of the Smart Health Check solution, the PMS App has a dependency on the PMS Authorization Service to stash launch context details such as the current patient, current user, current patient visit and the Health Check form to be filled, which can be retrieved later by the SHCA. + +The PMS also has a dependency on the SHCA, which provides the standards-based Health Check data capture functionality provided by the Smart Health Check solution. + +###### PMS Authorization Service +The PMS Authorization Service is an OAuth authorisation server that supports SMART App Launch context, which enables a third-party application, such as the SHCA, to request access to patient data in the context of a user’s workflow. + +###### PMS FHIR Server +The PMS FHIR Server is a standards-based Application Programming Interface (API) that enables personal health information to be securely exchanged with the PMS. The FHIR Server uses the HL7 FHIR standard that specifies the type of data and behaviour that can be provided by the API. The FHIR Server also allows health information, such as a Health Check response (i.e. FHIR QuestionnaireResponse) to be stored in the PMS, which may be supported natively within the PMS data store or as a separate FHIR data repository. + +The PMS FHIR Server has a dependency on the PMS App where it accesses the patient data and user records from the PMS data store. + +##### Smart Forms Common Services Components +As noted earlier, the Smart Health Check Common Services does not have to be limited to a single centralised deployment, however, a reference implementation is hosted. See the [Reference Implementation](reference-implementation.html) page for more details. + +###### Smart Health Checks Application +The SHCA is a browser-based web application that uses industry standards to provide a common user interface for the Smart Health Checks solution. The SHCA uses a Single Page Application (SPA) paradigm that allows a modern JavaScript enabled web browser to host the application without any logic executed or patient data stored on the server. + +The SHCA, uses the [HL7 Structured Data Capture (SDC) Implementation Guide (IG)](https://hl7.org/fhir/uv/sdc/STU3/index.html) to implement a rendering of Health Check forms defined using FHIR Questionnaire resources and represent the data captured using FHIR QuestionnaireResponse resources. The SDC IG provides guidance and extensions that enables the SHCA to provide advanced rending, pre-population, data extraction, dynamic behaviour and forms modularisation in a standardised manner. This means the SHCA is also capable of supporting any compatible form defined in accordance with the HL7 Structured Data Capture (SDC) Implementation Guide (IG). + +The SHCA has a dependency on the PMS Authorization Service to request access to the PMS patient data with permissions authorised as part of the authorization flow. + +The SHCA has a dependency on the PMS FHIR Server to access the patient data required to pre-populate the Health Check form, store the captured Health Check data and write back patient data. + +The SHCA has a dependency on the Smart Forms Server that provides the Health Check form as a FHIR Questionnaire resource. Since the SHCA is hosted within the PMS User agent, the request to retrieve the Questionnaire resource originates from the PMS User agent to the Smart Forms Server over the public internet. + +The SHCA also has a dependency on the Ontoserver terminology server that maintains the value sets required in a Health Check form and expand filtered lists of coded concepts such as diagnoses and body sites. The Ontoserver requests that originate from the SHCA will also be transported over the public internet. + +###### Smart Forms Server +The Smart Forms Server is an implementation of a FHIR Server specifically used to support the management of forms represented as FHIR Questionnaire resources. + +The Smart Forms Server will also be used during the Health Check form development to maintain reusable Questionnaire modules assembled into the combined Health Check form used by the SHCA. + +###### Ontoserver +Ontoserver is a terminology server with a FHIR API that allows the SHCA to access FHIR ValueSet resources used in Health Checks and evaluate filtered expansions at runtime based on user entered lookahead requests for concepts such as diagnoses, medications and body sites. + +### Practice Mangement System Requirements + +The conformance requirements for a system launching the SHCA and exchanging patient data are described by the [Smart Forms Launcher Server for the Aboriginal and Torres Strait Islander Health Check CapabilityStatement](CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.html). This resource forms the normative requirements for integrating the Smart Health Check solution. + +The two main capabilties required for integration are: +1. SMART App Launch Services; and +1. FHIR Server + +#### SMART App Launch Services +A PMS will be required to implement SMART App Launch following the EHR launch flow. The [SMART App Launch implementation guide](https://hl7.org/fhir/smart-app-launch/STU2.2/index.html) describes the requirements in detail. Where needed, additional detail is provided below. + +##### App Registration +The PMS Authorization Service will require a one-time setup to register the SHCA. + +The registration details below can be used. + +| Attribute | Details | +|--------------|--------------------------------------------------| +| Client name | Smart Health Checks Application | +| Client ID | smart-health-checks-application | +| Launch URL | https://healthchecks.smartforms.io/launch | +| Redirect URI | https://healthchecks.smartforms.io/ | + +##### Launch Context +To support SHCA launch, the PMS will need to store the required launch context in representation and at a secure location accessible by the PMS Authorization Service. The launch context will be supplied as a `launch` parameter in the launch request using a unique and opaque launch identifier. It will also be verified against the `launch` parameter supplied in the authorization request. + +The SHCA has the following launch context requirements: + +| Parameter | Condition | Description | +|--------------------|-----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| patient | required | Current patient identifier used to retrieve the Patient via FHIR Server. | +| encounter | optional | Current patient visit identifier used to retrieve the Encounter via FHIR Server. | +| sub | required | Unique identifier of the user as known by the PMS authorization service. | +| preferred_username | optional | Username used to login to PMS. | +| fhirUser | required | Current user identifier used to retrieve the user’s Practitioner resource via the FHIR API. | +| fhirContext | required | The Health Check Questionnare context to be launched
`[{ "canonical": " http://www.health.gov.au/assessments/mbs/715", "role": "https://smartforms.csiro.au/smart/role/questionnaire-to-display", "type": "Questionnaire" }] ` | + +##### Authorization Request +SHCA will request the following access scopes in the authorization request `scope` parameter: +* `launch` +* `openid` +* `fhirUser` +* `online_access` +* `patient/AllergyIntolerance.cs` +* `patient/Condition.cs` +* `patient/Encounter.r` +* `patient/Immunization.cs` +* `patient/Medication.r` +* `patient/MedicationStatement.cs` +* `patient/Observation.cs` +* `patient/Patient.r` +* `patient/Practitioner.r` +* `patient/QuestionnaireResponse.crus` + +#### FHIR Server +A PMS will need to provide a FHIR compatible service that supports the requirements of the SHCA. + +Fundamental requirements are defined in the [core FHIR®© specification]({{site.data.fhir.path}}) and Australian localisation requirements of the core FHIR®© specification are defined in [AU Core](https://hl7.org.au/fhir/core/1.0.0) and [AU Base](https://hl7.org.au/fhir/5.0.0). Additional detail is provided below. + +The PMS FHIR Server requirements are described by the [Smart Forms Launcher Server for the Aboriginal and Torres Strait Islander Health Check CapabilityStatement](CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.html). + +A summary of the required FHIR endpoints, resources and RESTful interactions are shown below. If there are any variations between this page and the CapabilityStatement above, the CapabilityStatement takes precendence. + +* .well-known/smart-configuration (in accordance with the [SMART App Launch implementation guide](https://hl7.org/fhir/smart-app-launch/STU2.2/app-launch.html#retrieve-well-knownsmart-configuration)) +* [AU Core AllergyIntolerance](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-allergyintolerance.html) - `create`, `search` +* [AU Core Condition](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-condition.html) - `create`, `search` +* [AU Core Encounter](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-encounter.html) - `read` +* [AU Core Immunization](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-immunization.html) - `create`, `search` +* [AU Core Medication](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-medication.html) - `read` +* [AU Core MedicationStatement](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-medicationstatement.html) - `create`, `search` +* Observations + * [AU Core Blood Pressure](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-bloodpressure.html) - `create`, `search` + * [AU Core Body Height](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-bodyheight.html) - `create`, `search` + * [AU Core Body Weight](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-bodyweight.html) - `create`, `search` + * [AU Core Head Circumference](StructureDefinition-au-core-headcircum.html) - `create`, `search` + * [AU Core Heart Rate](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-heartrate.html) - `create`, `search` + * [AU Core Pathology Result Observation](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-diagnosticresult-path.html) - `search` + * [AU Core Smoking Status](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-smokingstatus.html) - `create`, `search` + * [AU Core Waist Circumference](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-waistcircum.html) - `create`, `search` +* [AU Core Patient](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-patient.html) - `read` +* [AU Core Practitioner](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-practitioner.html) - `read` +* [SDC Questionnaire Response](https://hl7.org/fhir/uv/sdc/STU3/StructureDefinition-sdc-questionnaireresponse.html) - `create`, `read`, `update`, `search` + diff --git a/sushi-config.yaml b/sushi-config.yaml index c371d8a8..b76b5e05 100644 --- a/sushi-config.yaml +++ b/sushi-config.yaml @@ -144,7 +144,8 @@ menu: # Must Support: must-support.html Guidance: #guidance.html Reference Implementation: reference-implementation.html - Smart Health Check Application Integration: smart-health-check-application-integration.html + Smart Health Check Integration: smart-health-check-integration.html + Informative Guidance: informative-guidance.html # General Guidance: general-guidance.html FHIR Artefacts: #artifact.html Artefact Summary: artifacts.html From cee5d566e443ba553bfe51af846e47acc8a10712 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Fri, 2 May 2025 09:22:13 +1000 Subject: [PATCH 066/177] Update terminology expansions and Questionnaire titles --- .../CodeSystem-HealthChecksSCTSupplement.json | 2 +- ...ntationGuide-csiro.fhir.au.smartforms.json | 17 +- .../Questionnaire-AboutTheHealthCheck.json | 22 +- ...stionnaire-AbsoluteCVDRiskCalculation.json | 33 +- ...estionnaire-AllergiesAdverseReactions.json | 1 + .../Questionnaire-AssemblyInstructions.json | 600 +++++++++++------- .../Questionnaire-ChronicDiseaseAgeing.json | 1 + .../resources/Questionnaire-Consent.json | 22 +- .../Questionnaire-CurrentPriorities.json | 22 +- .../Questionnaire-EarHealthAndHearing.json | 22 +- .../resources/Questionnaire-Examination.json | 1 + .../resources/Questionnaire-EyeHealth.json | 22 +- .../Questionnaire-FamilyHistory.json | 1 + .../Questionnaire-FinalisingHealthCheck.json | 1 + .../resources/Questionnaire-Gambling.json | 22 +- ...Questionnaire-HealthPrioritiesSummary.json | 1 + .../Questionnaire-HealthyEating.json | 22 +- .../Questionnaire-HomeAndFamily.json | 22 +- .../resources/Questionnaire-Immunisation.json | 22 +- .../Questionnaire-Investigations.json | 1 + .../Questionnaire-LearningAndDevelopment.json | 1 + .../Questionnaire-LearningAndWork.json | 43 +- ...onnaire-MedicalHistoryCurrentProblems.json | 79 +-- .../Questionnaire-MemoryAndThinking.json | 22 +- .../resources/Questionnaire-Mood.json | 1 + .../Questionnaire-OralAndDentalHealth.json | 22 +- .../Questionnaire-PatientDetails.json | 243 ++++--- ...onnaire-PhysicalActivityAndScreenTime.json | 22 +- ...aire-RedFlagsEarlyIdentificationGuide.json | 1 + .../Questionnaire-RegularMedications.json | 22 +- .../Questionnaire-ScreeningPrograms.json | 1 + .../resources/Questionnaire-SexualHealth.json | 89 ++- .../resources/Questionnaire-Skin.json | 22 +- ...tionnaire-SocialAndEmotionalWellbeing.json | 22 +- .../Questionnaire-SocialHistoryChild.json | 22 +- .../resources/Questionnaire-SubstanceUse.json | 60 +- ...lueSet-AboriginalTorresStraitIslander.json | 24 +- .../ValueSet-CervicalScreeningStatus-1.json | 38 +- ...alueSet-PrimaryCarerParentGrandparent.json | 30 +- .../ValueSet-SmokingQuitStatus-1.json | 28 +- .../ValueSet-TobaccoUseStatus-1.json | 31 +- fsh-generated/resources/ValueSet-YesNo.json | 21 +- fsh-generated/resources/ValueSet-YesNoNA.json | 21 +- .../ValueSet-YesNoNotAskedDeclined.json | 29 +- .../ValueSet-administrative-gender.json | 29 +- .../ValueSet-australian-pronouns-1.json | 50 +- ...ueSet-australian-states-territories-2.json | 18 +- .../resources/ValueSet-biological-sex-1.json | 32 +- .../ValueSet-condition-clinical.json | 78 +-- .../ValueSet-gender-identity-response-1.json | 38 +- input/fsh/715-AboutTheHealthCheck.fsh | 1 + input/fsh/715-AssemblyInstructions.fsh | 133 ++-- ...-Assessment-AbsoluteCVDRiskCalculation.fsh | 1 + ...5-Assessment-AllergiesAdverseReactions.fsh | 1 + .../715-Assessment-ChronicDiseaseAgeing.fsh | 1 + .../fsh/715-Assessment-CurrentPriorities.fsh | 1 + .../715-Assessment-EarHealthAndHearing.fsh | 1 + input/fsh/715-Assessment-Examination.fsh | 1 + input/fsh/715-Assessment-EyeHealth.fsh | 1 + input/fsh/715-Assessment-FamilyHistory.fsh | 1 + input/fsh/715-Assessment-Gambling.fsh | 1 + input/fsh/715-Assessment-HealthyEating.fsh | 1 + input/fsh/715-Assessment-HomeAndFamily.fsh | 1 + input/fsh/715-Assessment-Immunisation.fsh | 1 + input/fsh/715-Assessment-Investigations.fsh | 1 + .../715-Assessment-LearningAndDevelopment.fsh | 1 + input/fsh/715-Assessment-LearningAndWork.fsh | 1 + ...sessment-MedicalHistoryCurrentProblems.fsh | 1 + .../fsh/715-Assessment-MemoryAndThinking.fsh | 1 + input/fsh/715-Assessment-Mood.fsh | 1 + .../715-Assessment-OralAndDentalHealth.fsh | 1 + ...sessment-PhysicalActivityAndScreenTime.fsh | 3 +- ...sment-RedFlagsEarlyIdentificationGuide.fsh | 1 + .../fsh/715-Assessment-RegularMedications.fsh | 1 + .../fsh/715-Assessment-ScreeningPrograms.fsh | 1 + input/fsh/715-Assessment-SexualHealth.fsh | 1 + input/fsh/715-Assessment-Skin.fsh | 1 + ...Assessment-SocialAndEmotionalWellbeing.fsh | 1 + .../fsh/715-Assessment-SocialHistoryChild.fsh | 1 + input/fsh/715-Assessment-SubstanceUse.fsh | 1 + input/fsh/715-Consent.fsh | 1 + input/fsh/715-FinalisingHealthCheck.fsh | 1 + input/fsh/715-HealthPrioritiesSummary.fsh | 1 + input/fsh/715-PatientDetails.fsh | 1 + input/fsh/terminology.fsh | 482 +++++++++++++- ...esStraitIslanderHealthCheck-assembled.json | 540 ++++++++++------ 86 files changed, 2308 insertions(+), 878 deletions(-) diff --git a/fsh-generated/resources/CodeSystem-HealthChecksSCTSupplement.json b/fsh-generated/resources/CodeSystem-HealthChecksSCTSupplement.json index 32c145b3..d075fe33 100644 --- a/fsh-generated/resources/CodeSystem-HealthChecksSCTSupplement.json +++ b/fsh-generated/resources/CodeSystem-HealthChecksSCTSupplement.json @@ -54,5 +54,5 @@ } ], "experimental": false, - "supplements": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107" + "supplements": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" } diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index 509ea31a..0957ccbd 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -60,7 +60,6 @@ "reference": { "reference": "Questionnaire/AboriginalTorresStraitIslanderHealthCheck" }, - "description": "Aboriginal and Torres Strait Islander Health Check assessment form.", "exampleBoolean": false, "name": "Aboriginal and Torres Strait Islander Health Check" }, @@ -256,6 +255,14 @@ "description": "Patient Details sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", "exampleBoolean": true }, + { + "reference": { + "reference": "Questionnaire/PhysicalActivityAndScreenTime" + }, + "name": "Aboriginal and Torres Strait Islander Health Check - Physical Activity And Screen Time", + "description": "Physical Activity And Screen Time sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", + "exampleBoolean": true + }, { "reference": { "reference": "Questionnaire/RedFlagsEarlyIdentificationGuide" @@ -424,14 +431,6 @@ "description": "The Gender Identity Response value set includes values that may be used to represent a response for an individual's gender. A person's gender is a social and cultural identity, expression and experience.", "exampleBoolean": false }, - { - "reference": { - "reference": "Questionnaire/PhysicalActivityAndScreenTime" - }, - "name": "Physical Activity And Screen Time", - "description": "Physical Activity And Screen Time sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", - "exampleBoolean": true - }, { "reference": { "reference": "ValueSet/PrimaryCarerParentGrandparent" diff --git a/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json b/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json index 987dc10e..a27dadae 100644 --- a/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json +++ b/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json @@ -221,13 +221,26 @@ "url": "https://smartforms.csiro.au/ig/ValueSet/YesNoNA", "experimental": false, "expansion": { - "identifier": "urn:uuid:5baa5444-e553-4412-a08c-9ce93d3271e0", - "timestamp": "2023-09-01T11:16:50+10:00", + "identifier": "urn:uuid:7fce8cc7-b936-4258-921d-923629b04439", + "timestamp": "2025-05-01T10:00:47+10:00", "total": 3, + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/v2-0532|2.1.0" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false }, { "name": "used-codesystem", @@ -363,6 +376,7 @@ ], "url": "http://www.health.gov.au/assessments/mbs/715/AboutTheHealthCheck", "name": "AboutTheHealthCheck", + "title": "Aboriginal and Torres Strait Islander Health Check - About The Health Check", "status": "draft", "experimental": false, "subjectType": [ diff --git a/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json b/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json index 69b38bfb..d28105fd 100644 --- a/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json +++ b/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json @@ -645,17 +645,37 @@ ], "copyright": "Copyright © 2020 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\nThis resource includes SNOMED Clinical Terms™ (SNOMED CT®) which is used by permission of the International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. “SNOMED” and “SNOMED CT” are registered trademarks of the IHTSDO. \n\nThe rights to use and implement or implementation of SNOMED CT content are limited to the extent it is necessary to allow for the end use of this material. No further rights are granted in respect of the International Release and no further use of any SNOMED CT content by any other party is permitted. \n\nAll copies of this resource must include this copyright statement and all information contained in this statement.", "expansion": { - "identifier": "urn:uuid:e9cff1c2-8743-48cb-9bde-8f4af914544b", - "timestamp": "2023-08-30T10:41:59+10:00", - "total": 4, + "identifier": "urn:uuid:9a0c2291-6dd8-4778-9099-4622f64fa897", + "timestamp": "2025-05-01T10:00:49+10:00", + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20230831" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false + }, + { + "name": "used-valueset", + "valueUri": "null" }, { "name": "used-codesystem", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20230831" + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" + }, + { + "name": "version", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" } ], "contains": [ @@ -805,6 +825,7 @@ ], "url": "http://www.health.gov.au/assessments/mbs/715/AbsoluteCVDRiskCalculation", "name": "AbsoluteCVDRiskCalculation", + "title": "Aboriginal and Torres Strait Islander Health Check - Absolute Cardiovascular Disease Risk Calculation", "status": "draft", "experimental": false, "subjectType": [ diff --git a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json index 2fcd3db2..d2deeac8 100644 --- a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json +++ b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json @@ -204,6 +204,7 @@ ], "url": "http://www.health.gov.au/assessments/mbs/715/AllergiesAdverseReactions", "name": "AllergiesAdverseReactions", + "title": "Aboriginal and Torres Strait Islander Health Check - Allergies/Adverse Reactions", "status": "draft", "experimental": false, "subjectType": [ diff --git a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json index f7c1576d..c211a512 100644 --- a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json +++ b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json @@ -309,363 +309,363 @@ "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/AboutTheHealthCheck|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/AboutTheHealthCheck|0.3.0" } ], "linkId": "cd3303a6-e3b6-4732-80e8-54d2bd740beb", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/AboutTheHealthCheck|0.2.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/AboutTheHealthCheck|0.3.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Consent|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Consent|0.3.0" } ], "linkId": "fab52f87-22a6-4a54-9797-0bb6b0f5d2a2", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Consent|0.2.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Consent|0.3.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/PatientDetails|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/PatientDetails|0.3.0" } ], "linkId": "1d10910d-c195-4964-bdc6-98310a44719e", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/PatientDetails|0.2.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/PatientDetails|0.3.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/CurrentPriorities|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/CurrentPriorities|0.3.0" } ], "linkId": "7692f28c-7c0a-48ea-b27d-a8489974377d", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/CurrentPriorities|0.2.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/CurrentPriorities|0.3.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/MedicalHistoryCurrentProblems|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/MedicalHistoryCurrentProblems|0.3.0" } ], "linkId": "15f83d80-f49a-4852-a20f-18db9b951e53", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/MedicalHistory|0.2.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/MedicalHistory|0.3.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/RegularMedications|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/RegularMedications|0.3.0" } ], "linkId": "3a7151ef-d63b-4818-8367-03d394383a61", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/RegularMedications|0.2.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/RegularMedications|0.3.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/AllergiesAdverseReactions|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/AllergiesAdverseReactions|0.3.0" } ], "linkId": "334853dc-88d4-4cb1-a119-bb0ff6ea0516", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/AllergiesAdverseReactions|0.2.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/AllergiesAdverseReactions|0.3.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/FamilyHistory|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/FamilyHistory|0.3.0" } ], "linkId": "1ab9b519-85ce-48ee-a408-8f0b9b74d112", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/FamilyHistory|0.2.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/FamilyHistory|0.3.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/SocialAndEmotionalWellbeing|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/SocialAndEmotionalWellbeing|0.3.0" } ], "linkId": "228b8d31-21e3-49a6-b802-984135908dca", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/SocialAndEmotionalWellbeing|0.2.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/SocialAndEmotionalWellbeing|0.3.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/SocialHistoryChild|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/SocialHistoryChild|0.3.0" } ], "linkId": "a43517f9-538e-4a4d-8789-b6c3d44206ba", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/SocialHistoryChild|0.2.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/SocialHistoryChild|0.3.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/HomeAndFamily|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/HomeAndFamily|0.3.0" } ], "linkId": "8decf7bf-e24c-4d3d-815c-c53e269f004b", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/HomeAndFamily|0.2.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/HomeAndFamily|0.3.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/LearningAndDevelopment|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/LearningAndDevelopment|0.3.0" } ], "linkId": "3f554c37-7d0e-4b14-8f7f-a9ec665cc0a6", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/LearningAndDevelopment|0.2.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/LearningAndDevelopment|0.3.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/LearningAndWork|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/LearningAndWork|0.3.0" } ], "linkId": "362bf381-23e5-4eee-963a-3de73e584da5", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/LearningAndWork|0.2.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/LearningAndWork|0.3.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Mood|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Mood|0.3.0" } ], "linkId": "51a545fa-907f-40f0-9304-36bcab5a16b8", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Mood|0.2.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Mood|0.3.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/MemoryAndThinking|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/MemoryAndThinking|0.3.0" } ], "linkId": "4217646d-e8e4-4ac5-baa7-fae28937cda7", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/MemoryAndThinking|0.2.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/MemoryAndThinking|0.3.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/ChronicDiseaseAgeing|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/ChronicDiseaseAgeing|0.3.0" } ], "linkId": "070eadcf-9e93-499e-8615-61991ab35b32", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/ChronicDiseaseAgeing|0.2.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/ChronicDiseaseAgeing|0.3.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/ScreeningPrograms|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/ScreeningPrograms|0.3.0" } ], "linkId": "56d4bc0b-3bf1-4d47-ac34-5a1de0902de1", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/ScreeningPrograms|0.2.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/ScreeningPrograms|0.3.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/HealthyEating|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/HealthyEating|0.3.0" } ], "linkId": "e0962739-c506-41d4-afd7-ab1b90db9cb4", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/HealthyEating|0.2.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/HealthyEating|0.3.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/PhysicalActivityAndScreenTime|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/PhysicalActivityAndScreenTime|0.3.0" } ], "linkId": "63cfb279-cd7d-41ed-a54b-0c17b6efe609", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/PhysicalActivityAndScreenTime|0.2.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/PhysicalActivityAndScreenTime|0.3.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/RedFlagsEarlyIdentificationGuide|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/RedFlagsEarlyIdentificationGuide|0.3.0" } ], "linkId": "db70690e-2199-495a-9919-53697efaf913", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/RedFlagsEarlyIdentificationGuide|0.2.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/RedFlagsEarlyIdentificationGuide|0.3.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/SubstanceUse|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/SubstanceUse|0.3.0" } ], "linkId": "d1f66f56-75fa-4498-9c51-eb98e1644243", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/SubstanceUse|0.2.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/SubstanceUse|0.3.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Gambling|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Gambling|0.3.0" } ], "linkId": "ea748251-bf77-4085-b912-e9002dfa02ca", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Gambling|0.2.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Gambling|0.3.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/SexualHealth|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/SexualHealth|0.3.0" } ], "linkId": "84bd802b-b3e1-4098-aa2c-2133f0e252f4", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/SexualHealth|0.2.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/SexualHealth|0.3.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/EyeHealth|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/EyeHealth|0.3.0" } ], "linkId": "56ad8128-0e12-4779-8ff4-47dcff6b29b5", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/EyeHealth|0.2.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/EyeHealth|0.3.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/EarHealthAndHearing|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/EarHealthAndHearing|0.3.0" } ], "linkId": "a8161e91-7cff-403f-85e6-982a9bc8fca6", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/EarHealthAndHearing|0.2.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/EarHealthAndHearing|0.3.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/OralAndDentalHealth|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/OralAndDentalHealth|0.3.0" } ], "linkId": "fe05d868-aaed-4921-9d49-4e7746bbe143", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/OralAndDentalHealth|0.2.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/OralAndDentalHealth|0.3.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Skin|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Skin|0.3.0" } ], "linkId": "64ec4c1c-0824-4b84-8d3f-40f6e066cb80", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Skin|0.2.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Skin|0.3.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Immunisation|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Immunisation|0.3.0" } ], "linkId": "595737cd-3a94-442b-8be6-ab461c3181d2", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Immunisation|0.2.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Immunisation|0.3.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Examination|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Examination|0.3.0" } ], "linkId": "3263611d-5813-4393-a660-d10166acd728", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Examination|0.2.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Examination|0.3.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/AbsoluteCVDRiskCalculation|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/AbsoluteCVDRiskCalculation|0.3.0" } ], "linkId": "3a3b0810-e091-48ad-af50-913b0deaf663", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/AbsoluteCVDRiskCalculation|0.2.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/AbsoluteCVDRiskCalculation|0.3.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Investigations|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Investigations|0.3.0" } ], "linkId": "302d9437-25b9-41e3-9d66-138c352d32a8", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Investigations|0.2.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Investigations|0.3.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/HealthPrioritiesSummary|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/HealthPrioritiesSummary|0.3.0" } ], "linkId": "ada45623-5e86-49ea-a00b-be0699364281", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/HealthPrioritiesSummary|0.2.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/HealthPrioritiesSummary|0.3.0] not available. Unable to display all questions.", "type": "display" }, { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/FinalisingHealthCheck|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/FinalisingHealthCheck|0.3.0" } ], "linkId": "a6395946-872a-4f2e-b697-c74aa1ab9b8d", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/FinalisingHealthCheck|0.2.0] not available. Unable to display all questions.", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/FinalisingHealthCheck|0.3.0] not available. Unable to display all questions.", "type": "display" } ], @@ -684,13 +684,26 @@ "url": "https://smartforms.csiro.au/ig/ValueSet/YesNo", "experimental": false, "expansion": { - "identifier": "urn:uuid:06bfacf3-ef16-4470-86a0-a2a22f49ff91", - "timestamp": "2023-09-01T11:15:01+10:00", + "identifier": "urn:uuid:41cccc66-fd57-4bc4-bab1-8c5c878d95f7", + "timestamp": "2025-05-01T10:00:50+10:00", "total": 2, + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/v2-0532|2.1.0" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false }, { "name": "used-codesystem", @@ -738,13 +751,26 @@ "url": "https://smartforms.csiro.au/ig/ValueSet/YesNoNA", "experimental": false, "expansion": { - "identifier": "urn:uuid:5baa5444-e553-4412-a08c-9ce93d3271e0", - "timestamp": "2023-09-01T11:16:50+10:00", + "identifier": "urn:uuid:7fce8cc7-b936-4258-921d-923629b04439", + "timestamp": "2025-05-01T10:00:47+10:00", "total": 3, + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/v2-0532|2.1.0" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false }, { "name": "used-codesystem", @@ -801,49 +827,54 @@ "url": "https://smartforms.csiro.au/ig/ValueSet/YesNoNotAskedDeclined", "experimental": false, "expansion": { - "identifier": "urn:uuid:8eda7c3c-cc35-49fa-ac6c-c0e4f0a4e203", - "timestamp": "2023-09-01T11:17:57+10:00", + "identifier": "urn:uuid:20552db7-8def-4e55-a0d2-cb446651929c", + "timestamp": "2025-05-01T10:00:51+10:00", "total": 4, + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" + "name": "displayLanguage", + "valueCode": "en-US" }, { - "name": "used-codesystem", - "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" + "name": "count", + "valueInteger": 1000 }, { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/v2-0532|2.1.0" + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false }, { "name": "used-codesystem", "valueUri": "http://terminology.hl7.org/CodeSystem/v2-0532|2.1.0" + }, + { + "name": "used-codesystem", + "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|1.0.0" } ], "contains": [ { "system": "http://terminology.hl7.org/CodeSystem/v2-0532", - "version": "2.1.0", "code": "Y", "display": "Yes" }, { "system": "http://terminology.hl7.org/CodeSystem/v2-0532", - "version": "2.1.0", "code": "N", "display": "No" }, { "system": "http://terminology.hl7.org/CodeSystem/v2-0532", - "version": "2.1.0", "code": "NASK", "display": "Not Asked" }, { "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", - "version": "5.0.0-ballot", "code": "asked-declined", "display": "Asked But Declined" } @@ -988,13 +1019,26 @@ "publisher": "HL7 (FHIR Project)", "version": "4.0.1", "expansion": { - "identifier": "urn:uuid:50f050c9-3975-48d6-bdb7-baae4ebc70cd", - "timestamp": "2024-04-05T12:31:27+10:00", + "identifier": "urn:uuid:31c9098a-778c-4de6-9c2b-4f1e2db26179", + "timestamp": "2025-05-01T10:00:55+10:00", "total": 4, + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://hl7.org/fhir/administrative-gender|4.0.1" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false }, { "name": "used-codesystem", @@ -1004,13 +1048,13 @@ "contains": [ { "system": "http://hl7.org/fhir/administrative-gender", - "code": "female", - "display": "Female" + "code": "male", + "display": "Male" }, { "system": "http://hl7.org/fhir/administrative-gender", - "code": "male", - "display": "Male" + "code": "female", + "display": "Female" }, { "system": "http://hl7.org/fhir/administrative-gender", @@ -1076,65 +1120,71 @@ "copyright": "Copyright © 2011+ HL7. Licensed under Creative Commons \"No Rights Reserved\".", "date": "2019-11-01T09:29:23+11:00", "expansion": { - "identifier": "urn:uuid:79d21cca-9f34-4cfa-9020-17eee95eeed8", - "timestamp": "2024-04-02T14:17:12+10:00", - "total": 6, + "identifier": "urn:uuid:7b100d21-fde9-4fd8-bded-80f345db777d", + "timestamp": "2025-05-01T10:00:56+10:00", + "total": 7, + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/condition-clinical|4.0.1" - }, - { - "name": "used-codesystem", - "valueUri": "http://terminology.hl7.org/CodeSystem/condition-clinical|4.0.1" + "name": "displayLanguage", + "valueCode": "en-US" }, { - "name": "warning-draft", - "valueUri": "http://hl7.org/fhir/ValueSet/condition-clinical|4.0.1" + "name": "count", + "valueInteger": 1000 }, { - "name": "warning-trial-use", - "valueUri": "http://hl7.org/fhir/ValueSet/condition-clinical|4.0.1" + "name": "offset", + "valueInteger": 0 }, { - "name": "warning-trial-use", - "valueUri": "http://terminology.hl7.org/CodeSystem/condition-clinical|4.0.1" + "name": "excludeNested", + "valueBoolean": false }, { - "name": "warning-draft", - "valueUri": "http://terminology.hl7.org/CodeSystem/condition-clinical|4.0.1" + "name": "used-codesystem", + "valueUri": "http://terminology.hl7.org/CodeSystem/condition-clinical|3.0.0" } ], "contains": [ { "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", "code": "active", - "display": "Active" + "display": "Active", + "contains": [ + { + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", + "code": "recurrence", + "display": "Recurrence" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", + "code": "relapse", + "display": "Relapse" + } + ] }, { "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", "code": "inactive", - "display": "Inactive" - }, - { - "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", - "code": "recurrence", - "display": "Recurrence" - }, - { - "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", - "code": "relapse", - "display": "Relapse" - }, - { - "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", - "code": "remission", - "display": "Remission" + "display": "Inactive", + "contains": [ + { + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", + "code": "remission", + "display": "Remission" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", + "code": "resolved", + "display": "Resolved" + } + ] }, { "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", - "code": "resolved", - "display": "Resolved" + "code": "unknown", + "display": "Unknown" } ] }, @@ -1156,39 +1206,47 @@ "url": "https://smartforms.csiro.au/ig/ValueSet/AboriginalTorresStraitIslander", "experimental": false, "expansion": { - "identifier": "e2b013bd-1725-4299-a7a5-53635d42f1be", - "timestamp": "2022-10-20T11:38:45+10:00", + "identifier": "urn:uuid:eb422e76-71e8-48b0-a191-73285ddb91cc", + "timestamp": "2025-05-01T10:00:56+10:00", "total": 3, "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-indigenous-status-1|1.0.3" + "name": "displayLanguage", + "valueCode": "en-US" }, { "name": "count", - "valueInteger": 2147483647 + "valueInteger": 1000 }, { "name": "offset", "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false + }, + { + "name": "used-codesystem", + "valueUri": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-indigenous-status-1|1.0.3" } ], "contains": [ { "system": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-indigenous-status-1", "code": "1", - "display": "Aboriginal but not Torres Strait Islander origin" + "display": "Aboriginal" }, { "system": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-indigenous-status-1", "code": "2", - "display": "Torres Strait Islander but not Aboriginal origin" + "display": "Torres Strait Islander" }, { "system": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-indigenous-status-1", "code": "3", - "display": "Both Aboriginal and Torres Strait Islander origin" + "display": "Aboriginal and Torres Strait Islander" } ] }, @@ -1224,50 +1282,54 @@ "url": "https://smartforms.csiro.au/ig/ValueSet/PrimaryCarerParentGrandparent", "experimental": false, "expansion": { - "identifier": "2809c2fa-28ec-4def-9b16-93a611d29da3", - "timestamp": "2022-10-20T11:42:30+10:00", + "identifier": "urn:uuid:f8e7efc2-94d6-403e-9e40-3a3a4e9fffb4", + "timestamp": "2025-05-01T10:00:56+10:00", "total": 4, "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/v3-RoleCode|2018-08-12" - }, - { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/v3-NullFlavor|2018-08-12" + "name": "displayLanguage", + "valueCode": "en-US" }, { "name": "count", - "valueInteger": 2147483647 + "valueInteger": 1000 }, { "name": "offset", "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false + }, + { + "name": "used-codesystem", + "valueUri": "http://terminology.hl7.org/CodeSystem/v3-RoleCode|3.0.0" + }, + { + "name": "used-codesystem", + "valueUri": "http://terminology.hl7.org/CodeSystem/v3-NullFlavor|3.0.0" } ], "contains": [ { "system": "http://terminology.hl7.org/CodeSystem/v3-RoleCode", - "version": "2018-08-12", "code": "MTH", "display": "mother" }, { "system": "http://terminology.hl7.org/CodeSystem/v3-RoleCode", - "version": "2018-08-12", "code": "FTH", "display": "father" }, { "system": "http://terminology.hl7.org/CodeSystem/v3-RoleCode", - "version": "2018-08-12", "code": "GRPRN", "display": "grandparent" }, { "system": "http://terminology.hl7.org/CodeSystem/v3-NullFlavor", - "version": "2018-08-12", "code": "NA", "display": "not applicable" } @@ -1330,69 +1392,79 @@ ], "copyright": "Copyright © 2024 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\nThis material contains content from LOINC (http://loinc.org). LOINC is copyright 1995-2024, Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee and is available at no cost under the license at http://loinc.org/license. LOINC® is a registered United States trademark of Regenstrief Institute, Inc.\n\nThis material contains information which is protected by copyright. You may download, display, print and reproduce any material for your personal, non-commercial use or use within your organisation subject to the following terms and conditions: \n\nThis resource also includes all or a portion of material from the HL7 Terminology (THO). THO is copyright ©1989+ Health Level Seven International and is made available under the CC0 designation. For more licensing information see: https://terminology.hl7.org/license.", "expansion": { - "identifier": "urn:uuid:ca145c1c-4915-4957-888a-39e69de8b1ad", - "timestamp": "2024-04-02T14:25:01+10:00", + "identifier": "urn:uuid:1bc98e8c-511f-4014-a4d9-a48a8db0923d", + "timestamp": "2025-05-01T10:00:56+10:00", "total": 7, + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://loinc.org|2.77" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false + }, + { + "name": "used-valueset", + "valueUri": "null" }, { "name": "used-codesystem", - "valueUri": "http://loinc.org|2.77" + "valueUri": "http://loinc.org|2.80" }, { "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" + "valueUri": "http://loinc.org|2.80" }, { "name": "used-codesystem", - "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" + "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|1.0.0" } ], "contains": [ { "system": "http://loinc.org", - "version": "2.77", "code": "LA29518-0", "display": "he/him/his/his/himself" }, { "system": "http://loinc.org", - "version": "2.77", "code": "LA29519-8", "display": "she/her/her/hers/herself" }, { "system": "http://loinc.org", - "version": "2.77", "code": "LA29520-6", "display": "they/them/their/theirs/themselves" }, { "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", - "version": "5.0.0-ballot", - "code": "asked-declined", - "display": "Asked But Declined" + "code": "unknown", + "display": "Unknown" }, { "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", - "version": "5.0.0-ballot", - "code": "asked-unknown", - "display": "Asked But Unknown" + "code": "asked-declined", + "display": "Asked But Declined" }, { "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", - "version": "5.0.0-ballot", "code": "not-asked", "display": "Not Asked" }, { "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", - "version": "5.0.0-ballot", - "code": "unknown", - "display": "Unknown" + "code": "asked-unknown", + "display": "Asked But Unknown" } ] }, @@ -1471,22 +1543,30 @@ ], "copyright": "Copyright © 2018 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\nThis resource includes material that is based on Australian Institute of Health and Welfare material. \n\nAll copies of this resource must include this copyright statement and all information contained in this statement.", "expansion": { - "identifier": "e9439195-c1d8-4069-a349-98c1d552a351", - "timestamp": "2023-06-20T04:20:58+00:00", + "identifier": "urn:uuid:148e9412-a321-4a6f-b911-7e7908be82af", + "timestamp": "2025-05-01T10:00:57+10:00", "total": 9, "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1|1.1.3" + "name": "displayLanguage", + "valueCode": "en-US" }, { "name": "count", - "valueInteger": 2147483647 + "valueInteger": 1000 }, { "name": "offset", "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false + }, + { + "name": "used-codesystem", + "valueUri": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1|1.1.3" } ], "contains": [ @@ -1604,61 +1684,71 @@ ], "copyright": "Copyright © 2022 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/.\n\n\"This resource includes SNOMED Clinical Terms™ (SNOMED CT®) which is used by permission of the International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. “SNOMED” and “SNOMED CT” are registered trademarks of the IHTSDO. \n\nThe rights to use and implement or implementation of SNOMED CT content are limited to the extent it is necessary to allow for the end use of this material. No further rights are granted in respect of the International Release and no further use of any SNOMED CT content by any other party is permitted. \n\nThis resource includes material that is based on Australian Institute of Health and Welfare material. This resource includes material that is based on Australian Bureau of Statistics data. \n\nThis resource also includes all or a portion of material from the HL7 Terminology (THO). THO is copyright ©1989+ Health Level Seven International and is made available under the CC0 designation. For more licensing information see: https://terminology.hl7.org/license.", "expansion": { - "identifier": "urn:uuid:a35fc104-184f-476e-a7a2-e3f3af66a3eb", - "timestamp": "2024-04-02T14:21:20+10:00", - "total": 6, + "identifier": "urn:uuid:81810018-2ec2-4e42-adcc-6aab69e7750c", + "timestamp": "2025-05-01T10:00:58+10:00", + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false + }, + { + "name": "used-valueset", + "valueUri": "null" }, { "name": "used-codesystem", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" }, { "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" }, { "name": "used-codesystem", - "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" + "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|1.0.0" } ], "contains": [ { "system": "http://snomed.info/sct", - "version": "http://snomed.info/sct/32506021000036107/version/20240331", "code": "446151000124109", "display": "Identifies as male gender" }, { "system": "http://snomed.info/sct", - "version": "http://snomed.info/sct/32506021000036107/version/20240331", "code": "446141000124107", "display": "Identifies as female gender" }, { "system": "http://snomed.info/sct", - "version": "http://snomed.info/sct/32506021000036107/version/20240331", "code": "33791000087105", "display": "Identifies as nonbinary gender" }, { "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", - "version": "5.0.0-ballot", "code": "unknown", "display": "Unknown" }, { "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", - "version": "5.0.0-ballot", "code": "asked-declined", "display": "Asked But Declined" }, { "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", - "version": "5.0.0-ballot", "code": "not-asked", "display": "Not Asked" } @@ -1733,17 +1823,37 @@ ], "copyright": "Copyright © 2020 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\nThis resource includes SNOMED Clinical Terms™ (SNOMED CT®) which is used by permission of the International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. “SNOMED” and “SNOMED CT” are registered trademarks of the IHTSDO. \n\nThe rights to use and implement or implementation of SNOMED CT content are limited to the extent it is necessary to allow for the end use of this material. No further rights are granted in respect of the International Release and no further use of any SNOMED CT content by any other party is permitted. \n\nAll copies of this resource must include this copyright statement and all information contained in this statement.", "expansion": { - "identifier": "urn:uuid:e9cff1c2-8743-48cb-9bde-8f4af914544b", - "timestamp": "2023-08-30T10:41:59+10:00", - "total": 4, + "identifier": "urn:uuid:9a0c2291-6dd8-4778-9099-4622f64fa897", + "timestamp": "2025-05-01T10:00:49+10:00", + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20230831" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false + }, + { + "name": "used-valueset", + "valueUri": "null" }, { "name": "used-codesystem", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20230831" + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" + }, + { + "name": "version", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" } ], "contains": [ @@ -1796,31 +1906,44 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/valueset-supplement", - "valueCanonical": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement" + "valueCanonical": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement|0.3.0" } ], "expansion": { - "identifier": "urn:uuid:86b4329d-aca5-4e54-9b5e-67296c7ce9db", - "timestamp": "2024-04-08T12:56:59+10:00", - "total": 2, + "identifier": "urn:uuid:93600010-14a0-4d6e-a82f-15283d13a2cb", + "timestamp": "2025-05-01T11:41:24+10:00", "parameter": [ { - "name": "version", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" + "name": "used-supplement", + "valueUri": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement|0.3.0" }, { "name": "used-codesystem", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" + }, + { + "name": "version", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" + }, + { + "name": "warning-draft", + "valueUri": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement|0.3.0" + }, + { + "name": "warning-draft", + "valueUri": "https://smartforms.csiro.au/ig/ValueSet/SmokingQuitStatus-1|0.3.0" } ], "contains": [ { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "code": "48031000119106", "display": "Quit >12 months" }, { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "code": "735128000", "display": "Quit <12 months" } @@ -1830,6 +1953,7 @@ "include": [ { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "concept": [ { "code": "48031000119106", @@ -1856,50 +1980,68 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/valueset-supplement", - "valueCanonical": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement" + "valueCanonical": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement|0.3.0" } ], "expansion": { - "identifier": "urn:uuid:577a997d-bacd-499f-bae4-aa6efdcca45e", - "timestamp": "2024-11-29T10:37:34+10:00", + "identifier": "urn:uuid:e7e976ca-5eb9-41da-9ca8-2c795c5e2dd2", + "timestamp": "2025-05-01T11:43:41+10:00", "parameter": [ { - "name": "version", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20241130" + "name": "used-supplement", + "valueUri": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement|0.3.0" }, { "name": "used-codesystem", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20241130" + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" + }, + { + "name": "version", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" + }, + { + "name": "warning-draft", + "valueUri": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement|0.3.0" + }, + { + "name": "warning-draft", + "valueUri": "https://smartforms.csiro.au/ig/ValueSet/TobaccoUseStatus-1|0.3.0" } ], "contains": [ { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "code": "266919005", "display": "Never smoked" }, { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "code": "77176002", "display": "Current smoker" }, { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "code": "8517006", "display": "Ex-smoker" }, { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "code": "16090371000119103", "display": "Exposure to second hand tobacco smoke" }, { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "code": "394872000", "display": "Wants to quit" }, { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "code": "713914004", "display": "Other tobacco use" } @@ -1909,6 +2051,7 @@ "include": [ { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "concept": [ { "code": "266919005", @@ -1955,24 +2098,44 @@ } ], "expansion": { - "identifier": "urn:uuid:7642a243-4f23-4b17-933d-57b448902d5d", - "timestamp": "2024-04-08T10:41:42+10:00", - "total": 4, + "identifier": "urn:uuid:4d42d172-e817-40be-a265-56aebe2f4f10", + "timestamp": "2025-05-01T10:01:02+10:00", + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false + }, + { + "name": "used-valueset", + "valueUri": "null" }, { "name": "used-codesystem", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" + }, + { + "name": "version", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" } ], "contains": [ { "system": "http://snomed.info/sct", "code": "736595007", - "display": "Declined" + "display": "Cervical cancer screening refused" }, { "system": "http://snomed.info/sct", @@ -1982,12 +2145,12 @@ { "system": "http://snomed.info/sct", "code": "171154002", - "display": "Not required" + "display": "Cancer cervix screening - not needed" }, { "system": "http://snomed.info/sct", "code": "171155001", - "display": "Up to date" + "display": "Cancer cervix screening - up-to-date" } ] }, @@ -2192,6 +2355,7 @@ ], "url": "http://www.health.gov.au/assessments/mbs/715", "name": "AboriginalTorresStraitIslanderHealthCheck", + "title": "Aboriginal and Torres Strait Islander Health Check", "status": "draft", "experimental": false, "subjectType": [ diff --git a/fsh-generated/resources/Questionnaire-ChronicDiseaseAgeing.json b/fsh-generated/resources/Questionnaire-ChronicDiseaseAgeing.json index 4e372178..a97eae5f 100644 --- a/fsh-generated/resources/Questionnaire-ChronicDiseaseAgeing.json +++ b/fsh-generated/resources/Questionnaire-ChronicDiseaseAgeing.json @@ -225,6 +225,7 @@ ], "url": "http://www.health.gov.au/assessments/mbs/715/ChronicDiseaseAgeing", "name": "ChronicDiseaseAgeing", + "title": "Aboriginal and Torres Strait Islander Health Check - Chronic Disease Ageing", "status": "draft", "experimental": false, "subjectType": [ diff --git a/fsh-generated/resources/Questionnaire-Consent.json b/fsh-generated/resources/Questionnaire-Consent.json index 18c270a5..c76363c4 100644 --- a/fsh-generated/resources/Questionnaire-Consent.json +++ b/fsh-generated/resources/Questionnaire-Consent.json @@ -424,13 +424,26 @@ "url": "https://smartforms.csiro.au/ig/ValueSet/YesNoNA", "experimental": false, "expansion": { - "identifier": "urn:uuid:5baa5444-e553-4412-a08c-9ce93d3271e0", - "timestamp": "2023-09-01T11:16:50+10:00", + "identifier": "urn:uuid:7fce8cc7-b936-4258-921d-923629b04439", + "timestamp": "2025-05-01T10:00:47+10:00", "total": 3, + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/v2-0532|2.1.0" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false }, { "name": "used-codesystem", @@ -550,6 +563,7 @@ ], "url": "http://www.health.gov.au/assessments/mbs/715/Consent", "name": "Consent", + "title": "Aboriginal and Torres Strait Islander Health Check - Consent", "status": "draft", "experimental": false, "subjectType": [ diff --git a/fsh-generated/resources/Questionnaire-CurrentPriorities.json b/fsh-generated/resources/Questionnaire-CurrentPriorities.json index 1c407642..f8204f1b 100644 --- a/fsh-generated/resources/Questionnaire-CurrentPriorities.json +++ b/fsh-generated/resources/Questionnaire-CurrentPriorities.json @@ -334,13 +334,26 @@ "url": "https://smartforms.csiro.au/ig/ValueSet/YesNo", "experimental": false, "expansion": { - "identifier": "urn:uuid:06bfacf3-ef16-4470-86a0-a2a22f49ff91", - "timestamp": "2023-09-01T11:15:01+10:00", + "identifier": "urn:uuid:41cccc66-fd57-4bc4-bab1-8c5c878d95f7", + "timestamp": "2025-05-01T10:00:50+10:00", "total": 2, + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/v2-0532|2.1.0" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false }, { "name": "used-codesystem", @@ -451,6 +464,7 @@ ], "url": "http://www.health.gov.au/assessments/mbs/715/CurrentPriorities", "name": "CurrentPriorities", + "title": "Aboriginal and Torres Strait Islander Health Check - Current Priorities", "status": "draft", "experimental": false, "subjectType": [ diff --git a/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json b/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json index 96869899..ba4a14f4 100644 --- a/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json +++ b/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json @@ -658,13 +658,26 @@ "url": "https://smartforms.csiro.au/ig/ValueSet/YesNo", "experimental": false, "expansion": { - "identifier": "urn:uuid:06bfacf3-ef16-4470-86a0-a2a22f49ff91", - "timestamp": "2023-09-01T11:15:01+10:00", + "identifier": "urn:uuid:41cccc66-fd57-4bc4-bab1-8c5c878d95f7", + "timestamp": "2025-05-01T10:00:50+10:00", "total": 2, + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/v2-0532|2.1.0" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false }, { "name": "used-codesystem", @@ -775,6 +788,7 @@ ], "url": "http://www.health.gov.au/assessments/mbs/715/EarHealthAndHearing", "name": "EarHealthAndHearing", + "title": "Aboriginal and Torres Strait Islander Health Check - Ear Health And Hearing", "status": "draft", "experimental": false, "subjectType": [ diff --git a/fsh-generated/resources/Questionnaire-Examination.json b/fsh-generated/resources/Questionnaire-Examination.json index cfa38fc0..17f9dc8f 100644 --- a/fsh-generated/resources/Questionnaire-Examination.json +++ b/fsh-generated/resources/Questionnaire-Examination.json @@ -1041,6 +1041,7 @@ ], "url": "http://www.health.gov.au/assessments/mbs/715/Examination", "name": "Examination", + "title": "Aboriginal and Torres Strait Islander Health Check - Examination", "status": "draft", "experimental": false, "subjectType": [ diff --git a/fsh-generated/resources/Questionnaire-EyeHealth.json b/fsh-generated/resources/Questionnaire-EyeHealth.json index aea27179..2cca4fd7 100644 --- a/fsh-generated/resources/Questionnaire-EyeHealth.json +++ b/fsh-generated/resources/Questionnaire-EyeHealth.json @@ -415,13 +415,26 @@ "url": "https://smartforms.csiro.au/ig/ValueSet/YesNo", "experimental": false, "expansion": { - "identifier": "urn:uuid:06bfacf3-ef16-4470-86a0-a2a22f49ff91", - "timestamp": "2023-09-01T11:15:01+10:00", + "identifier": "urn:uuid:41cccc66-fd57-4bc4-bab1-8c5c878d95f7", + "timestamp": "2025-05-01T10:00:50+10:00", "total": 2, + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/v2-0532|2.1.0" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false }, { "name": "used-codesystem", @@ -532,6 +545,7 @@ ], "url": "http://www.health.gov.au/assessments/mbs/715/EyeHealth", "name": "EyeHealth", + "title": "Aboriginal and Torres Strait Islander Health Check - Eye Health", "status": "draft", "experimental": false, "subjectType": [ diff --git a/fsh-generated/resources/Questionnaire-FamilyHistory.json b/fsh-generated/resources/Questionnaire-FamilyHistory.json index 6d5b66c9..6180bf74 100644 --- a/fsh-generated/resources/Questionnaire-FamilyHistory.json +++ b/fsh-generated/resources/Questionnaire-FamilyHistory.json @@ -259,6 +259,7 @@ ], "url": "http://www.health.gov.au/assessments/mbs/715/FamilyHistory", "name": "FamilyHistory", + "title": "Aboriginal and Torres Strait Islander Health Check - Family History", "status": "draft", "experimental": false, "subjectType": [ diff --git a/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json b/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json index b0904239..e960fa49 100644 --- a/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json +++ b/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json @@ -1066,6 +1066,7 @@ ], "url": "http://www.health.gov.au/assessments/mbs/715/FinalisingHealthCheck", "name": "FinalisingHealthCheck", + "title": "Aboriginal and Torres Strait Islander Health Check - Finalising the Health Check", "status": "draft", "experimental": false, "subjectType": [ diff --git a/fsh-generated/resources/Questionnaire-Gambling.json b/fsh-generated/resources/Questionnaire-Gambling.json index c148f236..d97fc1ec 100644 --- a/fsh-generated/resources/Questionnaire-Gambling.json +++ b/fsh-generated/resources/Questionnaire-Gambling.json @@ -172,13 +172,26 @@ "url": "https://smartforms.csiro.au/ig/ValueSet/YesNo", "experimental": false, "expansion": { - "identifier": "urn:uuid:06bfacf3-ef16-4470-86a0-a2a22f49ff91", - "timestamp": "2023-09-01T11:15:01+10:00", + "identifier": "urn:uuid:41cccc66-fd57-4bc4-bab1-8c5c878d95f7", + "timestamp": "2025-05-01T10:00:50+10:00", "total": 2, + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/v2-0532|2.1.0" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false }, { "name": "used-codesystem", @@ -289,6 +302,7 @@ ], "url": "http://www.health.gov.au/assessments/mbs/715/Gambling", "name": "Gambling", + "title": "Aboriginal and Torres Strait Islander Health Check - Gambling", "status": "draft", "experimental": false, "subjectType": [ diff --git a/fsh-generated/resources/Questionnaire-HealthPrioritiesSummary.json b/fsh-generated/resources/Questionnaire-HealthPrioritiesSummary.json index 5d0b6a45..55e0f0d7 100644 --- a/fsh-generated/resources/Questionnaire-HealthPrioritiesSummary.json +++ b/fsh-generated/resources/Questionnaire-HealthPrioritiesSummary.json @@ -976,6 +976,7 @@ ], "url": "http://www.health.gov.au/assessments/mbs/715/HealthPrioritiesSummary", "name": "HealthPrioritiesActionsAndFollowUpSummary", + "title": "Aboriginal and Torres Strait Islander Health Check - Health Priorities, Actions And Follow-Up Summary", "status": "draft", "experimental": false, "subjectType": [ diff --git a/fsh-generated/resources/Questionnaire-HealthyEating.json b/fsh-generated/resources/Questionnaire-HealthyEating.json index 4dea50ea..064c520f 100644 --- a/fsh-generated/resources/Questionnaire-HealthyEating.json +++ b/fsh-generated/resources/Questionnaire-HealthyEating.json @@ -546,13 +546,26 @@ "url": "https://smartforms.csiro.au/ig/ValueSet/YesNo", "experimental": false, "expansion": { - "identifier": "urn:uuid:06bfacf3-ef16-4470-86a0-a2a22f49ff91", - "timestamp": "2023-09-01T11:15:01+10:00", + "identifier": "urn:uuid:41cccc66-fd57-4bc4-bab1-8c5c878d95f7", + "timestamp": "2025-05-01T10:00:50+10:00", "total": 2, + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/v2-0532|2.1.0" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false }, { "name": "used-codesystem", @@ -663,6 +676,7 @@ ], "url": "http://www.health.gov.au/assessments/mbs/715/HealthyEating", "name": "HealthyEating", + "title": "Aboriginal and Torres Strait Islander Health Check - Healthy Eating", "status": "draft", "experimental": false, "subjectType": [ diff --git a/fsh-generated/resources/Questionnaire-HomeAndFamily.json b/fsh-generated/resources/Questionnaire-HomeAndFamily.json index 3da3904b..e041d0e8 100644 --- a/fsh-generated/resources/Questionnaire-HomeAndFamily.json +++ b/fsh-generated/resources/Questionnaire-HomeAndFamily.json @@ -246,13 +246,26 @@ "url": "https://smartforms.csiro.au/ig/ValueSet/YesNo", "experimental": false, "expansion": { - "identifier": "urn:uuid:06bfacf3-ef16-4470-86a0-a2a22f49ff91", - "timestamp": "2023-09-01T11:15:01+10:00", + "identifier": "urn:uuid:41cccc66-fd57-4bc4-bab1-8c5c878d95f7", + "timestamp": "2025-05-01T10:00:50+10:00", "total": 2, + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/v2-0532|2.1.0" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false }, { "name": "used-codesystem", @@ -363,6 +376,7 @@ ], "url": "http://www.health.gov.au/assessments/mbs/715/HomeAndFamily", "name": "HomeAndFamily", + "title": "Aboriginal and Torres Strait Islander Health Check - Home And Family", "status": "draft", "experimental": false, "subjectType": [ diff --git a/fsh-generated/resources/Questionnaire-Immunisation.json b/fsh-generated/resources/Questionnaire-Immunisation.json index fbd91250..3fa4a028 100644 --- a/fsh-generated/resources/Questionnaire-Immunisation.json +++ b/fsh-generated/resources/Questionnaire-Immunisation.json @@ -258,13 +258,26 @@ "url": "https://smartforms.csiro.au/ig/ValueSet/YesNo", "experimental": false, "expansion": { - "identifier": "urn:uuid:06bfacf3-ef16-4470-86a0-a2a22f49ff91", - "timestamp": "2023-09-01T11:15:01+10:00", + "identifier": "urn:uuid:41cccc66-fd57-4bc4-bab1-8c5c878d95f7", + "timestamp": "2025-05-01T10:00:50+10:00", "total": 2, + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/v2-0532|2.1.0" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false }, { "name": "used-codesystem", @@ -375,6 +388,7 @@ ], "url": "http://www.health.gov.au/assessments/mbs/715/Immunisation", "name": "Immunisation", + "title": "Aboriginal and Torres Strait Islander Health Check - Immunisation", "status": "draft", "experimental": false, "subjectType": [ diff --git a/fsh-generated/resources/Questionnaire-Investigations.json b/fsh-generated/resources/Questionnaire-Investigations.json index 39f4289c..7a49c7cb 100644 --- a/fsh-generated/resources/Questionnaire-Investigations.json +++ b/fsh-generated/resources/Questionnaire-Investigations.json @@ -246,6 +246,7 @@ ], "url": "http://www.health.gov.au/assessments/mbs/715/Investigations", "name": "Investigations", + "title": "Aboriginal and Torres Strait Islander Health Check - Investigations", "status": "draft", "experimental": false, "subjectType": [ diff --git a/fsh-generated/resources/Questionnaire-LearningAndDevelopment.json b/fsh-generated/resources/Questionnaire-LearningAndDevelopment.json index 19ef04b1..ff72d4d1 100644 --- a/fsh-generated/resources/Questionnaire-LearningAndDevelopment.json +++ b/fsh-generated/resources/Questionnaire-LearningAndDevelopment.json @@ -517,6 +517,7 @@ ], "url": "http://www.health.gov.au/assessments/mbs/715/LearningAndDevelopment", "name": "LearningAndDevelopment", + "title": "Aboriginal and Torres Strait Islander Health Check - Learning And Development", "status": "draft", "experimental": false, "subjectType": [ diff --git a/fsh-generated/resources/Questionnaire-LearningAndWork.json b/fsh-generated/resources/Questionnaire-LearningAndWork.json index d844b432..081bd1b1 100644 --- a/fsh-generated/resources/Questionnaire-LearningAndWork.json +++ b/fsh-generated/resources/Questionnaire-LearningAndWork.json @@ -409,13 +409,26 @@ "url": "https://smartforms.csiro.au/ig/ValueSet/YesNo", "experimental": false, "expansion": { - "identifier": "urn:uuid:06bfacf3-ef16-4470-86a0-a2a22f49ff91", - "timestamp": "2023-09-01T11:15:01+10:00", + "identifier": "urn:uuid:41cccc66-fd57-4bc4-bab1-8c5c878d95f7", + "timestamp": "2025-05-01T10:00:50+10:00", "total": 2, + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/v2-0532|2.1.0" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false }, { "name": "used-codesystem", @@ -463,13 +476,26 @@ "url": "https://smartforms.csiro.au/ig/ValueSet/YesNoNA", "experimental": false, "expansion": { - "identifier": "urn:uuid:5baa5444-e553-4412-a08c-9ce93d3271e0", - "timestamp": "2023-09-01T11:16:50+10:00", + "identifier": "urn:uuid:7fce8cc7-b936-4258-921d-923629b04439", + "timestamp": "2025-05-01T10:00:47+10:00", "total": 3, + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/v2-0532|2.1.0" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false }, { "name": "used-codesystem", @@ -589,6 +615,7 @@ ], "url": "http://www.health.gov.au/assessments/mbs/715/LearningAndWork", "name": "LearningAndWork", + "title": "Aboriginal and Torres Strait Islander Health Check - Learning And Work", "status": "draft", "experimental": false, "subjectType": [ diff --git a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json index 3dbef3f2..cc5b5c9e 100644 --- a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json +++ b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json @@ -441,65 +441,71 @@ "copyright": "Copyright © 2011+ HL7. Licensed under Creative Commons \"No Rights Reserved\".", "date": "2019-11-01T09:29:23+11:00", "expansion": { - "identifier": "urn:uuid:79d21cca-9f34-4cfa-9020-17eee95eeed8", - "timestamp": "2024-04-02T14:17:12+10:00", - "total": 6, + "identifier": "urn:uuid:7b100d21-fde9-4fd8-bded-80f345db777d", + "timestamp": "2025-05-01T10:00:56+10:00", + "total": 7, + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/condition-clinical|4.0.1" + "name": "displayLanguage", + "valueCode": "en-US" }, { - "name": "used-codesystem", - "valueUri": "http://terminology.hl7.org/CodeSystem/condition-clinical|4.0.1" - }, - { - "name": "warning-draft", - "valueUri": "http://hl7.org/fhir/ValueSet/condition-clinical|4.0.1" + "name": "count", + "valueInteger": 1000 }, { - "name": "warning-trial-use", - "valueUri": "http://hl7.org/fhir/ValueSet/condition-clinical|4.0.1" + "name": "offset", + "valueInteger": 0 }, { - "name": "warning-trial-use", - "valueUri": "http://terminology.hl7.org/CodeSystem/condition-clinical|4.0.1" + "name": "excludeNested", + "valueBoolean": false }, { - "name": "warning-draft", - "valueUri": "http://terminology.hl7.org/CodeSystem/condition-clinical|4.0.1" + "name": "used-codesystem", + "valueUri": "http://terminology.hl7.org/CodeSystem/condition-clinical|3.0.0" } ], "contains": [ { "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", "code": "active", - "display": "Active" + "display": "Active", + "contains": [ + { + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", + "code": "recurrence", + "display": "Recurrence" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", + "code": "relapse", + "display": "Relapse" + } + ] }, { "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", "code": "inactive", - "display": "Inactive" - }, - { - "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", - "code": "recurrence", - "display": "Recurrence" - }, - { - "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", - "code": "relapse", - "display": "Relapse" - }, - { - "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", - "code": "remission", - "display": "Remission" + "display": "Inactive", + "contains": [ + { + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", + "code": "remission", + "display": "Remission" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", + "code": "resolved", + "display": "Resolved" + } + ] }, { "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", - "code": "resolved", - "display": "Resolved" + "code": "unknown", + "display": "Unknown" } ] }, @@ -638,6 +644,7 @@ ], "url": "http://www.health.gov.au/assessments/mbs/715/MedicalHistoryCurrentProblems", "name": "MedicalHistoryCurrentProblems", + "title": "Aboriginal and Torres Strait Islander Health Check - Medical History", "status": "draft", "experimental": false, "subjectType": [ diff --git a/fsh-generated/resources/Questionnaire-MemoryAndThinking.json b/fsh-generated/resources/Questionnaire-MemoryAndThinking.json index d9b002f1..fc3bfc37 100644 --- a/fsh-generated/resources/Questionnaire-MemoryAndThinking.json +++ b/fsh-generated/resources/Questionnaire-MemoryAndThinking.json @@ -246,13 +246,26 @@ "url": "https://smartforms.csiro.au/ig/ValueSet/YesNo", "experimental": false, "expansion": { - "identifier": "urn:uuid:06bfacf3-ef16-4470-86a0-a2a22f49ff91", - "timestamp": "2023-09-01T11:15:01+10:00", + "identifier": "urn:uuid:41cccc66-fd57-4bc4-bab1-8c5c878d95f7", + "timestamp": "2025-05-01T10:00:50+10:00", "total": 2, + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/v2-0532|2.1.0" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false }, { "name": "used-codesystem", @@ -363,6 +376,7 @@ ], "url": "http://www.health.gov.au/assessments/mbs/715/MemoryAndThinking", "name": "MemoryAndThinking", + "title": "Aboriginal and Torres Strait Islander Health Check - Memory And Thinking", "status": "draft", "experimental": false, "subjectType": [ diff --git a/fsh-generated/resources/Questionnaire-Mood.json b/fsh-generated/resources/Questionnaire-Mood.json index 1a7e51a8..fa84b93d 100644 --- a/fsh-generated/resources/Questionnaire-Mood.json +++ b/fsh-generated/resources/Questionnaire-Mood.json @@ -269,6 +269,7 @@ ], "url": "http://www.health.gov.au/assessments/mbs/715/Mood", "name": "Mood", + "title": "Aboriginal and Torres Strait Islander Health Check - Mood", "status": "draft", "experimental": false, "subjectType": [ diff --git a/fsh-generated/resources/Questionnaire-OralAndDentalHealth.json b/fsh-generated/resources/Questionnaire-OralAndDentalHealth.json index 9a3bbec2..e4ed8870 100644 --- a/fsh-generated/resources/Questionnaire-OralAndDentalHealth.json +++ b/fsh-generated/resources/Questionnaire-OralAndDentalHealth.json @@ -296,13 +296,26 @@ "url": "https://smartforms.csiro.au/ig/ValueSet/YesNo", "experimental": false, "expansion": { - "identifier": "urn:uuid:06bfacf3-ef16-4470-86a0-a2a22f49ff91", - "timestamp": "2023-09-01T11:15:01+10:00", + "identifier": "urn:uuid:41cccc66-fd57-4bc4-bab1-8c5c878d95f7", + "timestamp": "2025-05-01T10:00:50+10:00", "total": 2, + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/v2-0532|2.1.0" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false }, { "name": "used-codesystem", @@ -413,6 +426,7 @@ ], "url": "http://www.health.gov.au/assessments/mbs/715/OralAndDentalHealth", "name": "OralAndDentalHealth", + "title": "Aboriginal and Torres Strait Islander Health Check - Oral And Dental Health", "status": "draft", "experimental": false, "subjectType": [ diff --git a/fsh-generated/resources/Questionnaire-PatientDetails.json b/fsh-generated/resources/Questionnaire-PatientDetails.json index 5128ebea..cd8dcd9a 100644 --- a/fsh-generated/resources/Questionnaire-PatientDetails.json +++ b/fsh-generated/resources/Questionnaire-PatientDetails.json @@ -1403,13 +1403,26 @@ "url": "https://smartforms.csiro.au/ig/ValueSet/YesNoNA", "experimental": false, "expansion": { - "identifier": "urn:uuid:5baa5444-e553-4412-a08c-9ce93d3271e0", - "timestamp": "2023-09-01T11:16:50+10:00", + "identifier": "urn:uuid:7fce8cc7-b936-4258-921d-923629b04439", + "timestamp": "2025-05-01T10:00:47+10:00", "total": 3, + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/v2-0532|2.1.0" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false }, { "name": "used-codesystem", @@ -1466,39 +1479,47 @@ "url": "https://smartforms.csiro.au/ig/ValueSet/AboriginalTorresStraitIslander", "experimental": false, "expansion": { - "identifier": "e2b013bd-1725-4299-a7a5-53635d42f1be", - "timestamp": "2022-10-20T11:38:45+10:00", + "identifier": "urn:uuid:eb422e76-71e8-48b0-a191-73285ddb91cc", + "timestamp": "2025-05-01T10:00:56+10:00", "total": 3, "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-indigenous-status-1|1.0.3" + "name": "displayLanguage", + "valueCode": "en-US" }, { "name": "count", - "valueInteger": 2147483647 + "valueInteger": 1000 }, { "name": "offset", "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false + }, + { + "name": "used-codesystem", + "valueUri": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-indigenous-status-1|1.0.3" } ], "contains": [ { "system": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-indigenous-status-1", "code": "1", - "display": "Aboriginal but not Torres Strait Islander origin" + "display": "Aboriginal" }, { "system": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-indigenous-status-1", "code": "2", - "display": "Torres Strait Islander but not Aboriginal origin" + "display": "Torres Strait Islander" }, { "system": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-indigenous-status-1", "code": "3", - "display": "Both Aboriginal and Torres Strait Islander origin" + "display": "Aboriginal and Torres Strait Islander" } ] }, @@ -1534,50 +1555,54 @@ "url": "https://smartforms.csiro.au/ig/ValueSet/PrimaryCarerParentGrandparent", "experimental": false, "expansion": { - "identifier": "2809c2fa-28ec-4def-9b16-93a611d29da3", - "timestamp": "2022-10-20T11:42:30+10:00", + "identifier": "urn:uuid:f8e7efc2-94d6-403e-9e40-3a3a4e9fffb4", + "timestamp": "2025-05-01T10:00:56+10:00", "total": 4, "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/v3-RoleCode|2018-08-12" - }, - { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/v3-NullFlavor|2018-08-12" + "name": "displayLanguage", + "valueCode": "en-US" }, { "name": "count", - "valueInteger": 2147483647 + "valueInteger": 1000 }, { "name": "offset", "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false + }, + { + "name": "used-codesystem", + "valueUri": "http://terminology.hl7.org/CodeSystem/v3-RoleCode|3.0.0" + }, + { + "name": "used-codesystem", + "valueUri": "http://terminology.hl7.org/CodeSystem/v3-NullFlavor|3.0.0" } ], "contains": [ { "system": "http://terminology.hl7.org/CodeSystem/v3-RoleCode", - "version": "2018-08-12", "code": "MTH", "display": "mother" }, { "system": "http://terminology.hl7.org/CodeSystem/v3-RoleCode", - "version": "2018-08-12", "code": "FTH", "display": "father" }, { "system": "http://terminology.hl7.org/CodeSystem/v3-RoleCode", - "version": "2018-08-12", "code": "GRPRN", "display": "grandparent" }, { "system": "http://terminology.hl7.org/CodeSystem/v3-NullFlavor", - "version": "2018-08-12", "code": "NA", "display": "not applicable" } @@ -1668,13 +1693,26 @@ "publisher": "HL7 (FHIR Project)", "version": "4.0.1", "expansion": { - "identifier": "urn:uuid:50f050c9-3975-48d6-bdb7-baae4ebc70cd", - "timestamp": "2024-04-05T12:31:27+10:00", + "identifier": "urn:uuid:31c9098a-778c-4de6-9c2b-4f1e2db26179", + "timestamp": "2025-05-01T10:00:55+10:00", "total": 4, + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://hl7.org/fhir/administrative-gender|4.0.1" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false }, { "name": "used-codesystem", @@ -1684,13 +1722,13 @@ "contains": [ { "system": "http://hl7.org/fhir/administrative-gender", - "code": "female", - "display": "Female" + "code": "male", + "display": "Male" }, { "system": "http://hl7.org/fhir/administrative-gender", - "code": "male", - "display": "Male" + "code": "female", + "display": "Female" }, { "system": "http://hl7.org/fhir/administrative-gender", @@ -1742,69 +1780,79 @@ ], "copyright": "Copyright © 2024 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\nThis material contains content from LOINC (http://loinc.org). LOINC is copyright 1995-2024, Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee and is available at no cost under the license at http://loinc.org/license. LOINC® is a registered United States trademark of Regenstrief Institute, Inc.\n\nThis material contains information which is protected by copyright. You may download, display, print and reproduce any material for your personal, non-commercial use or use within your organisation subject to the following terms and conditions: \n\nThis resource also includes all or a portion of material from the HL7 Terminology (THO). THO is copyright ©1989+ Health Level Seven International and is made available under the CC0 designation. For more licensing information see: https://terminology.hl7.org/license.", "expansion": { - "identifier": "urn:uuid:ca145c1c-4915-4957-888a-39e69de8b1ad", - "timestamp": "2024-04-02T14:25:01+10:00", + "identifier": "urn:uuid:1bc98e8c-511f-4014-a4d9-a48a8db0923d", + "timestamp": "2025-05-01T10:00:56+10:00", "total": 7, + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://loinc.org|2.77" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false + }, + { + "name": "used-valueset", + "valueUri": "null" }, { "name": "used-codesystem", - "valueUri": "http://loinc.org|2.77" + "valueUri": "http://loinc.org|2.80" }, { "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" + "valueUri": "http://loinc.org|2.80" }, { "name": "used-codesystem", - "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" + "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|1.0.0" } ], "contains": [ { "system": "http://loinc.org", - "version": "2.77", "code": "LA29518-0", "display": "he/him/his/his/himself" }, { "system": "http://loinc.org", - "version": "2.77", "code": "LA29519-8", "display": "she/her/her/hers/herself" }, { "system": "http://loinc.org", - "version": "2.77", "code": "LA29520-6", "display": "they/them/their/theirs/themselves" }, { "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", - "version": "5.0.0-ballot", - "code": "asked-declined", - "display": "Asked But Declined" + "code": "unknown", + "display": "Unknown" }, { "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", - "version": "5.0.0-ballot", - "code": "asked-unknown", - "display": "Asked But Unknown" + "code": "asked-declined", + "display": "Asked But Declined" }, { "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", - "version": "5.0.0-ballot", "code": "not-asked", "display": "Not Asked" }, { "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", - "version": "5.0.0-ballot", - "code": "unknown", - "display": "Unknown" + "code": "asked-unknown", + "display": "Asked But Unknown" } ] }, @@ -1877,61 +1925,71 @@ ], "copyright": "Copyright © 2022 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/.\n\n\"This resource includes SNOMED Clinical Terms™ (SNOMED CT®) which is used by permission of the International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. “SNOMED” and “SNOMED CT” are registered trademarks of the IHTSDO. \n\nThe rights to use and implement or implementation of SNOMED CT content are limited to the extent it is necessary to allow for the end use of this material. No further rights are granted in respect of the International Release and no further use of any SNOMED CT content by any other party is permitted. \n\nThis resource includes material that is based on Australian Institute of Health and Welfare material. This resource includes material that is based on Australian Bureau of Statistics data. \n\nThis resource also includes all or a portion of material from the HL7 Terminology (THO). THO is copyright ©1989+ Health Level Seven International and is made available under the CC0 designation. For more licensing information see: https://terminology.hl7.org/license.", "expansion": { - "identifier": "urn:uuid:a35fc104-184f-476e-a7a2-e3f3af66a3eb", - "timestamp": "2024-04-02T14:21:20+10:00", - "total": 6, + "identifier": "urn:uuid:81810018-2ec2-4e42-adcc-6aab69e7750c", + "timestamp": "2025-05-01T10:00:58+10:00", + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false + }, + { + "name": "used-valueset", + "valueUri": "null" }, { "name": "used-codesystem", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" }, { "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" }, { "name": "used-codesystem", - "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" + "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|1.0.0" } ], "contains": [ { "system": "http://snomed.info/sct", - "version": "http://snomed.info/sct/32506021000036107/version/20240331", "code": "446151000124109", "display": "Identifies as male gender" }, { "system": "http://snomed.info/sct", - "version": "http://snomed.info/sct/32506021000036107/version/20240331", "code": "446141000124107", "display": "Identifies as female gender" }, { "system": "http://snomed.info/sct", - "version": "http://snomed.info/sct/32506021000036107/version/20240331", "code": "33791000087105", "display": "Identifies as nonbinary gender" }, { "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", - "version": "5.0.0-ballot", "code": "unknown", "display": "Unknown" }, { "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", - "version": "5.0.0-ballot", "code": "asked-declined", "display": "Asked But Declined" }, { "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", - "version": "5.0.0-ballot", "code": "not-asked", "display": "Not Asked" } @@ -2006,17 +2064,37 @@ ], "copyright": "Copyright © 2020 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\nThis resource includes SNOMED Clinical Terms™ (SNOMED CT®) which is used by permission of the International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. “SNOMED” and “SNOMED CT” are registered trademarks of the IHTSDO. \n\nThe rights to use and implement or implementation of SNOMED CT content are limited to the extent it is necessary to allow for the end use of this material. No further rights are granted in respect of the International Release and no further use of any SNOMED CT content by any other party is permitted. \n\nAll copies of this resource must include this copyright statement and all information contained in this statement.", "expansion": { - "identifier": "urn:uuid:e9cff1c2-8743-48cb-9bde-8f4af914544b", - "timestamp": "2023-08-30T10:41:59+10:00", - "total": 4, + "identifier": "urn:uuid:9a0c2291-6dd8-4778-9099-4622f64fa897", + "timestamp": "2025-05-01T10:00:49+10:00", + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20230831" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false + }, + { + "name": "used-valueset", + "valueUri": "null" }, { "name": "used-codesystem", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20230831" + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" + }, + { + "name": "version", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" } ], "contains": [ @@ -2093,22 +2171,30 @@ ], "copyright": "Copyright © 2018 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\nThis resource includes material that is based on Australian Institute of Health and Welfare material. \n\nAll copies of this resource must include this copyright statement and all information contained in this statement.", "expansion": { - "identifier": "e9439195-c1d8-4069-a349-98c1d552a351", - "timestamp": "2023-06-20T04:20:58+00:00", + "identifier": "urn:uuid:148e9412-a321-4a6f-b911-7e7908be82af", + "timestamp": "2025-05-01T10:00:57+10:00", "total": 9, "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1|1.1.3" + "name": "displayLanguage", + "valueCode": "en-US" }, { "name": "count", - "valueInteger": 2147483647 + "valueInteger": 1000 }, { "name": "offset", "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false + }, + { + "name": "used-codesystem", + "valueUri": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1|1.1.3" } ], "contains": [ @@ -2285,6 +2371,7 @@ ], "url": "http://www.health.gov.au/assessments/mbs/715/PatientDetails", "name": "PatientDetails", + "title": "Aboriginal and Torres Strait Islander Health Check - Patient Details", "status": "draft", "experimental": false, "subjectType": [ diff --git a/fsh-generated/resources/Questionnaire-PhysicalActivityAndScreenTime.json b/fsh-generated/resources/Questionnaire-PhysicalActivityAndScreenTime.json index 51ab18c0..7b9f9700 100644 --- a/fsh-generated/resources/Questionnaire-PhysicalActivityAndScreenTime.json +++ b/fsh-generated/resources/Questionnaire-PhysicalActivityAndScreenTime.json @@ -533,13 +533,26 @@ "url": "https://smartforms.csiro.au/ig/ValueSet/YesNo", "experimental": false, "expansion": { - "identifier": "urn:uuid:06bfacf3-ef16-4470-86a0-a2a22f49ff91", - "timestamp": "2023-09-01T11:15:01+10:00", + "identifier": "urn:uuid:41cccc66-fd57-4bc4-bab1-8c5c878d95f7", + "timestamp": "2025-05-01T10:00:50+10:00", "total": 2, + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/v2-0532|2.1.0" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false }, { "name": "used-codesystem", @@ -650,6 +663,7 @@ ], "url": "http://www.health.gov.au/assessments/mbs/715/PhysicalActivityAndScreenTime", "name": "PhysicalActivityAndScreenTime", + "title": "Aboriginal and Torres Strait Islander Health Check - Physical Activity And Screen Time", "status": "draft", "experimental": false, "subjectType": [ diff --git a/fsh-generated/resources/Questionnaire-RedFlagsEarlyIdentificationGuide.json b/fsh-generated/resources/Questionnaire-RedFlagsEarlyIdentificationGuide.json index deaf03ed..8d59ed6a 100644 --- a/fsh-generated/resources/Questionnaire-RedFlagsEarlyIdentificationGuide.json +++ b/fsh-generated/resources/Questionnaire-RedFlagsEarlyIdentificationGuide.json @@ -1361,6 +1361,7 @@ ], "url": "http://www.health.gov.au/assessments/mbs/715/RedFlagsEarlyIdentificationGuide", "name": "RedFlagsEarlyIdentificationGuideForChildren", + "title": "Aboriginal and Torres Strait Islander Health Check - Red Flags Early Identification Guide For Children", "status": "draft", "experimental": false, "subjectType": [ diff --git a/fsh-generated/resources/Questionnaire-RegularMedications.json b/fsh-generated/resources/Questionnaire-RegularMedications.json index df5ce83d..67309deb 100644 --- a/fsh-generated/resources/Questionnaire-RegularMedications.json +++ b/fsh-generated/resources/Questionnaire-RegularMedications.json @@ -254,13 +254,26 @@ "url": "https://smartforms.csiro.au/ig/ValueSet/YesNo", "experimental": false, "expansion": { - "identifier": "urn:uuid:06bfacf3-ef16-4470-86a0-a2a22f49ff91", - "timestamp": "2023-09-01T11:15:01+10:00", + "identifier": "urn:uuid:41cccc66-fd57-4bc4-bab1-8c5c878d95f7", + "timestamp": "2025-05-01T10:00:50+10:00", "total": 2, + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/v2-0532|2.1.0" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false }, { "name": "used-codesystem", @@ -371,6 +384,7 @@ ], "url": "http://www.health.gov.au/assessments/mbs/715/RegularMedications", "name": "RegularMedications", + "title": "Aboriginal and Torres Strait Islander Health Check - Regular Medications", "status": "draft", "experimental": false, "subjectType": [ diff --git a/fsh-generated/resources/Questionnaire-ScreeningPrograms.json b/fsh-generated/resources/Questionnaire-ScreeningPrograms.json index 8e0e5c2d..e2091760 100644 --- a/fsh-generated/resources/Questionnaire-ScreeningPrograms.json +++ b/fsh-generated/resources/Questionnaire-ScreeningPrograms.json @@ -366,6 +366,7 @@ ], "url": "http://www.health.gov.au/assessments/mbs/715/ScreeningPrograms", "name": "ScreeningPrograms", + "title": "Aboriginal and Torres Strait Islander Health Check - Screening Programs", "status": "draft", "experimental": false, "subjectType": [ diff --git a/fsh-generated/resources/Questionnaire-SexualHealth.json b/fsh-generated/resources/Questionnaire-SexualHealth.json index 2c694aed..735fe1de 100644 --- a/fsh-generated/resources/Questionnaire-SexualHealth.json +++ b/fsh-generated/resources/Questionnaire-SexualHealth.json @@ -626,13 +626,26 @@ "url": "https://smartforms.csiro.au/ig/ValueSet/YesNo", "experimental": false, "expansion": { - "identifier": "urn:uuid:06bfacf3-ef16-4470-86a0-a2a22f49ff91", - "timestamp": "2023-09-01T11:15:01+10:00", + "identifier": "urn:uuid:41cccc66-fd57-4bc4-bab1-8c5c878d95f7", + "timestamp": "2025-05-01T10:00:50+10:00", "total": 2, + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/v2-0532|2.1.0" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false }, { "name": "used-codesystem", @@ -680,49 +693,54 @@ "url": "https://smartforms.csiro.au/ig/ValueSet/YesNoNotAskedDeclined", "experimental": false, "expansion": { - "identifier": "urn:uuid:8eda7c3c-cc35-49fa-ac6c-c0e4f0a4e203", - "timestamp": "2023-09-01T11:17:57+10:00", + "identifier": "urn:uuid:20552db7-8def-4e55-a0d2-cb446651929c", + "timestamp": "2025-05-01T10:00:51+10:00", "total": 4, + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" + "name": "displayLanguage", + "valueCode": "en-US" }, { - "name": "used-codesystem", - "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" + "name": "count", + "valueInteger": 1000 }, { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/v2-0532|2.1.0" + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false }, { "name": "used-codesystem", "valueUri": "http://terminology.hl7.org/CodeSystem/v2-0532|2.1.0" + }, + { + "name": "used-codesystem", + "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|1.0.0" } ], "contains": [ { "system": "http://terminology.hl7.org/CodeSystem/v2-0532", - "version": "2.1.0", "code": "Y", "display": "Yes" }, { "system": "http://terminology.hl7.org/CodeSystem/v2-0532", - "version": "2.1.0", "code": "N", "display": "No" }, { "system": "http://terminology.hl7.org/CodeSystem/v2-0532", - "version": "2.1.0", "code": "NASK", "display": "Not Asked" }, { "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", - "version": "5.0.0-ballot", "code": "asked-declined", "display": "Asked But Declined" } @@ -775,24 +793,44 @@ } ], "expansion": { - "identifier": "urn:uuid:7642a243-4f23-4b17-933d-57b448902d5d", - "timestamp": "2024-04-08T10:41:42+10:00", - "total": 4, + "identifier": "urn:uuid:4d42d172-e817-40be-a265-56aebe2f4f10", + "timestamp": "2025-05-01T10:01:02+10:00", + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false + }, + { + "name": "used-valueset", + "valueUri": "null" }, { "name": "used-codesystem", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" + }, + { + "name": "version", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" } ], "contains": [ { "system": "http://snomed.info/sct", "code": "736595007", - "display": "Declined" + "display": "Cervical cancer screening refused" }, { "system": "http://snomed.info/sct", @@ -802,12 +840,12 @@ { "system": "http://snomed.info/sct", "code": "171154002", - "display": "Not required" + "display": "Cancer cervix screening - not needed" }, { "system": "http://snomed.info/sct", "code": "171155001", - "display": "Up to date" + "display": "Cancer cervix screening - up-to-date" } ] }, @@ -910,6 +948,7 @@ ], "url": "http://www.health.gov.au/assessments/mbs/715/SexualHealth", "name": "SexualHealth", + "title": "Aboriginal and Torres Strait Islander Health Check - Sexual Health", "status": "draft", "experimental": false, "subjectType": [ diff --git a/fsh-generated/resources/Questionnaire-Skin.json b/fsh-generated/resources/Questionnaire-Skin.json index 6e380c40..d8d652b1 100644 --- a/fsh-generated/resources/Questionnaire-Skin.json +++ b/fsh-generated/resources/Questionnaire-Skin.json @@ -282,13 +282,26 @@ "url": "https://smartforms.csiro.au/ig/ValueSet/YesNo", "experimental": false, "expansion": { - "identifier": "urn:uuid:06bfacf3-ef16-4470-86a0-a2a22f49ff91", - "timestamp": "2023-09-01T11:15:01+10:00", + "identifier": "urn:uuid:41cccc66-fd57-4bc4-bab1-8c5c878d95f7", + "timestamp": "2025-05-01T10:00:50+10:00", "total": 2, + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/v2-0532|2.1.0" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false }, { "name": "used-codesystem", @@ -399,6 +412,7 @@ ], "url": "http://www.health.gov.au/assessments/mbs/715/Skin", "name": "Skin", + "title": "Aboriginal and Torres Strait Islander Health Check - Skin", "status": "draft", "experimental": false, "subjectType": [ diff --git a/fsh-generated/resources/Questionnaire-SocialAndEmotionalWellbeing.json b/fsh-generated/resources/Questionnaire-SocialAndEmotionalWellbeing.json index f82cc236..637efd3b 100644 --- a/fsh-generated/resources/Questionnaire-SocialAndEmotionalWellbeing.json +++ b/fsh-generated/resources/Questionnaire-SocialAndEmotionalWellbeing.json @@ -221,13 +221,26 @@ "url": "https://smartforms.csiro.au/ig/ValueSet/YesNo", "experimental": false, "expansion": { - "identifier": "urn:uuid:06bfacf3-ef16-4470-86a0-a2a22f49ff91", - "timestamp": "2023-09-01T11:15:01+10:00", + "identifier": "urn:uuid:41cccc66-fd57-4bc4-bab1-8c5c878d95f7", + "timestamp": "2025-05-01T10:00:50+10:00", "total": 2, + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/v2-0532|2.1.0" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false }, { "name": "used-codesystem", @@ -338,6 +351,7 @@ ], "url": "http://www.health.gov.au/assessments/mbs/715/SocialAndEmotionalWellbeing", "name": "SocialAndEmotionalWellbeing", + "title": "Aboriginal and Torres Strait Islander Health Check - Social And Emotional Wellbeing", "status": "draft", "experimental": false, "subjectType": [ diff --git a/fsh-generated/resources/Questionnaire-SocialHistoryChild.json b/fsh-generated/resources/Questionnaire-SocialHistoryChild.json index 40fa6c06..f4773c0f 100644 --- a/fsh-generated/resources/Questionnaire-SocialHistoryChild.json +++ b/fsh-generated/resources/Questionnaire-SocialHistoryChild.json @@ -237,13 +237,26 @@ "url": "https://smartforms.csiro.au/ig/ValueSet/YesNo", "experimental": false, "expansion": { - "identifier": "urn:uuid:06bfacf3-ef16-4470-86a0-a2a22f49ff91", - "timestamp": "2023-09-01T11:15:01+10:00", + "identifier": "urn:uuid:41cccc66-fd57-4bc4-bab1-8c5c878d95f7", + "timestamp": "2025-05-01T10:00:50+10:00", "total": 2, + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/v2-0532|2.1.0" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false }, { "name": "used-codesystem", @@ -354,6 +367,7 @@ ], "url": "http://www.health.gov.au/assessments/mbs/715/SocialHistoryChild", "name": "SocialHistoryChild", + "title": "Aboriginal and Torres Strait Islander Health Check - Social History Child", "status": "draft", "experimental": false, "subjectType": [ diff --git a/fsh-generated/resources/Questionnaire-SubstanceUse.json b/fsh-generated/resources/Questionnaire-SubstanceUse.json index 4b84cd5a..e35ee0bb 100644 --- a/fsh-generated/resources/Questionnaire-SubstanceUse.json +++ b/fsh-generated/resources/Questionnaire-SubstanceUse.json @@ -317,31 +317,44 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/valueset-supplement", - "valueCanonical": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement" + "valueCanonical": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement|0.3.0" } ], "expansion": { - "identifier": "urn:uuid:86b4329d-aca5-4e54-9b5e-67296c7ce9db", - "timestamp": "2024-04-08T12:56:59+10:00", - "total": 2, + "identifier": "urn:uuid:93600010-14a0-4d6e-a82f-15283d13a2cb", + "timestamp": "2025-05-01T11:41:24+10:00", "parameter": [ { - "name": "version", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" + "name": "used-supplement", + "valueUri": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement|0.3.0" }, { "name": "used-codesystem", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" + }, + { + "name": "version", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" + }, + { + "name": "warning-draft", + "valueUri": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement|0.3.0" + }, + { + "name": "warning-draft", + "valueUri": "https://smartforms.csiro.au/ig/ValueSet/SmokingQuitStatus-1|0.3.0" } ], "contains": [ { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "code": "48031000119106", "display": "Quit >12 months" }, { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "code": "735128000", "display": "Quit <12 months" } @@ -351,6 +364,7 @@ "include": [ { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "concept": [ { "code": "48031000119106", @@ -377,50 +391,68 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/valueset-supplement", - "valueCanonical": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement" + "valueCanonical": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement|0.3.0" } ], "expansion": { - "identifier": "urn:uuid:577a997d-bacd-499f-bae4-aa6efdcca45e", - "timestamp": "2024-11-29T10:37:34+10:00", + "identifier": "urn:uuid:e7e976ca-5eb9-41da-9ca8-2c795c5e2dd2", + "timestamp": "2025-05-01T11:43:41+10:00", "parameter": [ { - "name": "version", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20241130" + "name": "used-supplement", + "valueUri": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement|0.3.0" }, { "name": "used-codesystem", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20241130" + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" + }, + { + "name": "version", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" + }, + { + "name": "warning-draft", + "valueUri": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement|0.3.0" + }, + { + "name": "warning-draft", + "valueUri": "https://smartforms.csiro.au/ig/ValueSet/TobaccoUseStatus-1|0.3.0" } ], "contains": [ { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "code": "266919005", "display": "Never smoked" }, { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "code": "77176002", "display": "Current smoker" }, { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "code": "8517006", "display": "Ex-smoker" }, { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "code": "16090371000119103", "display": "Exposure to second hand tobacco smoke" }, { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "code": "394872000", "display": "Wants to quit" }, { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "code": "713914004", "display": "Other tobacco use" } @@ -430,6 +462,7 @@ "include": [ { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "concept": [ { "code": "266919005", @@ -541,6 +574,7 @@ ], "url": "http://www.health.gov.au/assessments/mbs/715/SubstanceUse", "name": "SubstanceUse", + "title": "Aboriginal and Torres Strait Islander Health Check - Substance Use", "status": "draft", "experimental": false, "subjectType": [ diff --git a/fsh-generated/resources/ValueSet-AboriginalTorresStraitIslander.json b/fsh-generated/resources/ValueSet-AboriginalTorresStraitIslander.json index ea62df1c..999dd88e 100644 --- a/fsh-generated/resources/ValueSet-AboriginalTorresStraitIslander.json +++ b/fsh-generated/resources/ValueSet-AboriginalTorresStraitIslander.json @@ -8,39 +8,47 @@ "url": "https://smartforms.csiro.au/ig/ValueSet/AboriginalTorresStraitIslander", "experimental": false, "expansion": { - "identifier": "e2b013bd-1725-4299-a7a5-53635d42f1be", - "timestamp": "2022-10-20T11:38:45+10:00", + "identifier": "urn:uuid:eb422e76-71e8-48b0-a191-73285ddb91cc", + "timestamp": "2025-05-01T10:00:56+10:00", "total": 3, "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-indigenous-status-1|1.0.3" + "name": "displayLanguage", + "valueCode": "en-US" }, { "name": "count", - "valueInteger": 2147483647 + "valueInteger": 1000 }, { "name": "offset", "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false + }, + { + "name": "used-codesystem", + "valueUri": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-indigenous-status-1|1.0.3" } ], "contains": [ { "system": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-indigenous-status-1", "code": "1", - "display": "Aboriginal but not Torres Strait Islander origin" + "display": "Aboriginal" }, { "system": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-indigenous-status-1", "code": "2", - "display": "Torres Strait Islander but not Aboriginal origin" + "display": "Torres Strait Islander" }, { "system": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-indigenous-status-1", "code": "3", - "display": "Both Aboriginal and Torres Strait Islander origin" + "display": "Aboriginal and Torres Strait Islander" } ] }, diff --git a/fsh-generated/resources/ValueSet-CervicalScreeningStatus-1.json b/fsh-generated/resources/ValueSet-CervicalScreeningStatus-1.json index bf91ab45..4fb0b1c4 100644 --- a/fsh-generated/resources/ValueSet-CervicalScreeningStatus-1.json +++ b/fsh-generated/resources/ValueSet-CervicalScreeningStatus-1.json @@ -14,24 +14,44 @@ } ], "expansion": { - "identifier": "urn:uuid:7642a243-4f23-4b17-933d-57b448902d5d", - "timestamp": "2024-04-08T10:41:42+10:00", - "total": 4, + "identifier": "urn:uuid:4d42d172-e817-40be-a265-56aebe2f4f10", + "timestamp": "2025-05-01T10:01:02+10:00", + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false + }, + { + "name": "used-valueset", + "valueUri": "null" }, { "name": "used-codesystem", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" + }, + { + "name": "version", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" } ], "contains": [ { "system": "http://snomed.info/sct", "code": "736595007", - "display": "Declined" + "display": "Cervical cancer screening refused" }, { "system": "http://snomed.info/sct", @@ -41,12 +61,12 @@ { "system": "http://snomed.info/sct", "code": "171154002", - "display": "Not required" + "display": "Cancer cervix screening - not needed" }, { "system": "http://snomed.info/sct", "code": "171155001", - "display": "Up to date" + "display": "Cancer cervix screening - up-to-date" } ] }, diff --git a/fsh-generated/resources/ValueSet-PrimaryCarerParentGrandparent.json b/fsh-generated/resources/ValueSet-PrimaryCarerParentGrandparent.json index b4a0c2e1..d3ef75b2 100644 --- a/fsh-generated/resources/ValueSet-PrimaryCarerParentGrandparent.json +++ b/fsh-generated/resources/ValueSet-PrimaryCarerParentGrandparent.json @@ -8,50 +8,54 @@ "url": "https://smartforms.csiro.au/ig/ValueSet/PrimaryCarerParentGrandparent", "experimental": false, "expansion": { - "identifier": "2809c2fa-28ec-4def-9b16-93a611d29da3", - "timestamp": "2022-10-20T11:42:30+10:00", + "identifier": "urn:uuid:f8e7efc2-94d6-403e-9e40-3a3a4e9fffb4", + "timestamp": "2025-05-01T10:00:56+10:00", "total": 4, "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/v3-RoleCode|2018-08-12" - }, - { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/v3-NullFlavor|2018-08-12" + "name": "displayLanguage", + "valueCode": "en-US" }, { "name": "count", - "valueInteger": 2147483647 + "valueInteger": 1000 }, { "name": "offset", "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false + }, + { + "name": "used-codesystem", + "valueUri": "http://terminology.hl7.org/CodeSystem/v3-RoleCode|3.0.0" + }, + { + "name": "used-codesystem", + "valueUri": "http://terminology.hl7.org/CodeSystem/v3-NullFlavor|3.0.0" } ], "contains": [ { "system": "http://terminology.hl7.org/CodeSystem/v3-RoleCode", - "version": "2018-08-12", "code": "MTH", "display": "mother" }, { "system": "http://terminology.hl7.org/CodeSystem/v3-RoleCode", - "version": "2018-08-12", "code": "FTH", "display": "father" }, { "system": "http://terminology.hl7.org/CodeSystem/v3-RoleCode", - "version": "2018-08-12", "code": "GRPRN", "display": "grandparent" }, { "system": "http://terminology.hl7.org/CodeSystem/v3-NullFlavor", - "version": "2018-08-12", "code": "NA", "display": "not applicable" } diff --git a/fsh-generated/resources/ValueSet-SmokingQuitStatus-1.json b/fsh-generated/resources/ValueSet-SmokingQuitStatus-1.json index 2fa6ec9b..2d4a6d6a 100644 --- a/fsh-generated/resources/ValueSet-SmokingQuitStatus-1.json +++ b/fsh-generated/resources/ValueSet-SmokingQuitStatus-1.json @@ -10,31 +10,44 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/valueset-supplement", - "valueCanonical": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement" + "valueCanonical": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement|0.3.0" } ], "expansion": { - "identifier": "urn:uuid:86b4329d-aca5-4e54-9b5e-67296c7ce9db", - "timestamp": "2024-04-08T12:56:59+10:00", - "total": 2, + "identifier": "urn:uuid:93600010-14a0-4d6e-a82f-15283d13a2cb", + "timestamp": "2025-05-01T11:41:24+10:00", "parameter": [ { - "name": "version", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" + "name": "used-supplement", + "valueUri": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement|0.3.0" }, { "name": "used-codesystem", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" + }, + { + "name": "version", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" + }, + { + "name": "warning-draft", + "valueUri": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement|0.3.0" + }, + { + "name": "warning-draft", + "valueUri": "https://smartforms.csiro.au/ig/ValueSet/SmokingQuitStatus-1|0.3.0" } ], "contains": [ { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "code": "48031000119106", "display": "Quit >12 months" }, { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "code": "735128000", "display": "Quit <12 months" } @@ -44,6 +57,7 @@ "include": [ { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "concept": [ { "code": "48031000119106", diff --git a/fsh-generated/resources/ValueSet-TobaccoUseStatus-1.json b/fsh-generated/resources/ValueSet-TobaccoUseStatus-1.json index 626e21fe..6155fb59 100644 --- a/fsh-generated/resources/ValueSet-TobaccoUseStatus-1.json +++ b/fsh-generated/resources/ValueSet-TobaccoUseStatus-1.json @@ -10,50 +10,68 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/valueset-supplement", - "valueCanonical": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement" + "valueCanonical": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement|0.3.0" } ], "expansion": { - "identifier": "urn:uuid:577a997d-bacd-499f-bae4-aa6efdcca45e", - "timestamp": "2024-11-29T10:37:34+10:00", + "identifier": "urn:uuid:e7e976ca-5eb9-41da-9ca8-2c795c5e2dd2", + "timestamp": "2025-05-01T11:43:41+10:00", "parameter": [ { - "name": "version", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20241130" + "name": "used-supplement", + "valueUri": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement|0.3.0" }, { "name": "used-codesystem", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20241130" + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" + }, + { + "name": "version", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" + }, + { + "name": "warning-draft", + "valueUri": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement|0.3.0" + }, + { + "name": "warning-draft", + "valueUri": "https://smartforms.csiro.au/ig/ValueSet/TobaccoUseStatus-1|0.3.0" } ], "contains": [ { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "code": "266919005", "display": "Never smoked" }, { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "code": "77176002", "display": "Current smoker" }, { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "code": "8517006", "display": "Ex-smoker" }, { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "code": "16090371000119103", "display": "Exposure to second hand tobacco smoke" }, { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "code": "394872000", "display": "Wants to quit" }, { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "code": "713914004", "display": "Other tobacco use" } @@ -63,6 +81,7 @@ "include": [ { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "concept": [ { "code": "266919005", diff --git a/fsh-generated/resources/ValueSet-YesNo.json b/fsh-generated/resources/ValueSet-YesNo.json index 33b297cf..83455c60 100644 --- a/fsh-generated/resources/ValueSet-YesNo.json +++ b/fsh-generated/resources/ValueSet-YesNo.json @@ -8,13 +8,26 @@ "url": "https://smartforms.csiro.au/ig/ValueSet/YesNo", "experimental": false, "expansion": { - "identifier": "urn:uuid:06bfacf3-ef16-4470-86a0-a2a22f49ff91", - "timestamp": "2023-09-01T11:15:01+10:00", + "identifier": "urn:uuid:41cccc66-fd57-4bc4-bab1-8c5c878d95f7", + "timestamp": "2025-05-01T10:00:50+10:00", "total": 2, + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/v2-0532|2.1.0" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false }, { "name": "used-codesystem", diff --git a/fsh-generated/resources/ValueSet-YesNoNA.json b/fsh-generated/resources/ValueSet-YesNoNA.json index 9d692ab6..480639c0 100644 --- a/fsh-generated/resources/ValueSet-YesNoNA.json +++ b/fsh-generated/resources/ValueSet-YesNoNA.json @@ -8,13 +8,26 @@ "url": "https://smartforms.csiro.au/ig/ValueSet/YesNoNA", "experimental": false, "expansion": { - "identifier": "urn:uuid:5baa5444-e553-4412-a08c-9ce93d3271e0", - "timestamp": "2023-09-01T11:16:50+10:00", + "identifier": "urn:uuid:7fce8cc7-b936-4258-921d-923629b04439", + "timestamp": "2025-05-01T10:00:47+10:00", "total": 3, + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/v2-0532|2.1.0" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false }, { "name": "used-codesystem", diff --git a/fsh-generated/resources/ValueSet-YesNoNotAskedDeclined.json b/fsh-generated/resources/ValueSet-YesNoNotAskedDeclined.json index 5af1dfc4..a435cc45 100644 --- a/fsh-generated/resources/ValueSet-YesNoNotAskedDeclined.json +++ b/fsh-generated/resources/ValueSet-YesNoNotAskedDeclined.json @@ -8,49 +8,54 @@ "url": "https://smartforms.csiro.au/ig/ValueSet/YesNoNotAskedDeclined", "experimental": false, "expansion": { - "identifier": "urn:uuid:8eda7c3c-cc35-49fa-ac6c-c0e4f0a4e203", - "timestamp": "2023-09-01T11:17:57+10:00", + "identifier": "urn:uuid:20552db7-8def-4e55-a0d2-cb446651929c", + "timestamp": "2025-05-01T10:00:51+10:00", "total": 4, + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" + "name": "displayLanguage", + "valueCode": "en-US" }, { - "name": "used-codesystem", - "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" + "name": "count", + "valueInteger": 1000 }, { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/v2-0532|2.1.0" + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false }, { "name": "used-codesystem", "valueUri": "http://terminology.hl7.org/CodeSystem/v2-0532|2.1.0" + }, + { + "name": "used-codesystem", + "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|1.0.0" } ], "contains": [ { "system": "http://terminology.hl7.org/CodeSystem/v2-0532", - "version": "2.1.0", "code": "Y", "display": "Yes" }, { "system": "http://terminology.hl7.org/CodeSystem/v2-0532", - "version": "2.1.0", "code": "N", "display": "No" }, { "system": "http://terminology.hl7.org/CodeSystem/v2-0532", - "version": "2.1.0", "code": "NASK", "display": "Not Asked" }, { "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", - "version": "5.0.0-ballot", "code": "asked-declined", "display": "Asked But Declined" } diff --git a/fsh-generated/resources/ValueSet-administrative-gender.json b/fsh-generated/resources/ValueSet-administrative-gender.json index e0931385..63af60ee 100644 --- a/fsh-generated/resources/ValueSet-administrative-gender.json +++ b/fsh-generated/resources/ValueSet-administrative-gender.json @@ -56,13 +56,26 @@ "publisher": "HL7 (FHIR Project)", "version": "4.0.1", "expansion": { - "identifier": "urn:uuid:50f050c9-3975-48d6-bdb7-baae4ebc70cd", - "timestamp": "2024-04-05T12:31:27+10:00", + "identifier": "urn:uuid:31c9098a-778c-4de6-9c2b-4f1e2db26179", + "timestamp": "2025-05-01T10:00:55+10:00", "total": 4, + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://hl7.org/fhir/administrative-gender|4.0.1" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false }, { "name": "used-codesystem", @@ -72,13 +85,13 @@ "contains": [ { "system": "http://hl7.org/fhir/administrative-gender", - "code": "female", - "display": "Female" + "code": "male", + "display": "Male" }, { "system": "http://hl7.org/fhir/administrative-gender", - "code": "male", - "display": "Male" + "code": "female", + "display": "Female" }, { "system": "http://hl7.org/fhir/administrative-gender", diff --git a/fsh-generated/resources/ValueSet-australian-pronouns-1.json b/fsh-generated/resources/ValueSet-australian-pronouns-1.json index b5db4c22..dfa7c62d 100644 --- a/fsh-generated/resources/ValueSet-australian-pronouns-1.json +++ b/fsh-generated/resources/ValueSet-australian-pronouns-1.json @@ -28,69 +28,79 @@ ], "copyright": "Copyright © 2024 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\nThis material contains content from LOINC (http://loinc.org). LOINC is copyright 1995-2024, Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee and is available at no cost under the license at http://loinc.org/license. LOINC® is a registered United States trademark of Regenstrief Institute, Inc.\n\nThis material contains information which is protected by copyright. You may download, display, print and reproduce any material for your personal, non-commercial use or use within your organisation subject to the following terms and conditions: \n\nThis resource also includes all or a portion of material from the HL7 Terminology (THO). THO is copyright ©1989+ Health Level Seven International and is made available under the CC0 designation. For more licensing information see: https://terminology.hl7.org/license.", "expansion": { - "identifier": "urn:uuid:ca145c1c-4915-4957-888a-39e69de8b1ad", - "timestamp": "2024-04-02T14:25:01+10:00", + "identifier": "urn:uuid:1bc98e8c-511f-4014-a4d9-a48a8db0923d", + "timestamp": "2025-05-01T10:00:56+10:00", "total": 7, + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://loinc.org|2.77" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false + }, + { + "name": "used-valueset", + "valueUri": "null" }, { "name": "used-codesystem", - "valueUri": "http://loinc.org|2.77" + "valueUri": "http://loinc.org|2.80" }, { "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" + "valueUri": "http://loinc.org|2.80" }, { "name": "used-codesystem", - "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" + "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|1.0.0" } ], "contains": [ { "system": "http://loinc.org", - "version": "2.77", "code": "LA29518-0", "display": "he/him/his/his/himself" }, { "system": "http://loinc.org", - "version": "2.77", "code": "LA29519-8", "display": "she/her/her/hers/herself" }, { "system": "http://loinc.org", - "version": "2.77", "code": "LA29520-6", "display": "they/them/their/theirs/themselves" }, { "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", - "version": "5.0.0-ballot", - "code": "asked-declined", - "display": "Asked But Declined" + "code": "unknown", + "display": "Unknown" }, { "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", - "version": "5.0.0-ballot", - "code": "asked-unknown", - "display": "Asked But Unknown" + "code": "asked-declined", + "display": "Asked But Declined" }, { "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", - "version": "5.0.0-ballot", "code": "not-asked", "display": "Not Asked" }, { "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", - "version": "5.0.0-ballot", - "code": "unknown", - "display": "Unknown" + "code": "asked-unknown", + "display": "Asked But Unknown" } ] }, diff --git a/fsh-generated/resources/ValueSet-australian-states-territories-2.json b/fsh-generated/resources/ValueSet-australian-states-territories-2.json index 363aee25..e7a278bf 100644 --- a/fsh-generated/resources/ValueSet-australian-states-territories-2.json +++ b/fsh-generated/resources/ValueSet-australian-states-territories-2.json @@ -34,22 +34,30 @@ ], "copyright": "Copyright © 2018 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\nThis resource includes material that is based on Australian Institute of Health and Welfare material. \n\nAll copies of this resource must include this copyright statement and all information contained in this statement.", "expansion": { - "identifier": "e9439195-c1d8-4069-a349-98c1d552a351", - "timestamp": "2023-06-20T04:20:58+00:00", + "identifier": "urn:uuid:148e9412-a321-4a6f-b911-7e7908be82af", + "timestamp": "2025-05-01T10:00:57+10:00", "total": 9, "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1|1.1.3" + "name": "displayLanguage", + "valueCode": "en-US" }, { "name": "count", - "valueInteger": 2147483647 + "valueInteger": 1000 }, { "name": "offset", "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false + }, + { + "name": "used-codesystem", + "valueUri": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1|1.1.3" } ], "contains": [ diff --git a/fsh-generated/resources/ValueSet-biological-sex-1.json b/fsh-generated/resources/ValueSet-biological-sex-1.json index e1f6bf75..1605b4c0 100644 --- a/fsh-generated/resources/ValueSet-biological-sex-1.json +++ b/fsh-generated/resources/ValueSet-biological-sex-1.json @@ -34,17 +34,37 @@ ], "copyright": "Copyright © 2020 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\nThis resource includes SNOMED Clinical Terms™ (SNOMED CT®) which is used by permission of the International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. “SNOMED” and “SNOMED CT” are registered trademarks of the IHTSDO. \n\nThe rights to use and implement or implementation of SNOMED CT content are limited to the extent it is necessary to allow for the end use of this material. No further rights are granted in respect of the International Release and no further use of any SNOMED CT content by any other party is permitted. \n\nAll copies of this resource must include this copyright statement and all information contained in this statement.", "expansion": { - "identifier": "urn:uuid:e9cff1c2-8743-48cb-9bde-8f4af914544b", - "timestamp": "2023-08-30T10:41:59+10:00", - "total": 4, + "identifier": "urn:uuid:9a0c2291-6dd8-4778-9099-4622f64fa897", + "timestamp": "2025-05-01T10:00:49+10:00", + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20230831" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false + }, + { + "name": "used-valueset", + "valueUri": "null" }, { "name": "used-codesystem", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20230831" + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" + }, + { + "name": "version", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" } ], "contains": [ diff --git a/fsh-generated/resources/ValueSet-condition-clinical.json b/fsh-generated/resources/ValueSet-condition-clinical.json index 1b971b80..e35a6f0b 100644 --- a/fsh-generated/resources/ValueSet-condition-clinical.json +++ b/fsh-generated/resources/ValueSet-condition-clinical.json @@ -42,65 +42,71 @@ "copyright": "Copyright © 2011+ HL7. Licensed under Creative Commons \"No Rights Reserved\".", "date": "2019-11-01T09:29:23+11:00", "expansion": { - "identifier": "urn:uuid:79d21cca-9f34-4cfa-9020-17eee95eeed8", - "timestamp": "2024-04-02T14:17:12+10:00", - "total": 6, + "identifier": "urn:uuid:7b100d21-fde9-4fd8-bded-80f345db777d", + "timestamp": "2025-05-01T10:00:56+10:00", + "total": 7, + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/condition-clinical|4.0.1" + "name": "displayLanguage", + "valueCode": "en-US" }, { - "name": "used-codesystem", - "valueUri": "http://terminology.hl7.org/CodeSystem/condition-clinical|4.0.1" - }, - { - "name": "warning-draft", - "valueUri": "http://hl7.org/fhir/ValueSet/condition-clinical|4.0.1" + "name": "count", + "valueInteger": 1000 }, { - "name": "warning-trial-use", - "valueUri": "http://hl7.org/fhir/ValueSet/condition-clinical|4.0.1" + "name": "offset", + "valueInteger": 0 }, { - "name": "warning-trial-use", - "valueUri": "http://terminology.hl7.org/CodeSystem/condition-clinical|4.0.1" + "name": "excludeNested", + "valueBoolean": false }, { - "name": "warning-draft", - "valueUri": "http://terminology.hl7.org/CodeSystem/condition-clinical|4.0.1" + "name": "used-codesystem", + "valueUri": "http://terminology.hl7.org/CodeSystem/condition-clinical|3.0.0" } ], "contains": [ { "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", "code": "active", - "display": "Active" + "display": "Active", + "contains": [ + { + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", + "code": "recurrence", + "display": "Recurrence" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", + "code": "relapse", + "display": "Relapse" + } + ] }, { "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", "code": "inactive", - "display": "Inactive" - }, - { - "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", - "code": "recurrence", - "display": "Recurrence" - }, - { - "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", - "code": "relapse", - "display": "Relapse" - }, - { - "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", - "code": "remission", - "display": "Remission" + "display": "Inactive", + "contains": [ + { + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", + "code": "remission", + "display": "Remission" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", + "code": "resolved", + "display": "Resolved" + } + ] }, { "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", - "code": "resolved", - "display": "Resolved" + "code": "unknown", + "display": "Unknown" } ] }, diff --git a/fsh-generated/resources/ValueSet-gender-identity-response-1.json b/fsh-generated/resources/ValueSet-gender-identity-response-1.json index f2f35172..fcdd43b6 100644 --- a/fsh-generated/resources/ValueSet-gender-identity-response-1.json +++ b/fsh-generated/resources/ValueSet-gender-identity-response-1.json @@ -28,61 +28,71 @@ ], "copyright": "Copyright © 2022 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/.\n\n\"This resource includes SNOMED Clinical Terms™ (SNOMED CT®) which is used by permission of the International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. “SNOMED” and “SNOMED CT” are registered trademarks of the IHTSDO. \n\nThe rights to use and implement or implementation of SNOMED CT content are limited to the extent it is necessary to allow for the end use of this material. No further rights are granted in respect of the International Release and no further use of any SNOMED CT content by any other party is permitted. \n\nThis resource includes material that is based on Australian Institute of Health and Welfare material. This resource includes material that is based on Australian Bureau of Statistics data. \n\nThis resource also includes all or a portion of material from the HL7 Terminology (THO). THO is copyright ©1989+ Health Level Seven International and is made available under the CC0 designation. For more licensing information see: https://terminology.hl7.org/license.", "expansion": { - "identifier": "urn:uuid:a35fc104-184f-476e-a7a2-e3f3af66a3eb", - "timestamp": "2024-04-02T14:21:20+10:00", - "total": 6, + "identifier": "urn:uuid:81810018-2ec2-4e42-adcc-6aab69e7750c", + "timestamp": "2025-05-01T10:00:58+10:00", + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false + }, + { + "name": "used-valueset", + "valueUri": "null" }, { "name": "used-codesystem", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" }, { "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" }, { "name": "used-codesystem", - "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" + "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|1.0.0" } ], "contains": [ { "system": "http://snomed.info/sct", - "version": "http://snomed.info/sct/32506021000036107/version/20240331", "code": "446151000124109", "display": "Identifies as male gender" }, { "system": "http://snomed.info/sct", - "version": "http://snomed.info/sct/32506021000036107/version/20240331", "code": "446141000124107", "display": "Identifies as female gender" }, { "system": "http://snomed.info/sct", - "version": "http://snomed.info/sct/32506021000036107/version/20240331", "code": "33791000087105", "display": "Identifies as nonbinary gender" }, { "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", - "version": "5.0.0-ballot", "code": "unknown", "display": "Unknown" }, { "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", - "version": "5.0.0-ballot", "code": "asked-declined", "display": "Asked But Declined" }, { "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", - "version": "5.0.0-ballot", "code": "not-asked", "display": "Not Asked" } diff --git a/input/fsh/715-AboutTheHealthCheck.fsh b/input/fsh/715-AboutTheHealthCheck.fsh index b867b315..0d958753 100644 --- a/input/fsh/715-AboutTheHealthCheck.fsh +++ b/input/fsh/715-AboutTheHealthCheck.fsh @@ -74,6 +74,7 @@ Description: "About The Health Check sub-questionnaire for Aboriginal and Torres * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/AboutTheHealthCheck" * name = "AboutTheHealthCheck" +* title = "Aboriginal and Torres Strait Islander Health Check - About The Health Check" * status = #draft * experimental = false * subjectType[+] = #Patient diff --git a/input/fsh/715-AssemblyInstructions.fsh b/input/fsh/715-AssemblyInstructions.fsh index 8139e964..f943b61d 100644 --- a/input/fsh/715-AssemblyInstructions.fsh +++ b/input/fsh/715-AssemblyInstructions.fsh @@ -159,6 +159,7 @@ Description: "Aboriginal and Torres Strait Islander Health Check assessment form * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715" * name = "AboriginalTorresStraitIslanderHealthCheck" +* title = "Aboriginal and Torres Strait Islander Health Check" * status = #draft * experimental = false * subjectType[+] = #Patient @@ -409,201 +410,201 @@ Description: "Aboriginal and Torres Strait Islander Health Check assessment form // About The Health Check * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/AboutTheHealthCheck|0.2.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/AboutTheHealthCheck|0.3.0" * linkId = "cd3303a6-e3b6-4732-80e8-54d2bd740beb" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/AboutTheHealthCheck|0.2.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/AboutTheHealthCheck|0.3.0] not available. Unable to display all questions." * type = #display // Consent * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/Consent|0.2.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/Consent|0.3.0" * linkId = "fab52f87-22a6-4a54-9797-0bb6b0f5d2a2" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Consent|0.2.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Consent|0.3.0] not available. Unable to display all questions." * type = #display // Patient Details * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/PatientDetails|0.2.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/PatientDetails|0.3.0" * linkId = "1d10910d-c195-4964-bdc6-98310a44719e" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/PatientDetails|0.2.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/PatientDetails|0.3.0] not available. Unable to display all questions." * type = #display // Current Priorities * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/CurrentPriorities|0.2.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/CurrentPriorities|0.3.0" * linkId = "7692f28c-7c0a-48ea-b27d-a8489974377d" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/CurrentPriorities|0.2.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/CurrentPriorities|0.3.0] not available. Unable to display all questions." * type = #display // Medical History and Current Problems * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/MedicalHistoryCurrentProblems|0.2.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/MedicalHistoryCurrentProblems|0.3.0" * linkId = "15f83d80-f49a-4852-a20f-18db9b951e53" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/MedicalHistory|0.2.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/MedicalHistory|0.3.0] not available. Unable to display all questions." * type = #display // Regular Medications * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/RegularMedications|0.2.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/RegularMedications|0.3.0" * linkId = "3a7151ef-d63b-4818-8367-03d394383a61" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/RegularMedications|0.2.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/RegularMedications|0.3.0] not available. Unable to display all questions." * type = #display // Allergies Adverse Reactions * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/AllergiesAdverseReactions|0.2.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/AllergiesAdverseReactions|0.3.0" * linkId = "334853dc-88d4-4cb1-a119-bb0ff6ea0516" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/AllergiesAdverseReactions|0.2.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/AllergiesAdverseReactions|0.3.0] not available. Unable to display all questions." * type = #display // Family History * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/FamilyHistory|0.2.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/FamilyHistory|0.3.0" * linkId = "1ab9b519-85ce-48ee-a408-8f0b9b74d112" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/FamilyHistory|0.2.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/FamilyHistory|0.3.0] not available. Unable to display all questions." * type = #display // Social And Emotional Wellbeing * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/SocialAndEmotionalWellbeing|0.2.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/SocialAndEmotionalWellbeing|0.3.0" * linkId = "228b8d31-21e3-49a6-b802-984135908dca" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/SocialAndEmotionalWellbeing|0.2.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/SocialAndEmotionalWellbeing|0.3.0] not available. Unable to display all questions." * type = #display // Social History Child * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/SocialHistoryChild|0.2.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/SocialHistoryChild|0.3.0" * linkId = "a43517f9-538e-4a4d-8789-b6c3d44206ba" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/SocialHistoryChild|0.2.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/SocialHistoryChild|0.3.0] not available. Unable to display all questions." * type = #display // Home And Family * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/HomeAndFamily|0.2.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/HomeAndFamily|0.3.0" * linkId = "8decf7bf-e24c-4d3d-815c-c53e269f004b" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/HomeAndFamily|0.2.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/HomeAndFamily|0.3.0] not available. Unable to display all questions." * type = #display // Learning And Development * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/LearningAndDevelopment|0.2.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/LearningAndDevelopment|0.3.0" * linkId = "3f554c37-7d0e-4b14-8f7f-a9ec665cc0a6" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/LearningAndDevelopment|0.2.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/LearningAndDevelopment|0.3.0] not available. Unable to display all questions." * type = #display // Learning And Work * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/LearningAndWork|0.2.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/LearningAndWork|0.3.0" * linkId = "362bf381-23e5-4eee-963a-3de73e584da5" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/LearningAndWork|0.2.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/LearningAndWork|0.3.0] not available. Unable to display all questions." * type = #display // Mood * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/Mood|0.2.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/Mood|0.3.0" * linkId = "51a545fa-907f-40f0-9304-36bcab5a16b8" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Mood|0.2.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Mood|0.3.0] not available. Unable to display all questions." * type = #display // Memory And Thinking * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/MemoryAndThinking|0.2.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/MemoryAndThinking|0.3.0" * linkId = "4217646d-e8e4-4ac5-baa7-fae28937cda7" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/MemoryAndThinking|0.2.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/MemoryAndThinking|0.3.0] not available. Unable to display all questions." * type = #display // Chronic Disease Ageing * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/ChronicDiseaseAgeing|0.2.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/ChronicDiseaseAgeing|0.3.0" * linkId = "070eadcf-9e93-499e-8615-61991ab35b32" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/ChronicDiseaseAgeing|0.2.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/ChronicDiseaseAgeing|0.3.0] not available. Unable to display all questions." * type = #display // Screening Programs * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/ScreeningPrograms|0.2.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/ScreeningPrograms|0.3.0" * linkId = "56d4bc0b-3bf1-4d47-ac34-5a1de0902de1" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/ScreeningPrograms|0.2.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/ScreeningPrograms|0.3.0] not available. Unable to display all questions." * type = #display // Healthy Eating * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/HealthyEating|0.2.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/HealthyEating|0.3.0" * linkId = "e0962739-c506-41d4-afd7-ab1b90db9cb4" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/HealthyEating|0.2.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/HealthyEating|0.3.0] not available. Unable to display all questions." * type = #display // Physical Activity And Screen Time * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/PhysicalActivityAndScreenTime|0.2.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/PhysicalActivityAndScreenTime|0.3.0" * linkId = "63cfb279-cd7d-41ed-a54b-0c17b6efe609" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/PhysicalActivityAndScreenTime|0.2.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/PhysicalActivityAndScreenTime|0.3.0] not available. Unable to display all questions." * type = #display // Red Flags Early Identification Guide For Children * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/RedFlagsEarlyIdentificationGuide|0.2.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/RedFlagsEarlyIdentificationGuide|0.3.0" * linkId = "db70690e-2199-495a-9919-53697efaf913" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/RedFlagsEarlyIdentificationGuide|0.2.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/RedFlagsEarlyIdentificationGuide|0.3.0] not available. Unable to display all questions." * type = #display // Substance Use * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/SubstanceUse|0.2.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/SubstanceUse|0.3.0" * linkId = "d1f66f56-75fa-4498-9c51-eb98e1644243" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/SubstanceUse|0.2.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/SubstanceUse|0.3.0] not available. Unable to display all questions." * type = #display // Gambling * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/Gambling|0.2.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/Gambling|0.3.0" * linkId = "ea748251-bf77-4085-b912-e9002dfa02ca" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Gambling|0.2.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Gambling|0.3.0] not available. Unable to display all questions." * type = #display // SexualHealth * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/SexualHealth|0.2.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/SexualHealth|0.3.0" * linkId = "84bd802b-b3e1-4098-aa2c-2133f0e252f4" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/SexualHealth|0.2.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/SexualHealth|0.3.0] not available. Unable to display all questions." * type = #display // Eye Health * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/EyeHealth|0.2.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/EyeHealth|0.3.0" * linkId = "56ad8128-0e12-4779-8ff4-47dcff6b29b5" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/EyeHealth|0.2.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/EyeHealth|0.3.0] not available. Unable to display all questions." * type = #display // Ear Health And Hearing * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/EarHealthAndHearing|0.2.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/EarHealthAndHearing|0.3.0" * linkId = "a8161e91-7cff-403f-85e6-982a9bc8fca6" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/EarHealthAndHearing|0.2.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/EarHealthAndHearing|0.3.0] not available. Unable to display all questions." * type = #display // Oral And Dental Health * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/OralAndDentalHealth|0.2.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/OralAndDentalHealth|0.3.0" * linkId = "fe05d868-aaed-4921-9d49-4e7746bbe143" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/OralAndDentalHealth|0.2.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/OralAndDentalHealth|0.3.0] not available. Unable to display all questions." * type = #display // Skin * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/Skin|0.2.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/Skin|0.3.0" * linkId = "64ec4c1c-0824-4b84-8d3f-40f6e066cb80" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Skin|0.2.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Skin|0.3.0] not available. Unable to display all questions." * type = #display // Immunisation * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/Immunisation|0.2.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/Immunisation|0.3.0" * linkId = "595737cd-3a94-442b-8be6-ab461c3181d2" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Immunisation|0.2.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Immunisation|0.3.0] not available. Unable to display all questions." * type = #display // Examination * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/Examination|0.2.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/Examination|0.3.0" * linkId = "3263611d-5813-4393-a660-d10166acd728" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Examination|0.2.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Examination|0.3.0] not available. Unable to display all questions." * type = #display // Absolute CVD Risk Calculation * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/AbsoluteCVDRiskCalculation|0.2.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/AbsoluteCVDRiskCalculation|0.3.0" * linkId = "3a3b0810-e091-48ad-af50-913b0deaf663" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/AbsoluteCVDRiskCalculation|0.2.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/AbsoluteCVDRiskCalculation|0.3.0] not available. Unable to display all questions." * type = #display // Investigations * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/Investigations|0.2.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/Investigations|0.3.0" * linkId = "302d9437-25b9-41e3-9d66-138c352d32a8" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Investigations|0.2.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Investigations|0.3.0] not available. Unable to display all questions." * type = #display // Health Priorities Summary * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/HealthPrioritiesSummary|0.2.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/HealthPrioritiesSummary|0.3.0" * linkId = "ada45623-5e86-49ea-a00b-be0699364281" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/HealthPrioritiesSummary|0.2.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/HealthPrioritiesSummary|0.3.0] not available. Unable to display all questions." * type = #display // Finalising Health Check * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/FinalisingHealthCheck|0.2.0" + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/FinalisingHealthCheck|0.3.0" * linkId = "a6395946-872a-4f2e-b697-c74aa1ab9b8d" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/FinalisingHealthCheck|0.2.0] not available. Unable to display all questions." + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/FinalisingHealthCheck|0.3.0] not available. Unable to display all questions." * type = #display \ No newline at end of file diff --git a/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh b/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh index 974b298f..de8e7aa9 100644 --- a/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh +++ b/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh @@ -91,6 +91,7 @@ Description: "Absolute Cardiovascular Disease Risk Calculation sub-questionnaire * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/AbsoluteCVDRiskCalculation" * name = "AbsoluteCVDRiskCalculation" +* title = "Aboriginal and Torres Strait Islander Health Check - Absolute Cardiovascular Disease Risk Calculation" * status = #draft * experimental = false * subjectType[+] = #Patient diff --git a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh index 0a1da183..62f7366f 100644 --- a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh +++ b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh @@ -58,6 +58,7 @@ Description: "Allergies/Adverse Reactions sub-questionnaire for Aboriginal and T * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/AllergiesAdverseReactions" * name = "AllergiesAdverseReactions" +* title = "Aboriginal and Torres Strait Islander Health Check - Allergies/Adverse Reactions" * status = #draft * experimental = false * subjectType[+] = #Patient diff --git a/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh b/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh index d72019a5..9ddba3d2 100644 --- a/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh +++ b/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh @@ -59,6 +59,7 @@ Description: "Chronic Disease Ageing sub-questionnaire for Aboriginal and Torres * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/ChronicDiseaseAgeing" * name = "ChronicDiseaseAgeing" +* title = "Aboriginal and Torres Strait Islander Health Check - Chronic Disease Ageing" * status = #draft * experimental = false * subjectType[+] = #Patient diff --git a/input/fsh/715-Assessment-CurrentPriorities.fsh b/input/fsh/715-Assessment-CurrentPriorities.fsh index 27e61c14..89aaef65 100644 --- a/input/fsh/715-Assessment-CurrentPriorities.fsh +++ b/input/fsh/715-Assessment-CurrentPriorities.fsh @@ -60,6 +60,7 @@ Description: "Current Priorities sub-questionnaire for Aboriginal and Torres Str * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/CurrentPriorities" * name = "CurrentPriorities" +* title = "Aboriginal and Torres Strait Islander Health Check - Current Priorities" * status = #draft * experimental = false * subjectType[+] = #Patient diff --git a/input/fsh/715-Assessment-EarHealthAndHearing.fsh b/input/fsh/715-Assessment-EarHealthAndHearing.fsh index 6bffdedb..d3b74091 100644 --- a/input/fsh/715-Assessment-EarHealthAndHearing.fsh +++ b/input/fsh/715-Assessment-EarHealthAndHearing.fsh @@ -60,6 +60,7 @@ Description: "Ear Health And Hearing sub-questionnaire for Aboriginal and Torres * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/EarHealthAndHearing" * name = "EarHealthAndHearing" +* title = "Aboriginal and Torres Strait Islander Health Check - Ear Health And Hearing" * status = #draft * experimental = false * subjectType[+] = #Patient diff --git a/input/fsh/715-Assessment-Examination.fsh b/input/fsh/715-Assessment-Examination.fsh index 1bd9472b..6d9cc221 100644 --- a/input/fsh/715-Assessment-Examination.fsh +++ b/input/fsh/715-Assessment-Examination.fsh @@ -112,6 +112,7 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/Examination" * name = "Examination" +* title = "Aboriginal and Torres Strait Islander Health Check - Examination" * status = #draft * experimental = false * subjectType[+] = #Patient diff --git a/input/fsh/715-Assessment-EyeHealth.fsh b/input/fsh/715-Assessment-EyeHealth.fsh index 109f6dd0..5db1f3e9 100644 --- a/input/fsh/715-Assessment-EyeHealth.fsh +++ b/input/fsh/715-Assessment-EyeHealth.fsh @@ -60,6 +60,7 @@ Description: "Eye Health sub-questionnaire for Aboriginal and Torres Strait Isla * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/EyeHealth" * name = "EyeHealth" +* title = "Aboriginal and Torres Strait Islander Health Check - Eye Health" * status = #draft * experimental = false * subjectType[+] = #Patient diff --git a/input/fsh/715-Assessment-FamilyHistory.fsh b/input/fsh/715-Assessment-FamilyHistory.fsh index 4f19a242..763d6c6c 100644 --- a/input/fsh/715-Assessment-FamilyHistory.fsh +++ b/input/fsh/715-Assessment-FamilyHistory.fsh @@ -59,6 +59,7 @@ Description: "Family History sub-questionnaire for Aboriginal and Torres Strait * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/FamilyHistory" * name = "FamilyHistory" +* title = "Aboriginal and Torres Strait Islander Health Check - Family History" * status = #draft * experimental = false * subjectType[+] = #Patient diff --git a/input/fsh/715-Assessment-Gambling.fsh b/input/fsh/715-Assessment-Gambling.fsh index 3271aa06..fcf85145 100644 --- a/input/fsh/715-Assessment-Gambling.fsh +++ b/input/fsh/715-Assessment-Gambling.fsh @@ -60,6 +60,7 @@ Description: "Gambling sub-questionnaire for Aboriginal and Torres Strait Island * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/Gambling" * name = "Gambling" +* title = "Aboriginal and Torres Strait Islander Health Check - Gambling" * status = #draft * experimental = false * subjectType[+] = #Patient diff --git a/input/fsh/715-Assessment-HealthyEating.fsh b/input/fsh/715-Assessment-HealthyEating.fsh index 01741978..3aa278aa 100644 --- a/input/fsh/715-Assessment-HealthyEating.fsh +++ b/input/fsh/715-Assessment-HealthyEating.fsh @@ -60,6 +60,7 @@ Description: "Healthy Eating sub-questionnaire for Aboriginal and Torres Strait * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/HealthyEating" * name = "HealthyEating" +* title = "Aboriginal and Torres Strait Islander Health Check - Healthy Eating" * status = #draft * experimental = false * subjectType[+] = #Patient diff --git a/input/fsh/715-Assessment-HomeAndFamily.fsh b/input/fsh/715-Assessment-HomeAndFamily.fsh index 97a23d24..cbc5412f 100644 --- a/input/fsh/715-Assessment-HomeAndFamily.fsh +++ b/input/fsh/715-Assessment-HomeAndFamily.fsh @@ -60,6 +60,7 @@ Description: "Home And Family sub-questionnaire for Aboriginal and Torres Strait * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/HomeAndFamily" * name = "HomeAndFamily" +* title = "Aboriginal and Torres Strait Islander Health Check - Home And Family" * status = #draft * experimental = false * subjectType[+] = #Patient diff --git a/input/fsh/715-Assessment-Immunisation.fsh b/input/fsh/715-Assessment-Immunisation.fsh index 1b12aea3..25953ca2 100644 --- a/input/fsh/715-Assessment-Immunisation.fsh +++ b/input/fsh/715-Assessment-Immunisation.fsh @@ -60,6 +60,7 @@ Description: "Immunisation sub-questionnaire for Aboriginal and Torres Strait Is * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/Immunisation" * name = "Immunisation" +* title = "Aboriginal and Torres Strait Islander Health Check - Immunisation" * status = #draft * experimental = false * subjectType[+] = #Patient diff --git a/input/fsh/715-Assessment-Investigations.fsh b/input/fsh/715-Assessment-Investigations.fsh index 3f57b94c..c7119074 100644 --- a/input/fsh/715-Assessment-Investigations.fsh +++ b/input/fsh/715-Assessment-Investigations.fsh @@ -59,6 +59,7 @@ Description: "Investigations sub-questionnaire for Aboriginal and Torres Strait * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/Investigations" * name = "Investigations" +* title = "Aboriginal and Torres Strait Islander Health Check - Investigations" * status = #draft * experimental = false * subjectType[+] = #Patient diff --git a/input/fsh/715-Assessment-LearningAndDevelopment.fsh b/input/fsh/715-Assessment-LearningAndDevelopment.fsh index b27c0589..17ca740d 100644 --- a/input/fsh/715-Assessment-LearningAndDevelopment.fsh +++ b/input/fsh/715-Assessment-LearningAndDevelopment.fsh @@ -58,6 +58,7 @@ Description: "Learning And Development sub-questionnaire for Aboriginal and Torr * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/LearningAndDevelopment" * name = "LearningAndDevelopment" +* title = "Aboriginal and Torres Strait Islander Health Check - Learning And Development" * status = #draft * experimental = false * subjectType[+] = #Patient diff --git a/input/fsh/715-Assessment-LearningAndWork.fsh b/input/fsh/715-Assessment-LearningAndWork.fsh index b8894d58..015c986f 100644 --- a/input/fsh/715-Assessment-LearningAndWork.fsh +++ b/input/fsh/715-Assessment-LearningAndWork.fsh @@ -61,6 +61,7 @@ Description: "Learning And Work sub-questionnaire for Aboriginal and Torres Stra * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/LearningAndWork" * name = "LearningAndWork" +* title = "Aboriginal and Torres Strait Islander Health Check - Learning And Work" * status = #draft * experimental = false * subjectType[+] = #Patient diff --git a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh index 999ccbdc..e68ec027 100644 --- a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh +++ b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh @@ -71,6 +71,7 @@ Description: "Medical History sub-questionnaire for Aboriginal and Torres Strait * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/MedicalHistoryCurrentProblems" * name = "MedicalHistoryCurrentProblems" +* title = "Aboriginal and Torres Strait Islander Health Check - Medical History" * status = #draft * experimental = false * subjectType[+] = #Patient diff --git a/input/fsh/715-Assessment-MemoryAndThinking.fsh b/input/fsh/715-Assessment-MemoryAndThinking.fsh index f2628237..912afebc 100644 --- a/input/fsh/715-Assessment-MemoryAndThinking.fsh +++ b/input/fsh/715-Assessment-MemoryAndThinking.fsh @@ -60,6 +60,7 @@ Description: "Memory And Thinking sub-questionnaire for Aboriginal and Torres St * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/MemoryAndThinking" * name = "MemoryAndThinking" +* title = "Aboriginal and Torres Strait Islander Health Check - Memory And Thinking" * status = #draft * experimental = false * subjectType[+] = #Patient diff --git a/input/fsh/715-Assessment-Mood.fsh b/input/fsh/715-Assessment-Mood.fsh index 644998a9..3f8dcbf8 100644 --- a/input/fsh/715-Assessment-Mood.fsh +++ b/input/fsh/715-Assessment-Mood.fsh @@ -59,6 +59,7 @@ Description: "Mood sub-questionnaire for Aboriginal and Torres Strait Islander H * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/Mood" * name = "Mood" +* title = "Aboriginal and Torres Strait Islander Health Check - Mood" * status = #draft * experimental = false * subjectType[+] = #Patient diff --git a/input/fsh/715-Assessment-OralAndDentalHealth.fsh b/input/fsh/715-Assessment-OralAndDentalHealth.fsh index 8090c1af..d0caef40 100644 --- a/input/fsh/715-Assessment-OralAndDentalHealth.fsh +++ b/input/fsh/715-Assessment-OralAndDentalHealth.fsh @@ -60,6 +60,7 @@ Description: "Oral And Dental Health sub-questionnaire for Aboriginal and Torres * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/OralAndDentalHealth" * name = "OralAndDentalHealth" +* title = "Aboriginal and Torres Strait Islander Health Check - Oral And Dental Health" * status = #draft * experimental = false * subjectType[+] = #Patient diff --git a/input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh b/input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh index e5396924..d2db5bad 100644 --- a/input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh +++ b/input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh @@ -5,7 +5,7 @@ Alias: $UCUM = http://unitsofmeasure.org Instance: PhysicalActivityAndScreenTime InstanceOf: Questionnaire Usage: #example -Title: "Physical Activity And Screen Time" +Title: "Aboriginal and Torres Strait Islander Health Check - Physical Activity And Screen Time" Description: "Physical Activity And Screen Time sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." * contained[+] = YesNo @@ -60,6 +60,7 @@ Description: "Physical Activity And Screen Time sub-questionnaire for Aboriginal * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/PhysicalActivityAndScreenTime" * name = "PhysicalActivityAndScreenTime" +* title = "Aboriginal and Torres Strait Islander Health Check - Physical Activity And Screen Time" * status = #draft * experimental = false * subjectType[+] = #Patient diff --git a/input/fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh b/input/fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh index c04ab7b3..a6104106 100644 --- a/input/fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh +++ b/input/fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh @@ -58,6 +58,7 @@ Description: "Red Flags Early Identification Guide For Children sub-questionnair * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/RedFlagsEarlyIdentificationGuide" * name = "RedFlagsEarlyIdentificationGuideForChildren" +* title = "Aboriginal and Torres Strait Islander Health Check - Red Flags Early Identification Guide For Children" * status = #draft * experimental = false * subjectType[+] = #Patient diff --git a/input/fsh/715-Assessment-RegularMedications.fsh b/input/fsh/715-Assessment-RegularMedications.fsh index 0e56f0a8..38dcff7d 100644 --- a/input/fsh/715-Assessment-RegularMedications.fsh +++ b/input/fsh/715-Assessment-RegularMedications.fsh @@ -60,6 +60,7 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/RegularMedications" * name = "RegularMedications" +* title = "Aboriginal and Torres Strait Islander Health Check - Regular Medications" * status = #draft * experimental = false * subjectType[+] = #Patient diff --git a/input/fsh/715-Assessment-ScreeningPrograms.fsh b/input/fsh/715-Assessment-ScreeningPrograms.fsh index c0fb3750..9f9642be 100644 --- a/input/fsh/715-Assessment-ScreeningPrograms.fsh +++ b/input/fsh/715-Assessment-ScreeningPrograms.fsh @@ -58,6 +58,7 @@ Description: "Screening Programs sub-questionnaire for Aboriginal and Torres Str * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/ScreeningPrograms" * name = "ScreeningPrograms" +* title = "Aboriginal and Torres Strait Islander Health Check - Screening Programs" * status = #draft * experimental = false * subjectType[+] = #Patient diff --git a/input/fsh/715-Assessment-SexualHealth.fsh b/input/fsh/715-Assessment-SexualHealth.fsh index a72b5fcd..d525ce99 100644 --- a/input/fsh/715-Assessment-SexualHealth.fsh +++ b/input/fsh/715-Assessment-SexualHealth.fsh @@ -62,6 +62,7 @@ Description: "Sexual Health sub-questionnaire for Aboriginal and Torres Strait I * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/SexualHealth" * name = "SexualHealth" +* title = "Aboriginal and Torres Strait Islander Health Check - Sexual Health" * status = #draft * experimental = false * subjectType[+] = #Patient diff --git a/input/fsh/715-Assessment-Skin.fsh b/input/fsh/715-Assessment-Skin.fsh index 2df99f14..1de50315 100644 --- a/input/fsh/715-Assessment-Skin.fsh +++ b/input/fsh/715-Assessment-Skin.fsh @@ -60,6 +60,7 @@ Description: "Skin sub-questionnaire for Aboriginal and Torres Strait Islander H * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/Skin" * name = "Skin" +* title = "Aboriginal and Torres Strait Islander Health Check - Skin" * status = #draft * experimental = false * subjectType[+] = #Patient diff --git a/input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh b/input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh index bed3a244..01ae011f 100644 --- a/input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh +++ b/input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh @@ -60,6 +60,7 @@ Description: "Social And Emotional Wellbeing sub-questionnaire for Aboriginal an * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/SocialAndEmotionalWellbeing" * name = "SocialAndEmotionalWellbeing" +* title = "Aboriginal and Torres Strait Islander Health Check - Social And Emotional Wellbeing" * status = #draft * experimental = false * subjectType[+] = #Patient diff --git a/input/fsh/715-Assessment-SocialHistoryChild.fsh b/input/fsh/715-Assessment-SocialHistoryChild.fsh index 41f1d8ea..4a02128a 100644 --- a/input/fsh/715-Assessment-SocialHistoryChild.fsh +++ b/input/fsh/715-Assessment-SocialHistoryChild.fsh @@ -60,6 +60,7 @@ Description: "Social History Child sub-questionnaire for Aboriginal and Torres S * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/SocialHistoryChild" * name = "SocialHistoryChild" +* title = "Aboriginal and Torres Strait Islander Health Check - Social History Child" * status = #draft * experimental = false * subjectType[+] = #Patient diff --git a/input/fsh/715-Assessment-SubstanceUse.fsh b/input/fsh/715-Assessment-SubstanceUse.fsh index e2d835b4..20142cb1 100644 --- a/input/fsh/715-Assessment-SubstanceUse.fsh +++ b/input/fsh/715-Assessment-SubstanceUse.fsh @@ -69,6 +69,7 @@ Description: "Substance Use sub-questionnaire for Aboriginal and Torres Strait I * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/SubstanceUse" * name = "SubstanceUse" +* title = "Aboriginal and Torres Strait Islander Health Check - Substance Use" * status = #draft * experimental = false * subjectType[+] = #Patient diff --git a/input/fsh/715-Consent.fsh b/input/fsh/715-Consent.fsh index f9db9f6c..71d56a29 100644 --- a/input/fsh/715-Consent.fsh +++ b/input/fsh/715-Consent.fsh @@ -62,6 +62,7 @@ Description: "Consent sub-questionnaire for Aboriginal and Torres Strait Islande * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/Consent" * name = "Consent" +* title = "Aboriginal and Torres Strait Islander Health Check - Consent" * status = #draft * experimental = false * subjectType[+] = #Patient diff --git a/input/fsh/715-FinalisingHealthCheck.fsh b/input/fsh/715-FinalisingHealthCheck.fsh index 250f043d..73af5af7 100644 --- a/input/fsh/715-FinalisingHealthCheck.fsh +++ b/input/fsh/715-FinalisingHealthCheck.fsh @@ -59,6 +59,7 @@ Description: "Finalising the Health Check sub-questionnaire for Aboriginal and T * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/FinalisingHealthCheck" * name = "FinalisingHealthCheck" +* title = "Aboriginal and Torres Strait Islander Health Check - Finalising the Health Check" * status = #draft * experimental = false * subjectType[+] = #Patient diff --git a/input/fsh/715-HealthPrioritiesSummary.fsh b/input/fsh/715-HealthPrioritiesSummary.fsh index 98215512..2f9b59fa 100644 --- a/input/fsh/715-HealthPrioritiesSummary.fsh +++ b/input/fsh/715-HealthPrioritiesSummary.fsh @@ -153,6 +153,7 @@ Description: "Health Priorities, Actions And Follow-Up Summary sub-questionnaire * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/HealthPrioritiesSummary" * name = "HealthPrioritiesActionsAndFollowUpSummary" +* title = "Aboriginal and Torres Strait Islander Health Check - Health Priorities, Actions And Follow-Up Summary" * status = #draft * experimental = false * subjectType[+] = #Patient diff --git a/input/fsh/715-PatientDetails.fsh b/input/fsh/715-PatientDetails.fsh index 2b890038..79d4b715 100644 --- a/input/fsh/715-PatientDetails.fsh +++ b/input/fsh/715-PatientDetails.fsh @@ -84,6 +84,7 @@ Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/PatientDetails" * name = "PatientDetails" +* title = "Aboriginal and Torres Strait Islander Health Check - Patient Details" * status = #draft * experimental = false * subjectType[+] = #Patient diff --git a/input/fsh/terminology.fsh b/input/fsh/terminology.fsh index b0ca0f7f..1f982cbb 100644 --- a/input/fsh/terminology.fsh +++ b/input/fsh/terminology.fsh @@ -18,6 +18,35 @@ Id: YesNoNotAskedDeclined Title: "Yes/No/Not Asked/Asked But Declined" Description: "Concepts for Yes, No, Not Asked and Asked But Declined" * ^experimental = false +* ^expansion.identifier = "urn:uuid:20552db7-8def-4e55-a0d2-cb446651929c" +* ^expansion.timestamp = "2025-05-01T10:00:51+10:00" +* ^expansion.total = 4 +* ^expansion.offset = 0 +* ^expansion.parameter[0].name = "displayLanguage" +* ^expansion.parameter[=].valueCode = #en-US +* ^expansion.parameter[+].name = "count" +* ^expansion.parameter[=].valueInteger = 1000 +* ^expansion.parameter[+].name = "offset" +* ^expansion.parameter[=].valueInteger = 0 +* ^expansion.parameter[+].name = "excludeNested" +* ^expansion.parameter[=].valueBoolean = false +* ^expansion.parameter[+].name = "used-codesystem" +* ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/v2-0532|2.1.0" +* ^expansion.parameter[+].name = "used-codesystem" +* ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/data-absent-reason|1.0.0" +* ^expansion.contains[0].system = "http://terminology.hl7.org/CodeSystem/v2-0532" +* ^expansion.contains[=].code = #Y +* ^expansion.contains[=].display = "Yes" +* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/v2-0532" +* ^expansion.contains[=].code = #N +* ^expansion.contains[=].display = "No" +* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/v2-0532" +* ^expansion.contains[=].code = #NASK +* ^expansion.contains[=].display = "Not Asked" +* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/data-absent-reason" +* ^expansion.contains[=].code = #asked-declined +* ^expansion.contains[=].display = "Asked But Declined" +/* * ^expansion.identifier = "urn:uuid:8eda7c3c-cc35-49fa-ac6c-c0e4f0a4e203" * ^expansion.timestamp = "2023-09-01T11:17:57+10:00" * ^expansion.total = 4 @@ -45,6 +74,7 @@ Description: "Concepts for Yes, No, Not Asked and Asked But Declined" * ^expansion.contains[=].version = "5.0.0-ballot" * ^expansion.contains[=].code = #asked-declined * ^expansion.contains[=].display = "Asked But Declined" +*/ * $v2-0532#Y "Yes" * $v2-0532#N "No" * $v2-0532#NASK "Not Asked" @@ -55,6 +85,31 @@ Id: YesNoNA Title: "Yes/No/NA" Description: "Concepts for Yes, No and Not applicable" * ^experimental = false + +* ^expansion.identifier = "urn:uuid:7fce8cc7-b936-4258-921d-923629b04439" +* ^expansion.timestamp = "2025-05-01T10:00:47+10:00" +* ^expansion.total = 3 +* ^expansion.offset = 0 +* ^expansion.parameter[0].name = "displayLanguage" +* ^expansion.parameter[=].valueCode = #en-US +* ^expansion.parameter[+].name = "count" +* ^expansion.parameter[=].valueInteger = 1000 +* ^expansion.parameter[+].name = "offset" +* ^expansion.parameter[=].valueInteger = 0 +* ^expansion.parameter[+].name = "excludeNested" +* ^expansion.parameter[=].valueBoolean = false +* ^expansion.parameter[+].name = "used-codesystem" +* ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/v2-0532|2.1.0" +* ^expansion.contains[0].system = "http://terminology.hl7.org/CodeSystem/v2-0532" +* ^expansion.contains[=].code = #Y +* ^expansion.contains[=].display = "Yes" +* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/v2-0532" +* ^expansion.contains[=].code = #N +* ^expansion.contains[=].display = "No" +* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/v2-0532" +* ^expansion.contains[=].code = #NA +* ^expansion.contains[=].display = "N/A" +/* * ^expansion.identifier = "urn:uuid:5baa5444-e553-4412-a08c-9ce93d3271e0" * ^expansion.timestamp = "2023-09-01T11:16:50+10:00" * ^expansion.total = 3 @@ -71,6 +126,7 @@ Description: "Concepts for Yes, No and Not applicable" * ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/v2-0532" * ^expansion.contains[=].code = #NA * ^expansion.contains[=].display = "N/A" +*/ * $v2-0532#Y "Yes" * $v2-0532#N "No" * $v2-0532#NA "N/A" @@ -81,6 +137,28 @@ Id: YesNo Title: "Yes/No" Description: "Concepts for Yes and No" * ^experimental = false + +* ^expansion.identifier = "urn:uuid:41cccc66-fd57-4bc4-bab1-8c5c878d95f7" +* ^expansion.timestamp = "2025-05-01T10:00:50+10:00" +* ^expansion.total = 2 +* ^expansion.offset = 0 +* ^expansion.parameter[0].name = "displayLanguage" +* ^expansion.parameter[=].valueCode = #en-US +* ^expansion.parameter[+].name = "count" +* ^expansion.parameter[=].valueInteger = 1000 +* ^expansion.parameter[+].name = "offset" +* ^expansion.parameter[=].valueInteger = 0 +* ^expansion.parameter[+].name = "excludeNested" +* ^expansion.parameter[=].valueBoolean = false +* ^expansion.parameter[+].name = "used-codesystem" +* ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/v2-0532|2.1.0" +* ^expansion.contains[0].system = "http://terminology.hl7.org/CodeSystem/v2-0532" +* ^expansion.contains[=].code = #Y +* ^expansion.contains[=].display = "Yes" +* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/v2-0532" +* ^expansion.contains[=].code = #N +* ^expansion.contains[=].display = "No" +/* * ^expansion.identifier = "urn:uuid:06bfacf3-ef16-4470-86a0-a2a22f49ff91" * ^expansion.timestamp = "2023-09-01T11:15:01+10:00" * ^expansion.total = 2 @@ -94,6 +172,7 @@ Description: "Concepts for Yes and No" * ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/v2-0532" * ^expansion.contains[=].code = #N * ^expansion.contains[=].display = "No" +*/ * $v2-0532#Y "Yes" * $v2-0532#N "No" @@ -104,6 +183,31 @@ Id: AboriginalTorresStraitIslander Title: "Aboriginal and/or Torres Strait Islander" Description: "The Aboriginal and/or Torres Strait Islander value set includes the Australian Indigenous statuses for Indigenous people." * ^experimental = false + +* ^expansion.identifier = "urn:uuid:eb422e76-71e8-48b0-a191-73285ddb91cc" +* ^expansion.timestamp = "2025-05-01T10:00:56+10:00" +* ^expansion.total = 3 +* ^expansion.offset = 0 +* ^expansion.parameter[0].name = "displayLanguage" +* ^expansion.parameter[=].valueCode = #en-US +* ^expansion.parameter[+].name = "count" +* ^expansion.parameter[=].valueInteger = 1000 +* ^expansion.parameter[+].name = "offset" +* ^expansion.parameter[=].valueInteger = 0 +* ^expansion.parameter[+].name = "excludeNested" +* ^expansion.parameter[=].valueBoolean = false +* ^expansion.parameter[+].name = "used-codesystem" +* ^expansion.parameter[=].valueUri = "https://healthterminologies.gov.au/fhir/CodeSystem/australian-indigenous-status-1|1.0.3" +* ^expansion.contains[0].system = "https://healthterminologies.gov.au/fhir/CodeSystem/australian-indigenous-status-1" +* ^expansion.contains[=].code = #1 +* ^expansion.contains[=].display = "Aboriginal" +* ^expansion.contains[+].system = "https://healthterminologies.gov.au/fhir/CodeSystem/australian-indigenous-status-1" +* ^expansion.contains[=].code = #2 +* ^expansion.contains[=].display = "Torres Strait Islander" +* ^expansion.contains[+].system = "https://healthterminologies.gov.au/fhir/CodeSystem/australian-indigenous-status-1" +* ^expansion.contains[=].code = #3 +* ^expansion.contains[=].display = "Aboriginal and Torres Strait Islander" +/* * ^expansion.identifier = "e2b013bd-1725-4299-a7a5-53635d42f1be" * ^expansion.timestamp = "2022-10-20T11:38:45+10:00" * ^expansion.total = 3 @@ -123,6 +227,7 @@ Description: "The Aboriginal and/or Torres Strait Islander value set includes th * ^expansion.contains[+].system = "https://healthterminologies.gov.au/fhir/CodeSystem/australian-indigenous-status-1" * ^expansion.contains[=].code = #3 * ^expansion.contains[=].display = "Both Aboriginal and Torres Strait Islander origin" +*/ * $australian-indigenous-status-1#1 "Aboriginal" * $australian-indigenous-status-1#2 "Torres Strait Islander" * $australian-indigenous-status-1#3 "Aboriginal and Torres Strait Islander" @@ -135,6 +240,36 @@ Id: PrimaryCarerParentGrandparent Title: "Primary Carer Of Parent Or Grandparent" Description: "The Primary Carer Of Parent Or Grandparent value set includes values that can indicate whether a primary carer is one of the parents or a grandparent." * ^experimental = false + +* ^expansion.identifier = "urn:uuid:f8e7efc2-94d6-403e-9e40-3a3a4e9fffb4" +* ^expansion.timestamp = "2025-05-01T10:00:56+10:00" +* ^expansion.total = 4 +* ^expansion.offset = 0 +* ^expansion.parameter[0].name = "displayLanguage" +* ^expansion.parameter[=].valueCode = #en-US +* ^expansion.parameter[+].name = "count" +* ^expansion.parameter[=].valueInteger = 1000 +* ^expansion.parameter[+].name = "offset" +* ^expansion.parameter[=].valueInteger = 0 +* ^expansion.parameter[+].name = "excludeNested" +* ^expansion.parameter[=].valueBoolean = false +* ^expansion.parameter[+].name = "used-codesystem" +* ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/v3-RoleCode|3.0.0" +* ^expansion.parameter[+].name = "used-codesystem" +* ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/v3-NullFlavor|3.0.0" +* ^expansion.contains[0].system = "http://terminology.hl7.org/CodeSystem/v3-RoleCode" +* ^expansion.contains[=].code = #MTH +* ^expansion.contains[=].display = "mother" +* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/v3-RoleCode" +* ^expansion.contains[=].code = #FTH +* ^expansion.contains[=].display = "father" +* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/v3-RoleCode" +* ^expansion.contains[=].code = #GRPRN +* ^expansion.contains[=].display = "grandparent" +* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/v3-NullFlavor" +* ^expansion.contains[=].code = #NA +* ^expansion.contains[=].display = "not applicable" +/* * ^expansion.identifier = "2809c2fa-28ec-4def-9b16-93a611d29da3" * ^expansion.timestamp = "2022-10-20T11:42:30+10:00" * ^expansion.total = 4 @@ -163,6 +298,7 @@ Description: "The Primary Carer Of Parent Or Grandparent value set includes valu * ^expansion.contains[=].version = "2018-08-12" * ^expansion.contains[=].code = #NA * ^expansion.contains[=].display = "not applicable" +*/ * $v3-RoleCode#MTH * $v3-RoleCode#FTH * $v3-RoleCode#GRPRN @@ -490,6 +626,34 @@ Description: "The gender of a person used for administrative purposes." * ^publisher = "HL7 (FHIR Project)" * ^status = #active * ^version = "4.0.1" + +* ^expansion.identifier = "urn:uuid:31c9098a-778c-4de6-9c2b-4f1e2db26179" +* ^expansion.timestamp = "2025-05-01T10:00:55+10:00" +* ^expansion.total = 4 +* ^expansion.offset = 0 +* ^expansion.parameter[0].name = "displayLanguage" +* ^expansion.parameter[=].valueCode = #en-US +* ^expansion.parameter[+].name = "count" +* ^expansion.parameter[=].valueInteger = 1000 +* ^expansion.parameter[+].name = "offset" +* ^expansion.parameter[=].valueInteger = 0 +* ^expansion.parameter[+].name = "excludeNested" +* ^expansion.parameter[=].valueBoolean = false +* ^expansion.parameter[+].name = "used-codesystem" +* ^expansion.parameter[=].valueUri = "http://hl7.org/fhir/administrative-gender|4.0.1" +* ^expansion.contains[0].system = "http://hl7.org/fhir/administrative-gender" +* ^expansion.contains[=].code = #male +* ^expansion.contains[=].display = "Male" +* ^expansion.contains[+].system = "http://hl7.org/fhir/administrative-gender" +* ^expansion.contains[=].code = #female +* ^expansion.contains[=].display = "Female" +* ^expansion.contains[+].system = "http://hl7.org/fhir/administrative-gender" +* ^expansion.contains[=].code = #other +* ^expansion.contains[=].display = "Other" +* ^expansion.contains[+].system = "http://hl7.org/fhir/administrative-gender" +* ^expansion.contains[=].code = #unknown +* ^expansion.contains[=].display = "Unknown" +/* * ^expansion.identifier = "urn:uuid:50f050c9-3975-48d6-bdb7-baae4ebc70cd" * ^expansion.timestamp = "2024-04-05T12:31:27+10:00" * ^expansion.total = 4 @@ -509,6 +673,7 @@ Description: "The gender of a person used for administrative purposes." * ^expansion.contains[+].system = "http://hl7.org/fhir/administrative-gender" * ^expansion.contains[=].code = #unknown * ^expansion.contains[=].display = "Unknown" +*/ * include codes from system $administrative-gender ValueSet: ConditionClinicalStatusCodes @@ -532,6 +697,46 @@ Description: "Preferred value set for Condition Clinical Status." * ^contact.telecom.value = "http://hl7.org/fhir" * ^copyright = "Copyright © 2011+ HL7. Licensed under Creative Commons \"No Rights Reserved\"." * ^date = "2019-11-01T09:29:23+11:00" + +* ^expansion.identifier = "urn:uuid:7b100d21-fde9-4fd8-bded-80f345db777d" +* ^expansion.timestamp = "2025-05-01T10:00:56+10:00" +* ^expansion.total = 7 +* ^expansion.offset = 0 +* ^expansion.parameter[0].name = "displayLanguage" +* ^expansion.parameter[=].valueCode = #en-US +* ^expansion.parameter[+].name = "count" +* ^expansion.parameter[=].valueInteger = 1000 +* ^expansion.parameter[+].name = "offset" +* ^expansion.parameter[=].valueInteger = 0 +* ^expansion.parameter[+].name = "excludeNested" +* ^expansion.parameter[=].valueBoolean = false +* ^expansion.parameter[+].name = "used-codesystem" +* ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/condition-clinical|3.0.0" +* ^expansion.contains[0].system = "http://terminology.hl7.org/CodeSystem/condition-clinical" +* ^expansion.contains[=].code = #active +* ^expansion.contains[=].display = "Active" +* ^expansion.contains[=].contains[0].system = "http://terminology.hl7.org/CodeSystem/condition-clinical" +* ^expansion.contains[=].contains[=].code = #recurrence +* ^expansion.contains[=].contains[=].display = "Recurrence" +* ^expansion.contains[=].contains[+].system = "http://terminology.hl7.org/CodeSystem/condition-clinical" +* ^expansion.contains[=].contains[=].code = #relapse +* ^expansion.contains[=].contains[=].display = "Relapse" +* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/condition-clinical" +* ^expansion.contains[=].code = #inactive +* ^expansion.contains[=].display = "Inactive" +* ^expansion.contains[=].contains[0].system = "http://terminology.hl7.org/CodeSystem/condition-clinical" +* ^expansion.contains[=].contains[=].code = #remission +* ^expansion.contains[=].contains[=].display = "Remission" +* ^expansion.contains[=].contains[+].system = "http://terminology.hl7.org/CodeSystem/condition-clinical" +* ^expansion.contains[=].contains[=].code = #resolved +* ^expansion.contains[=].contains[=].display = "Resolved" +* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/condition-clinical" +* ^expansion.contains[=].code = #unknown +* ^expansion.contains[=].display = "Unknown" + + + +/* * ^expansion.identifier = "urn:uuid:79d21cca-9f34-4cfa-9020-17eee95eeed8" * ^expansion.timestamp = "2024-04-02T14:17:12+10:00" * ^expansion.total = 6 @@ -565,6 +770,7 @@ Description: "Preferred value set for Condition Clinical Status." * ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/condition-clinical" * ^expansion.contains[=].code = #resolved * ^expansion.contains[=].display = "Resolved" +*/ * include codes from system ConditionClinicalStatusCodes Alias: $australian-states-territories-1 = https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1 @@ -586,6 +792,49 @@ Description: "The Australian States and Territories value set includes values th * ^contact.telecom.system = #email * ^contact.telecom.value = "help@digitalhealth.gov.au" * ^copyright = "Copyright © 2018 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\nThis resource includes material that is based on Australian Institute of Health and Welfare material. \n\nAll copies of this resource must include this copyright statement and all information contained in this statement." + +* ^expansion.identifier = "urn:uuid:148e9412-a321-4a6f-b911-7e7908be82af" +* ^expansion.timestamp = "2025-05-01T10:00:57+10:00" +* ^expansion.total = 9 +* ^expansion.offset = 0 +* ^expansion.parameter[0].name = "displayLanguage" +* ^expansion.parameter[=].valueCode = #en-US +* ^expansion.parameter[+].name = "count" +* ^expansion.parameter[=].valueInteger = 1000 +* ^expansion.parameter[+].name = "offset" +* ^expansion.parameter[=].valueInteger = 0 +* ^expansion.parameter[+].name = "excludeNested" +* ^expansion.parameter[=].valueBoolean = false +* ^expansion.parameter[+].name = "used-codesystem" +* ^expansion.parameter[=].valueUri = "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1|1.1.3" +* ^expansion.contains[0].system = "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1" +* ^expansion.contains[=].code = #ACT +* ^expansion.contains[=].display = "Australian Capital Territory" +* ^expansion.contains[+].system = "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1" +* ^expansion.contains[=].code = #NSW +* ^expansion.contains[=].display = "New South Wales" +* ^expansion.contains[+].system = "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1" +* ^expansion.contains[=].code = #NT +* ^expansion.contains[=].display = "Northern Territory" +* ^expansion.contains[+].system = "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1" +* ^expansion.contains[=].code = #OTHER +* ^expansion.contains[=].display = "Other territories" +* ^expansion.contains[+].system = "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1" +* ^expansion.contains[=].code = #QLD +* ^expansion.contains[=].display = "Queensland" +* ^expansion.contains[+].system = "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1" +* ^expansion.contains[=].code = #SA +* ^expansion.contains[=].display = "South Australia" +* ^expansion.contains[+].system = "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1" +* ^expansion.contains[=].code = #TAS +* ^expansion.contains[=].display = "Tasmania" +* ^expansion.contains[+].system = "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1" +* ^expansion.contains[=].code = #VIC +* ^expansion.contains[=].display = "Victoria" +* ^expansion.contains[+].system = "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1" +* ^expansion.contains[=].code = #WA +* ^expansion.contains[=].display = "Western Australia" +/* * ^expansion.identifier = "e9439195-c1d8-4069-a349-98c1d552a351" * ^expansion.timestamp = "2023-06-20T04:20:58+00:00" * ^expansion.total = 9 @@ -623,6 +872,7 @@ Description: "The Australian States and Territories value set includes values th * ^expansion.contains[+].system = "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1" * ^expansion.contains[=].code = #WA * ^expansion.contains[=].display = "Western Australia" +*/ * $australian-states-territories-1#ACT * $australian-states-territories-1#NSW * $australian-states-territories-1#NT @@ -649,6 +899,45 @@ Description: "The Gender Identity Response value set includes values that may be * ^contact.telecom.system = #email * ^contact.telecom.value = "help@digitalhealth.gov.au" * ^copyright = "Copyright © 2022 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/.\n\n\"This resource includes SNOMED Clinical Terms™ (SNOMED CT®) which is used by permission of the International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. “SNOMED” and “SNOMED CT” are registered trademarks of the IHTSDO. \n\nThe rights to use and implement or implementation of SNOMED CT content are limited to the extent it is necessary to allow for the end use of this material. No further rights are granted in respect of the International Release and no further use of any SNOMED CT content by any other party is permitted. \n\nThis resource includes material that is based on Australian Institute of Health and Welfare material. This resource includes material that is based on Australian Bureau of Statistics data. \n\nThis resource also includes all or a portion of material from the HL7 Terminology (THO). THO is copyright ©1989+ Health Level Seven International and is made available under the CC0 designation. For more licensing information see: https://terminology.hl7.org/license." + +* ^expansion.identifier = "urn:uuid:81810018-2ec2-4e42-adcc-6aab69e7750c" +* ^expansion.timestamp = "2025-05-01T10:00:58+10:00" +* ^expansion.offset = 0 +* ^expansion.parameter[0].name = "displayLanguage" +* ^expansion.parameter[=].valueCode = #en-US +* ^expansion.parameter[+].name = "count" +* ^expansion.parameter[=].valueInteger = 1000 +* ^expansion.parameter[+].name = "offset" +* ^expansion.parameter[=].valueInteger = 0 +* ^expansion.parameter[+].name = "excludeNested" +* ^expansion.parameter[=].valueBoolean = false +* ^expansion.parameter[+].name = "used-valueset" +* ^expansion.parameter[=].valueUri = "null" +* ^expansion.parameter[+].name = "used-codesystem" +* ^expansion.parameter[=].valueUri = "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" +* ^expansion.parameter[+].name = "version" +* ^expansion.parameter[=].valueUri = "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" +* ^expansion.parameter[+].name = "used-codesystem" +* ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/data-absent-reason|1.0.0" +* ^expansion.contains[0].system = "http://snomed.info/sct" +* ^expansion.contains[=].code = #446151000124109 +* ^expansion.contains[=].display = "Identifies as male gender" +* ^expansion.contains[+].system = "http://snomed.info/sct" +* ^expansion.contains[=].code = #446141000124107 +* ^expansion.contains[=].display = "Identifies as female gender" +* ^expansion.contains[+].system = "http://snomed.info/sct" +* ^expansion.contains[=].code = #33791000087105 +* ^expansion.contains[=].display = "Identifies as nonbinary gender" +* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/data-absent-reason" +* ^expansion.contains[=].code = #unknown +* ^expansion.contains[=].display = "Unknown" +* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/data-absent-reason" +* ^expansion.contains[=].code = #asked-declined +* ^expansion.contains[=].display = "Asked But Declined" +* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/data-absent-reason" +* ^expansion.contains[=].code = #not-asked +* ^expansion.contains[=].display = "Not Asked" +/* * ^expansion.identifier = "urn:uuid:a35fc104-184f-476e-a7a2-e3f3af66a3eb" * ^expansion.timestamp = "2024-04-02T14:21:20+10:00" * ^expansion.total = 6 @@ -684,6 +973,7 @@ Description: "The Gender Identity Response value set includes values that may be * ^expansion.contains[=].version = "5.0.0-ballot" * ^expansion.contains[=].code = #not-asked * ^expansion.contains[=].display = "Not Asked" +*/ * $SCT#446151000124109 * $SCT#446141000124107 * $SCT#33791000087105 @@ -706,6 +996,49 @@ Description: "The Australian Pronouns value set includes values that indicate th * ^contact.telecom.system = #email * ^contact.telecom.value = "help@digitalhealth.gov.au" * ^copyright = "Copyright © 2024 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\nThis material contains content from LOINC (http://loinc.org). LOINC is copyright 1995-2024, Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee and is available at no cost under the license at http://loinc.org/license. LOINC® is a registered United States trademark of Regenstrief Institute, Inc.\n\nThis material contains information which is protected by copyright. You may download, display, print and reproduce any material for your personal, non-commercial use or use within your organisation subject to the following terms and conditions: \n\nThis resource also includes all or a portion of material from the HL7 Terminology (THO). THO is copyright ©1989+ Health Level Seven International and is made available under the CC0 designation. For more licensing information see: https://terminology.hl7.org/license." + +* ^expansion.identifier = "urn:uuid:1bc98e8c-511f-4014-a4d9-a48a8db0923d" +* ^expansion.timestamp = "2025-05-01T10:00:56+10:00" +* ^expansion.total = 7 +* ^expansion.offset = 0 +* ^expansion.parameter[0].name = "displayLanguage" +* ^expansion.parameter[=].valueCode = #en-US +* ^expansion.parameter[+].name = "count" +* ^expansion.parameter[=].valueInteger = 1000 +* ^expansion.parameter[+].name = "offset" +* ^expansion.parameter[=].valueInteger = 0 +* ^expansion.parameter[+].name = "excludeNested" +* ^expansion.parameter[=].valueBoolean = false +* ^expansion.parameter[+].name = "used-valueset" +* ^expansion.parameter[=].valueUri = "null" +* ^expansion.parameter[+].name = "used-codesystem" +* ^expansion.parameter[=].valueUri = "http://loinc.org|2.80" +* ^expansion.parameter[+].name = "version" +* ^expansion.parameter[=].valueUri = "http://loinc.org|2.80" +* ^expansion.parameter[+].name = "used-codesystem" +* ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/data-absent-reason|1.0.0" +* ^expansion.contains[0].system = "http://loinc.org" +* ^expansion.contains[=].code = #LA29518-0 +* ^expansion.contains[=].display = "he/him/his/his/himself" +* ^expansion.contains[+].system = "http://loinc.org" +* ^expansion.contains[=].code = #LA29519-8 +* ^expansion.contains[=].display = "she/her/her/hers/herself" +* ^expansion.contains[+].system = "http://loinc.org" +* ^expansion.contains[=].code = #LA29520-6 +* ^expansion.contains[=].display = "they/them/their/theirs/themselves" +* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/data-absent-reason" +* ^expansion.contains[=].code = #unknown +* ^expansion.contains[=].display = "Unknown" +* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/data-absent-reason" +* ^expansion.contains[=].code = #asked-declined +* ^expansion.contains[=].display = "Asked But Declined" +* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/data-absent-reason" +* ^expansion.contains[=].code = #not-asked +* ^expansion.contains[=].display = "Not Asked" +* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/data-absent-reason" +* ^expansion.contains[=].code = #asked-unknown +* ^expansion.contains[=].display = "Asked But Unknown" +/* * ^expansion.identifier = "urn:uuid:ca145c1c-4915-4957-888a-39e69de8b1ad" * ^expansion.timestamp = "2024-04-02T14:25:01+10:00" * ^expansion.total = 7 @@ -745,6 +1078,7 @@ Description: "The Australian Pronouns value set includes values that indicate th * ^expansion.contains[=].version = "5.0.0-ballot" * ^expansion.contains[=].code = #unknown * ^expansion.contains[=].display = "Unknown" +*/ * $LOINC#LA29518-0 "he/him/his/his/himself" * $LOINC#LA29519-8 "she/her/her/hers/herself" * $LOINC#LA29520-6 "they/them/their/theirs/themselves" @@ -770,6 +1104,37 @@ Description: "The Biological Sex value set includes values that represent the bi * ^contact.telecom.system = #email * ^contact.telecom.value = "help@digitalhealth.gov.au" * ^copyright = "Copyright © 2020 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\nThis resource includes SNOMED Clinical Terms™ (SNOMED CT®) which is used by permission of the International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. “SNOMED” and “SNOMED CT” are registered trademarks of the IHTSDO. \n\nThe rights to use and implement or implementation of SNOMED CT content are limited to the extent it is necessary to allow for the end use of this material. No further rights are granted in respect of the International Release and no further use of any SNOMED CT content by any other party is permitted. \n\nAll copies of this resource must include this copyright statement and all information contained in this statement." + +* ^expansion.identifier = "urn:uuid:9a0c2291-6dd8-4778-9099-4622f64fa897" +* ^expansion.timestamp = "2025-05-01T10:00:49+10:00" +* ^expansion.offset = 0 +* ^expansion.parameter[0].name = "displayLanguage" +* ^expansion.parameter[=].valueCode = #en-US +* ^expansion.parameter[+].name = "count" +* ^expansion.parameter[=].valueInteger = 1000 +* ^expansion.parameter[+].name = "offset" +* ^expansion.parameter[=].valueInteger = 0 +* ^expansion.parameter[+].name = "excludeNested" +* ^expansion.parameter[=].valueBoolean = false +* ^expansion.parameter[+].name = "used-valueset" +* ^expansion.parameter[=].valueUri = "null" +* ^expansion.parameter[+].name = "used-codesystem" +* ^expansion.parameter[=].valueUri = "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" +* ^expansion.parameter[+].name = "version" +* ^expansion.parameter[=].valueUri = "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" +* ^expansion.contains[0].system = "http://snomed.info/sct" +* ^expansion.contains[=].code = #248152002 +* ^expansion.contains[=].display = "Female" +* ^expansion.contains[+].system = "http://snomed.info/sct" +* ^expansion.contains[=].code = #32570681000036106 +* ^expansion.contains[=].display = "Indeterminate sex" +* ^expansion.contains[+].system = "http://snomed.info/sct" +* ^expansion.contains[=].code = #32570691000036108 +* ^expansion.contains[=].display = "Intersex" +* ^expansion.contains[+].system = "http://snomed.info/sct" +* ^expansion.contains[=].code = #248153007 +* ^expansion.contains[=].display = "Male" +/* * ^expansion.identifier = "urn:uuid:e9cff1c2-8743-48cb-9bde-8f4af914544b" * ^expansion.timestamp = "2023-08-30T10:41:59+10:00" * ^expansion.total = 4 @@ -789,6 +1154,7 @@ Description: "The Biological Sex value set includes values that represent the bi * ^expansion.contains[+].system = "http://snomed.info/sct" * ^expansion.contains[=].code = #248153007 * ^expansion.contains[=].display = "Male" +*/ * include codes from system $SCT where constraint = "^ 32570631000036107|Sex reference set|" @@ -799,7 +1165,7 @@ Title: "SNOMED CT Supplement for Aboriginal and Torres Strait Islander Health Ch Description: "The SNOMED CT Supplement for Aboriginal and Torres Strait Islander Health Check code system supplement defines consumer friendly terms for use in the health check Questionnaire." * ^experimental = false * ^content = #supplement -* ^supplements = "http://snomed.info/sct|http://snomed.info/sct/32506021000036107" +* ^supplements = "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" * #736595007 "Declined" * #171154002 "Not required" * #171155001 "Up to date" @@ -824,6 +1190,37 @@ Description: "The Cervical Screening Status value set includes values that can b * $SCT#410527000 "Offered" // a better concept is required * $SCT#171154002 "Not required" * $SCT#171155001 "Up to date" + +* ^expansion.identifier = "urn:uuid:4d42d172-e817-40be-a265-56aebe2f4f10" +* ^expansion.timestamp = "2025-05-01T10:01:02+10:00" +* ^expansion.offset = 0 +* ^expansion.parameter[0].name = "displayLanguage" +* ^expansion.parameter[=].valueCode = #en-US +* ^expansion.parameter[+].name = "count" +* ^expansion.parameter[=].valueInteger = 1000 +* ^expansion.parameter[+].name = "offset" +* ^expansion.parameter[=].valueInteger = 0 +* ^expansion.parameter[+].name = "excludeNested" +* ^expansion.parameter[=].valueBoolean = false +* ^expansion.parameter[+].name = "used-valueset" +* ^expansion.parameter[=].valueUri = "null" +* ^expansion.parameter[+].name = "used-codesystem" +* ^expansion.parameter[=].valueUri = "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" +* ^expansion.parameter[+].name = "version" +* ^expansion.parameter[=].valueUri = "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" +* ^expansion.contains[0].system = "http://snomed.info/sct" +* ^expansion.contains[=].code = #736595007 +* ^expansion.contains[=].display = "Cervical cancer screening refused" +* ^expansion.contains[+].system = "http://snomed.info/sct" +* ^expansion.contains[=].code = #410527000 +* ^expansion.contains[=].display = "Offered" +* ^expansion.contains[+].system = "http://snomed.info/sct" +* ^expansion.contains[=].code = #171154002 +* ^expansion.contains[=].display = "Cancer cervix screening - not needed" +* ^expansion.contains[+].system = "http://snomed.info/sct" +* ^expansion.contains[=].code = #171155001 +* ^expansion.contains[=].display = "Cancer cervix screening - up-to-date" +/* * ^expansion.identifier = "urn:uuid:7642a243-4f23-4b17-933d-57b448902d5d" * ^expansion.timestamp = "2024-04-08T10:41:42+10:00" * ^expansion.total = 4 @@ -843,6 +1240,7 @@ Description: "The Cervical Screening Status value set includes values that can b * ^expansion.contains[+].system = "http://snomed.info/sct" * ^expansion.contains[=].code = #171155001 * ^expansion.contains[=].display = "Up to date" +*/ ValueSet: SmokingQuitStatus Id: SmokingQuitStatus-1 @@ -850,7 +1248,29 @@ Title: "Smoking Quit Status" Description: "The Smoking Quit Status value set includes values that can indicate how long ago an individual quit smoking." * ^experimental = false * ^extension[+].url = "http://hl7.org/fhir/StructureDefinition/valueset-supplement" -* ^extension[=].valueCanonical = "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement" +* ^extension[=].valueCanonical = "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement|0.3.0" + +* ^expansion.identifier = "urn:uuid:93600010-14a0-4d6e-a82f-15283d13a2cb" +* ^expansion.timestamp = "2025-05-01T11:41:24+10:00" +* ^expansion.parameter[0].name = "used-supplement" +* ^expansion.parameter[=].valueUri = "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement|0.3.0" +* ^expansion.parameter[+].name = "used-codesystem" +* ^expansion.parameter[=].valueUri = "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" +* ^expansion.parameter[+].name = "version" +* ^expansion.parameter[=].valueUri = "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" +* ^expansion.parameter[+].name = "warning-draft" +* ^expansion.parameter[=].valueUri = "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement|0.3.0" +* ^expansion.parameter[+].name = "warning-draft" +* ^expansion.parameter[=].valueUri = "https://smartforms.csiro.au/ig/ValueSet/SmokingQuitStatus-1|0.3.0" +* ^expansion.contains[0].system = "http://snomed.info/sct" +* ^expansion.contains[=].version = "http://snomed.info/sct/32506021000036107/version/20250430" +* ^expansion.contains[=].code = #48031000119106 +* ^expansion.contains[=].display = "Quit >12 months" +* ^expansion.contains[+].system = "http://snomed.info/sct" +* ^expansion.contains[=].version = "http://snomed.info/sct/32506021000036107/version/20250430" +* ^expansion.contains[=].code = #735128000 +* ^expansion.contains[=].display = "Quit <12 months" +/* * ^expansion.identifier = "urn:uuid:86b4329d-aca5-4e54-9b5e-67296c7ce9db" * ^expansion.timestamp = "2024-04-08T12:56:59+10:00" * ^expansion.total = 2 @@ -864,8 +1284,9 @@ Description: "The Smoking Quit Status value set includes values that can indicat * ^expansion.contains[+].system = "http://snomed.info/sct" * ^expansion.contains[=].code = #735128000 * ^expansion.contains[=].display = "Quit <12 months" -* $SCT#48031000119106 "Quit >12 months" -* $SCT#735128000 "Quit <12 months" +*/ +* $SCT|http://snomed.info/sct/32506021000036107/version/20250430#48031000119106 "Quit >12 months" +* $SCT|http://snomed.info/sct/32506021000036107/version/20250430#735128000 "Quit <12 months" ValueSet: TobaccoUseStatus @@ -874,7 +1295,45 @@ Title: "Tobacco Use Status" Description: "The Tobacco Use Status value set includes values that may be used to represent an individual's current tobacco use and exposure status." * ^experimental = false * ^extension[+].url = "http://hl7.org/fhir/StructureDefinition/valueset-supplement" -* ^extension[=].valueCanonical = "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement" +* ^extension[=].valueCanonical = "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement|0.3.0" +* ^expansion.identifier = "urn:uuid:e7e976ca-5eb9-41da-9ca8-2c795c5e2dd2" +* ^expansion.timestamp = "2025-05-01T11:43:41+10:00" +* ^expansion.parameter[0].name = "used-supplement" +* ^expansion.parameter[=].valueUri = "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement|0.3.0" +* ^expansion.parameter[+].name = "used-codesystem" +* ^expansion.parameter[=].valueUri = "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" +* ^expansion.parameter[+].name = "version" +* ^expansion.parameter[=].valueUri = "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" +* ^expansion.parameter[+].name = "warning-draft" +* ^expansion.parameter[=].valueUri = "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement|0.3.0" +* ^expansion.parameter[+].name = "warning-draft" +* ^expansion.parameter[=].valueUri = "https://smartforms.csiro.au/ig/ValueSet/TobaccoUseStatus-1|0.3.0" +* ^expansion.contains[0].system = "http://snomed.info/sct" +* ^expansion.contains[=].version = "http://snomed.info/sct/32506021000036107/version/20250430" +* ^expansion.contains[=].code = #266919005 +* ^expansion.contains[=].display = "Never smoked" +* ^expansion.contains[+].system = "http://snomed.info/sct" +* ^expansion.contains[=].version = "http://snomed.info/sct/32506021000036107/version/20250430" +* ^expansion.contains[=].code = #77176002 +* ^expansion.contains[=].display = "Current smoker" +* ^expansion.contains[+].system = "http://snomed.info/sct" +* ^expansion.contains[=].version = "http://snomed.info/sct/32506021000036107/version/20250430" +* ^expansion.contains[=].code = #8517006 +* ^expansion.contains[=].display = "Ex-smoker" +* ^expansion.contains[+].system = "http://snomed.info/sct" +* ^expansion.contains[=].version = "http://snomed.info/sct/32506021000036107/version/20250430" +* ^expansion.contains[=].code = #16090371000119103 +* ^expansion.contains[=].display = "Exposure to second hand tobacco smoke" +* ^expansion.contains[+].system = "http://snomed.info/sct" +* ^expansion.contains[=].version = "http://snomed.info/sct/32506021000036107/version/20250430" +* ^expansion.contains[=].code = #394872000 +* ^expansion.contains[=].display = "Wants to quit" +* ^expansion.contains[+].system = "http://snomed.info/sct" +* ^expansion.contains[=].version = "http://snomed.info/sct/32506021000036107/version/20250430" +* ^expansion.contains[=].code = #713914004 +* ^expansion.contains[=].display = "Other tobacco use" + +/* * ^expansion.identifier = "urn:uuid:577a997d-bacd-499f-bae4-aa6efdcca45e" * ^expansion.timestamp = "2024-11-29T10:37:34+10:00" * ^expansion.parameter[0].name = "version" @@ -899,10 +1358,11 @@ Description: "The Tobacco Use Status value set includes values that may be used * ^expansion.contains[+].system = "http://snomed.info/sct" * ^expansion.contains[=].code = #713914004 * ^expansion.contains[=].display = "Other tobacco use" -* $SCT#266919005 "Never smoked" -* $SCT#77176002 "Current smoker" -* $SCT#8517006 "Ex-smoker" -* $SCT#16090371000119103 "Exposure to second hand tobacco smoke" -* $SCT#394872000 "Wants to quit" -* $SCT#713914004 "Other tobacco use" +*/ +* $SCT|http://snomed.info/sct/32506021000036107/version/20250430#266919005 "Never smoked" +* $SCT|http://snomed.info/sct/32506021000036107/version/20250430#77176002 "Current smoker" +* $SCT|http://snomed.info/sct/32506021000036107/version/20250430#8517006 "Ex-smoker" +* $SCT|http://snomed.info/sct/32506021000036107/version/20250430#16090371000119103 "Exposure to second hand tobacco smoke" +* $SCT|http://snomed.info/sct/32506021000036107/version/20250430#394872000 "Wants to quit" +* $SCT|http://snomed.info/sct/32506021000036107/version/20250430#713914004 "Other tobacco use" diff --git a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json index d87d5549..8faa4010 100644 --- a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json +++ b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json @@ -39,13 +39,26 @@ ] }, "expansion": { - "identifier": "urn:uuid:5baa5444-e553-4412-a08c-9ce93d3271e0", - "timestamp": "2023-09-01T11:16:50+10:00", + "identifier": "urn:uuid:7fce8cc7-b936-4258-921d-923629b04439", + "timestamp": "2025-05-01T10:00:47+10:00", "total": 3, + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/v2-0532|2.1.0" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false }, { "name": "used-codesystem", @@ -102,39 +115,47 @@ ] }, "expansion": { - "identifier": "e2b013bd-1725-4299-a7a5-53635d42f1be", - "timestamp": "2022-10-20T11:38:45+10:00", + "identifier": "urn:uuid:eb422e76-71e8-48b0-a191-73285ddb91cc", + "timestamp": "2025-05-01T10:00:56+10:00", "total": 3, "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-indigenous-status-1|1.0.3" + "name": "displayLanguage", + "valueCode": "en-US" }, { "name": "count", - "valueInteger": 2147483647 + "valueInteger": 1000 }, { "name": "offset", "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false + }, + { + "name": "used-codesystem", + "valueUri": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-indigenous-status-1|1.0.3" } ], "contains": [ { "system": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-indigenous-status-1", "code": "1", - "display": "Aboriginal but not Torres Strait Islander origin" + "display": "Aboriginal" }, { "system": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-indigenous-status-1", "code": "2", - "display": "Torres Strait Islander but not Aboriginal origin" + "display": "Torres Strait Islander" }, { "system": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-indigenous-status-1", "code": "3", - "display": "Both Aboriginal and Torres Strait Islander origin" + "display": "Aboriginal and Torres Strait Islander" } ] } @@ -175,50 +196,54 @@ ] }, "expansion": { - "identifier": "2809c2fa-28ec-4def-9b16-93a611d29da3", - "timestamp": "2022-10-20T11:42:30+10:00", + "identifier": "urn:uuid:f8e7efc2-94d6-403e-9e40-3a3a4e9fffb4", + "timestamp": "2025-05-01T10:00:56+10:00", "total": 4, "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/v3-RoleCode|2018-08-12" - }, - { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/v3-NullFlavor|2018-08-12" + "name": "displayLanguage", + "valueCode": "en-US" }, { "name": "count", - "valueInteger": 2147483647 + "valueInteger": 1000 }, { "name": "offset", "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false + }, + { + "name": "used-codesystem", + "valueUri": "http://terminology.hl7.org/CodeSystem/v3-RoleCode|3.0.0" + }, + { + "name": "used-codesystem", + "valueUri": "http://terminology.hl7.org/CodeSystem/v3-NullFlavor|3.0.0" } ], "contains": [ { "system": "http://terminology.hl7.org/CodeSystem/v3-RoleCode", - "version": "2018-08-12", "code": "MTH", "display": "mother" }, { "system": "http://terminology.hl7.org/CodeSystem/v3-RoleCode", - "version": "2018-08-12", "code": "FTH", "display": "father" }, { "system": "http://terminology.hl7.org/CodeSystem/v3-RoleCode", - "version": "2018-08-12", "code": "GRPRN", "display": "grandparent" }, { "system": "http://terminology.hl7.org/CodeSystem/v3-NullFlavor", - "version": "2018-08-12", "code": "NA", "display": "not applicable" } @@ -290,13 +315,26 @@ ] }, "expansion": { - "identifier": "urn:uuid:50f050c9-3975-48d6-bdb7-baae4ebc70cd", - "timestamp": "2024-04-05T12:31:27+10:00", + "identifier": "urn:uuid:31c9098a-778c-4de6-9c2b-4f1e2db26179", + "timestamp": "2025-05-01T10:00:55+10:00", "total": 4, + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://hl7.org/fhir/administrative-gender|4.0.1" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false }, { "name": "used-codesystem", @@ -306,13 +344,13 @@ "contains": [ { "system": "http://hl7.org/fhir/administrative-gender", - "code": "female", - "display": "Female" + "code": "male", + "display": "Male" }, { "system": "http://hl7.org/fhir/administrative-gender", - "code": "male", - "display": "Male" + "code": "female", + "display": "Female" }, { "system": "http://hl7.org/fhir/administrative-gender", @@ -395,69 +433,79 @@ ] }, "expansion": { - "identifier": "urn:uuid:ca145c1c-4915-4957-888a-39e69de8b1ad", - "timestamp": "2024-04-02T14:25:01+10:00", + "identifier": "urn:uuid:1bc98e8c-511f-4014-a4d9-a48a8db0923d", + "timestamp": "2025-05-01T10:00:56+10:00", "total": 7, + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://loinc.org|2.77" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false + }, + { + "name": "used-valueset", + "valueUri": "null" }, { "name": "used-codesystem", - "valueUri": "http://loinc.org|2.77" + "valueUri": "http://loinc.org|2.80" }, { "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" + "valueUri": "http://loinc.org|2.80" }, { "name": "used-codesystem", - "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" + "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|1.0.0" } ], "contains": [ { "system": "http://loinc.org", - "version": "2.77", "code": "LA29518-0", "display": "he/him/his/his/himself" }, { "system": "http://loinc.org", - "version": "2.77", "code": "LA29519-8", "display": "she/her/her/hers/herself" }, { "system": "http://loinc.org", - "version": "2.77", "code": "LA29520-6", "display": "they/them/their/theirs/themselves" }, { "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", - "version": "5.0.0-ballot", - "code": "asked-declined", - "display": "Asked But Declined" + "code": "unknown", + "display": "Unknown" }, { "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", - "version": "5.0.0-ballot", - "code": "asked-unknown", - "display": "Asked But Unknown" + "code": "asked-declined", + "display": "Asked But Declined" }, { "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", - "version": "5.0.0-ballot", "code": "not-asked", "display": "Not Asked" }, { "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", - "version": "5.0.0-ballot", - "code": "unknown", - "display": "Unknown" + "code": "asked-unknown", + "display": "Asked But Unknown" } ] } @@ -524,61 +572,71 @@ ] }, "expansion": { - "identifier": "urn:uuid:a35fc104-184f-476e-a7a2-e3f3af66a3eb", - "timestamp": "2024-04-02T14:21:20+10:00", - "total": 6, + "identifier": "urn:uuid:81810018-2ec2-4e42-adcc-6aab69e7750c", + "timestamp": "2025-05-01T10:00:58+10:00", + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false + }, + { + "name": "used-valueset", + "valueUri": "null" }, { "name": "used-codesystem", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" }, { "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" }, { "name": "used-codesystem", - "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" + "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|1.0.0" } ], "contains": [ { "system": "http://snomed.info/sct", - "version": "http://snomed.info/sct/32506021000036107/version/20240331", "code": "446151000124109", "display": "Identifies as male gender" }, { "system": "http://snomed.info/sct", - "version": "http://snomed.info/sct/32506021000036107/version/20240331", "code": "446141000124107", "display": "Identifies as female gender" }, { "system": "http://snomed.info/sct", - "version": "http://snomed.info/sct/32506021000036107/version/20240331", "code": "33791000087105", "display": "Identifies as nonbinary gender" }, { "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", - "version": "5.0.0-ballot", "code": "unknown", "display": "Unknown" }, { "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", - "version": "5.0.0-ballot", "code": "asked-declined", "display": "Asked But Declined" }, { "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", - "version": "5.0.0-ballot", "code": "not-asked", "display": "Not Asked" } @@ -635,17 +693,37 @@ ] }, "expansion": { - "identifier": "urn:uuid:e9cff1c2-8743-48cb-9bde-8f4af914544b", - "timestamp": "2023-08-30T10:41:59+10:00", - "total": 4, + "identifier": "urn:uuid:9a0c2291-6dd8-4778-9099-4622f64fa897", + "timestamp": "2025-05-01T10:00:49+10:00", + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20230831" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false + }, + { + "name": "used-valueset", + "valueUri": "null" }, { "name": "used-codesystem", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20230831" + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" + }, + { + "name": "version", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" } ], "contains": [ @@ -744,22 +822,30 @@ ] }, "expansion": { - "identifier": "e9439195-c1d8-4069-a349-98c1d552a351", - "timestamp": "2023-06-20T04:20:58+00:00", + "identifier": "urn:uuid:148e9412-a321-4a6f-b911-7e7908be82af", + "timestamp": "2025-05-01T10:00:57+10:00", "total": 9, "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1|1.1.3" + "name": "displayLanguage", + "valueCode": "en-US" }, { "name": "count", - "valueInteger": 2147483647 + "valueInteger": 1000 }, { "name": "offset", "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false + }, + { + "name": "used-codesystem", + "valueUri": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1|1.1.3" } ], "contains": [ @@ -838,13 +924,26 @@ ] }, "expansion": { - "identifier": "urn:uuid:06bfacf3-ef16-4470-86a0-a2a22f49ff91", - "timestamp": "2023-09-01T11:15:01+10:00", + "identifier": "urn:uuid:41cccc66-fd57-4bc4-bab1-8c5c878d95f7", + "timestamp": "2025-05-01T10:00:50+10:00", "total": 2, + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/v2-0532|2.1.0" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false }, { "name": "used-codesystem", @@ -916,65 +1015,71 @@ ] }, "expansion": { - "identifier": "urn:uuid:79d21cca-9f34-4cfa-9020-17eee95eeed8", - "timestamp": "2024-04-02T14:17:12+10:00", - "total": 6, + "identifier": "urn:uuid:7b100d21-fde9-4fd8-bded-80f345db777d", + "timestamp": "2025-05-01T10:00:56+10:00", + "total": 7, + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/condition-clinical|4.0.1" - }, - { - "name": "used-codesystem", - "valueUri": "http://terminology.hl7.org/CodeSystem/condition-clinical|4.0.1" + "name": "displayLanguage", + "valueCode": "en-US" }, { - "name": "warning-draft", - "valueUri": "http://hl7.org/fhir/ValueSet/condition-clinical|4.0.1" + "name": "count", + "valueInteger": 1000 }, { - "name": "warning-trial-use", - "valueUri": "http://hl7.org/fhir/ValueSet/condition-clinical|4.0.1" + "name": "offset", + "valueInteger": 0 }, { - "name": "warning-trial-use", - "valueUri": "http://terminology.hl7.org/CodeSystem/condition-clinical|4.0.1" + "name": "excludeNested", + "valueBoolean": false }, { - "name": "warning-draft", - "valueUri": "http://terminology.hl7.org/CodeSystem/condition-clinical|4.0.1" + "name": "used-codesystem", + "valueUri": "http://terminology.hl7.org/CodeSystem/condition-clinical|3.0.0" } ], "contains": [ { "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", "code": "active", - "display": "Active" + "display": "Active", + "contains": [ + { + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", + "code": "recurrence", + "display": "Recurrence" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", + "code": "relapse", + "display": "Relapse" + } + ] }, { "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", "code": "inactive", - "display": "Inactive" - }, - { - "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", - "code": "recurrence", - "display": "Recurrence" - }, - { - "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", - "code": "relapse", - "display": "Relapse" - }, - { - "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", - "code": "remission", - "display": "Remission" + "display": "Inactive", + "contains": [ + { + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", + "code": "remission", + "display": "Remission" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", + "code": "resolved", + "display": "Resolved" + } + ] }, { "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", - "code": "resolved", - "display": "Resolved" + "code": "unknown", + "display": "Unknown" } ] } @@ -1035,7 +1140,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/valueset-supplement", - "valueCanonical": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement" + "valueCanonical": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement|0.3.0" } ], "url": "https://smartforms.csiro.au/ig/ValueSet/SmokingQuitStatus-1", @@ -1048,6 +1153,7 @@ "include": [ { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "concept": [ { "code": "48031000119106", @@ -1062,27 +1168,40 @@ ] }, "expansion": { - "identifier": "urn:uuid:86b4329d-aca5-4e54-9b5e-67296c7ce9db", - "timestamp": "2024-04-08T12:56:59+10:00", - "total": 2, + "identifier": "urn:uuid:93600010-14a0-4d6e-a82f-15283d13a2cb", + "timestamp": "2025-05-01T11:41:24+10:00", "parameter": [ { - "name": "version", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" + "name": "used-supplement", + "valueUri": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement|0.3.0" }, { "name": "used-codesystem", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" + }, + { + "name": "version", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" + }, + { + "name": "warning-draft", + "valueUri": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement|0.3.0" + }, + { + "name": "warning-draft", + "valueUri": "https://smartforms.csiro.au/ig/ValueSet/SmokingQuitStatus-1|0.3.0" } ], "contains": [ { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "code": "48031000119106", "display": "Quit >12 months" }, { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "code": "735128000", "display": "Quit <12 months" } @@ -1095,7 +1214,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/valueset-supplement", - "valueCanonical": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement" + "valueCanonical": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement|0.3.0" } ], "url": "https://smartforms.csiro.au/ig/ValueSet/TobaccoUseStatus-1", @@ -1108,6 +1227,7 @@ "include": [ { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "concept": [ { "code": "266919005", @@ -1138,46 +1258,64 @@ ] }, "expansion": { - "identifier": "urn:uuid:577a997d-bacd-499f-bae4-aa6efdcca45e", - "timestamp": "2024-11-29T10:37:34+10:00", + "identifier": "urn:uuid:e7e976ca-5eb9-41da-9ca8-2c795c5e2dd2", + "timestamp": "2025-05-01T11:43:41+10:00", "parameter": [ { - "name": "version", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20241130" + "name": "used-supplement", + "valueUri": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement|0.3.0" }, { "name": "used-codesystem", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20241130" + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" + }, + { + "name": "version", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" + }, + { + "name": "warning-draft", + "valueUri": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement|0.3.0" + }, + { + "name": "warning-draft", + "valueUri": "https://smartforms.csiro.au/ig/ValueSet/TobaccoUseStatus-1|0.3.0" } ], "contains": [ { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "code": "266919005", "display": "Never smoked" }, { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "code": "77176002", "display": "Current smoker" }, { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "code": "8517006", "display": "Ex-smoker" }, { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "code": "16090371000119103", "display": "Exposure to second hand tobacco smoke" }, { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "code": "394872000", "display": "Wants to quit" }, { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "code": "713914004", "display": "Other tobacco use" } @@ -1224,49 +1362,54 @@ ] }, "expansion": { - "identifier": "urn:uuid:8eda7c3c-cc35-49fa-ac6c-c0e4f0a4e203", - "timestamp": "2023-09-01T11:17:57+10:00", + "identifier": "urn:uuid:20552db7-8def-4e55-a0d2-cb446651929c", + "timestamp": "2025-05-01T10:00:51+10:00", "total": 4, + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" + "name": "displayLanguage", + "valueCode": "en-US" }, { - "name": "used-codesystem", - "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" + "name": "count", + "valueInteger": 1000 }, { - "name": "version", - "valueUri": "http://terminology.hl7.org/CodeSystem/v2-0532|2.1.0" + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false }, { "name": "used-codesystem", "valueUri": "http://terminology.hl7.org/CodeSystem/v2-0532|2.1.0" + }, + { + "name": "used-codesystem", + "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|1.0.0" } ], "contains": [ { "system": "http://terminology.hl7.org/CodeSystem/v2-0532", - "version": "2.1.0", "code": "Y", "display": "Yes" }, { "system": "http://terminology.hl7.org/CodeSystem/v2-0532", - "version": "2.1.0", "code": "N", "display": "No" }, { "system": "http://terminology.hl7.org/CodeSystem/v2-0532", - "version": "2.1.0", "code": "NASK", "display": "Not Asked" }, { "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", - "version": "5.0.0-ballot", "code": "asked-declined", "display": "Asked But Declined" } @@ -1314,24 +1457,44 @@ ] }, "expansion": { - "identifier": "urn:uuid:7642a243-4f23-4b17-933d-57b448902d5d", - "timestamp": "2024-04-08T10:41:42+10:00", - "total": 4, + "identifier": "urn:uuid:4d42d172-e817-40be-a265-56aebe2f4f10", + "timestamp": "2025-05-01T10:01:02+10:00", + "offset": 0, "parameter": [ { - "name": "version", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false + }, + { + "name": "used-valueset", + "valueUri": "null" }, { "name": "used-codesystem", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" + }, + { + "name": "version", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" } ], "contains": [ { "system": "http://snomed.info/sct", "code": "736595007", - "display": "Declined" + "display": "Cervical cancer screening refused" }, { "system": "http://snomed.info/sct", @@ -1341,12 +1504,12 @@ { "system": "http://snomed.info/sct", "code": "171154002", - "display": "Not required" + "display": "Cancer cervix screening - not needed" }, { "system": "http://snomed.info/sct", "code": "171155001", - "display": "Up to date" + "display": "Cancer cervix screening - up-to-date" } ] } @@ -1521,139 +1684,139 @@ }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/AboutTheHealthCheck|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/AboutTheHealthCheck|0.3.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Consent|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Consent|0.3.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/PatientDetails|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/PatientDetails|0.3.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/CurrentPriorities|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/CurrentPriorities|0.3.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/MedicalHistoryCurrentProblems|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/MedicalHistoryCurrentProblems|0.3.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/RegularMedications|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/RegularMedications|0.3.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/AllergiesAdverseReactions|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/AllergiesAdverseReactions|0.3.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/FamilyHistory|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/FamilyHistory|0.3.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/SocialAndEmotionalWellbeing|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/SocialAndEmotionalWellbeing|0.3.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/SocialHistoryChild|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/SocialHistoryChild|0.3.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/HomeAndFamily|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/HomeAndFamily|0.3.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/LearningAndDevelopment|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/LearningAndDevelopment|0.3.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/LearningAndWork|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/LearningAndWork|0.3.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Mood|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Mood|0.3.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/MemoryAndThinking|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/MemoryAndThinking|0.3.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/ChronicDiseaseAgeing|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/ChronicDiseaseAgeing|0.3.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/ScreeningPrograms|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/ScreeningPrograms|0.3.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/HealthyEating|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/HealthyEating|0.3.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/PhysicalActivityAndScreenTime|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/PhysicalActivityAndScreenTime|0.3.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/RedFlagsEarlyIdentificationGuide|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/RedFlagsEarlyIdentificationGuide|0.3.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/SubstanceUse|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/SubstanceUse|0.3.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Gambling|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Gambling|0.3.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/SexualHealth|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/SexualHealth|0.3.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/EyeHealth|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/EyeHealth|0.3.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/EarHealthAndHearing|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/EarHealthAndHearing|0.3.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/OralAndDentalHealth|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/OralAndDentalHealth|0.3.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Skin|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Skin|0.3.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Immunisation|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Immunisation|0.3.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Examination|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Examination|0.3.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/AbsoluteCVDRiskCalculation|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/AbsoluteCVDRiskCalculation|0.3.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Investigations|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Investigations|0.3.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/HealthPrioritiesSummary|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/HealthPrioritiesSummary|0.3.0" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembledFrom", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/FinalisingHealthCheck|0.2.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/FinalisingHealthCheck|0.3.0" } ], "url": "http://www.health.gov.au/assessments/mbs/715", - "version": "0.2.0-assembled", + "version": "0.3.0-assembled", "name": "AboriginalTorresStraitIslanderHealthCheck", "title": "Aboriginal and Torres Strait Islander Health Check", "status": "draft", @@ -1661,7 +1824,7 @@ "subjectType": [ "Patient" ], - "date": "2024-04-02", + "date": "2025-03-14", "publisher": "AEHRC CSIRO", "contact": [ { @@ -1674,7 +1837,6 @@ ] } ], - "description": "Aboriginal and Torres Strait Islander Health Check assessment form.", "copyright": "Copyright © 2022+ Australian Government Department of Health and Aged Care - All rights reserved. This content is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. See https://creativecommons.org/licenses/by-sa/4.0/.", "item": [ { @@ -16085,13 +16247,11 @@ } ], "linkId": "40e3933d-77bb-40f3-8609-0c38ebb4421e", - "definition": "http://aehrc.com/fhir/StructureDefinition/AUPrimaryCareFollowUp#CarePlan.subject.reference", "text": "recall-subject", "type": "string" }, { "linkId": "fece6a3c-f8f1-4592-a166-5ea5a3c60c8e", - "definition": "http://aehrc.com/fhir/StructureDefinition/AUPrimaryCareFollowUp#CarePlan.title", "text": "Recall", "type": "text", "repeats": false From 7c02e22e9409b28c15c8315dd5bc617090d265e0 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Fri, 2 May 2025 11:51:17 +1000 Subject: [PATCH 067/177] Add allergy summary --- ...estionnaire-AllergiesAdverseReactions.json | 176 ++++++++++++++++-- ...5-Assessment-AllergiesAdverseReactions.fsh | 111 +++++++++-- 2 files changed, 254 insertions(+), 33 deletions(-) diff --git a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json index d2deeac8..229db3b4 100644 --- a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json +++ b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json @@ -87,23 +87,161 @@ ] }, { - "extension": [ + "linkId": "allergyinstruction", + "text": "Adverse reaction risk summary", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
\r\n

Adverse reaction risk summary

\r\n

This section includes a list of existing items from the patient record. To update existing items, update the patient record and repopulate this form. To enter new items, add them at the bottom.

\r\n
" + } + ] + }, + "type": "group", + "item": [ { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "code": "check-box", - "system": "http://hl7.org/fhir/questionnaire-item-control" + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemPopulationContext", + "valueExpression": { + "name": "AllergyIntoleranceRepeat", + "language": "text/fhirpath", + "expression": "%AllergyIntolerance.entry.resource.where(clinicalStatus.coding.exists(code='active'))" } - ] - } + } + ], + "linkId": "allergysummary", + "type": "group", + "repeats": true, + "readOnly": true, + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%AllergyIntoleranceRepeat.code.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first())" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "autocomplete", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + } + ], + "linkId": "allergysummary-substance", + "text": "Substance", + "type": "open-choice", + "repeats": false, + "required": true, + "answerValueSet": "https://healthterminologies.gov.au/fhir/ValueSet/adverse-reaction-agent-1" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%AllergyIntoleranceRepeat.reaction.manifestation.coding" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "autocomplete", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + } + ], + "linkId": "allergysummary-manifestation", + "text": "Manifestation", + "type": "open-choice", + "repeats": true, + "answerValueSet": "https://healthterminologies.gov.au/fhir/ValueSet/clinical-finding-1" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%AllergyIntoleranceRepeat.note.text" + } + } + ], + "linkId": "allergysummary-comment", + "text": "Comment", + "type": "string", + "repeats": false + } + ] + }, + { + "linkId": "allergynew", + "type": "group", + "repeats": true, + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "autocomplete", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + } + ], + "linkId": "allergynew-substance", + "text": "Substance", + "type": "open-choice", + "repeats": false, + "required": true, + "answerValueSet": "https://healthterminologies.gov.au/fhir/ValueSet/adverse-reaction-agent-1" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "autocomplete", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + } + ], + "linkId": "allergynew-manifestation", + "text": "Manifestation", + "type": "open-choice", + "repeats": true, + "answerValueSet": "https://healthterminologies.gov.au/fhir/ValueSet/clinical-finding-1" + }, + { + "linkId": "allergynew-comment", + "text": "Comment", + "type": "string", + "repeats": false + } + ] } - ], - "linkId": "8a1d70bf-a68b-4b7b-be73-ba6956fccc78", - "text": "Up to date in the health record?", - "type": "boolean", - "repeats": false + ] }, { "linkId": "3e689aeb-69a1-4a9b-93bd-50377511dd9b", @@ -126,7 +264,7 @@ "repeats": false } ], - "linkId": "d4e4db07-a795-4a30-bd0f-9c109f96a22b", + "linkId": "allergy", "text": "Allergies/adverse reactions", "type": "group", "repeats": false @@ -200,6 +338,14 @@ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "AllergyIntolerance", + "language": "application/x-fhir-query", + "expression": "AllergyIntolerance?patient={{%patient.id}}" + } } ], "url": "http://www.health.gov.au/assessments/mbs/715/AllergiesAdverseReactions", diff --git a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh index 62f7366f..99b6be38 100644 --- a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh +++ b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh @@ -47,12 +47,21 @@ Description: "Allergies/Adverse Reactions sub-questionnaire for Aboriginal and T * extension[+] * url = "description" * valueString = "The encounter that is to be used to pre-populate the form" - + //assemble context * extension[+] * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * valueString = "age" +//fhir query variables +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "AllergyIntolerance" + * language = #application/x-fhir-query + * expression = "AllergyIntolerance?patient={{%patient.id}}" + + * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" @@ -69,7 +78,7 @@ Description: "Allergies/Adverse Reactions sub-questionnaire for Aboriginal and T * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath * expression = "%age.exists()" - * linkId = "d4e4db07-a795-4a30-bd0f-9c109f96a22b" + * linkId = "allergy" * text = "Allergies/adverse reactions" * type = #group * repeats = false @@ -93,22 +102,88 @@ Description: "Allergies/Adverse Reactions sub-questionnaire for Aboriginal and T * question = "MarkComplete-3" // Section complete item * operator = #= * answerBoolean = true - * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#check-box - * linkId = "8a1d70bf-a68b-4b7b-be73-ba6956fccc78" - * text = "Up to date in the health record?" - * type = #boolean - * repeats = false - * item[+] - * linkId = "3e689aeb-69a1-4a9b-93bd-50377511dd9b" - * text = "Health priorities, actions and follow-up" - * type = #text - * repeats = false + // Adverse reaction risk summary * item[+] - * linkId = "MarkComplete-3" - * text = "Mark section as complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" - * type = #boolean - * repeats = false \ No newline at end of file + * linkId = "allergyinstruction" + * text = "Adverse reaction risk summary" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
+

Adverse reaction risk summary

+

This section includes a list of existing items from the patient record. To update existing items, update the patient record and repopulate this form. To enter new items, add them at the bottom.

+
" + * type = #group +//existing adverse reactions +* item[=].item[=].item[+].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemPopulationContext" +* item[=].item[=].item[=].extension[=].valueExpression[+].name = "AllergyIntoleranceRepeat" +* item[=].item[=].item[=].extension[=].valueExpression[=].language = #text/fhirpath +* item[=].item[=].item[=].extension[=].valueExpression[=].expression = "%AllergyIntolerance.entry.resource.where(clinicalStatus.coding.exists(code='active'))" +* item[=].item[=].item[=].linkId = "allergysummary" +* item[=].item[=].item[=].type = #group +* item[=].item[=].item[=].repeats = true +* item[=].item[=].item[=].readOnly = true +* item[=].item[=].item[=].item[+].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression" +* item[=].item[=].item[=].item[=].extension[=].valueExpression[+].language = #text/fhirpath +* item[=].item[=].item[=].item[=].extension[=].valueExpression[=].expression = "%AllergyIntoleranceRepeat.code.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first())" +* item[=].item[=].item[=].item[=].extension[+].url = "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl" +* item[=].item[=].item[=].item[=].extension[=].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#autocomplete +* item[=].item[=].item[=].item[=].linkId = "allergysummary-substance" +* item[=].item[=].item[=].item[=].text = "Substance" +* item[=].item[=].item[=].item[=].type = #open-choice +* item[=].item[=].item[=].item[=].repeats = false +* item[=].item[=].item[=].item[=].required = true +* item[=].item[=].item[=].item[=].answerValueSet = "https://healthterminologies.gov.au/fhir/ValueSet/adverse-reaction-agent-1" +* item[=].item[=].item[=].item[+].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression" +* item[=].item[=].item[=].item[=].extension[=].valueExpression[+].language = #text/fhirpath +* item[=].item[=].item[=].item[=].extension[=].valueExpression[=].expression = "%AllergyIntoleranceRepeat.reaction.manifestation.coding" +* item[=].item[=].item[=].item[=].extension[+].url = "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl" +* item[=].item[=].item[=].item[=].extension[=].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#autocomplete +* item[=].item[=].item[=].item[=].linkId = "allergysummary-manifestation" +* item[=].item[=].item[=].item[=].text = "Manifestation" +* item[=].item[=].item[=].item[=].type = #open-choice +* item[=].item[=].item[=].item[=].repeats = true +* item[=].item[=].item[=].item[=].answerValueSet = "https://healthterminologies.gov.au/fhir/ValueSet/clinical-finding-1" +// manifestation vs * item[=].item[=].item[=].item[=].answerValueSet = "http://snomed.info/sct/32506021000036107?fhir_vs=refset/142341000036103" +* item[=].item[=].item[=].item[+].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression" +* item[=].item[=].item[=].item[=].extension[=].valueExpression[+].language = #text/fhirpath +* item[=].item[=].item[=].item[=].extension[=].valueExpression[=].expression = "%AllergyIntoleranceRepeat.note.text" +* item[=].item[=].item[=].item[=].linkId = "allergysummary-comment" +* item[=].item[=].item[=].item[=].text = "Comment" +* item[=].item[=].item[=].item[=].type = #string +* item[=].item[=].item[=].item[=].repeats = false + +//new adverse reactions +* item[=].item[=].item[+].linkId = "allergynew" +* item[=].item[=].item[=].type = #group +* item[=].item[=].item[=].repeats = true +* item[=].item[=].item[=].item[+].extension[+].url = "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl" +* item[=].item[=].item[=].item[=].extension[=].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#autocomplete +* item[=].item[=].item[=].item[=].linkId = "allergynew-substance" +* item[=].item[=].item[=].item[=].text = "Substance" +* item[=].item[=].item[=].item[=].type = #open-choice +* item[=].item[=].item[=].item[=].repeats = false +* item[=].item[=].item[=].item[=].required = true +* item[=].item[=].item[=].item[=].answerValueSet = "https://healthterminologies.gov.au/fhir/ValueSet/adverse-reaction-agent-1" +* item[=].item[=].item[=].item[+].extension[+].url = "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl" +* item[=].item[=].item[=].item[=].extension[=].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#autocomplete +* item[=].item[=].item[=].item[=].linkId = "allergynew-manifestation" +* item[=].item[=].item[=].item[=].text = "Manifestation" +* item[=].item[=].item[=].item[=].type = #open-choice +* item[=].item[=].item[=].item[=].repeats = true +* item[=].item[=].item[=].item[=].answerValueSet = "https://healthterminologies.gov.au/fhir/ValueSet/clinical-finding-1" +// manifestation vs * item[=].item[=].item[=].item[=].answerValueSet = "http://snomed.info/sct/32506021000036107?fhir_vs=refset/142341000036103" +* item[=].item[=].item[=].item[+].linkId = "allergynew-comment" +* item[=].item[=].item[=].item[=].text = "Comment" +* item[=].item[=].item[=].item[=].type = #string +* item[=].item[=].item[=].item[=].repeats = false + +* item[=].item[+].linkId = "3e689aeb-69a1-4a9b-93bd-50377511dd9b" +* item[=].item[=].text = "Health priorities, actions and follow-up" +* item[=].item[=].type = #text +* item[=].item[=].repeats = false + +* item[=].item[+].linkId = "MarkComplete-3" +* item[=].item[=].text = "Mark section as complete" +* item[=].item[=].text.extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" +* item[=].item[=].type = #boolean +* item[=].item[=].repeats = false \ No newline at end of file From 087997352db49a9da4f351428409bb93e2adaa51 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Tue, 20 May 2025 11:03:57 +1000 Subject: [PATCH 068/177] Extract development --- ...ntationGuide-csiro.fhir.au.smartforms.json | 28 +- ...estionnaire-AllergiesAdverseReactions.json | 178 ++++++- .../resources/Questionnaire-Immunisation.json | 396 ++++++++++++-- ...onnaire-MedicalHistoryCurrentProblems.json | 504 ++++++++++-------- .../Questionnaire-RegularMedications.json | 227 +++++++- .../resources/ValueSet-amt-vaccine-1.json | 50 ++ .../ValueSet-medication-reason-taken-1.json | 50 ++ ...ValueSet-smarthealthchecks-medication.json | 31 ++ ...5-Assessment-AllergiesAdverseReactions.fsh | 16 +- input/fsh/715-Assessment-Immunisation.fsh | 140 ++++- ...sessment-MedicalHistoryCurrentProblems.fsh | 289 ++++------ .../fsh/715-Assessment-RegularMedications.fsh | 321 +++++++---- input/fsh/extract-templates.fsh | 250 +++++++++ input/fsh/terminology.fsh | 49 ++ sushi-config.yaml | 4 +- 15 files changed, 1931 insertions(+), 602 deletions(-) create mode 100644 fsh-generated/resources/ValueSet-amt-vaccine-1.json create mode 100644 fsh-generated/resources/ValueSet-medication-reason-taken-1.json create mode 100644 fsh-generated/resources/ValueSet-smarthealthchecks-medication.json create mode 100644 input/fsh/extract-templates.fsh diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index 0957ccbd..2e5c5ccf 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -29,13 +29,13 @@ "dependsOn": [ { "packageId": "hl7.fhir.au.core", - "version": "1.0.0", + "version": "1.1.0-preview", "uri": "http://hl7.org.au/fhir/core/ImplementationGuide/hl7.fhir.au.core", "id": "hl7_fhir_au_core" }, { "packageId": "hl7.fhir.uv.sdc", - "version": "3.0.0", + "version": "current", "uri": "http://hl7.org/fhir/uv/sdc/ImplementationGuide/hl7.fhir.uv.sdc", "id": "hl7_fhir_uv_sdc" }, @@ -367,6 +367,14 @@ "exampleBoolean": false, "name": "AU Core RelatedPerson" }, + { + "reference": { + "reference": "ValueSet/amt-vaccine-1" + }, + "name": "Australian Medicines Terminology Vaccine", + "description": "The Australian Medicines Terminology (AMT) Vaccine value set includes AMT product concepts that may be used to record a vaccine product.", + "exampleBoolean": false + }, { "reference": { "reference": "ValueSet/australian-pronouns-1" @@ -431,6 +439,14 @@ "description": "The Gender Identity Response value set includes values that may be used to represent a response for an individual's gender. A person's gender is a social and cultural identity, expression and experience.", "exampleBoolean": false }, + { + "reference": { + "reference": "ValueSet/medication-reason-taken-1" + }, + "name": "Medication Reason Taken", + "description": "The Medication Reason Taken value set includes values that identify a reason why a medication has been or is being taken.", + "exampleBoolean": false + }, { "reference": { "reference": "ValueSet/PrimaryCarerParentGrandparent" @@ -487,6 +503,14 @@ "description": "This CapabilityStatement describes the capabilities of the Smart Forms Server. The Smart Forms Server provides a definitional repository of resources that a client application can retrieve for use in a Smart Forms context. The capabilities listed include supported FHIR profiles, RESTful operations, and search parameters.", "exampleBoolean": false }, + { + "reference": { + "reference": "ValueSet/smarthealthchecks-medication" + }, + "name": "Smart Health Checks Medication", + "description": "The Smart Health Checks Medication value set includes Australian Medicines Terminology (AMT) product concepts that may be used for the identification of a medicine with form, ingredient and unit of measure details.", + "exampleBoolean": false + }, { "reference": { "reference": "ValueSet/SmokingQuitStatus-1" diff --git a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json index 229db3b4..62b9ce96 100644 --- a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json +++ b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json @@ -10,15 +10,6 @@ }, "item": [ { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%age.exists()" - } - } - ], "item": [ { "extension": [ @@ -87,17 +78,6 @@ ] }, { - "linkId": "allergyinstruction", - "text": "Adverse reaction risk summary", - "_text": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n

Adverse reaction risk summary

\r\n

This section includes a list of existing items from the patient record. To update existing items, update the patient record and repopulate this form. To enter new items, add them at the bottom.

\r\n
" - } - ] - }, - "type": "group", "item": [ { "extension": [ @@ -188,10 +168,24 @@ ] }, { - "linkId": "allergynew", - "type": "group", - "repeats": true, "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-hidden", + "valueBoolean": true + }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%patient.id" + } + } + ], + "linkId": "patientIdAllergy", + "type": "string" + }, { "extension": [ { @@ -239,9 +233,36 @@ "type": "string", "repeats": false } - ] + ], + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract", + "extension": [ + { + "url": "template", + "valueReference": { + "reference": "#AllergyIntoleranceTemplate" + } + } + ] + } + ], + "linkId": "allergynew", + "type": "group", + "repeats": true } - ] + ], + "linkId": "allergyinstruction", + "text": "Adverse reaction risk summary", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
\r\n

Adverse reaction risk summary

\r\n

This section includes a list of existing items from the patient record. To update existing items, update the patient record and repopulate this form. To enter new items, add them at the bottom.

\r\n
" + } + ] + }, + "type": "group" }, { "linkId": "3e689aeb-69a1-4a9b-93bd-50377511dd9b", @@ -270,6 +291,113 @@ "repeats": false } ], + "contained": [ + { + "resourceType": "AllergyIntolerance", + "id": "AllergyIntoleranceTemplate", + "meta": { + "profile": [ + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-allergyintolerance" + ] + }, + "clinicalStatus": { + "coding": [ + { + "code": "active", + "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical" + } + ] + }, + "code": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext", + "valueString": "item.where(linkId='allergynew-substance').answer.value" + } + ], + "coding": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "ofType(Coding)" + } + ] + } + ], + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "ofType(string)" + } + ] + } + }, + "patient": { + "_reference": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "'Patient/' + item.where(linkId='patientIdAllergy').answer.valueString" + } + ] + } + }, + "note": [ + { + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "item.where(linkId='allergynew-comment').answer.value" + } + ] + } + } + ], + "reaction": [ + { + "manifestation": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext", + "valueString": "item.where(linkId='allergynew-manifestation').answer.value.ofType(Coding)" + } + ], + "coding": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "$this" + } + ] + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext", + "valueString": "item.where(linkId='allergynew-manifestation').answer.value.ofType(string)" + } + ], + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "$this" + } + ] + } + } + ] + } + ] + } + ], "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assemble-expectation", diff --git a/fsh-generated/resources/Questionnaire-Immunisation.json b/fsh-generated/resources/Questionnaire-Immunisation.json index 3fa4a028..fb767cf2 100644 --- a/fsh-generated/resources/Questionnaire-Immunisation.json +++ b/fsh-generated/resources/Questionnaire-Immunisation.json @@ -10,15 +10,6 @@ }, "item": [ { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%age.exists()" - } - } - ], "item": [ { "extension": [ @@ -98,6 +89,14 @@ ], "linkId": "54de7714-b917-4426-acb4-29d48648a2d8", "text": "Check Child Health Record/Book and Australian Immunisation Register", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
\r\n

Check Child Health Record/Book and Australian Immunisation Register

\r\n
" + } + ] + }, "type": "display" }, { @@ -112,6 +111,14 @@ ], "linkId": "d77c527d-6fde-4ed7-97b9-c71acf817f39", "text": "Eligibility for funded vaccines may vary across jurisdictions", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
\r\n

Eligibility for funded vaccines may vary across jurisdictions

\r\n
" + } + ] + }, "type": "display" }, { @@ -126,6 +133,14 @@ ], "linkId": "77d87581-d4d7-4267-9f3c-ad6541ad0f46", "text": "Check Australian Immunisation Register", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
\r\n

Check Australian Immunisation Register

\r\n
" + } + ] + }, "type": "display" }, { @@ -140,8 +155,131 @@ ], "linkId": "a2631d2c-2b5c-4147-9aca-05ae655a56a5", "text": "Check recommended primary vaccinations completed and provide catch-up if required", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
\r\n

Check recommended primary vaccinations completed and provide catch-up if required

\r\n
" + } + ] + }, "type": "display" }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-hidden", + "valueBoolean": true + }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%patient.id" + } + } + ], + "linkId": "patientIdImmunization", + "type": "string" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "gtable", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemPopulationContext", + "valueExpression": { + "name": "ImmunizationRepeat", + "language": "text/fhirpath", + "expression": "%Immunization.entry.resource.where(status='completed')" + } + } + ], + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "autocomplete", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%ImmunizationRepeat.vaccineCode.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first())" + } + } + ], + "linkId": "vaccinesprevious-vaccine", + "text": "Vaccine", + "type": "open-choice", + "answerValueSet": "#amt-vaccine-1" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%ImmunizationRepeat.lotNumber" + } + } + ], + "linkId": "vaccinesprevious-batch", + "text": "Batch number", + "type": "string" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%ImmunizationRepeat.occurrence.ofType(dateTime)" + } + } + ], + "linkId": "vaccinesprevious-date", + "text": "Administration date", + "type": "dateTime" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%ImmunizationRepeat.note.text.first()" + } + } + ], + "linkId": "vaccinesprevious-comment", + "text": "Comment", + "type": "string" + } + ], + "linkId": "vaccinesprevious", + "text": "Vaccines previously given", + "type": "group", + "repeats": true, + "readOnly": true + }, { "extension": [ { @@ -160,16 +298,30 @@ "valueCode": "horizontal" } ], - "linkId": "69a4a459-196b-4931-8336-ea76ab3fccd1", - "text": "Immunisations up to date and recorded on Australian Immunisation Register (as per Australian immunisation handbook)?", + "linkId": "vaccinesair", + "text": "Immunisations are up to date?", "type": "choice", "repeats": false, "answerValueSet": "#YesNo" }, { - "linkId": "08e8ca54-9af8-4028-be83-aab20bccecc3", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "autocomplete", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + } + ], + "linkId": "vaccinesdue", "text": "Immunisations due", - "type": "string", + "type": "open-choice", + "answerValueSet": "#amt-vaccine-1", "repeats": true }, { @@ -181,44 +333,86 @@ "valueCodeableConcept": { "coding": [ { - "code": "radio-button", + "code": "autocomplete", "system": "http://hl7.org/fhir/questionnaire-item-control" } ] } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-choiceOrientation", - "valueCode": "horizontal" } ], - "linkId": "9f5787e6-8ece-46a4-8d67-e7c3e14daf18", - "text": "Vaccines recorded on Australian Immunisation Register?", - "type": "choice", - "repeats": false, - "answerValueSet": "#YesNo" + "linkId": "vaccinestoday-vaccine", + "text": "Vaccine", + "type": "open-choice", + "answerValueSet": "#amt-vaccine-1" + }, + { + "linkId": "vaccinestoday-batch", + "text": "Batch number", + "type": "string" }, { - "linkId": "c8da01ec-de58-46e3-81a1-2c49aed8c28e", - "text": "Details", - "type": "text", - "repeats": false, - "enableWhen": [ + "linkId": "vaccinestoday-date", + "text": "Administration date", + "type": "dateTime" + }, + { + "linkId": "vaccinestoday-comment", + "text": "Comment", + "type": "string" + } + ], + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "gtable", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract", + "extension": [ { - "question": "9f5787e6-8ece-46a4-8d67-e7c3e14daf18", - "operator": "=", - "answerCoding": { - "code": "Y", - "system": "http://terminology.hl7.org/CodeSystem/v2-0136" + "url": "template", + "valueReference": { + "reference": "#ImmunizationTemplate" } } ] } ], - "linkId": "cc522cb1-b553-48c7-9028-61d15dd60845", + "linkId": "vaccinestoday", "text": "Vaccines given today", "type": "group", - "repeats": false + "repeats": true + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "radio-button", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-choiceOrientation", + "valueCode": "horizontal" + } + ], + "linkId": "vaccinesrecorded", + "text": "Have all vaccines been recorded on the Australian Immunisation Register?", + "type": "choice", + "repeats": false, + "answerValueSet": "#YesNo" }, { "linkId": "bcd1c9f2-889e-41e5-8c2b-a70221c5cec5", @@ -314,6 +508,130 @@ } ] } + }, + { + "resourceType": "ValueSet", + "id": "amt-vaccine-1", + "meta": { + "profile": [ + "http://hl7.org/fhir/StructureDefinition/shareablevalueset", + "https://healthterminologies.gov.au/fhir/StructureDefinition/composed-value-set-4" + ] + }, + "status": "active", + "name": "AustralianMedicinesTerminologyVaccine", + "title": "Australian Medicines Terminology Vaccine", + "description": "The Australian Medicines Terminology (AMT) Vaccine value set includes AMT product concepts that may be used to record a vaccine product.", + "url": "https://healthterminologies.gov.au/fhir/ValueSet/amt-vaccine-1", + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:oid:1.2.36.1.2001.1004.201.10042" + } + ], + "version": "1.0.2", + "experimental": false, + "date": "2020-05-31", + "publisher": "Australian Digital Health Agency", + "contact": [ + { + "telecom": [ + { + "system": "email", + "value": "help@digitalhealth.gov.au" + } + ] + } + ], + "copyright": "Copyright © 2018 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\n This resource includes SNOMED Clinical Terms™ (SNOMED CT®) which is used by permission of the International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. “SNOMED” and “SNOMED CT” are registered trademarks of the IHTSDO. \n\nThe rights to use and implement or implementation of SNOMED CT content are limited to the extent it is necessary to allow for the end use of this material. No further rights are granted in respect of the International Release and no further use of any SNOMED CT content by any other party is permitted. \n\nAll copies of this resource must include this copyright statement and all information contained in this statement.", + "compose": { + "include": [ + { + "system": "http://snomed.info/sct", + "filter": [ + { + "property": "concept", + "op": "in", + "value": "1156291000168106" + } + ] + } + ] + } + }, + { + "resourceType": "Immunization", + "id": "ImmunizationTemplate", + "meta": { + "profile": [ + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-immunization" + ] + }, + "status": "completed", + "vaccineCode": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext", + "valueString": "item.where(linkId='vaccinestoday-vaccine').answer.value" + } + ], + "coding": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "ofType(Coding)" + } + ] + } + ], + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "ofType(string)" + } + ] + } + }, + "patient": { + "_reference": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "'Patient/' + %resource.repeat(item).where(linkId='patientIdImmunization').answer.valueString" + } + ] + } + }, + "note": [ + { + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "item.where(linkId='vaccinestoday-comment').answer.value" + } + ] + } + } + ], + "_occurrenceDateTime": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "item.where(linkId='vaccinestoday-date').answer.value.toDateTime()" + } + ] + }, + "_lotNumber": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "item.where(linkId='vaccinestoday-batch').answer.value" + } + ] + } } ], "extension": [ @@ -384,6 +702,14 @@ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "Immunization", + "language": "application/x-fhir-query", + "expression": "Immunization?patient={{%patient.id}}" + } } ], "url": "http://www.health.gov.au/assessments/mbs/715/Immunisation", diff --git a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json index cc5b5c9e..864a0479 100644 --- a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json +++ b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json @@ -10,15 +10,6 @@ }, "item": [ { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%age.exists()" - } - } - ], "item": [ { "extension": [ @@ -86,19 +77,6 @@ } ] }, - { - "linkId": "RecordUpdate-MedHistory", - "text": "Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there first.", - "_text": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there first.\r\n
" - } - ] - }, - "type": "display" - }, { "extension": [ { @@ -107,104 +85,86 @@ "language": "text/fhirpath", "expression": "%age <= 5" } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", - "valueCoding": { - "code": "wk", - "system": "http://unitsofmeasure.org" - } } ], "item": [ { "extension": [ { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "code": "unit", - "system": "http://hl7.org/fhir/questionnaire-item-control" - } - ] + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", + "valueCoding": { + "code": "wk", + "system": "http://unitsofmeasure.org" } } ], - "linkId": "f3899852-36c4-441f-9a7d-544ef1617f08", - "text": "weeks", - "type": "display" - } - ], - "linkId": "a10a7375-e9d3-4e71-a47a-282e9ba38ec1", - "text": "Gestation at birth", - "type": "decimal", - "repeats": false - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%age <= 5" - } + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "unit", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + } + ], + "linkId": "f3899852-36c4-441f-9a7d-544ef1617f08", + "text": "weeks", + "type": "display" + } + ], + "linkId": "a10a7375-e9d3-4e71-a47a-282e9ba38ec1", + "text": "Gestation at birth", + "type": "decimal", + "repeats": false }, - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", - "valueCoding": { - "code": "kg", - "system": "http://unitsofmeasure.org" - } - } - ], - "item": [ { "extension": [ { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "code": "unit", - "system": "http://hl7.org/fhir/questionnaire-item-control" - } - ] + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", + "valueCoding": { + "code": "kg", + "system": "http://unitsofmeasure.org" } } ], - "linkId": "87cf1ecd-6d1b-4de1-894d-58bd77dcfde1", - "text": "kg", - "type": "display" + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "unit", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + } + ], + "linkId": "87cf1ecd-6d1b-4de1-894d-58bd77dcfde1", + "text": "kg", + "type": "display" + } + ], + "linkId": "29b6d8ea-23b2-4a69-98d9-899198692de7", + "text": "Birth weight", + "type": "decimal", + "repeats": false } ], - "linkId": "29b6d8ea-23b2-4a69-98d9-899198692de7", - "text": "Birth weight", - "type": "decimal", + "linkId": "b9de2b58-55e2-436d-95ab-49600508cdf7", + "text": "Birth history", + "type": "group", "repeats": false }, { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "code": "gtable", - "system": "http://hl7.org/fhir/questionnaire-item-control" - } - ] - } - }, - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemPopulationContext", - "valueExpression": { - "name": "ConditionRepeat", - "language": "text/fhirpath", - "expression": "%Condition.entry.resource.where(category.coding.exists(code='problem-list-item'))" - } - } - ], "item": [ { "extension": [ @@ -213,24 +173,107 @@ "valueCodeableConcept": { "coding": [ { - "code": "autocomplete", + "code": "gtable", "system": "http://hl7.org/fhir/questionnaire-item-control" } ] } }, { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemPopulationContext", "valueExpression": { + "name": "ConditionRepeat", "language": "text/fhirpath", - "expression": "%ConditionRepeat.code.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first())" + "expression": "%Condition.entry.resource.where(category.coding.exists(code='problem-list-item'))" } } ], - "linkId": "59b1900a-4f85-4a8c-b9cd-3fe2fd76f27e", - "text": "Condition", - "type": "open-choice", - "answerValueSet": "#clinical-condition-1" + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "autocomplete", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%ConditionRepeat.code.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first())" + } + } + ], + "linkId": "59b1900a-4f85-4a8c-b9cd-3fe2fd76f27e", + "text": "Condition", + "type": "open-choice", + "answerValueSet": "#clinical-condition-1" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "drop-down", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%ConditionRepeat.clinicalStatus.coding" + } + } + ], + "linkId": "88bcfad7-386b-4d87-b34b-2e50482e4d2c", + "text": "Clinical Status", + "type": "choice", + "answerValueSet": "#condition-clinical" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%ConditionRepeat.onset.ofType(dateTime)" + } + } + ], + "linkId": "6ae641ad-95bb-4cdc-8910-5a52077e492c", + "text": "Onset Date", + "type": "date" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%ConditionRepeat.abatement.ofType(dateTime)" + } + } + ], + "linkId": "e4524654-f6de-4717-b288-34919394d46b", + "text": "Abatement Date", + "type": "date" + } + ], + "linkId": "92bd7d05-9b5e-4cf9-900b-703f361dad9d", + "type": "group", + "repeats": true, + "readOnly": true }, { "extension": [ @@ -239,135 +282,85 @@ "valueCodeableConcept": { "coding": [ { - "code": "drop-down", + "code": "gtable", "system": "http://hl7.org/fhir/questionnaire-item-control" } ] } }, { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ConditionRepeat.clinicalStatus.coding" - } + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract", + "extension": [ + { + "url": "template", + "valueReference": { + "reference": "#ConditionTemplate" + } + } + ] } ], - "linkId": "88bcfad7-386b-4d87-b34b-2e50482e4d2c", - "text": "Clinical Status", - "type": "choice", - "answerValueSet": "#condition-clinical" - }, - { - "extension": [ + "item": [ { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ConditionRepeat.onset.ofType(dateTime)" - } - } - ], - "linkId": "6ae641ad-95bb-4cdc-8910-5a52077e492c", - "text": "Onset Date", - "type": "date" - }, - { - "extension": [ + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "autocomplete", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + } + ], + "linkId": "2da85994-2d5e-42f1-8a81-abf44f397468", + "text": "Condition", + "type": "open-choice", + "answerValueSet": "#clinical-condition-1" + }, { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ConditionRepeat.recordedDate" - } + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "drop-down", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + } + ], + "linkId": "a7e056be-fb6f-4f7f-b04d-5b809e1e18e3", + "text": "Clinical Status", + "type": "choice", + "answerValueSet": "#condition-clinical" + }, + { + "linkId": "4d55bffb-3286-4a23-a785-3b9c346d464d", + "text": "Onset Date", + "type": "date" } ], - "linkId": "18b9e159-2ed7-4047-82b7-deb2a171de4f", - "text": "Recorded Date", - "type": "date" + "linkId": "newdiagnosis", + "type": "group", + "repeats": true } ], - "linkId": "92bd7d05-9b5e-4cf9-900b-703f361dad9d", - "text": "Medical history and current problems list", + "linkId": "medicalhistoryinstruction", + "text": "Medical history summary", "_text": { "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n

Medical history and current problems list

\r\n

This list includes items from the clinical record. If you wish to enter additional diagnoses, either update the clinical record and repopulate this form or add them to the \"New diagnoses list\" below and later update the clinical record as required.

\r\n
" + "valueString": "
\r\n

Medical history summary

\r\n

This section includes a list of existing items from the patient record. To update existing items, update the patient record and repopulate this form. To enter new items, add them at the bottom.

\r\n
" } ] }, - "type": "group", - "repeats": true - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "code": "gtable", - "system": "http://hl7.org/fhir/questionnaire-item-control" - } - ] - } - } - ], - "item": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "code": "autocomplete", - "system": "http://hl7.org/fhir/questionnaire-item-control" - } - ] - } - } - ], - "linkId": "2da85994-2d5e-42f1-8a81-abf44f397468", - "text": "Condition", - "type": "open-choice", - "answerValueSet": "#clinical-condition-1" - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "code": "drop-down", - "system": "http://hl7.org/fhir/questionnaire-item-control" - } - ] - } - } - ], - "linkId": "a7e056be-fb6f-4f7f-b04d-5b809e1e18e3", - "text": "Clinical Status", - "type": "choice", - "answerValueSet": "#condition-clinical" - }, - { - "linkId": "e4524654-f6de-4717-b288-34919394d46b", - "text": "Onset Date", - "type": "date" - }, - { - "linkId": "5bc1d8f4-6e8c-4695-916c-1ef767306e46", - "text": "Recorded Date", - "type": "date" - } - ], - "linkId": "4484cacd-a260-4e5f-83c1-168ca2396c04", - "text": "New diagnoses list", - "type": "group", - "repeats": true + "type": "group" }, { "linkId": "62774152-8a6e-4449-af9f-87bdce8b9bf5", @@ -566,6 +559,81 @@ } ] } + }, + { + "resourceType": "Condition", + "id": "ConditionTemplate", + "meta": { + "profile": [ + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-condition" + ] + }, + "clinicalStatus": { + "coding": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "item.where(linkId='a7e056be-fb6f-4f7f-b04d-5b809e1e18e3').answer.value.first()" + } + ] + } + ] + }, + "category": [ + { + "coding": [ + { + "code": "problem-list-item", + "system": "http://terminology.hl7.org/CodeSystem/condition-category" + } + ] + } + ], + "code": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext", + "valueString": "item.where(linkId='2da85994-2d5e-42f1-8a81-abf44f397468').answer.value" + } + ], + "coding": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "ofType(Coding)" + } + ] + } + ], + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "ofType(string)" + } + ] + } + }, + "subject": { + "_reference": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "'Patient/' + %resource.repeat(item).where(linkId='patientIdMedicalHistory').answer.valueString" + } + ] + } + }, + "_onsetDateTime": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "item.where(linkId='4d55bffb-3286-4a23-a785-3b9c346d464d').answer.value.toDateTime()" + } + ] + } } ], "extension": [ @@ -640,6 +708,14 @@ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "Condition" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "Condition", + "language": "application/x-fhir-query", + "expression": "Condition?patient={{%patient.id}}" + } } ], "url": "http://www.health.gov.au/assessments/mbs/715/MedicalHistoryCurrentProblems", diff --git a/fsh-generated/resources/Questionnaire-RegularMedications.json b/fsh-generated/resources/Questionnaire-RegularMedications.json index 67309deb..64e397e5 100644 --- a/fsh-generated/resources/Questionnaire-RegularMedications.json +++ b/fsh-generated/resources/Questionnaire-RegularMedications.json @@ -10,19 +10,6 @@ }, "item": [ { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%age.exists()" - } - }, - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-shortText", - "valueString": "Regular medications" - } - ], "item": [ { "extension": [ @@ -90,6 +77,19 @@ } ] }, + { + "linkId": "regularmedications-instruction", + "text": "Check medications are still required, appropriate dose, understanding of medication and adherence", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
\r\n Check medications are still required, appropriate dose, understanding of medication and adherence\r\n
" + } + ] + }, + "type": "display" + }, { "extension": [ { @@ -160,6 +160,116 @@ "repeats": false, "answerValueSet": "#YesNo" }, + { + "linkId": "regularmedications-summary", + "text": "Medication summary", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
\r\n

Medication summary

\r\n

This section includes a list of existing items from the patient record. To update existing items, update the patient record and repopulate this form. To enter new items, add them at the bottom.

\r\n
" + } + ] + }, + "type": "group", + "repeats": false, + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemPopulationContext", + "valueExpression": { + "name": "MedicationStatementRepeat", + "language": "text/fhirpath", + "expression": "%MedicationStatement.entry.resource" + } + } + ], + "linkId": "regularmedications-summary-current", + "text": "Current medication summary", + "type": "group", + "repeats": true, + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "autocomplete", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%MedicationStatementRepeat.medication.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first())" + } + } + ], + "linkId": "regularmedications-summary-current-medication", + "text": "Medication", + "type": "open-choice", + "repeats": false, + "answerValueSet": "#smarthealthchecks-medication" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemPopulationContext", + "valueExpression": { + "name": "DosageRepeat", + "language": "text/fhirpath", + "expression": "%MedicationStatementRepeat.dosage" + } + }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%DosageRepeat.text" + } + } + ], + "linkId": "regularmedications-summary-current-dosage", + "text": "Dosage", + "type": "string", + "repeats": true + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "autocomplete", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + } + ], + "linkId": "regularmedications-summary-current-reasoncode", + "text": "Clinical indication", + "type": "open-choice", + "repeats": true, + "answerValueSet": "#medication-reason-taken-1" + }, + { + "linkId": "regularmedications-summary-current-comment", + "text": "Comment", + "type": "string", + "repeats": false + } + ] + } + ] + }, { "linkId": "874ec8db-95c9-4cc0-95db-e45edaa3cd12", "text": "Up to date in the health record?", @@ -238,7 +348,7 @@ } ], "linkId": "7dfe7c6a-ca7f-4ddf-9241-a7b918a9695a", - "text": "Regular medications: check if still required, appropriate dose, understanding of medication and adherence", + "text": "Regular medications", "type": "group", "repeats": false } @@ -310,6 +420,87 @@ } ] } + }, + { + "resourceType": "ValueSet", + "id": "smarthealthchecks-medication", + "meta": { + "profile": [ + "http://hl7.org/fhir/StructureDefinition/shareablevalueset", + "https://healthterminologies.gov.au/fhir/StructureDefinition/composed-value-set-4" + ] + }, + "status": "draft", + "name": "SmartHealthChecksMedication", + "title": "Smart Health Checks Medication", + "description": "The Smart Health Checks Medication value set includes Australian Medicines Terminology (AMT) product concepts that may be used for the identification of a medicine with form, ingredient and unit of measure details.", + "url": "https://smartforms.csiro.au/ig/ValueSet/smarthealthchecks-medication", + "experimental": false, + "compose": { + "include": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107", + "filter": [ + { + "property": "constraint", + "op": "=", + "value": "^ 929360081000036101|Medicinal product pack reference set| AND ^ 929360071000036103|Medicinal product unit of use reference set| AND 929360041000036105|Trade product pack reference set| AND 929360031000036100|Trade product unit of use reference set| AND 929360051000036108|Containered trade product pack reference set|" + } + ] + } + ] + } + }, + { + "resourceType": "ValueSet", + "id": "medication-reason-taken-1", + "meta": { + "profile": [ + "http://hl7.org/fhir/StructureDefinition/shareablevalueset", + "https://healthterminologies.gov.au/fhir/StructureDefinition/composed-value-set-4" + ] + }, + "status": "active", + "name": "MedicationReasonTaken", + "title": "Medication Reason Taken", + "description": "The Medication Reason Taken value set includes values that identify a reason why a medication has been or is being taken.", + "url": "https://healthterminologies.gov.au/fhir/ValueSet/medication-reason-taken-1", + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:oid:1.2.36.1.2001.1004.201.10048" + } + ], + "version": "1.1.0", + "experimental": false, + "date": "2020-07-31", + "publisher": "Australian Digital Health Agency", + "contact": [ + { + "telecom": [ + { + "system": "email", + "value": "help@digitalhealth.gov.au" + } + ] + } + ], + "copyright": "Copyright © 2020 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\nThis resource includes SNOMED Clinical Terms™ (SNOMED CT®) which is used by permission of the International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. “SNOMED” and “SNOMED CT” are registered trademarks of the IHTSDO. \n\nThe rights to use and implement or implementation of SNOMED CT content are limited to the extent it is necessary to allow for the end use of this material. No further rights are granted in respect of the International Release and no further use of any SNOMED CT content by any other party is permitted.\n\nAll copies of this resource must include this copyright statement and all information contained in this statement.", + "compose": { + "include": [ + { + "system": "http://snomed.info/sct", + "filter": [ + { + "property": "constraint", + "op": "=", + "value": "^ 32570581000036105|Problem/Diagnosis reference set| OR ^ 1184831000168105|Drug prophylaxis reference set| OR << 399097000|Administration of anaesthesia| OR 169443000|Preventive procedure|" + } + ] + } + ] + } } ], "extension": [ @@ -377,6 +568,14 @@ } ] }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "MedicationStatement", + "language": "application/x-fhir-query", + "expression": "MedicationStatement?patient={{%patient.id}}" + } + }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" diff --git a/fsh-generated/resources/ValueSet-amt-vaccine-1.json b/fsh-generated/resources/ValueSet-amt-vaccine-1.json new file mode 100644 index 00000000..ccee4a9b --- /dev/null +++ b/fsh-generated/resources/ValueSet-amt-vaccine-1.json @@ -0,0 +1,50 @@ +{ + "resourceType": "ValueSet", + "status": "active", + "name": "AustralianMedicinesTerminologyVaccine", + "id": "amt-vaccine-1", + "title": "Australian Medicines Terminology Vaccine", + "description": "The Australian Medicines Terminology (AMT) Vaccine value set includes AMT product concepts that may be used to record a vaccine product.", + "url": "https://healthterminologies.gov.au/fhir/ValueSet/amt-vaccine-1", + "meta": { + "profile": [ + "http://hl7.org/fhir/StructureDefinition/shareablevalueset", + "https://healthterminologies.gov.au/fhir/StructureDefinition/composed-value-set-4" + ] + }, + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:oid:1.2.36.1.2001.1004.201.10042" + } + ], + "version": "1.0.2", + "experimental": false, + "date": "2020-05-31", + "publisher": "Australian Digital Health Agency", + "contact": [ + { + "telecom": [ + { + "system": "email", + "value": "help@digitalhealth.gov.au" + } + ] + } + ], + "copyright": "Copyright © 2018 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\n This resource includes SNOMED Clinical Terms™ (SNOMED CT®) which is used by permission of the International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. “SNOMED” and “SNOMED CT” are registered trademarks of the IHTSDO. \n\nThe rights to use and implement or implementation of SNOMED CT content are limited to the extent it is necessary to allow for the end use of this material. No further rights are granted in respect of the International Release and no further use of any SNOMED CT content by any other party is permitted. \n\nAll copies of this resource must include this copyright statement and all information contained in this statement.", + "compose": { + "include": [ + { + "system": "http://snomed.info/sct", + "filter": [ + { + "property": "concept", + "op": "in", + "value": "1156291000168106" + } + ] + } + ] + } +} diff --git a/fsh-generated/resources/ValueSet-medication-reason-taken-1.json b/fsh-generated/resources/ValueSet-medication-reason-taken-1.json new file mode 100644 index 00000000..c4802776 --- /dev/null +++ b/fsh-generated/resources/ValueSet-medication-reason-taken-1.json @@ -0,0 +1,50 @@ +{ + "resourceType": "ValueSet", + "status": "active", + "name": "MedicationReasonTaken", + "id": "medication-reason-taken-1", + "title": "Medication Reason Taken", + "description": "The Medication Reason Taken value set includes values that identify a reason why a medication has been or is being taken.", + "url": "https://healthterminologies.gov.au/fhir/ValueSet/medication-reason-taken-1", + "meta": { + "profile": [ + "http://hl7.org/fhir/StructureDefinition/shareablevalueset", + "https://healthterminologies.gov.au/fhir/StructureDefinition/composed-value-set-4" + ] + }, + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:oid:1.2.36.1.2001.1004.201.10048" + } + ], + "version": "1.1.0", + "experimental": false, + "date": "2020-07-31", + "publisher": "Australian Digital Health Agency", + "contact": [ + { + "telecom": [ + { + "system": "email", + "value": "help@digitalhealth.gov.au" + } + ] + } + ], + "copyright": "Copyright © 2020 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\nThis resource includes SNOMED Clinical Terms™ (SNOMED CT®) which is used by permission of the International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. “SNOMED” and “SNOMED CT” are registered trademarks of the IHTSDO. \n\nThe rights to use and implement or implementation of SNOMED CT content are limited to the extent it is necessary to allow for the end use of this material. No further rights are granted in respect of the International Release and no further use of any SNOMED CT content by any other party is permitted.\n\nAll copies of this resource must include this copyright statement and all information contained in this statement.", + "compose": { + "include": [ + { + "system": "http://snomed.info/sct", + "filter": [ + { + "property": "constraint", + "op": "=", + "value": "^ 32570581000036105|Problem/Diagnosis reference set| OR ^ 1184831000168105|Drug prophylaxis reference set| OR << 399097000|Administration of anaesthesia| OR 169443000|Preventive procedure|" + } + ] + } + ] + } +} diff --git a/fsh-generated/resources/ValueSet-smarthealthchecks-medication.json b/fsh-generated/resources/ValueSet-smarthealthchecks-medication.json new file mode 100644 index 00000000..7b1156f1 --- /dev/null +++ b/fsh-generated/resources/ValueSet-smarthealthchecks-medication.json @@ -0,0 +1,31 @@ +{ + "resourceType": "ValueSet", + "status": "draft", + "name": "SmartHealthChecksMedication", + "id": "smarthealthchecks-medication", + "title": "Smart Health Checks Medication", + "description": "The Smart Health Checks Medication value set includes Australian Medicines Terminology (AMT) product concepts that may be used for the identification of a medicine with form, ingredient and unit of measure details.", + "url": "https://smartforms.csiro.au/ig/ValueSet/smarthealthchecks-medication", + "meta": { + "profile": [ + "http://hl7.org/fhir/StructureDefinition/shareablevalueset", + "https://healthterminologies.gov.au/fhir/StructureDefinition/composed-value-set-4" + ] + }, + "experimental": false, + "compose": { + "include": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107", + "filter": [ + { + "property": "constraint", + "op": "=", + "value": "^ 929360081000036101|Medicinal product pack reference set| AND ^ 929360071000036103|Medicinal product unit of use reference set| AND 929360041000036105|Trade product pack reference set| AND 929360031000036100|Trade product unit of use reference set| AND 929360051000036108|Containered trade product pack reference set|" + } + ] + } + ] + } +} diff --git a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh index 99b6be38..5d450181 100644 --- a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh +++ b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh @@ -8,6 +8,8 @@ Usage: #example Title: "Aboriginal and Torres Strait Islander Health Check - Allergies/Adverse Reactions" Description: "Allergies/Adverse Reactions sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." +* contained[+] = AllergyIntoleranceTemplate + //assemble expectation * extension[+] * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assemble-expectation" @@ -75,9 +77,9 @@ Description: "Allergies/Adverse Reactions sub-questionnaire for Aboriginal and T * jurisdiction.coding = urn:iso:std:iso:3166#AU * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression + /** extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath - * expression = "%age.exists()" + * expression = "%age.exists()"*/ * linkId = "allergy" * text = "Allergies/adverse reactions" * type = #group @@ -153,9 +155,17 @@ Description: "Allergies/Adverse Reactions sub-questionnaire for Aboriginal and T * item[=].item[=].item[=].item[=].repeats = false //new adverse reactions -* item[=].item[=].item[+].linkId = "allergynew" +* item[=].item[=].item[+].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract" +* item[=].item[=].item[=].extension[=].extension.url = "template" +* item[=].item[=].item[=].extension[=].extension.valueReference = Reference(AllergyIntoleranceTemplate) +* item[=].item[=].item[=].linkId = "allergynew" * item[=].item[=].item[=].type = #group * item[=].item[=].item[=].repeats = true +* item[=].item[=].item[=].item[+].extension[http://hl7.org/fhir/StructureDefinition/questionnaire-hidden].valueBoolean = true +* item[=].item[=].item[=].item[=].extension[sdc-questionnaire-initialExpression].valueExpression.language = #text/fhirpath +* item[=].item[=].item[=].item[=].extension[sdc-questionnaire-initialExpression].valueExpression.expression = "%patient.id" +* item[=].item[=].item[=].item[=].linkId = "patientIdAllergy" +* item[=].item[=].item[=].item[=].type = #string * item[=].item[=].item[=].item[+].extension[+].url = "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl" * item[=].item[=].item[=].item[=].extension[=].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#autocomplete * item[=].item[=].item[=].item[=].linkId = "allergynew-substance" diff --git a/input/fsh/715-Assessment-Immunisation.fsh b/input/fsh/715-Assessment-Immunisation.fsh index 25953ca2..74b40cd0 100644 --- a/input/fsh/715-Assessment-Immunisation.fsh +++ b/input/fsh/715-Assessment-Immunisation.fsh @@ -9,6 +9,8 @@ Title: "Aboriginal and Torres Strait Islander Health Check - Immunisation" Description: "Immunisation sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." * contained[+] = YesNo +* contained[+] = amt-vaccine-1 +* contained[+] = ImmunizationTemplate //assemble expectation * extension[+] @@ -55,6 +57,15 @@ Description: "Immunisation sub-questionnaire for Aboriginal and Torres Strait Is * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * valueString = "age" +//fhir query variables +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "Immunization" + * language = #application/x-fhir-query + * expression = "Immunization?patient={{%patient.id}}" + + * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" @@ -68,9 +79,9 @@ Description: "Immunisation sub-questionnaire for Aboriginal and Torres Strait Is * jurisdiction.coding = urn:iso:std:iso:3166#AU * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression + /** extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath - * expression = "%age.exists()" + * expression = "%age.exists()"*/ * linkId = "205677d6-17c7-4285-a7c4-61aa02b6c816" * text = "Immunisation" * type = #group @@ -101,6 +112,9 @@ Description: "Immunisation sub-questionnaire for Aboriginal and Torres Strait Is * expression = "%age <= 12" * linkId = "54de7714-b917-4426-acb4-29d48648a2d8" * text = "Check Child Health Record/Book and Australian Immunisation Register" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
+

Check Child Health Record/Book and Australian Immunisation Register

+
" * type = #display * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression @@ -108,6 +122,9 @@ Description: "Immunisation sub-questionnaire for Aboriginal and Torres Strait Is * expression = "%age > 12" * linkId = "d77c527d-6fde-4ed7-97b9-c71acf817f39" * text = "Eligibility for funded vaccines may vary across jurisdictions" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
+

Eligibility for funded vaccines may vary across jurisdictions

+
" * type = #display * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression @@ -115,6 +132,9 @@ Description: "Immunisation sub-questionnaire for Aboriginal and Torres Strait Is * expression = "(%age > 12).intersect(%age <= 24)" * linkId = "77d87581-d4d7-4267-9f3c-ad6541ad0f46" * text = "Check Australian Immunisation Register" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
+

Check Australian Immunisation Register

+
" * type = #display * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression @@ -122,42 +142,114 @@ Description: "Immunisation sub-questionnaire for Aboriginal and Torres Strait Is * expression = "(%age > 24).intersect(%age <= 49)" * linkId = "a2631d2c-2b5c-4147-9aca-05ae655a56a5" * text = "Check recommended primary vaccinations completed and provide catch-up if required" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
+

Check recommended primary vaccinations completed and provide catch-up if required

+
" * type = #display + + * item[+] + * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-hidden].valueBoolean = true + * extension[sdc-questionnaire-initialExpression].valueExpression.language = #text/fhirpath + * extension[sdc-questionnaire-initialExpression].valueExpression.expression = "%patient.id" + * linkId = "patientIdImmunization" + * type = #string + + * item[+] + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#gtable + * extension[sdc-questionnaire-itemPopulationContext].valueExpression + * name = "ImmunizationRepeat" + * language = #text/fhirpath + * expression = "%Immunization.entry.resource.where(status='completed')" + * linkId = "vaccinesprevious" + * text = "Vaccines previously given" + * type = #group + * repeats = true + * readOnly = true + * item[+] + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#autocomplete + * extension[sdc-questionnaire-initialExpression].valueExpression + * language = #text/fhirpath + * expression = "%ImmunizationRepeat.vaccineCode.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first())" + * linkId = "vaccinesprevious-vaccine" + * text = "Vaccine" + * type = #open-choice + * answerValueSet = "#amt-vaccine-1" + * item[+] + * extension[sdc-questionnaire-initialExpression].valueExpression + * language = #text/fhirpath + * expression = "%ImmunizationRepeat.lotNumber" + * linkId = "vaccinesprevious-batch" + * text = "Batch number" + * type = #string + * item[+] + * extension[sdc-questionnaire-initialExpression].valueExpression + * language = #text/fhirpath + * expression = "%ImmunizationRepeat.occurrence.ofType(dateTime)" + * linkId = "vaccinesprevious-date" + * text = "Administration date" + * type = #dateTime + * item[+] + * extension[sdc-questionnaire-initialExpression].valueExpression + * language = #text/fhirpath + * expression = "%ImmunizationRepeat.note.text.first()" + * linkId = "vaccinesprevious-comment" + * text = "Comment" + * type = #string + * item[+] * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#radio-button * extension[questionnaire-choiceOrientation].valueCode = #horizontal - * linkId = "69a4a459-196b-4931-8336-ea76ab3fccd1" - * text = "Immunisations up to date and recorded on Australian Immunisation Register (as per Australian immunisation handbook)?" + * linkId = "vaccinesair" + * text = "Immunisations are up to date?" * type = #choice * repeats = false - * answerValueSet = "#YesNo" + * answerValueSet = "#YesNo" * item[+] - * linkId = "08e8ca54-9af8-4028-be83-aab20bccecc3" + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#autocomplete + * linkId = "vaccinesdue" * text = "Immunisations due" - * type = #string + * type = #open-choice + * answerValueSet = "#amt-vaccine-1" * repeats = true + + * item[+] - * linkId = "cc522cb1-b553-48c7-9028-61d15dd60845" + * extension[+].url = "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl" + * extension[=].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#gtable + * extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract" + * extension[=].extension[+].url = "template" + * extension[=].extension[=].valueReference = Reference(ImmunizationTemplate) + * linkId = "vaccinestoday" * text = "Vaccines given today" * type = #group - * repeats = false + * repeats = true + * item[+] + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#autocomplete + * linkId = "vaccinestoday-vaccine" + * text = "Vaccine" + * type = #open-choice + * answerValueSet = "#amt-vaccine-1" + * item[+] + * linkId = "vaccinestoday-batch" + * text = "Batch number" + * type = #string * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#radio-button - * extension[questionnaire-choiceOrientation].valueCode = #horizontal - * linkId = "9f5787e6-8ece-46a4-8d67-e7c3e14daf18" - * text = "Vaccines recorded on Australian Immunisation Register?" - * type = #choice - * repeats = false - * answerValueSet = "#YesNo" + * linkId = "vaccinestoday-date" + * text = "Administration date" + * type = #dateTime * item[+] - * linkId = "c8da01ec-de58-46e3-81a1-2c49aed8c28e" - * text = "Details" - * type = #text - * repeats = false - * enableWhen[+] - * question = "9f5787e6-8ece-46a4-8d67-e7c3e14daf18" - * operator = #= - * answerCoding = http://terminology.hl7.org/CodeSystem/v2-0136#Y + * linkId = "vaccinestoday-comment" + * text = "Comment" + * type = #string + + * item[+] + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#radio-button + * extension[questionnaire-choiceOrientation].valueCode = #horizontal + * linkId = "vaccinesrecorded" + * text = "Have all vaccines been recorded on the Australian Immunisation Register?" + * type = #choice + * repeats = false + * answerValueSet = "#YesNo" * item[+] * linkId = "bcd1c9f2-889e-41e5-8c2b-a70221c5cec5" diff --git a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh index e68ec027..c92e9c3c 100644 --- a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh +++ b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh @@ -10,13 +10,7 @@ Description: "Medical History sub-questionnaire for Aboriginal and Torres Strait * contained[+] = condition-clinical * contained[+] = clinical-condition-1 -/* -* contained[+] = MedicalHistory -* contained[+] = MedicalHistoryShortListInfants -* contained[+] = MedicalHistoryShortListPrimarySchool -* contained[+] = MedicalHistoryShortListAdolescents -* contained[+] = MedicalHistoryShortListAdultsAndOlderPeople -*/ +* contained[+] = ConditionTemplate //assemble expectation * extension[+] @@ -66,6 +60,14 @@ Description: "Medical History sub-questionnaire for Aboriginal and Torres Strait * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * valueString = "Condition" +// fhirpath variables +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "Condition" + * language = #application/x-fhir-query + * expression = "Condition?patient={{%patient.id}}" + * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" @@ -79,9 +81,9 @@ Description: "Medical History sub-questionnaire for Aboriginal and Torres Strait * jurisdiction.coding = urn:iso:std:iso:3166#AU * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression + /** extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath - * expression = "%age.exists()" + * expression = "%age.exists()"*/ * linkId = "28d5dbe4-1e65-487c-847a-847f544a6a91" * text = "Medical history and current problems" * type = #group @@ -106,198 +108,115 @@ Description: "Medical History sub-questionnaire for Aboriginal and Torres Strait * question = "MarkComplete-17" // Section complete item * operator = #= * answerBoolean = true - * item[+] - * linkId = "RecordUpdate-MedHistory" - * text = "Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there first." - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
- Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there first. -
" - * type = #display +//Birth history * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath * expression = "%age <= 5" - * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#wk - * linkId = "a10a7375-e9d3-4e71-a47a-282e9ba38ec1" - * text = "Gestation at birth" - * type = #decimal + * linkId = "b9de2b58-55e2-436d-95ab-49600508cdf7" + * text = "Birth history" + * type = #group * repeats = false * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit - * linkId = "f3899852-36c4-441f-9a7d-544ef1617f08" - * text = "weeks" - * type = #display - * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression - * language = #text/fhirpath - * expression = "%age <= 5" - * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#kg - * linkId = "29b6d8ea-23b2-4a69-98d9-899198692de7" - * text = "Birth weight" - * type = #decimal - * repeats = false + * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#wk + * linkId = "a10a7375-e9d3-4e71-a47a-282e9ba38ec1" + * text = "Gestation at birth" + * type = #decimal + * repeats = false + * item[+] + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit + * linkId = "f3899852-36c4-441f-9a7d-544ef1617f08" + * text = "weeks" + * type = #display * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit - * linkId = "87cf1ecd-6d1b-4de1-894d-58bd77dcfde1" - * text = "kg" - * type = #display - - /* Agreed to replace this section with medical history table. Commenting out for now. - // for infants 0-5 - * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression - * language = #text/fhirpath - * expression = "%age <= 5" - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#check-box - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%Condition.entry.resource.code.select(coding.where(system='http://snomed.info/sct').first())" - * linkId = "033db7b3-80da-43e2-9838-88f3d51e5913" - * text = "Problems" - * type = #choice - * repeats = true - * answerValueSet = "#MedicalHistoryShortListInfants" - - // for Primary School Children 5-12 - * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression - * language = #text/fhirpath - * expression = "(%age > 5).intersect(%age <= 12)" - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#check-box - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%Condition.entry.resource.code.select(coding.where(system='http://snomed.info/sct').first())" - * linkId = "384ab440-10ed-4ac1-89da-cd7d24f87a95" - * text = "Problems" - * type = #choice - * repeats = true - * answerValueSet = "#MedicalHistoryShortListPrimarySchool" - - // for adolescents 12-24 - * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression - * language = #text/fhirpath - * expression = "(%age > 12).intersect(%age <= 24)" - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#check-box - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%Condition.entry.resource.code.select(coding.where(system='http://snomed.info/sct').first())" - * linkId = "c24ae0d2-8932-4b87-9b7e-a644b5eb2874" - * text = "Problems" - * type = #choice - * repeats = true - * answerValueSet = "#MedicalHistoryShortListAdolescents" - - // for adults and older >24 - * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression - * language = #text/fhirpath - * expression = "%age > 24" - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#check-box - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%Condition.entry.resource.code.select(coding.where(system='http://snomed.info/sct').first())" - * linkId = "bba27ef5-05c5-4e9c-bc9f-cf42091e99cb" - * text = "Problems" - * type = #choice - * repeats = true - * answerValueSet = "#MedicalHistoryShortListAdultsAndOlderPeople" - -//continue - * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#autocomplete - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%Condition.entry.resource.code.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first())" - * linkId = "736f2a51-e04d-4e7f-aef1-c47f3a1f4e3c" - * text = "Other relevant medical history, operations, hospital admissions, etc" - * extension[sdc-questionnaire-shortText].valueString = "Other relevant medical history" - * type = #open-choice - * repeats = true - * answerValueSet = "#MedicalHistory" - * item[+] - * linkId = "f00def30-35dd-401a-9a38-12602bd3b8b1" - * text = "Provide details of identified problems" - * type = #text - * repeats = false - -*/ + * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#kg + * linkId = "29b6d8ea-23b2-4a69-98d9-899198692de7" + * text = "Birth weight" + * type = #decimal + * repeats = false + * item[+] + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit + * linkId = "87cf1ecd-6d1b-4de1-894d-58bd77dcfde1" + * text = "kg" + * type = #display // table of medical history + * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#gtable - * extension[sdc-questionnaire-itemPopulationContext].valueExpression - * name = "ConditionRepeat" - * language = #text/fhirpath - * expression = "%Condition.entry.resource.where(category.coding.exists(code='problem-list-item'))" - * linkId = "92bd7d05-9b5e-4cf9-900b-703f361dad9d" - * text = "Medical history and current problems list" + * linkId = "medicalhistoryinstruction" + * text = "Medical history summary" * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
-

Medical history and current problems list

-

This list includes items from the clinical record. If you wish to enter additional diagnoses, either update the clinical record and repopulate this form or add them to the \"New diagnoses list\" below and later update the clinical record as required.

-
" - * type = #group - * repeats = true - * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#autocomplete - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%ConditionRepeat.code.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first())" - * linkId = "59b1900a-4f85-4a8c-b9cd-3fe2fd76f27e" - * text = "Condition" - * type = #open-choice - * answerValueSet = "#clinical-condition-1" - * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#drop-down - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%ConditionRepeat.clinicalStatus.coding" - * linkId = "88bcfad7-386b-4d87-b34b-2e50482e4d2c" - * text = "Clinical Status" - * type = #choice - * answerValueSet = "#condition-clinical" - * item[+] - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%ConditionRepeat.onset.ofType(dateTime)" - * linkId = "6ae641ad-95bb-4cdc-8910-5a52077e492c" - * text = "Onset Date" - * type = #date +

Medical history summary

+

This section includes a list of existing items from the patient record. To update existing items, update the patient record and repopulate this form. To enter new items, add them at the bottom.

+
" + * type = #group * item[+] - * extension[sdc-questionnaire-initialExpression].valueExpression + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#gtable + * extension[sdc-questionnaire-itemPopulationContext].valueExpression + * name = "ConditionRepeat" * language = #text/fhirpath - * expression = "%ConditionRepeat.recordedDate" - * linkId = "18b9e159-2ed7-4047-82b7-deb2a171de4f" - * text = "Recorded Date" - * type = #date + * expression = "%Condition.entry.resource.where(category.coding.exists(code='problem-list-item'))" + * linkId = "92bd7d05-9b5e-4cf9-900b-703f361dad9d" + * type = #group + * repeats = true + * readOnly = true + * item[+] + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#autocomplete + * extension[sdc-questionnaire-initialExpression].valueExpression + * language = #text/fhirpath + * expression = "%ConditionRepeat.code.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first())" + * linkId = "59b1900a-4f85-4a8c-b9cd-3fe2fd76f27e" + * text = "Condition" + * type = #open-choice + * answerValueSet = "#clinical-condition-1" + * item[+] + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#drop-down + * extension[sdc-questionnaire-initialExpression].valueExpression + * language = #text/fhirpath + * expression = "%ConditionRepeat.clinicalStatus.coding" + * linkId = "88bcfad7-386b-4d87-b34b-2e50482e4d2c" + * text = "Clinical Status" + * type = #choice + * answerValueSet = "#condition-clinical" + * item[+] + * extension[sdc-questionnaire-initialExpression].valueExpression + * language = #text/fhirpath + * expression = "%ConditionRepeat.onset.ofType(dateTime)" + * linkId = "6ae641ad-95bb-4cdc-8910-5a52077e492c" + * text = "Onset Date" + * type = #date + * item[+] + * extension[sdc-questionnaire-initialExpression].valueExpression + * language = #text/fhirpath + * expression = "%ConditionRepeat.abatement.ofType(dateTime)" + * linkId = "e4524654-f6de-4717-b288-34919394d46b" + * text = "Abatement Date" + * type = #date // table for new diagnoses - * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#gtable - * linkId = "4484cacd-a260-4e5f-83c1-168ca2396c04" - * text = "New diagnoses list" - * type = #group - * repeats = true - * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#autocomplete - * linkId = "2da85994-2d5e-42f1-8a81-abf44f397468" - * text = "Condition" - * type = #open-choice - * answerValueSet = "#clinical-condition-1" - * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#drop-down - * linkId = "a7e056be-fb6f-4f7f-b04d-5b809e1e18e3" - * text = "Clinical Status" - * type = #choice - * answerValueSet = "#condition-clinical" - * item[+] - * linkId = "e4524654-f6de-4717-b288-34919394d46b" - * text = "Onset Date" - * type = #date * item[+] - * linkId = "5bc1d8f4-6e8c-4695-916c-1ef767306e46" - * text = "Recorded Date" - * type = #date + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#gtable + * extension[sdc-questionnaire-templateExtract] + * extension[template].valueReference = Reference(ConditionTemplate) + * linkId = "newdiagnosis" + * type = #group + * repeats = true + * item[+] + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#autocomplete + * linkId = "2da85994-2d5e-42f1-8a81-abf44f397468" + * text = "Condition" + * type = #open-choice + * answerValueSet = "#clinical-condition-1" + * item[+] + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#drop-down + * linkId = "a7e056be-fb6f-4f7f-b04d-5b809e1e18e3" + * text = "Clinical Status" + * type = #choice + * answerValueSet = "#condition-clinical" + * item[+] + * linkId = "4d55bffb-3286-4a23-a785-3b9c346d464d" + * text = "Onset Date" + * type = #date * item[+] * linkId = "62774152-8a6e-4449-af9f-87bdce8b9bf5" diff --git a/input/fsh/715-Assessment-RegularMedications.fsh b/input/fsh/715-Assessment-RegularMedications.fsh index 38dcff7d..aa68a6ea 100644 --- a/input/fsh/715-Assessment-RegularMedications.fsh +++ b/input/fsh/715-Assessment-RegularMedications.fsh @@ -9,7 +9,40 @@ Title: "Aboriginal and Torres Strait Islander Health Check - Regular Medications Description: "Regular Medications sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." * contained[+] = YesNo +* contained[+] = smarthealthchecks-medication +* contained[+] = medication-reason-taken-1 + +* extension[0].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assemble-expectation" +* extension[=].valueCode = #assemble-child +* extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" +* extension[=].extension[0].url = "name" +* extension[=].extension[=].valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#patient +* extension[=].extension[+].url = "type" +* extension[=].extension[=].valueCode = #Patient +* extension[=].extension[+].url = "description" +* extension[=].extension[=].valueString = "The patient that is to be used to pre-populate the form" +* extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" +* extension[=].extension[0].url = "name" +* extension[=].extension[=].valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#user +* extension[=].extension[+].url = "type" +* extension[=].extension[=].valueCode = #Practitioner +* extension[=].extension[+].url = "description" +* extension[=].extension[=].valueString = "The practitioner user that is to be used to pre-populate the form" +* extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" +* extension[=].extension[0].url = "name" +* extension[=].extension[=].valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#encounter +* extension[=].extension[+].url = "type" +* extension[=].extension[=].valueCode = #Encounter +* extension[=].extension[+].url = "description" +* extension[=].extension[=].valueString = "The encounter that is to be used to pre-populate the form" +* extension[+].url = "http://hl7.org/fhir/StructureDefinition/variable" +* extension[=].valueExpression.name = "MedicationStatement" +* extension[=].valueExpression.language = #application/x-fhir-query +* extension[=].valueExpression.expression = "MedicationStatement?patient={{%patient.id}}" +* extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" +* extension[=].valueString = "age" +/* //assemble expectation * extension[+] * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assemble-expectation" @@ -49,12 +82,21 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * extension[+] * url = "description" * valueString = "The encounter that is to be used to pre-populate the form" - + + +//fhir query variables +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "MedicationStatement" + * language = #application/x-fhir-query + * expression = "MedicationStatement?patient={{%patient.id}}" + //assemble context * extension[+] * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * valueString = "age" - +*/ * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" @@ -67,100 +109,183 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * date = "2025-03-14" * jurisdiction.coding = urn:iso:std:iso:3166#AU -* item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression +* item.linkId = "7dfe7c6a-ca7f-4ddf-9241-a7b918a9695a" + /** extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath - * expression = "%age.exists()" - * linkId = "7dfe7c6a-ca7f-4ddf-9241-a7b918a9695a" - * text = "Regular medications: check if still required, appropriate dose, understanding of medication and adherence" - * extension[sdc-questionnaire-shortText].valueString = "Regular medications" - * type = #group - * repeats = false - * item[+] //in-progress - * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display - * linkId = "CD-in-progress-23" - * text = "In progress" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" - * type = #display - * enableWhen[+] - * question = "MarkComplete-23" // Section complete item - * operator = #!= - * answerBoolean = true - * item[+] //complete - * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display - * linkId = "CD-complete-23" - * text = "Complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" - * type = #display - * enableWhen[+] - * question = "MarkComplete-23" // Section complete item - * operator = #= - * answerBoolean = true - * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression - * language = #text/fhirpath - * expression = "%age <= 12" - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#radio-button - * extension[questionnaire-choiceOrientation].valueCode = #horizontal - * linkId = "6eb59145-ed9a-4184-af83-3506d47e4d4e" - * text = "Does your child take any regular medications (prescribed, over-the-counter, traditional, complementary and alternative)?" - * extension[sdc-questionnaire-shortText].valueString = "Does your child take any regular medications?" - * type = #choice - * repeats = false - * answerValueSet = "#YesNo" - * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression - * language = #text/fhirpath - * expression = "%age > 12" - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#radio-button - * extension[questionnaire-choiceOrientation].valueCode = #horizontal - * linkId = "3a2d27b6-e918-4df5-aca9-b374fcf9faad" - * text = "Do you take any regular medications (prescribed, over-the-counter, traditional, complementary and alternative)?" - * extension[sdc-questionnaire-shortText].valueString = "Do you take any regular medications?" - * type = #choice - * repeats = false - * answerValueSet = "#YesNo" - * item[+] - * linkId = "874ec8db-95c9-4cc0-95db-e45edaa3cd12" - * text = "Up to date in the health record?" - * type = #boolean - * repeats = false - * enableWhen[+] - * question = "6eb59145-ed9a-4184-af83-3506d47e4d4e" - * operator = #= - * answerCoding = http://terminology.hl7.org/CodeSystem/v2-0136#Y - * enableWhen[+] - * question = "3a2d27b6-e918-4df5-aca9-b374fcf9faad" - * operator = #= - * answerCoding = http://terminology.hl7.org/CodeSystem/v2-0136#Y - * enableBehavior = #any - * item[+] - * linkId = "36290837-ad70-48b2-9c66-31533fec918b" - * text = "Medication understanding and adherence has been checked with patient" - * extension[sdc-questionnaire-shortText].valueString = "Understanding and adherence checked" - * type = #boolean - * repeats = false - * enableWhen[+] - * question = "6eb59145-ed9a-4184-af83-3506d47e4d4e" - * operator = #= - * answerCoding = http://terminology.hl7.org/CodeSystem/v2-0136#Y - * enableWhen[+] - * question = "3a2d27b6-e918-4df5-aca9-b374fcf9faad" - * operator = #= - * answerCoding = http://terminology.hl7.org/CodeSystem/v2-0136#Y - * enableBehavior = #any - - - * item[+] - * linkId = "aa9ff2ed-bcd2-406d-a9ff-89c201df2605" - * text = "Health priorities, actions and follow-up" - * type = #text - * repeats = false - - - * item[+] - * linkId = "MarkComplete-23" - * text = "Mark section as complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" - * type = #boolean - * repeats = false \ No newline at end of file + * expression = "%age.exists()"*/ +* item.text = "Regular medications" +* item.type = #group +* item.repeats = false +* item.item[+] //in-progress +* item.item[=].extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display +* item.item[=].linkId = "CD-in-progress-23" +* item.item[=].text = "In progress" +* item.item[=].text.extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" +* item.item[=].type = #display +* item.item[=].enableWhen[+].question = "MarkComplete-23" // Section complete item +* item.item[=].enableWhen[=].operator = #!= +* item.item[=].enableWhen[=].answerBoolean = true +* item.item[+] //complete +* item.item[=].extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display +* item.item[=].linkId = "CD-complete-23" +* item.item[=].text = "Complete" +* item.item[=].text.extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" +* item.item[=].type = #display +* item.item[=].enableWhen[+].question = "MarkComplete-23" // Section complete item +* item.item[=].enableWhen[=].operator = #= +* item.item[=].enableWhen[=].answerBoolean = true + +* item.item[+].linkId = "regularmedications-instruction" +* item.item[=].text = "Check medications are still required, appropriate dose, understanding of medication and adherence" +* item.item[=].text.extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
+ Check medications are still required, appropriate dose, understanding of medication and adherence +
" +* item.item[=].type = #display + +* item.item[+].extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression.language = #text/fhirpath +* item.item[=].extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression.expression = "%age <= 12" +* item.item[=].extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#radio-button +* item.item[=].extension[questionnaire-choiceOrientation].valueCode = #horizontal +* item.item[=].linkId = "6eb59145-ed9a-4184-af83-3506d47e4d4e" +* item.item[=].text = "Does your child take any regular medications (prescribed, over-the-counter, traditional, complementary and alternative)?" +* item.item[=].extension[sdc-questionnaire-shortText].valueString = "Does your child take any regular medications?" +* item.item[=].type = #choice +* item.item[=].repeats = false +* item.item[=].answerValueSet = "#YesNo" +* item.item[+].extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression.language = #text/fhirpath +* item.item[=].extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression.expression = "%age > 12" +* item.item[=].extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#radio-button +* item.item[=].extension[questionnaire-choiceOrientation].valueCode = #horizontal +* item.item[=].linkId = "3a2d27b6-e918-4df5-aca9-b374fcf9faad" +* item.item[=].text = "Do you take any regular medications (prescribed, over-the-counter, traditional, complementary and alternative)?" +* item.item[=].extension[sdc-questionnaire-shortText].valueString = "Do you take any regular medications?" +* item.item[=].type = #choice +* item.item[=].repeats = false +* item.item[=].answerValueSet = "#YesNo" + +* item.item[+].linkId = "regularmedications-summary" +* item.item[=].text = "Medication summary" +* item.item[=].text.extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
+

Medication summary

+

This section includes a list of existing items from the patient record. To update existing items, update the patient record and repopulate this form. To enter new items, add them at the bottom.

+
" +* item.item[=].type = #group +* item.item[=].repeats = false + +* item.item[=].item[0].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemPopulationContext" +* item.item[=].item[=].extension[=].valueExpression[+].name = "MedicationStatementRepeat" +* item.item[=].item[=].extension[=].valueExpression[=].language = #text/fhirpath +* item.item[=].item[=].extension[=].valueExpression[=].expression = "%MedicationStatement.entry.resource" +* item.item[=].item[=].linkId = "regularmedications-summary-current" +* item.item[=].item[=].text = "Current medication summary" +* item.item[=].item[=].type = #group +* item.item[=].item[=].repeats = true +* item.item[=].item[=].item[0].extension[+].url = "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl" +* item.item[=].item[=].item[=].extension[=].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#autocomplete +/* +* item.item[=].item[=].item[=].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression" +* item.item[=].item[=].item[=].extension[=].valueExpression[+].language = #text/fhirpath +* item.item[=].item[=].item[=].extension[=].valueExpression[=].expression = "%MedicationStatement.entry.resource.medication.ofType(CodeableConcept).exists()" +*/ +* item.item[=].item[=].item[=].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression" +* item.item[=].item[=].item[=].extension[=].valueExpression[+].language = #text/fhirpath +* item.item[=].item[=].item[=].extension[=].valueExpression[=].expression = "%MedicationStatementRepeat.medication.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first())" +* item.item[=].item[=].item[=].linkId = "regularmedications-summary-current-medication" +* item.item[=].item[=].item[=].text = "Medication" +* item.item[=].item[=].item[=].type = #open-choice +* item.item[=].item[=].item[=].repeats = false +* item.item[=].item[=].item[=].answerValueSet = "#smarthealthchecks-medication" +/* +* item.item[=].item[=].item[+].extension.url = "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl" +* item.item[=].item[=].item[=].extension.valueCodeableConcept = $questionnaire-item-control#autocomplete +* item.item[=].item[=].item[=].linkId = "regularmedications-summary-current-form" +* item.item[=].item[=].item[=].text = "Form" +* item.item[=].item[=].item[=].type = #open-choice +* item.item[=].item[=].item[=].repeats = false +* item.item[=].item[=].item[=].answerValueSet = "https://healthterminologies.gov.au/fhir/ValueSet/medication-form-1" +* item.item[=].item[=].item[+].extension.url = "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl" +* item.item[=].item[=].item[=].extension.valueCodeableConcept = $questionnaire-item-control#autocomplete +* item.item[=].item[=].item[=].linkId = "regularmedications-summary-current-route" +* item.item[=].item[=].item[=].text = "Route of adminsitration" +* item.item[=].item[=].item[=].type = #open-choice +* item.item[=].item[=].item[=].repeats = false +* item.item[=].item[=].item[=].answerValueSet = "https://healthterminologies.gov.au/fhir/ValueSet/route-of-administration-1" +* item.item[=].item[=].item[+].linkId = "regularmedications-summary-current-doseamount" +* item.item[=].item[=].item[=].text = "Dose amount" +* item.item[=].item[=].item[=].type = #decimal +* item.item[=].item[=].item[=].repeats = false +* item.item[=].item[=].item[=].item.extension.url = "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl" +* item.item[=].item[=].item[=].item.extension.valueCodeableConcept = $questionnaire-item-control#unit +* item.item[=].item[=].item[=].item.linkId = "regularmedications-summary-current-doseamount-unit" +* item.item[=].item[=].item[=].item.type = #choice +* item.item[=].item[=].item[=].item.answerOption[0].valueCoding = $unitsofmeasure#mg "mg" +* item.item[=].item[=].item[=].item.answerOption[+].valueCoding = $unitsofmeasure#ml "ml" +* item.item[=].item[=].item[+].extension.url = "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl" +* item.item[=].item[=].item[=].extension.valueCodeableConcept = $questionnaire-item-control#drop-down +* item.item[=].item[=].item[=].linkId = "regularmedications-summary-current-dosetiming" +* item.item[=].item[=].item[=].text = "Dose timing" +* item.item[=].item[=].item[=].type = #open-choice +* item.item[=].item[=].item[=].repeats = false +* item.item[=].item[=].item[=].answerValueSet = "http://hl7.org/fhir/ValueSet/timing-abbreviation" +*/ + +* item.item[=].item[=].item[+].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemPopulationContext" +* item.item[=].item[=].item[=].extension[=].valueExpression[+].name = "DosageRepeat" +* item.item[=].item[=].item[=].extension[=].valueExpression[=].language = #text/fhirpath +* item.item[=].item[=].item[=].extension[=].valueExpression[=].expression = "%MedicationStatementRepeat.dosage" +* item.item[=].item[=].item[=].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression" +* item.item[=].item[=].item[=].extension[=].valueExpression[+].language = #text/fhirpath +* item.item[=].item[=].item[=].extension[=].valueExpression[=].expression = "%DosageRepeat.text" +* item.item[=].item[=].item[=].linkId = "regularmedications-summary-current-dosage" +* item.item[=].item[=].item[=].text = "Dosage" +* item.item[=].item[=].item[=].type = #string +* item.item[=].item[=].item[=].repeats = true + + +* item.item[=].item[=].item[+].extension.url = "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl" +* item.item[=].item[=].item[=].extension.valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#autocomplete +* item.item[=].item[=].item[=].linkId = "regularmedications-summary-current-reasoncode" +* item.item[=].item[=].item[=].text = "Clinical indication" +* item.item[=].item[=].item[=].type = #open-choice +* item.item[=].item[=].item[=].repeats = true +* item.item[=].item[=].item[=].answerValueSet = "#medication-reason-taken-1" +* item.item[=].item[=].item[+].linkId = "regularmedications-summary-current-comment" +* item.item[=].item[=].item[=].text = "Comment" +* item.item[=].item[=].item[=].type = #string +* item.item[=].item[=].item[=].repeats = false + + +* item.item[+].linkId = "874ec8db-95c9-4cc0-95db-e45edaa3cd12" +* item.item[=].text = "Up to date in the health record?" +* item.item[=].type = #boolean +* item.item[=].repeats = false +* item.item[=].enableWhen[+].question = "6eb59145-ed9a-4184-af83-3506d47e4d4e" +* item.item[=].enableWhen[=].operator = #= +* item.item[=].enableWhen[=].answerCoding = http://terminology.hl7.org/CodeSystem/v2-0136#Y +* item.item[=].enableWhen[+].question = "3a2d27b6-e918-4df5-aca9-b374fcf9faad" +* item.item[=].enableWhen[=].operator = #= +* item.item[=].enableWhen[=].answerCoding = http://terminology.hl7.org/CodeSystem/v2-0136#Y +* item.item[=].enableBehavior = #any +* item.item[+].linkId = "36290837-ad70-48b2-9c66-31533fec918b" +* item.item[=].text = "Medication understanding and adherence has been checked with patient" +* item.item[=].extension[sdc-questionnaire-shortText].valueString = "Understanding and adherence checked" +* item.item[=].type = #boolean +* item.item[=].repeats = false +* item.item[=].enableWhen[+].question = "6eb59145-ed9a-4184-af83-3506d47e4d4e" +* item.item[=].enableWhen[=].operator = #= +* item.item[=].enableWhen[=].answerCoding = http://terminology.hl7.org/CodeSystem/v2-0136#Y +* item.item[=].enableWhen[+].question = "3a2d27b6-e918-4df5-aca9-b374fcf9faad" +* item.item[=].enableWhen[=].operator = #= +* item.item[=].enableWhen[=].answerCoding = http://terminology.hl7.org/CodeSystem/v2-0136#Y +* item.item[=].enableBehavior = #any + +* item.item[+].linkId = "aa9ff2ed-bcd2-406d-a9ff-89c201df2605" +* item.item[=].text = "Health priorities, actions and follow-up" +* item.item[=].type = #text +* item.item[=].repeats = false + +* item.item[+].linkId = "MarkComplete-23" +* item.item[=].text = "Mark section as complete" +* item.item[=].text.extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" +* item.item[=].type = #boolean +* item.item[=].repeats = false \ No newline at end of file diff --git a/input/fsh/extract-templates.fsh b/input/fsh/extract-templates.fsh new file mode 100644 index 00000000..e25ce0c8 --- /dev/null +++ b/input/fsh/extract-templates.fsh @@ -0,0 +1,250 @@ +Alias: $LNC = http://loinc.org +Alias: $SCT = http://snomed.info/sct +Alias: $UCUM = http://unitsofmeasure.org + + +Alias: $sdc-questionnaire-templateExtractContext = http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext +Alias: $condition-category = http://terminology.hl7.org/CodeSystem/condition-category +Alias: $allergyintolerance-clinical = http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical + +Alias: $au-core-bodyheight = http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyheight +Alias: $au-core-bodyweight = http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyweight +Alias: $au-core-waistcircum = http://hl7.org.au/fhir/core/StructureDefinition/au-core-waistcircum +Alias: $au-core-heartrate = http://hl7.org.au/fhir/core/StructureDefinition/au-core-heartrate +Alias: $au-core-bloodpressure = http://hl7.org.au/fhir/core/StructureDefinition/au-core-bloodpressure +Alias: $au-core-condition = http://hl7.org.au/fhir/core/StructureDefinition/au-core-condition +Alias: $au-core-allergyintolerance = http://hl7.org.au/fhir/core/StructureDefinition/au-core-allergyintolerance +Alias: $au-core-immunization = http://hl7.org.au/fhir/core/StructureDefinition/au-core-immunization + +Alias: $observation-category = http://terminology.hl7.org/CodeSystem/observation-category + +Instance: BodyHeight +InstanceOf: $au-core-bodyheight +Usage: #inline +* status = #final +* category[VSCat] = $observation-category#vital-signs +* code.coding[BodyHeightCode] = $LNC#8302-2 +* code.coding[snomedBodyHeightCode] = $SCT#50373000 +* code.text = "Height" +* subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* subject.reference.extension[=].valueString = "'Patient/' + %resource.repeat(item).where(linkId='patientIdExamination').answer.value" +* effectiveDateTime.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* effectiveDateTime.extension[=].valueString = "%resource.repeat(item).where(linkId='exam-height-date-2').answer.value.toDateTime()" +* valueQuantity.value.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* valueQuantity.value.extension[=].valueString = "$this.answer.value" +//* valueQuantity.value.extension[=].valueString = "%resource.repeat(item).where(linkId='7035c7e7-ada3-4c6b-9ea8-f39666f5d4ea').answer.value" +* valueQuantity.unit = "cm" +* valueQuantity.system = $UCUM +* valueQuantity.code = #cm + +Instance: BodyHeight3 +InstanceOf: $au-core-bodyheight +Usage: #inline +* status = #final +* category[VSCat] = $observation-category#vital-signs +* code.coding[BodyHeightCode] = $LNC#8302-2 +* code.coding[snomedBodyHeightCode] = $SCT#50373000 +* code.text = "Height" +* subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* subject.reference.extension[=].valueString = "'Patient/' + %resource.repeat(item).where(linkId='patientIdExamination').answer.value" +* effectiveDateTime.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* effectiveDateTime.extension[=].valueString = "item.where(linkId='exam-height-date-extract').answer.value.toDateTime()" +* valueQuantity.value.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* valueQuantity.value.extension[=].valueString = "item.where(linkId='exam-height-value-extract').answer.value" +//* valueQuantity.value.extension[=].valueString = "%resource.repeat(item).where(linkId='7035c7e7-ada3-4c6b-9ea8-f39666f5d4ea').answer.value" +* valueQuantity.unit = "cm" +* valueQuantity.system = $UCUM +* valueQuantity.code = #cm + +Instance: BodyWeight +InstanceOf: $au-core-bodyweight +Usage: #inline +* status = #final +* category[VSCat] = $observation-category#vital-signs +* code.coding[BodyWeightCode] = $LNC#29463-7 +* code.coding[snomedBodyWeightCode] = $SCT#27113001 +* code.text = "Weight" +* subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* subject.reference.extension[=].valueString = "'Patient/' + %resource.repeat(item).where(linkId='patientIdExamination').answer.value" +* effectiveDateTime.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* effectiveDateTime.extension[=].valueString = "%resource.repeat(item).where(linkId='exam-weight-date-2').answer.value.toDateTime()" +* valueQuantity.value.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* valueQuantity.value.extension[=].valueString = "$this.answer.value" +//* valueQuantity.value.extension[=].valueString = "%resource.repeat(item).where(linkId='443bd584-684a-449c-ab6e-9d07da4df9fa').answer.value" +* valueQuantity.unit = "kg" +* valueQuantity.system = $UCUM +* valueQuantity.code = #kg + +Instance: WaistCircumference +InstanceOf: $au-core-waistcircum +Usage: #inline +* status = #final +* category[VSCat] = $observation-category#vital-signs +* code.coding[loincWaistCircumCode] = $LNC#8280-0 +* code.coding[snomedWaistCircumCode] = $SCT#276361009 +* code.text = "Waist circumference" +* subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* subject.reference.extension[=].valueString = "'Patient/' + %resource.repeat(item).where(linkId='patientIdExamination').answer.value" +* effectiveDateTime.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* effectiveDateTime.extension[=].valueString = "%resource.repeat(item).where(linkId='exam-waist-circumference-date-2').answer.value.toDateTime()" +* valueQuantity.value.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* valueQuantity.value.extension[=].valueString = "$this.answer.value" +//* valueQuantity.value.extension[=].valueString = "%resource.repeat(item).where(linkId='8df0f5d8-821d-4f71-b3c1-d164616ea2f5').answer.value" +* valueQuantity.unit = "cm" +* valueQuantity.system = $UCUM +* valueQuantity.code = #cm + +Instance: HeartRate +InstanceOf: $au-core-heartrate +Usage: #inline +* status = #final +* category[VSCat] = $observation-category#vital-signs +* code.coding[HeartRateCode] = $LNC#8867-4 +* code.coding[snomedHeartRateCode] = $SCT#364075005 +* code.text = "Heart rate" +* subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* subject.reference.extension[=].valueString = "'Patient/' + %resource.repeat(item).where(linkId='patientIdExamination').answer.value" +* effectiveDateTime.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* effectiveDateTime.extension[=].valueString = "%resource.repeat(item).where(linkId='exam-heart-rate-date-2').answer.value.toDateTime()" +* valueQuantity.value.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* valueQuantity.value.extension[=].valueString = "$this.answer.value.toDecimal()" +//* valueQuantity.value.extension[=].valueString = "%resource.repeat(item).where(linkId='49029ef0-eaa8-44f8-b26a-177820c82dfd').answer.value.toDecimal()" +* valueQuantity.unit = "/min" +* valueQuantity.system = $UCUM +* valueQuantity.code = #/min + +Instance: HeartRhythm +InstanceOf: Observation +Usage: #inline +* status = #final +* category = $observation-category#vital-signs +* code.coding[+] = $LNC#8884-9 +* code.coding[+] = $SCT#364074009 +* code.text = "Heart rhythm" +* subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* subject.reference.extension[=].valueString = "'Patient/' + %resource.repeat(item).where(linkId='patientIdExamination').answer.value" +* effectiveDateTime.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* effectiveDateTime.extension[=].valueString = "%resource.repeat(item).where(linkId='exam-heart-rhythm-date-2').answer.value.toDateTime()" +* valueCodeableConcept.coding.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* valueCodeableConcept.coding.extension[=].valueString = "$this.answer.value" +//* valueCodeableConcept.coding.extension[=].valueString = "%resource.repeat(item).where(linkId='99a8eb6f-a36a-4daf-99d7-27bfde0d4bb1').answer.value" + +Instance: BloodPressure +InstanceOf: $au-core-bloodpressure +Usage: #inline +* status = #final +* category[VSCat] = $observation-category#vital-signs +* code.coding[BPCode] = $LNC#85354-9 +* code.coding[snomedBPCode] = $SCT#75367002 +* code.text = "Blood pressure" +* subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* subject.reference.extension[=].valueString = "'Patient/' + %resource.repeat(item).where(linkId='patientIdExamination').answer.value" +* effectiveDateTime.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* effectiveDateTime.extension[=].valueString = "%resource.repeat(item).where(linkId='exam-blood-pressure-date-2').answer.value.toDateTime()" +* component[SystolicBP].code.coding[SBPCode] = $LNC#8480-6 +* component[SystolicBP].code.coding[snomedSBP] = $SCT#271649006 +* component[SystolicBP].code.text = "Systolic" +* component[SystolicBP].valueQuantity.value.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* component[SystolicBP].valueQuantity.value.extension[=].valueString = "$this.answer.value.toDecimal()" +//* component[SystolicBP].valueQuantity.value.extension[=].valueString = "%resource.repeat(item).where(linkId='e68b660d-cfd2-4b89-957a-c96a4c73a5fd').answer.value.toDecimal()" +* component[SystolicBP].valueQuantity.unit = "mm[Hg]" +* component[SystolicBP].valueQuantity.system = $UCUM +* component[SystolicBP].valueQuantity.code = #mm[Hg] +* component[DiastolicBP].code.coding[DBPCode] = $LNC#8462-4 +* component[DiastolicBP].code.coding[snomedDBP] = $SCT#271650006 +* component[DiastolicBP].code.text = "Diastolic" +* component[DiastolicBP].valueQuantity.value.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* component[DiastolicBP].valueQuantity.value.extension[=].valueString = "%resource.repeat(item).where(linkId='exam-blood-pressure-diastolic-2').answer.value.toDecimal()" +* component[DiastolicBP].valueQuantity.unit = "mm[Hg]" +* component[DiastolicBP].valueQuantity.system = $UCUM +* component[DiastolicBP].valueQuantity.code = #mm[Hg] + +Instance: Condition +InstanceOf: $au-core-condition +Usage: #inline +* clinicalStatus.coding.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* clinicalStatus.coding.extension[=].valueString = "item.where(linkId='a7e056be-fb6f-4f7f-b04d-5b809e1e18e3').answer.value.first()" +* category.coding = $condition-category#problem-list-item +* code.coding.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* code.coding.extension[=].valueString = "item.where(linkId='2da85994-2d5e-42f1-8a81-abf44f397468').answer.value.first()" +* subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* subject.reference.extension[=].valueString = "'Patient/' + %resource.repeat(item).where(linkId='patientIdMedicalHistory').answer.valueString" +* onsetDateTime.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* onsetDateTime.extension[=].valueString = "item.where(linkId='e4524654-f6de-4717-b288-34919394d46b').answer.value.toDateTime()" + + +Instance: Parameters +// InstanceOf: http://hl7.org/fhir/StructureDefinition/fhirpath-patch +InstanceOf: Parameters +Usage: #inline +* parameter[+].name = "operation" +* parameter[=].part[+].name = "type" +* parameter[=].part[=].valueCode = #replace +* parameter[=].part[+].name = "path" +* parameter[=].part[=].valueString.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* parameter[=].part[=].valueString.extension[=].valueString = "Condition.clinicalStatus" +* parameter[=].part[+].name = "name" +* parameter[=].part[=].valueString = "coding" +* parameter[=].part[+].name = "value" +* parameter[=].part[=].valueCoding.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* parameter[=].part[=].valueCoding.extension[=].valueString = "item.where(linkId='88bcfad7-386b-4d87-b34b-2e50482e4d2c').answer.value.first()" + + +Instance: AllergyIntoleranceTemplate +InstanceOf: $au-core-allergyintolerance +Usage: #inline +* clinicalStatus.coding = $allergyintolerance-clinical#active +* code.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext" +* code.extension[=].valueString = "item.where(linkId='allergynew-substance').answer.value" +* code.coding.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* code.coding.extension[=].valueString = "ofType(Coding)" +* code.text.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* code.text.extension[=].valueString = "ofType(string)" +* patient.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* patient.reference.extension[=].valueString = "'Patient/' + item.where(linkId='patientIdAllergy').answer.valueString" +* note.text.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* note.text.extension[=].valueString = "item.where(linkId='allergynew-comment').answer.value" +* reaction.manifestation[+].extension.url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext" +* reaction.manifestation[=].extension.valueString = "item.where(linkId='allergynew-manifestation').answer.value.ofType(Coding)" +* reaction.manifestation[=].coding.extension.url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* reaction.manifestation[=].coding.extension.valueString = "$this" +* reaction.manifestation[+].extension.url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext" +* reaction.manifestation[=].extension.valueString = "item.where(linkId='allergynew-manifestation').answer.value.ofType(string)" +* reaction.manifestation[=].text.extension.url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* reaction.manifestation[=].text.extension.valueString = "$this" + +Instance: ImmunizationTemplate +InstanceOf: $au-core-immunization +Usage: #inline +* status = #completed +* vaccineCode.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext" +* vaccineCode.extension[=].valueString = "item.where(linkId='vaccinestoday-vaccine').answer.value" +* vaccineCode.coding.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* vaccineCode.coding.extension[=].valueString = "ofType(Coding)" +* vaccineCode.text.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* vaccineCode.text.extension[=].valueString = "ofType(string)" +* patient.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* patient.reference.extension[=].valueString = "'Patient/' + %resource.repeat(item).where(linkId='patientIdImmunization').answer.valueString" +* occurrenceDateTime.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* occurrenceDateTime.extension[=].valueString = "item.where(linkId='vaccinestoday-date').answer.value.toDateTime()" +* lotNumber.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* lotNumber.extension[=].valueString = "item.where(linkId='vaccinestoday-batch').answer.value" +* note.text.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* note.text.extension[=].valueString = "item.where(linkId='vaccinestoday-comment').answer.value" + +Instance: ConditionTemplate +InstanceOf: $au-core-condition +Usage: #inline +* clinicalStatus.coding.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* clinicalStatus.coding.extension[=].valueString = "item.where(linkId='a7e056be-fb6f-4f7f-b04d-5b809e1e18e3').answer.value.first()" +* category.coding = $condition-category#problem-list-item +* code.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext" +* code.extension[=].valueString = "item.where(linkId='2da85994-2d5e-42f1-8a81-abf44f397468').answer.value" +* code.coding.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* code.coding.extension[=].valueString = "ofType(Coding)" +* code.text.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* code.text.extension[=].valueString = "ofType(string)" +* subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* subject.reference.extension[=].valueString = "'Patient/' + %resource.repeat(item).where(linkId='patientIdMedicalHistory').answer.valueString" +* onsetDateTime.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* onsetDateTime.extension[=].valueString = "item.where(linkId='4d55bffb-3286-4a23-a785-3b9c346d464d').answer.value.toDateTime()" \ No newline at end of file diff --git a/input/fsh/terminology.fsh b/input/fsh/terminology.fsh index 1f982cbb..70153e62 100644 --- a/input/fsh/terminology.fsh +++ b/input/fsh/terminology.fsh @@ -1366,3 +1366,52 @@ Description: "The Tobacco Use Status value set includes values that may be used * $SCT|http://snomed.info/sct/32506021000036107/version/20250430#394872000 "Wants to quit" * $SCT|http://snomed.info/sct/32506021000036107/version/20250430#713914004 "Other tobacco use" +ValueSet: AustralianMedicinesTerminologyVaccine +Id: amt-vaccine-1 +Title: "Australian Medicines Terminology Vaccine" +Description: "The Australian Medicines Terminology (AMT) Vaccine value set includes AMT product concepts that may be used to record a vaccine product." +* ^meta.profile[0] = "http://hl7.org/fhir/StructureDefinition/shareablevalueset" +* ^meta.profile[+] = "https://healthterminologies.gov.au/fhir/StructureDefinition/composed-value-set-4" +* ^url = "https://healthterminologies.gov.au/fhir/ValueSet/amt-vaccine-1" +* ^identifier.system = "urn:ietf:rfc:3986" +* ^identifier.value = "urn:oid:1.2.36.1.2001.1004.201.10042" +* ^version = "1.0.2" +* ^status = #active +* ^experimental = false +* ^date = "2020-05-31" +* ^publisher = "Australian Digital Health Agency" +* ^contact.telecom.system = #email +* ^contact.telecom.value = "help@digitalhealth.gov.au" +* ^copyright = "Copyright © 2018 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\n This resource includes SNOMED Clinical Terms™ (SNOMED CT®) which is used by permission of the International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. “SNOMED” and “SNOMED CT” are registered trademarks of the IHTSDO. \n\nThe rights to use and implement or implementation of SNOMED CT content are limited to the extent it is necessary to allow for the end use of this material. No further rights are granted in respect of the International Release and no further use of any SNOMED CT content by any other party is permitted. \n\nAll copies of this resource must include this copyright statement and all information contained in this statement." +* include codes from system SNOMED_CT where concept in "1156291000168106" + +ValueSet: SmartHealthChecksMedication +Id: smarthealthchecks-medication +Title: "Smart Health Checks Medication" +Description: "The Smart Health Checks Medication value set includes Australian Medicines Terminology (AMT) product concepts that may be used for the identification of a medicine with form, ingredient and unit of measure details." +* ^meta.profile[0] = "http://hl7.org/fhir/StructureDefinition/shareablevalueset" +* ^meta.profile[+] = "https://healthterminologies.gov.au/fhir/StructureDefinition/composed-value-set-4" +* ^experimental = false +* include codes from system http://snomed.info/sct|http://snomed.info/sct/32506021000036107 where constraint = "^ 929360081000036101|Medicinal product pack reference set| AND ^ 929360071000036103|Medicinal product unit of use reference set| AND 929360041000036105|Trade product pack reference set| AND 929360031000036100|Trade product unit of use reference set| AND 929360051000036108|Containered trade product pack reference set|" + +Alias: $v3-ObservationValue = http://terminology.hl7.org/CodeSystem/v3-ObservationValue + +ValueSet: MedicationReasonTaken +Id: medication-reason-taken-1 +Title: "Medication Reason Taken" +Description: "The Medication Reason Taken value set includes values that identify a reason why a medication has been or is being taken." +* ^meta.profile[0] = "http://hl7.org/fhir/StructureDefinition/shareablevalueset" +* ^meta.profile[+] = "https://healthterminologies.gov.au/fhir/StructureDefinition/composed-value-set-4" +* ^url = "https://healthterminologies.gov.au/fhir/ValueSet/medication-reason-taken-1" +* ^identifier.system = "urn:ietf:rfc:3986" +* ^identifier.value = "urn:oid:1.2.36.1.2001.1004.201.10048" +* ^version = "1.1.0" +* ^status = #active +* ^experimental = false +* ^date = "2020-07-31" +* ^publisher = "Australian Digital Health Agency" +* ^contact.telecom.system = #email +* ^contact.telecom.value = "help@digitalhealth.gov.au" +* ^copyright = "Copyright © 2020 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\nThis resource includes SNOMED Clinical Terms™ (SNOMED CT®) which is used by permission of the International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. “SNOMED” and “SNOMED CT” are registered trademarks of the IHTSDO. \n\nThe rights to use and implement or implementation of SNOMED CT content are limited to the extent it is necessary to allow for the end use of this material. No further rights are granted in respect of the International Release and no further use of any SNOMED CT content by any other party is permitted.\n\nAll copies of this resource must include this copyright statement and all information contained in this statement." +* include codes from system SNOMED_CT + where constraint = "^ 32570581000036105|Problem/Diagnosis reference set| OR ^ 1184831000168105|Drug prophylaxis reference set| OR << 399097000|Administration of anaesthesia| OR 169443000|Preventive procedure|" \ No newline at end of file diff --git a/sushi-config.yaml b/sushi-config.yaml index b76b5e05..2164ce5a 100644 --- a/sushi-config.yaml +++ b/sushi-config.yaml @@ -26,8 +26,8 @@ publisher: # dependencies: - hl7.fhir.au.core: 1.0.0 - hl7.fhir.uv.sdc: 3.0.0 + hl7.fhir.au.core: 1.1.0-preview + hl7.fhir.uv.sdc: current hl7.fhir.uv.smart-app-launch: 2.2.0 # # From 6a774c5ad104330825acf714e2b7ea2427744219 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Fri, 23 May 2025 11:04:07 +1000 Subject: [PATCH 069/177] More extract development - examination, medication --- ...ntationGuide-csiro.fhir.au.smartforms.json | 14 + .../Questionnaire-ExaminationExtract.json | 1830 +++++++++++++++++ .../Questionnaire-RegularMedications.json | 406 +++- ...ValueSet-smarthealthchecks-medication.json | 2 +- .../fsh/715-Assessment-ExaminationExtract.fsh | 720 +++++++ .../fsh/715-Assessment-RegularMedications.fsh | 106 +- input/fsh/extract-templates.fsh | 33 +- input/fsh/terminology.fsh | 2 +- smartforms-template/package/.index.db | Bin 12288 -> 12288 bytes smartforms-template/package/content/.index.db | Bin 12288 -> 12288 bytes .../package/content/assets/.index.db | Bin 12288 -> 12288 bytes .../package/content/assets/css/.index.db | Bin 12288 -> 12288 bytes .../package/content/assets/images/.index.db | Bin 12288 -> 12288 bytes .../package/includes/.index.db | Bin 12288 -> 12288 bytes sushi-config.yaml | 1 + 15 files changed, 2982 insertions(+), 132 deletions(-) create mode 100644 fsh-generated/resources/Questionnaire-ExaminationExtract.json create mode 100644 input/fsh/715-Assessment-ExaminationExtract.fsh diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index 2e5c5ccf..78a29d35 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -44,6 +44,12 @@ "version": "2.2.0", "uri": "http://hl7.org/fhir/smart-app-launch/ImplementationGuide/hl7.fhir.uv.smart-app-launch", "id": "hl7_fhir_uv_smart_app_launch" + }, + { + "packageId": "hl7.fhir.uv.extensions.r5", + "version": "5.2.0", + "uri": "http://hl7.org/fhir/extensions/ImplementationGuide/hl7.fhir.uv.extensions", + "id": "hl7_fhir_uv_extensions_r5" } ], "definition": { @@ -127,6 +133,14 @@ "description": "Examination sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", "exampleBoolean": true }, + { + "reference": { + "reference": "Questionnaire/ExaminationExtract" + }, + "name": "Aboriginal and Torres Strait Islander Health Check - Examination", + "description": "Examination sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", + "exampleBoolean": true + }, { "reference": { "reference": "Questionnaire/EyeHealth" diff --git a/fsh-generated/resources/Questionnaire-ExaminationExtract.json b/fsh-generated/resources/Questionnaire-ExaminationExtract.json new file mode 100644 index 00000000..acffd0f9 --- /dev/null +++ b/fsh-generated/resources/Questionnaire-ExaminationExtract.json @@ -0,0 +1,1830 @@ +{ + "resourceType": "Questionnaire", + "id": "ExaminationExtract", + "meta": { + "profile": [ + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render", + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular", + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" + ] + }, + "item": [ + { + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "context-display", + "system": "https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended" + } + ] + } + } + ], + "linkId": "CD-in-progress-7", + "text": "In progress", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" + } + ] + }, + "type": "display", + "enableWhen": [ + { + "question": "MarkComplete-7", + "operator": "!=", + "answerBoolean": true + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "context-display", + "system": "https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended" + } + ] + } + } + ], + "linkId": "CD-complete-7", + "text": "Complete", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" + } + ] + }, + "type": "display", + "enableWhen": [ + { + "question": "MarkComplete-7", + "operator": "=", + "answerBoolean": true + } + ] + }, + { + "linkId": "d15824f8-eafc-4fa0-80a2-82f0ec7f8728", + "text": "Growth measures recorded on Centers for Disease Control and Prevention (CDC) and World Health Organization (WHO) growth charts for centile and tracking overtime", + "type": "display" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-hidden", + "valueBoolean": true + }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%patient.id" + } + } + ], + "linkId": "patientIdExamination", + "type": "string" + }, + { + "linkId": "examinationinstruction", + "text": "The tabled observations will display the most recent results available from the patient record. If required, new observations can be recorded and added to the tables.", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
The tabled observations will display the most recent results available from the patient record. If required, new observations can be recorded and added to the tables.

\r\n
" + } + ] + }, + "type": "display" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "grid", + "system": "http://hl7.org/fhir/questionnaire-item-control", + "version": "1.0.0" + } + ] + } + } + ], + "item": [ + { + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%ObsBodyHeight.entry.resource.value.value" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", + "valueCoding": { + "code": "cm", + "system": "http://unitsofmeasure.org" + } + } + ], + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "unit", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + } + ], + "linkId": "e73c3643-8898-4ef8-8bc9-b4b3826ab790", + "text": "cm", + "type": "display" + } + ], + "linkId": "837cd0ce-4a9e-4c8b-8679-007ed961f121", + "text": "Last result", + "type": "decimal", + "repeats": false, + "readOnly": true + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%ObsBodyHeight.entry.resource.effective" + } + } + ], + "linkId": "b9faf79e-b5f7-443a-9203-67532e3a381f", + "text": "Last result date", + "type": "date", + "repeats": false, + "readOnly": true + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", + "valueCoding": { + "code": "cm", + "system": "http://unitsofmeasure.org" + } + } + ], + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "unit", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + } + ], + "linkId": "obslengthheight-newresult-unit", + "text": "cm", + "type": "display" + } + ], + "linkId": "obs-lengthheight-newresult", + "text": "New result", + "type": "decimal", + "repeats": false + }, + { + "linkId": "obs-lengthheight-newdate", + "text": "New result date", + "type": "date", + "repeats": false + } + ], + "linkId": "4e32e9b2-82e6-41ea-9545-79e928f7d6c2", + "text": "Length/Height", + "type": "group", + "repeats": false + }, + { + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%ObsBodyHeight.entry.resource.value.value" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", + "valueCoding": { + "code": "cm", + "system": "http://unitsofmeasure.org" + } + } + ], + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "unit", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + } + ], + "linkId": "387c95f0-8b54-4ad7-992d-8ab26a34fd77", + "text": "cm", + "type": "display" + } + ], + "linkId": "7035c7e7-ada3-4c6b-9ea8-f39666f5d4ea", + "text": "Last result", + "type": "decimal", + "repeats": false, + "readOnly": true + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%ObsBodyHeight.entry.resource.effective" + } + } + ], + "linkId": "c666ac96-1e64-40e2-8e0b-7d0187bb3e50", + "text": "Last result date", + "type": "date", + "repeats": false, + "readOnly": true + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", + "valueCoding": { + "code": "cm", + "system": "http://unitsofmeasure.org" + } + } + ], + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "unit", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + } + ], + "linkId": "obs-height-newresult-unit", + "text": "cm", + "type": "display" + } + ], + "linkId": "obs-height-newresult", + "text": "New result", + "type": "decimal", + "repeats": false + }, + { + "linkId": "obs-height-newdate", + "text": "New result date", + "type": "date", + "repeats": false + } + ], + "linkId": "6226a5c5-b5c3-4ebb-a689-2b286322cfe0", + "text": "Height", + "type": "group", + "repeats": false + }, + { + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%ObsBodyWeight.entry.resource.value.value" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", + "valueCoding": { + "code": "kg", + "system": "http://unitsofmeasure.org" + } + } + ], + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "unit", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + } + ], + "linkId": "5ba0d699-bc2a-45d0-8f40-f53cb21dc911", + "text": "kg", + "type": "display" + } + ], + "linkId": "443bd584-684a-449c-ab6e-9d07da4df9fa", + "text": "Last result", + "type": "decimal", + "repeats": false, + "readOnly": true + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%ObsBodyWeight.entry.resource.effective" + } + } + ], + "linkId": "92cdc1c7-eb6c-4f6d-9bd9-ae726a0e0d3d", + "text": "Last result date", + "type": "date", + "repeats": false, + "readOnly": true + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", + "valueCoding": { + "code": "kg", + "system": "http://unitsofmeasure.org" + } + } + ], + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "unit", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + } + ], + "linkId": "obs-weight-newresult-unit", + "text": "kg", + "type": "display" + } + ], + "linkId": "obs-weight-newresult", + "text": "New result", + "type": "decimal", + "repeats": false + }, + { + "linkId": "obs-weight-newdate", + "text": "New result date", + "type": "date", + "repeats": false + } + ], + "linkId": "97ed4c86-8820-4e4d-9234-0e0e8b6ca44a", + "text": "Weight", + "type": "group", + "repeats": false + }, + { + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression", + "valueExpression": { + "description": "BMI calculation", + "language": "text/fhirpath", + "expression": "(%weight/((%height/100).power(2))).round(1)" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", + "valueCoding": { + "code": "kg/m2", + "system": "http://unitsofmeasure.org" + } + } + ], + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "unit", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + } + ], + "linkId": "a709b8ec-9e65-40f0-a781-500cb3e56f3c", + "text": "kg/m2", + "type": "display" + } + ], + "linkId": "2ada6633-03c6-4b05-bc23-18dec84ec150", + "text": "Last result", + "type": "decimal", + "repeats": false, + "readOnly": true + }, + { + "linkId": "obs-bmi-spacer", + "text": "Last result date", + "type": "string", + "repeats": false, + "readOnly": true + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression", + "valueExpression": { + "description": "BMI calculation", + "language": "text/fhirpath", + "expression": "(%weight2/((%height2/100).power(2))).round(1)" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", + "valueCoding": { + "code": "kg/m2", + "system": "http://unitsofmeasure.org" + } + } + ], + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "unit", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + } + ], + "linkId": "obs-bmi-newresult-unit", + "text": "kg/m2", + "type": "display" + } + ], + "linkId": "obs-bmi-newresult", + "text": "New result", + "type": "decimal", + "repeats": false, + "readOnly": true + } + ], + "linkId": "bc209c5e-ed28-48e3-b1a1-55cb7e435d8b", + "text": "BMI", + "type": "group", + "repeats": false + }, + { + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%ObsHeadCircumference.entry.resource.value.value" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", + "valueCoding": { + "code": "cm", + "system": "http://unitsofmeasure.org" + } + } + ], + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "unit", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + } + ], + "linkId": "73937983-65a0-4d40-8600-de7ca3277d5e", + "text": "cm", + "type": "display" + } + ], + "linkId": "7a4a6aac-558e-4bec-86c5-326ae07e37d6", + "text": "Last result", + "type": "decimal", + "repeats": false, + "readOnly": true + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%ObsHeadCircumference.entry.resource.effective" + } + } + ], + "linkId": "b8da15e7-8648-492b-9e82-ad5ab7cad179", + "text": "Last result date", + "type": "date", + "repeats": false, + "readOnly": true + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", + "valueCoding": { + "code": "cm", + "system": "http://unitsofmeasure.org" + } + } + ], + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "unit", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + } + ], + "linkId": "obs-headcircumference-newresult-unit", + "text": "cm", + "type": "display" + } + ], + "linkId": "obs-headcircumference-newresult", + "text": "New result", + "type": "decimal", + "repeats": false + }, + { + "linkId": "obs-headcircumference-newdate", + "text": "New result date", + "type": "date", + "repeats": false + } + ], + "linkId": "d3557f55-1abf-401c-aada-2d4380151c56", + "text": "Head circumference", + "type": "group", + "repeats": false + }, + { + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%ObsWaistCircumference.entry.resource.value.value" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", + "valueCoding": { + "code": "cm", + "system": "http://unitsofmeasure.org" + } + } + ], + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "unit", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + } + ], + "linkId": "19aeb0ab-7494-4bac-8b2d-d7d2527c1f4a", + "text": "cm", + "type": "display" + } + ], + "linkId": "8df0f5d8-821d-4f71-b3c1-d164616ea2f5", + "text": "Last result", + "type": "decimal", + "repeats": false, + "readOnly": true + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%ObsWaistCircumference.entry.resource.effective" + } + } + ], + "linkId": "3eb3b929-e67a-4331-8949-b8447b66a4c7", + "text": "Last result date", + "type": "date", + "repeats": false, + "readOnly": true + }, + { + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "unit", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + } + ], + "linkId": "obs-waistcircumference-newresult-unit", + "text": "cm", + "type": "display" + } + ], + "linkId": "obs-waistcircumference-newresult", + "text": "New result", + "type": "decimal", + "repeats": false + }, + { + "linkId": "obs-waistcircumference-newdate", + "text": "New result date", + "type": "date", + "repeats": false + } + ], + "linkId": "ec884b64-ed8d-485b-930f-e7ac18ad4cc9", + "text": "Waist circumference", + "type": "group", + "repeats": false + }, + { + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%ObsHeartRate.entry.resource.value.value" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", + "valueCoding": { + "code": "/min", + "system": "http://unitsofmeasure.org" + } + } + ], + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "unit", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + } + ], + "linkId": "090964b9-be33-438b-8465-2a2a09632fde", + "text": "/min", + "type": "display" + } + ], + "linkId": "49029ef0-eaa8-44f8-b26a-177820c82dfd", + "text": "Last result", + "type": "integer", + "repeats": false, + "readOnly": true + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%ObsHeartRate.entry.resource.effective" + } + } + ], + "linkId": "feeac08f-2ba6-4048-80a2-10b3f90cf5e3", + "text": "Last result date", + "type": "date", + "repeats": false, + "readOnly": true + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", + "valueCoding": { + "code": "/min", + "system": "http://unitsofmeasure.org" + } + } + ], + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "unit", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + } + ], + "linkId": "obs-heartrate-newresult-unit", + "text": "/min", + "type": "display" + } + ], + "linkId": "obs-heartrate-newresult", + "text": "New result", + "type": "integer", + "repeats": false + }, + { + "linkId": "obs-heartrate-newdate", + "text": "New result date", + "type": "date", + "repeats": false + } + ], + "linkId": "3d3e1079-d225-447b-959b-4caddc057f7d", + "text": "Heart rate", + "type": "group", + "repeats": false + }, + { + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "radio-button", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + } + ], + "linkId": "99a8eb6f-a36a-4daf-99d7-27bfde0d4bb1", + "text": "Last result", + "type": "choice", + "repeats": false, + "readOnly": true, + "answerOption": [ + { + "valueCoding": { + "code": "271636001", + "system": "http://snomed.info/sct", + "display": "Pulse regular" + } + }, + { + "valueCoding": { + "code": "61086009", + "system": "http://snomed.info/sct", + "display": "Pulse irregular" + } + } + ] + }, + { + "linkId": "eeb56682-0eae-4428-9c37-0e63852026c0", + "text": "Last result date", + "type": "date", + "repeats": false, + "readOnly": true + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "radio-button", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + } + ], + "linkId": "obs-heartrhythm-newresult", + "text": "New result", + "type": "choice", + "repeats": false, + "answerOption": [ + { + "valueCoding": { + "code": "271636001", + "system": "http://snomed.info/sct", + "display": "Pulse regular" + } + }, + { + "valueCoding": { + "code": "61086009", + "system": "http://snomed.info/sct", + "display": "Pulse irregular" + } + } + ] + }, + { + "linkId": "obs-heartrhythm-newdate", + "text": "New result date", + "type": "date", + "repeats": false + } + ], + "linkId": "8d3d05cc-64bc-47ae-b989-060bac838d1c", + "text": "Heart rhythm", + "type": "group", + "repeats": false + } + ], + "linkId": "53d5d5a6-3198-4bec-92ac-03fe7d77fb68", + "type": "group", + "repeats": false + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "grid", + "system": "http://hl7.org/fhir/questionnaire-item-control", + "version": "1.0.0" + } + ] + } + } + ], + "item": [ + { + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8480-6')).value.value" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", + "valueCoding": { + "code": "mm[Hg]", + "system": "http://unitsofmeasure.org" + } + } + ], + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "unit", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + } + ], + "linkId": "197d212d-72cc-4c85-91dc-2f030d384391", + "text": "mm Hg", + "type": "display" + } + ], + "linkId": "e68b660d-cfd2-4b89-957a-c96a4c73a5fd", + "text": "Systolic", + "type": "integer", + "repeats": false + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8462-4')).value.value" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", + "valueCoding": { + "code": "mm[Hg]", + "system": "http://unitsofmeasure.org" + } + } + ], + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "unit", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + } + ], + "linkId": "416ee494-4fa2-4b29-af0b-3d022f686e39", + "text": "mm Hg", + "type": "display" + } + ], + "linkId": "867b0022-f812-4f80-b287-79686c972b15", + "text": "Diastolic", + "type": "integer", + "repeats": false + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%ObsBloodPressure.entry.resource.effective" + } + } + ], + "linkId": "a005050c-ed79-46ed-ac14-2fc1496059a5", + "text": "Date performed", + "type": "date", + "repeats": false + } + ], + "linkId": "705f6d04-acab-4d14-baab-98f9bfc4808e", + "text": "Last blood pressure", + "type": "group", + "repeats": false, + "readOnly": true + }, + { + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", + "valueCoding": { + "code": "mm[Hg]", + "system": "http://unitsofmeasure.org" + } + } + ], + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "unit", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + } + ], + "linkId": "bp-newbp-systolic-unit", + "text": "mm Hg", + "type": "display" + } + ], + "linkId": "bp-newbp-systolic", + "text": "Systolic", + "type": "integer", + "repeats": false + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", + "valueCoding": { + "code": "mm[Hg]", + "system": "http://unitsofmeasure.org" + } + } + ], + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "unit", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + } + ], + "linkId": "bp-newbp-diastolic-unit", + "text": "mm Hg", + "type": "display" + } + ], + "linkId": "bp-newbp-diastolic", + "text": "Diastolic", + "type": "integer", + "repeats": false + }, + { + "linkId": "bp-newbp-date", + "text": "Date performed", + "type": "date", + "repeats": false + } + ], + "linkId": "705f6d04-acab-4d14-baab-98f9bfc4808e", + "text": "New blood pressure", + "type": "group", + "repeats": false + } + ], + "linkId": "3639c586-9576-48d3-a52b-e91fd2138581", + "type": "group", + "repeats": false + }, + { + "linkId": "213a3eac-e530-4e27-859c-407136c7a0a6", + "text": "Cardiac auscultation", + "type": "text", + "repeats": false + }, + { + "linkId": "8886f3bb-52de-4294-a5cb-8f960e2a6bbe", + "text": "Abdominal examination", + "type": "text", + "repeats": false + }, + { + "linkId": "5e10229c-390d-4968-90d3-f896840f3c50", + "text": "Gait examination (musculoskeletal structure, balance, coordination)", + "type": "text", + "repeats": false + }, + { + "linkId": "6c69ee91-f777-494c-bf09-d963773cd4ae", + "text": "Newborn examination (if indicated, infant aged <=6 weeks)", + "type": "text", + "repeats": false + }, + { + "linkId": "7a431d03-1726-4905-aae7-49f62a10ce5e", + "text": "Haemoglobin (children at risk of iron deficiency anaemia)", + "type": "string", + "repeats": false + }, + { + "linkId": "fcbfa6e1-c101-4675-969d-aa11027859c2", + "text": "Health priorities, actions and follow-up", + "type": "text", + "repeats": false + }, + { + "linkId": "MarkComplete-7", + "text": "Mark section as complete", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + } + ] + }, + "type": "boolean", + "repeats": false + } + ], + "linkId": "c587e3b6-b91a-40dc-9a16-179342d001e9", + "text": "Examination", + "type": "group", + "repeats": false + } + ], + "contained": [ + { + "resourceType": "Observation", + "id": "BodyHeight", + "meta": { + "profile": [ + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyheight" + ] + }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs" + } + ] + } + ], + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "8302-2" + }, + { + "system": "http://snomed.info/sct", + "code": "50373000" + } + ], + "text": "Height" + }, + "valueQuantity": { + "system": "http://unitsofmeasure.org", + "unit": "cm", + "code": "cm", + "_value": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "$this.answer.value" + } + ] + } + }, + "status": "final", + "subject": { + "_reference": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "'Patient/' + %resource.repeat(item).where(linkId='patientIdExamination').answer.value" + } + ] + } + }, + "_effectiveDateTime": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.repeat(item).where(linkId='exam-height-date-2').answer.value.toDateTime()" + } + ] + } + }, + { + "resourceType": "Observation", + "id": "BodyWeight", + "meta": { + "profile": [ + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyweight" + ] + }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs" + } + ] + } + ], + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "29463-7" + }, + { + "system": "http://snomed.info/sct", + "code": "27113001" + } + ], + "text": "Weight" + }, + "valueQuantity": { + "system": "http://unitsofmeasure.org", + "unit": "kg", + "code": "kg", + "_value": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "$this.answer.value" + } + ] + } + }, + "status": "final", + "subject": { + "_reference": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "'Patient/' + %resource.repeat(item).where(linkId='patientIdExamination').answer.value" + } + ] + } + }, + "_effectiveDateTime": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.repeat(item).where(linkId='exam-weight-date-2').answer.value.toDateTime()" + } + ] + } + }, + { + "resourceType": "Observation", + "id": "WaistCircumference", + "meta": { + "profile": [ + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-waistcircum" + ] + }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs" + } + ] + } + ], + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "8280-0" + }, + { + "system": "http://snomed.info/sct", + "code": "276361009" + } + ], + "text": "Waist circumference" + }, + "valueQuantity": { + "system": "http://unitsofmeasure.org", + "unit": "cm", + "code": "cm", + "_value": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "$this.answer.value" + } + ] + } + }, + "status": "final", + "subject": { + "_reference": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "'Patient/' + %resource.repeat(item).where(linkId='patientIdExamination').answer.value" + } + ] + } + }, + "_effectiveDateTime": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.repeat(item).where(linkId='exam-waist-circumference-date-2').answer.value.toDateTime()" + } + ] + } + }, + { + "resourceType": "Observation", + "id": "HeartRate", + "meta": { + "profile": [ + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-heartrate" + ] + }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs" + } + ] + } + ], + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "8867-4" + }, + { + "system": "http://snomed.info/sct", + "code": "364075005" + } + ], + "text": "Heart rate" + }, + "valueQuantity": { + "system": "http://unitsofmeasure.org", + "code": "/min", + "unit": "/min", + "_value": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "$this.answer.value.toDecimal()" + } + ] + } + }, + "status": "final", + "subject": { + "_reference": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "'Patient/' + %resource.repeat(item).where(linkId='patientIdExamination').answer.value" + } + ] + } + }, + "_effectiveDateTime": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.repeat(item).where(linkId='exam-heart-rate-date-2').answer.value.toDateTime()" + } + ] + } + }, + { + "resourceType": "Observation", + "id": "HeartRhythm", + "status": "final", + "category": [ + { + "coding": [ + { + "code": "vital-signs", + "system": "http://terminology.hl7.org/CodeSystem/observation-category" + } + ] + } + ], + "code": { + "coding": [ + { + "code": "8884-9", + "system": "http://loinc.org" + }, + { + "code": "364074009", + "system": "http://snomed.info/sct" + } + ], + "text": "Heart rhythm" + }, + "subject": { + "_reference": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "'Patient/' + %resource.repeat(item).where(linkId='patientIdExamination').answer.value" + } + ] + } + }, + "valueCodeableConcept": { + "coding": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "$this.answer.value" + } + ] + } + ] + }, + "_effectiveDateTime": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.repeat(item).where(linkId='exam-heart-rhythm-date-2').answer.value.toDateTime()" + } + ] + } + }, + { + "resourceType": "Observation", + "id": "BloodPressure", + "meta": { + "profile": [ + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bloodpressure" + ] + }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs" + } + ] + } + ], + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "85354-9" + }, + { + "system": "http://snomed.info/sct", + "code": "75367002" + } + ], + "text": "Blood pressure" + }, + "component": [ + { + "valueQuantity": { + "system": "http://unitsofmeasure.org", + "code": "mm[Hg]", + "unit": "mm[Hg]", + "_value": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "$this.answer.value.toDecimal()" + } + ] + } + }, + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "8480-6" + }, + { + "system": "http://snomed.info/sct", + "code": "271649006" + } + ], + "text": "Systolic" + } + }, + { + "valueQuantity": { + "system": "http://unitsofmeasure.org", + "code": "mm[Hg]", + "unit": "mm[Hg]", + "_value": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.repeat(item).where(linkId='exam-blood-pressure-diastolic-2').answer.value.toDecimal()" + } + ] + } + }, + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "8462-4" + }, + { + "system": "http://snomed.info/sct", + "code": "271650006" + } + ], + "text": "Diastolic" + } + } + ], + "status": "final", + "subject": { + "_reference": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "'Patient/' + %resource.repeat(item).where(linkId='patientIdExamination').answer.value" + } + ] + } + }, + "_effectiveDateTime": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.repeat(item).where(linkId='exam-blood-pressure-date-2').answer.value.toDateTime()" + } + ] + } + } + ], + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assemble-expectation", + "valueCode": "assemble-child" + }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext", + "extension": [ + { + "url": "name", + "valueCoding": { + "code": "patient", + "system": "http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext" + } + }, + { + "url": "type", + "valueCode": "Patient" + }, + { + "url": "description", + "valueString": "The patient that is to be used to pre-populate the form" + } + ] + }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext", + "extension": [ + { + "url": "name", + "valueCoding": { + "code": "user", + "system": "http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext" + } + }, + { + "url": "type", + "valueCode": "Practitioner" + }, + { + "url": "description", + "valueString": "The practitioner user that is to be used to pre-populate the form" + } + ] + }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext", + "extension": [ + { + "url": "name", + "valueCoding": { + "code": "encounter", + "system": "http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext" + } + }, + { + "url": "type", + "valueCode": "Encounter" + }, + { + "url": "description", + "valueString": "The encounter that is to be used to pre-populate the form" + } + ] + }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", + "valueString": "ObsBloodPressure" + }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", + "valueString": "age" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsWaistCircumference", + "language": "application/x-fhir-query", + "expression": "Observation?code=8280-0&_count=1&_sort=-date&patient={{%patient.id}}" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsHeartRate", + "language": "application/x-fhir-query", + "expression": "Observation?code=8867-4&_count=1&_sort=-date&patient={{%patient.id}}" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsBodyHeight", + "language": "application/x-fhir-query", + "expression": "Observation?code=8302-2&_count=1&_sort=-date&patient={{%patient.id}}" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsBodyWeight", + "language": "application/x-fhir-query", + "expression": "Observation?code=29463-7&_count=1&_sort=-date&patient={{%patient.id}}" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsHeadCircumference", + "language": "application/x-fhir-query", + "expression": "Observation?code=9843-4&_count=1&_sort=-date&patient={{%patient.id}}" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "weight", + "language": "text/fhirpath", + "expression": "item.where(linkId='c587e3b6-b91a-40dc-9a16-179342d001e9').item.where(linkId='53d5d5a6-3198-4bec-92ac-03fe7d77fb68').item.where(linkId='97ed4c86-8820-4e4d-9234-0e0e8b6ca44a').item.where(linkId='443bd584-684a-449c-ab6e-9d07da4df9fa').answer.value" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "height", + "language": "text/fhirpath", + "expression": "item.where(linkId='c587e3b6-b91a-40dc-9a16-179342d001e9').item.where(linkId='53d5d5a6-3198-4bec-92ac-03fe7d77fb68').item.where(linkId='6226a5c5-b5c3-4ebb-a689-2b286322cfe0').item.where(linkId='7035c7e7-ada3-4c6b-9ea8-f39666f5d4ea').answer.value" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "weight2", + "language": "text/fhirpath", + "expression": "item.where(linkId='c587e3b6-b91a-40dc-9a16-179342d001e9').item.where(linkId='53d5d5a6-3198-4bec-92ac-03fe7d77fb68').item.where(linkId='97ed4c86-8820-4e4d-9234-0e0e8b6ca44a').item.where(linkId='obs-weight-newresult').answer.value" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "height2", + "language": "text/fhirpath", + "expression": "item.where(linkId='c587e3b6-b91a-40dc-9a16-179342d001e9').item.where(linkId='53d5d5a6-3198-4bec-92ac-03fe7d77fb68').item.where(linkId='6226a5c5-b5c3-4ebb-a689-2b286322cfe0').item.where(linkId='obs-height-newresult').answer.value" + } + } + ], + "url": "http://www.health.gov.au/assessments/mbs/715/Examination", + "name": "Examination", + "title": "Aboriginal and Torres Strait Islander Health Check - Examination", + "status": "draft", + "experimental": false, + "subjectType": [ + "Patient" + ], + "date": "2025-03-14", + "jurisdiction": [ + { + "coding": [ + { + "code": "AU", + "system": "urn:iso:std:iso:3166" + } + ] + } + ] +} diff --git a/fsh-generated/resources/Questionnaire-RegularMedications.json b/fsh-generated/resources/Questionnaire-RegularMedications.json index 64e397e5..5b38c168 100644 --- a/fsh-generated/resources/Questionnaire-RegularMedications.json +++ b/fsh-generated/resources/Questionnaire-RegularMedications.json @@ -91,88 +91,6 @@ "type": "display" }, { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%age <= 12" - } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "code": "radio-button", - "system": "http://hl7.org/fhir/questionnaire-item-control" - } - ] - } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-choiceOrientation", - "valueCode": "horizontal" - }, - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-shortText", - "valueString": "Does your child take any regular medications?" - } - ], - "linkId": "6eb59145-ed9a-4184-af83-3506d47e4d4e", - "text": "Does your child take any regular medications (prescribed, over-the-counter, traditional, complementary and alternative)?", - "type": "choice", - "repeats": false, - "answerValueSet": "#YesNo" - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%age > 12" - } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "code": "radio-button", - "system": "http://hl7.org/fhir/questionnaire-item-control" - } - ] - } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-choiceOrientation", - "valueCode": "horizontal" - }, - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-shortText", - "valueString": "Do you take any regular medications?" - } - ], - "linkId": "3a2d27b6-e918-4df5-aca9-b374fcf9faad", - "text": "Do you take any regular medications (prescribed, over-the-counter, traditional, complementary and alternative)?", - "type": "choice", - "repeats": false, - "answerValueSet": "#YesNo" - }, - { - "linkId": "regularmedications-summary", - "text": "Medication summary", - "_text": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n

Medication summary

\r\n

This section includes a list of existing items from the patient record. To update existing items, update the patient record and repopulate this form. To enter new items, add them at the bottom.

\r\n
" - } - ] - }, - "type": "group", - "repeats": false, "item": [ { "extension": [ @@ -186,9 +104,9 @@ } ], "linkId": "regularmedications-summary-current", - "text": "Current medication summary", "type": "group", "repeats": true, + "readOnly": true, "item": [ { "extension": [ @@ -240,6 +158,103 @@ "type": "string", "repeats": true }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "autocomplete", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%MedicationStatementRepeat.reasonCode.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first())" + } + } + ], + "linkId": "regularmedications-summary-current-reasoncode", + "text": "Clinical indication", + "type": "open-choice", + "repeats": true, + "answerValueSet": "#medication-reason-taken-1" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemPopulationContext", + "valueExpression": { + "name": "MedicationStatementNoteRepeat", + "language": "text/fhirpath", + "expression": "%MedicationStatementRepeat.note" + } + }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%MedicationStatementNoteRepeat.text" + } + } + ], + "linkId": "regularmedications-summary-current-comment", + "text": "Comment", + "type": "string", + "repeats": true + } + ] + }, + { + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-hidden", + "valueBoolean": true + }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%patient.id" + } + } + ], + "linkId": "patientIdMedicationStatement", + "type": "string" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "autocomplete", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + } + ], + "linkId": "regularmedications-summary-current-medication", + "text": "Medication", + "type": "open-choice", + "repeats": false, + "answerValueSet": "#smarthealthchecks-medication" + }, + { + "linkId": "regularmedications-summary-current-dosage", + "text": "Dosage", + "type": "string", + "repeats": true + }, { "extension": [ { @@ -266,34 +281,99 @@ "type": "string", "repeats": false } - ] + ], + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract", + "extension": [ + { + "url": "template", + "valueReference": { + "reference": "#MedicationStatementTemplate" + } + } + ] + } + ], + "linkId": "regularmedications-summary-new", + "type": "group", + "repeats": true } - ] + ], + "linkId": "regularmedications-summary", + "text": "Medication summary", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
\r\n

Medication summary

\r\n

This section includes a list of existing items from the patient record. To update existing items, update the patient record and repopulate this form. To enter new items, add them at the bottom.

\r\n
" + } + ] + }, + "type": "group", + "repeats": false }, { - "linkId": "874ec8db-95c9-4cc0-95db-e45edaa3cd12", - "text": "Up to date in the health record?", - "type": "boolean", - "repeats": false, - "enableWhen": [ + "extension": [ { - "question": "6eb59145-ed9a-4184-af83-3506d47e4d4e", - "operator": "=", - "answerCoding": { - "code": "Y", - "system": "http://terminology.hl7.org/CodeSystem/v2-0136" + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "radio-button", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] } }, { - "question": "3a2d27b6-e918-4df5-aca9-b374fcf9faad", - "operator": "=", - "answerCoding": { - "code": "Y", - "system": "http://terminology.hl7.org/CodeSystem/v2-0136" + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-choiceOrientation", + "valueCode": "horizontal" + }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-shortText", + "valueString": "Does your child take any regular medications?" + } + ], + "linkId": "6eb59145-ed9a-4184-af83-3506d47e4d4e", + "text": "Does your child take any regular medications (prescribed, over-the-counter, traditional, complementary and alternative)?", + "type": "choice", + "repeats": false, + "answerValueSet": "#YesNo" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "radio-button", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-choiceOrientation", + "valueCode": "horizontal" + }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-shortText", + "valueString": "Do you take any regular medications?" } ], - "enableBehavior": "any" + "linkId": "3a2d27b6-e918-4df5-aca9-b374fcf9faad", + "text": "Do you take any regular medications (prescribed, over-the-counter, traditional, complementary and alternative)?", + "type": "choice", + "repeats": false, + "answerValueSet": "#YesNo" + }, + { + "linkId": "874ec8db-95c9-4cc0-95db-e45edaa3cd12", + "text": "Check the health record is up to date", + "type": "boolean", + "repeats": false }, { "extension": [ @@ -303,7 +383,7 @@ } ], "linkId": "36290837-ad70-48b2-9c66-31533fec918b", - "text": "Medication understanding and adherence has been checked with patient", + "text": "Check medication understanding and adherence with patient", "type": "boolean", "repeats": false, "enableWhen": [ @@ -445,7 +525,7 @@ { "property": "constraint", "op": "=", - "value": "^ 929360081000036101|Medicinal product pack reference set| AND ^ 929360071000036103|Medicinal product unit of use reference set| AND 929360041000036105|Trade product pack reference set| AND 929360031000036100|Trade product unit of use reference set| AND 929360051000036108|Containered trade product pack reference set|" + "value": "^ 929360081000036101|Medicinal product pack reference set| OR ^ 929360071000036103|Medicinal product unit of use reference set| OR ^ 929360041000036105|Trade product pack reference set| OR ^ 929360031000036100|Trade product unit of use reference set| OR ^ 929360051000036108|Containered trade product pack reference set|" } ] } @@ -501,6 +581,126 @@ } ] } + }, + { + "resourceType": "MedicationStatement", + "id": "MedicationStatementTemplate", + "meta": { + "profile": [ + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-medicationstatement" + ] + }, + "status": "active", + "medicationCodeableConcept": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext", + "valueString": "item.where(linkId='regularmedications-summary-current-medication').answer.value" + } + ], + "coding": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "ofType(Coding)" + } + ] + } + ], + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "ofType(string)" + } + ] + } + }, + "subject": { + "_reference": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "'Patient/' + %resource.repeat(item).where(linkId='patientIdMedicationStatement').answer.valueString" + } + ] + } + }, + "reasonCode": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext", + "valueString": "item.where(linkId='regularmedications-summary-current-reasoncode').answer.value.ofType(Coding)" + } + ], + "coding": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "$this" + } + ] + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext", + "valueString": "item.where(linkId='regularmedications-summary-current-reasoncode').answer.value.ofType(string)" + } + ], + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "$this" + } + ] + } + } + ], + "note": [ + { + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "item.where(linkId='regularmedications-summary-current-comment').answer.value" + } + ] + } + } + ], + "dosage": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext", + "valueString": "item.where(linkId='regularmedications-summary-current-dosage').answer.value" + } + ], + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "$this" + } + ] + } + } + ], + "_dateAsserted": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "now()" + } + ] + } } ], "extension": [ diff --git a/fsh-generated/resources/ValueSet-smarthealthchecks-medication.json b/fsh-generated/resources/ValueSet-smarthealthchecks-medication.json index 7b1156f1..c49d6f00 100644 --- a/fsh-generated/resources/ValueSet-smarthealthchecks-medication.json +++ b/fsh-generated/resources/ValueSet-smarthealthchecks-medication.json @@ -22,7 +22,7 @@ { "property": "constraint", "op": "=", - "value": "^ 929360081000036101|Medicinal product pack reference set| AND ^ 929360071000036103|Medicinal product unit of use reference set| AND 929360041000036105|Trade product pack reference set| AND 929360031000036100|Trade product unit of use reference set| AND 929360051000036108|Containered trade product pack reference set|" + "value": "^ 929360081000036101|Medicinal product pack reference set| OR ^ 929360071000036103|Medicinal product unit of use reference set| OR ^ 929360041000036105|Trade product pack reference set| OR ^ 929360031000036100|Trade product unit of use reference set| OR ^ 929360051000036108|Containered trade product pack reference set|" } ] } diff --git a/input/fsh/715-Assessment-ExaminationExtract.fsh b/input/fsh/715-Assessment-ExaminationExtract.fsh new file mode 100644 index 00000000..cc204bab --- /dev/null +++ b/input/fsh/715-Assessment-ExaminationExtract.fsh @@ -0,0 +1,720 @@ +Alias: $LNC = http://loinc.org +Alias: $SCT = http://snomed.info/sct +Alias: $UCUM = http://unitsofmeasure.org + +Instance: ExaminationExtract +InstanceOf: Questionnaire +Usage: #example +Title: "Aboriginal and Torres Strait Islander Health Check - Examination" +Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." + +* contained[+] = BodyHeight +* contained[+] = BodyWeight +* contained[+] = WaistCircumference +* contained[+] = HeartRate +* contained[+] = HeartRhythm +* contained[+] = BloodPressure + +//assemble expectation +* extension[+] + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assemble-expectation" + * valueCode = #assemble-child + +//launch context +* extension[+] + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" + * extension[+] + * url = "name" + * valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#patient + * extension[+] + * url = "type" + * valueCode = #Patient + * extension[+] + * url = "description" + * valueString = "The patient that is to be used to pre-populate the form" +* extension[+] + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" + * extension[+] + * url = "name" + * valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#user + * extension[+] + * url = "type" + * valueCode = #Practitioner + * extension[+] + * url = "description" + * valueString = "The practitioner user that is to be used to pre-populate the form" +* extension[+] + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" + * extension[+] + * url = "name" + * valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#encounter + * extension[+] + * url = "type" + * valueCode = #Encounter + * extension[+] + * url = "description" + * valueString = "The encounter that is to be used to pre-populate the form" + +//assemble context +* extension[+] + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" + * valueString = "ObsBloodPressure" +* extension[+] + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" + * valueString = "age" + +//fhir query variables + +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "ObsWaistCircumference" + * language = #application/x-fhir-query + * expression = "Observation?code=8280-0&_count=1&_sort=-date&patient={{%patient.id}}" +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "ObsHeartRate" + * language = #application/x-fhir-query + * expression = "Observation?code=8867-4&_count=1&_sort=-date&patient={{%patient.id}}" +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "ObsBodyHeight" + * language = #application/x-fhir-query + * expression = "Observation?code=8302-2&_count=1&_sort=-date&patient={{%patient.id}}" +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "ObsBodyWeight" + * language = #application/x-fhir-query + * expression = "Observation?code=29463-7&_count=1&_sort=-date&patient={{%patient.id}}" +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "ObsHeadCircumference" + * language = #application/x-fhir-query + * expression = "Observation?code=9843-4&_count=1&_sort=-date&patient={{%patient.id}}" + +//fhirpath variables +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "weight" + * language = #text/fhirpath + * expression = "item.where(linkId='c587e3b6-b91a-40dc-9a16-179342d001e9').item.where(linkId='53d5d5a6-3198-4bec-92ac-03fe7d77fb68').item.where(linkId='97ed4c86-8820-4e4d-9234-0e0e8b6ca44a').item.where(linkId='443bd584-684a-449c-ab6e-9d07da4df9fa').answer.value" +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "height" + * language = #text/fhirpath + * expression = "item.where(linkId='c587e3b6-b91a-40dc-9a16-179342d001e9').item.where(linkId='53d5d5a6-3198-4bec-92ac-03fe7d77fb68').item.where(linkId='6226a5c5-b5c3-4ebb-a689-2b286322cfe0').item.where(linkId='7035c7e7-ada3-4c6b-9ea8-f39666f5d4ea').answer.value" + +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "weight2" + * language = #text/fhirpath + * expression = "item.where(linkId='c587e3b6-b91a-40dc-9a16-179342d001e9').item.where(linkId='53d5d5a6-3198-4bec-92ac-03fe7d77fb68').item.where(linkId='97ed4c86-8820-4e4d-9234-0e0e8b6ca44a').item.where(linkId='obs-weight-newresult').answer.value" +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "height2" + * language = #text/fhirpath + * expression = "item.where(linkId='c587e3b6-b91a-40dc-9a16-179342d001e9').item.where(linkId='53d5d5a6-3198-4bec-92ac-03fe7d77fb68').item.where(linkId='6226a5c5-b5c3-4ebb-a689-2b286322cfe0').item.where(linkId='obs-height-newresult').answer.value" + + +* meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" +* meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" +* meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" +* url = "http://www.health.gov.au/assessments/mbs/715/Examination" +* name = "Examination" +* title = "Aboriginal and Torres Strait Islander Health Check - Examination" +* status = #draft +* experimental = false +* subjectType[+] = #Patient +* date = "2025-03-14" +* jurisdiction.coding = urn:iso:std:iso:3166#AU + + +* item[+] + /** extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression + * language = #text/fhirpath + * expression = "%age.exists()"*/ + * linkId = "c587e3b6-b91a-40dc-9a16-179342d001e9" + * text = "Examination" + * type = #group + * repeats = false + * item[+] //in-progress + * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display + * linkId = "CD-in-progress-7" + * text = "In progress" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" + * type = #display + * enableWhen[+] + * question = "MarkComplete-7" // Section complete item + * operator = #!= + * answerBoolean = true + * item[+] //complete + * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display + * linkId = "CD-complete-7" + * text = "Complete" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" + * type = #display + * enableWhen[+] + * question = "MarkComplete-7" // Section complete item + * operator = #= + * answerBoolean = true + + * item[+] + /* * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression + * language = #text/fhirpath + * expression = "%age <= 12"*/ + * linkId = "d15824f8-eafc-4fa0-80a2-82f0ec7f8728" + * text = "Growth measures recorded on Centers for Disease Control and Prevention (CDC) and World Health Organization (WHO) growth charts for centile and tracking overtime" + * type = #display + +// Extract hidden items + * item[+] + * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-hidden].valueBoolean = true + * extension[sdc-questionnaire-initialExpression].valueExpression + * language = #text/fhirpath + * expression = "%patient.id" + * linkId = "patientIdExamination" + * type = #string + +// Examination instruction + * item[+] + * linkId = "examinationinstruction" + * text = "The tabled observations will display the most recent results available from the patient record. If required, new observations can be recorded and added to the tables." + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
The tabled observations will display the most recent results available from the patient record. If required, new observations can be recorded and added to the tables.

+
" + * type = #display + +// Observations table with dates + * item[+] + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control|1.0.0#grid + * linkId = "53d5d5a6-3198-4bec-92ac-03fe7d77fb68" + * type = #group + * repeats = false + * item[+] + /** extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression + * language = #text/fhirpath + * expression = "%age <= 5"*/ + * linkId = "4e32e9b2-82e6-41ea-9545-79e928f7d6c2" + * text = "Length/Height" + * type = #group + * repeats = false + * item[+] + * extension[sdc-questionnaire-initialExpression].valueExpression + * language = #text/fhirpath + * expression = "%ObsBodyHeight.entry.resource.value.value" + * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#cm + * linkId = "837cd0ce-4a9e-4c8b-8679-007ed961f121" + * text = "Last result" + * type = #decimal + * repeats = false + * readOnly = true + * item[+] + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit + * linkId = "e73c3643-8898-4ef8-8bc9-b4b3826ab790" + * text = "cm" + * type = #display + * item[+] + * extension[sdc-questionnaire-initialExpression].valueExpression + * language = #text/fhirpath + * expression = "%ObsBodyHeight.entry.resource.effective" + * linkId = "b9faf79e-b5f7-443a-9203-67532e3a381f" + * text = "Last result date" + * type = #date + * repeats = false + * readOnly = true + * item[+] + * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#cm + * linkId = "obs-lengthheight-newresult" + * text = "New result" + * type = #decimal + * repeats = false + * item[+] + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit + * linkId = "obslengthheight-newresult-unit" + * text = "cm" + * type = #display + * item[+] + * linkId = "obs-lengthheight-newdate" + * text = "New result date" + * type = #date + * repeats = false + * item[+] + /** extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression + * language = #text/fhirpath + * expression = "%age > 5"*/ + * linkId = "6226a5c5-b5c3-4ebb-a689-2b286322cfe0" + * text = "Height" + * type = #group + * repeats = false + * item[+] + * extension[sdc-questionnaire-initialExpression].valueExpression + * language = #text/fhirpath + * expression = "%ObsBodyHeight.entry.resource.value.value" + * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#cm + * linkId = "7035c7e7-ada3-4c6b-9ea8-f39666f5d4ea" + * text = "Last result" + * type = #decimal + * repeats = false + * readOnly = true + * item[+] + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit + * linkId = "387c95f0-8b54-4ad7-992d-8ab26a34fd77" + * text = "cm" + * type = #display + * item[+] + * extension[sdc-questionnaire-initialExpression].valueExpression + * language = #text/fhirpath + * expression = "%ObsBodyHeight.entry.resource.effective" + * linkId = "c666ac96-1e64-40e2-8e0b-7d0187bb3e50" + * text = "Last result date" + * type = #date + * repeats = false + * readOnly = true + * item[+] + * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#cm + * linkId = "obs-height-newresult" + * text = "New result" + * type = #decimal + * repeats = false + * item[+] + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit + * linkId = "obs-height-newresult-unit" + * text = "cm" + * type = #display + * item[+] + * linkId = "obs-height-newdate" + * text = "New result date" + * type = #date + * repeats = false + * item[+] + * linkId = "97ed4c86-8820-4e4d-9234-0e0e8b6ca44a" + * text = "Weight" + * type = #group + * repeats = false + * item[+] + * extension[sdc-questionnaire-initialExpression].valueExpression + * language = #text/fhirpath + * expression = "%ObsBodyWeight.entry.resource.value.value" + * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#kg + * linkId = "443bd584-684a-449c-ab6e-9d07da4df9fa" + * text = "Last result" + * type = #decimal + * repeats = false + * readOnly = true + * item[+] + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit + * linkId = "5ba0d699-bc2a-45d0-8f40-f53cb21dc911" + * text = "kg" + * type = #display + * item[+] + * extension[sdc-questionnaire-initialExpression].valueExpression + * language = #text/fhirpath + * expression = "%ObsBodyWeight.entry.resource.effective" + * linkId = "92cdc1c7-eb6c-4f6d-9bd9-ae726a0e0d3d" + * text = "Last result date" + * type = #date + * repeats = false + * readOnly = true + * item[+] + * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#kg + * linkId = "obs-weight-newresult" + * text = "New result" + * type = #decimal + * repeats = false + * item[+] + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit + * linkId = "obs-weight-newresult-unit" + * text = "kg" + * type = #display + * item[+] + * linkId = "obs-weight-newdate" + * text = "New result date" + * type = #date + * repeats = false + * item[+] + /** extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression + * language = #text/fhirpath + * expression = "%age > 12"*/ + * linkId = "bc209c5e-ed28-48e3-b1a1-55cb7e435d8b" + * text = "BMI" + * type = #group + * repeats = false + * item[+] + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression].valueExpression + * description = "BMI calculation" + * language = #text/fhirpath + * expression = "(%weight/((%height/100).power(2))).round(1)" + * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#kg/m2 + * linkId = "2ada6633-03c6-4b05-bc23-18dec84ec150" + * text = "Last result" + * type = #decimal + * repeats = false + * readOnly = true + * item[+] + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit + * linkId = "a709b8ec-9e65-40f0-a781-500cb3e56f3c" + * text = "kg/m2" + * type = #display + * item[+] + * linkId = "obs-bmi-spacer" + * text = "Last result date" + * type = #string + * repeats = false + * readOnly = true + * item[+] + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression].valueExpression + * description = "BMI calculation" + * language = #text/fhirpath + * expression = "(%weight2/((%height2/100).power(2))).round(1)" + * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#kg/m2 + * linkId = "obs-bmi-newresult" + * text = "New result" + * type = #decimal + * repeats = false + * readOnly = true + * item[+] + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit + * linkId = "obs-bmi-newresult-unit" + * text = "kg/m2" + * type = #display + * item[+] + /** extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression + * language = #text/fhirpath + * expression = "%age <= 12"*/ + * linkId = "d3557f55-1abf-401c-aada-2d4380151c56" + * text = "Head circumference" + * type = #group + * repeats = false + * item[+] + * extension[sdc-questionnaire-initialExpression].valueExpression + * language = #text/fhirpath + * expression = "%ObsHeadCircumference.entry.resource.value.value" + * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#cm + * linkId = "7a4a6aac-558e-4bec-86c5-326ae07e37d6" + * text = "Last result" + * type = #decimal + * repeats = false + * readOnly = true + * item[+] + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit + * linkId = "73937983-65a0-4d40-8600-de7ca3277d5e" + * text = "cm" + * type = #display + * item[+] + * extension[sdc-questionnaire-initialExpression].valueExpression + * language = #text/fhirpath + * expression = "%ObsHeadCircumference.entry.resource.effective" + * linkId = "b8da15e7-8648-492b-9e82-ad5ab7cad179" + * text = "Last result date" + * type = #date + * repeats = false + * readOnly = true + * item[+] + * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#cm + * linkId = "obs-headcircumference-newresult" + * text = "New result" + * type = #decimal + * repeats = false + * item[+] + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit + * linkId = "obs-headcircumference-newresult-unit" + * text = "cm" + * type = #display + * item[+] + * linkId = "obs-headcircumference-newdate" + * text = "New result date" + * type = #date + * repeats = false + * item[+] + /** extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression + * language = #text/fhirpath + * expression = "%age >= 18"*/ + * linkId = "ec884b64-ed8d-485b-930f-e7ac18ad4cc9" + * text = "Waist circumference" + * type = #group + * repeats = false + * item[+] + * extension[sdc-questionnaire-initialExpression].valueExpression + * language = #text/fhirpath + * expression = "%ObsWaistCircumference.entry.resource.value.value" + * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#cm + * linkId = "8df0f5d8-821d-4f71-b3c1-d164616ea2f5" + * text = "Last result" + * type = #decimal + * repeats = false + * readOnly = true + * item[+] + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit + * linkId = "19aeb0ab-7494-4bac-8b2d-d7d2527c1f4a" + * text = "cm" + * type = #display + * item[+] + * extension[sdc-questionnaire-initialExpression].valueExpression + * language = #text/fhirpath + * expression = "%ObsWaistCircumference.entry.resource.effective" + * linkId = "3eb3b929-e67a-4331-8949-b8447b66a4c7" + * text = "Last result date" + * type = #date + * repeats = false + * readOnly = true + * item[+] + * linkId = "obs-waistcircumference-newresult" + * text = "New result" + * type = #decimal + * repeats = false + * item[+] + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit + * linkId = "obs-waistcircumference-newresult-unit" + * text = "cm" + * type = #display + * item[+] + * linkId = "obs-waistcircumference-newdate" + * text = "New result date" + * type = #date + * repeats = false + * item[+] + * linkId = "3d3e1079-d225-447b-959b-4caddc057f7d" + * text = "Heart rate" + * type = #group + * repeats = false + * item[+] + * extension[sdc-questionnaire-initialExpression].valueExpression + * language = #text/fhirpath + * expression = "%ObsHeartRate.entry.resource.value.value" + * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#/min + * linkId = "49029ef0-eaa8-44f8-b26a-177820c82dfd" + * text = "Last result" + * type = #integer + * repeats = false + * readOnly = true + * item[+] + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit + * linkId = "090964b9-be33-438b-8465-2a2a09632fde" + * text = "/min" + * type = #display + * item[+] + * extension[sdc-questionnaire-initialExpression].valueExpression + * language = #text/fhirpath + * expression = "%ObsHeartRate.entry.resource.effective" + * linkId = "feeac08f-2ba6-4048-80a2-10b3f90cf5e3" + * text = "Last result date" + * type = #date + * repeats = false + * readOnly = true + * item[+] + * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#/min + * linkId = "obs-heartrate-newresult" + * text = "New result" + * type = #integer + * repeats = false + * item[+] + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit + * linkId = "obs-heartrate-newresult-unit" + * text = "/min" + * type = #display + * item[+] + * linkId = "obs-heartrate-newdate" + * text = "New result date" + * type = #date + * repeats = false + * item[+] + * linkId = "8d3d05cc-64bc-47ae-b989-060bac838d1c" + * text = "Heart rhythm" + * type = #group + * repeats = false + * item[+] + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#radio-button + * linkId = "99a8eb6f-a36a-4daf-99d7-27bfde0d4bb1" + * text = "Last result" + * type = #choice + * repeats = false + * readOnly = true + * answerOption[+].valueCoding = $SCT#271636001 "Pulse regular" + * answerOption[+].valueCoding = $SCT#61086009 "Pulse irregular" + * item[+] + * linkId = "eeb56682-0eae-4428-9c37-0e63852026c0" + * text = "Last result date" + * type = #date + * repeats = false + * readOnly = true + * item[+] + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#radio-button + * linkId = "obs-heartrhythm-newresult" + * text = "New result" + * type = #choice + * repeats = false + * answerOption[+].valueCoding = $SCT#271636001 "Pulse regular" + * answerOption[+].valueCoding = $SCT#61086009 "Pulse irregular" + * item[+] + * linkId = "obs-heartrhythm-newdate" + * text = "New result date" + * type = #date + * repeats = false + + +// Blood pressure observations table with dates + * item[+] + /** extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression + * language = #text/fhirpath + * expression = "%age > 12"*/ + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control|1.0.0#grid + * linkId = "3639c586-9576-48d3-a52b-e91fd2138581" + * type = #group + * repeats = false + * item[+] + * linkId = "705f6d04-acab-4d14-baab-98f9bfc4808e" + * text = "Last blood pressure" + * type = #group + * repeats = false + * readOnly = true + * item[+] + * extension[sdc-questionnaire-initialExpression].valueExpression + * language = #text/fhirpath + * expression = "%ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8480-6')).value.value" + * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#mm[Hg] + * linkId = "e68b660d-cfd2-4b89-957a-c96a4c73a5fd" + * text = "Systolic" + * type = #integer + * repeats = false + * item[+] + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit + * linkId = "197d212d-72cc-4c85-91dc-2f030d384391" + * text = "mm Hg" + * type = #display + * item[+] + * extension[sdc-questionnaire-initialExpression].valueExpression + * language = #text/fhirpath + * expression = "%ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8462-4')).value.value" + * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#mm[Hg] + * linkId = "867b0022-f812-4f80-b287-79686c972b15" + * text = "Diastolic" + * type = #integer + * repeats = false + * item[+] + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit + * linkId = "416ee494-4fa2-4b29-af0b-3d022f686e39" + * text = "mm Hg" + * type = #display + * item[+] + * extension[sdc-questionnaire-initialExpression].valueExpression + * language = #text/fhirpath + * expression = "%ObsBloodPressure.entry.resource.effective" + * linkId = "a005050c-ed79-46ed-ac14-2fc1496059a5" + * text = "Date performed" + * type = #date + * repeats = false + * item[+] + * linkId = "705f6d04-acab-4d14-baab-98f9bfc4808e" + * text = "New blood pressure" + * type = #group + * repeats = false + * item[+] + * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#mm[Hg] + * linkId = "bp-newbp-systolic" + * text = "Systolic" + * type = #integer + * repeats = false + * item[+] + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit + * linkId = "bp-newbp-systolic-unit" + * text = "mm Hg" + * type = #display + * item[+] + * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#mm[Hg] + * linkId = "bp-newbp-diastolic" + * text = "Diastolic" + * type = #integer + * repeats = false + * item[+] + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit + * linkId = "bp-newbp-diastolic-unit" + * text = "mm Hg" + * type = #display + * item[+] + * linkId = "bp-newbp-date" + * text = "Date performed" + * type = #date + * repeats = false + +/* + * item[+] + * extension[sdc-questionnaire-initialExpression].valueExpression + * language = #text/fhirpath + * expression = "%ObsBloodPressure.entry.resource.select(component[0].value.select(value.toString()) + '/' + component[1].value.select(value.toString()) )" + * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#mm[Hg] + * linkId = "15200593-ab79-47ec-babe-4fdcb2327737" + * text = "Blood pressure" + * type = #string + * repeats = false + * enableWhen[+] + * question = "e2a16e4d-2765-4b61-b286-82cfc6356b30" // age item which has initial population from variable + * operator = #> + * answerInteger = 12 + * item[+] + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit + * linkId = "eb022a99-7bd0-4635-aaad-04ac0d0334c8" + * text = "mm Hg" + * type = #display +*/ + // needs assessment for potentional coded response + * item[+] + /** extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression + * language = #text/fhirpath + * expression = "%age <= 12"*/ + * linkId = "213a3eac-e530-4e27-859c-407136c7a0a6" + * text = "Cardiac auscultation" + * type = #text + * repeats = false + * item[+] + /** extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression + * language = #text/fhirpath + * expression = "%age <= 12"*/ + * linkId = "8886f3bb-52de-4294-a5cb-8f960e2a6bbe" + * text = "Abdominal examination" + * type = #text + * repeats = false + * item[+] + /** extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression + * language = #text/fhirpath + * expression = "%age <= 12"*/ + * linkId = "5e10229c-390d-4968-90d3-f896840f3c50" + * text = "Gait examination (musculoskeletal structure, balance, coordination)" + * type = #text + * repeats = false + * item[+] + /** extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression + * language = #text/fhirpath + * expression = "%age < 1"*/ + * linkId = "6c69ee91-f777-494c-bf09-d963773cd4ae" + * text = "Newborn examination (if indicated, infant aged <=6 weeks)" + * type = #text + * repeats = false +// needs assessment for what is being recorded. Actual measurement result or result interpretation? + * item[+] + /** extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression + * language = #text/fhirpath + * expression = "%age <= 12"*/ + * linkId = "7a431d03-1726-4905-aae7-49f62a10ce5e" + * text = "Haemoglobin (children at risk of iron deficiency anaemia)" + * type = #string + * repeats = false + * item[+] + * linkId = "fcbfa6e1-c101-4675-969d-aa11027859c2" + * text = "Health priorities, actions and follow-up" + * type = #text + * repeats = false + + + * item[+] + * linkId = "MarkComplete-7" + * text = "Mark section as complete" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + * type = #boolean + * repeats = false \ No newline at end of file diff --git a/input/fsh/715-Assessment-RegularMedications.fsh b/input/fsh/715-Assessment-RegularMedications.fsh index aa68a6ea..4d10b6e8 100644 --- a/input/fsh/715-Assessment-RegularMedications.fsh +++ b/input/fsh/715-Assessment-RegularMedications.fsh @@ -11,6 +11,7 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * contained[+] = YesNo * contained[+] = smarthealthchecks-medication * contained[+] = medication-reason-taken-1 +* contained[+] = MedicationStatementTemplate * extension[0].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assemble-expectation" @@ -142,27 +143,6 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St
" * item.item[=].type = #display -* item.item[+].extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression.language = #text/fhirpath -* item.item[=].extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression.expression = "%age <= 12" -* item.item[=].extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#radio-button -* item.item[=].extension[questionnaire-choiceOrientation].valueCode = #horizontal -* item.item[=].linkId = "6eb59145-ed9a-4184-af83-3506d47e4d4e" -* item.item[=].text = "Does your child take any regular medications (prescribed, over-the-counter, traditional, complementary and alternative)?" -* item.item[=].extension[sdc-questionnaire-shortText].valueString = "Does your child take any regular medications?" -* item.item[=].type = #choice -* item.item[=].repeats = false -* item.item[=].answerValueSet = "#YesNo" -* item.item[+].extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression.language = #text/fhirpath -* item.item[=].extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression.expression = "%age > 12" -* item.item[=].extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#radio-button -* item.item[=].extension[questionnaire-choiceOrientation].valueCode = #horizontal -* item.item[=].linkId = "3a2d27b6-e918-4df5-aca9-b374fcf9faad" -* item.item[=].text = "Do you take any regular medications (prescribed, over-the-counter, traditional, complementary and alternative)?" -* item.item[=].extension[sdc-questionnaire-shortText].valueString = "Do you take any regular medications?" -* item.item[=].type = #choice -* item.item[=].repeats = false -* item.item[=].answerValueSet = "#YesNo" - * item.item[+].linkId = "regularmedications-summary" * item.item[=].text = "Medication summary" * item.item[=].text.extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
@@ -172,14 +152,15 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * item.item[=].type = #group * item.item[=].repeats = false +// Current medications * item.item[=].item[0].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemPopulationContext" * item.item[=].item[=].extension[=].valueExpression[+].name = "MedicationStatementRepeat" * item.item[=].item[=].extension[=].valueExpression[=].language = #text/fhirpath * item.item[=].item[=].extension[=].valueExpression[=].expression = "%MedicationStatement.entry.resource" * item.item[=].item[=].linkId = "regularmedications-summary-current" -* item.item[=].item[=].text = "Current medication summary" * item.item[=].item[=].type = #group * item.item[=].item[=].repeats = true +* item.item[=].item[=].readOnly = true * item.item[=].item[=].item[0].extension[+].url = "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl" * item.item[=].item[=].item[=].extension[=].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#autocomplete /* @@ -241,6 +222,56 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * item.item[=].item[=].item[=].type = #string * item.item[=].item[=].item[=].repeats = true +* item.item[=].item[=].item[+].extension[+].url = "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl" +* item.item[=].item[=].item[=].extension[=].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#autocomplete +* item.item[=].item[=].item[=].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression" +* item.item[=].item[=].item[=].extension[=].valueExpression[+].language = #text/fhirpath +* item.item[=].item[=].item[=].extension[=].valueExpression[=].expression = "%MedicationStatementRepeat.reasonCode.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first())" +* item.item[=].item[=].item[=].linkId = "regularmedications-summary-current-reasoncode" +* item.item[=].item[=].item[=].text = "Clinical indication" +* item.item[=].item[=].item[=].type = #open-choice +* item.item[=].item[=].item[=].repeats = true +* item.item[=].item[=].item[=].answerValueSet = "#medication-reason-taken-1" + + +* item.item[=].item[=].item[+].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemPopulationContext" +* item.item[=].item[=].item[=].extension[=].valueExpression[+].name = "MedicationStatementNoteRepeat" +* item.item[=].item[=].item[=].extension[=].valueExpression[=].language = #text/fhirpath +* item.item[=].item[=].item[=].extension[=].valueExpression[=].expression = "%MedicationStatementRepeat.note" +* item.item[=].item[=].item[=].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression" +* item.item[=].item[=].item[=].extension[=].valueExpression[+].language = #text/fhirpath +* item.item[=].item[=].item[=].extension[=].valueExpression[=].expression = "%MedicationStatementNoteRepeat.text" +* item.item[=].item[=].item[=].linkId = "regularmedications-summary-current-comment" +* item.item[=].item[=].item[=].text = "Comment" +* item.item[=].item[=].item[=].type = #string +* item.item[=].item[=].item[=].repeats = true + +// New medications +* item.item[=].item[+].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract" +* item.item[=].item[=].extension[=].extension.url = "template" +* item.item[=].item[=].extension[=].extension.valueReference = Reference(MedicationStatementTemplate) +* item.item[=].item[=].linkId = "regularmedications-summary-new" +* item.item[=].item[=].type = #group +* item.item[=].item[=].repeats = true + +* item.item[=].item[=].item[+].extension[http://hl7.org/fhir/StructureDefinition/questionnaire-hidden].valueBoolean = true +* item.item[=].item[=].item[=].extension[sdc-questionnaire-initialExpression].valueExpression.language = #text/fhirpath +* item.item[=].item[=].item[=].extension[sdc-questionnaire-initialExpression].valueExpression.expression = "%patient.id" +* item.item[=].item[=].item[=].linkId = "patientIdMedicationStatement" +* item.item[=].item[=].item[=].type = #string + +* item.item[=].item[=].item[+].extension[+].url = "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl" +* item.item[=].item[=].item[=].extension[=].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#autocomplete +* item.item[=].item[=].item[=].linkId = "regularmedications-summary-current-medication" +* item.item[=].item[=].item[=].text = "Medication" +* item.item[=].item[=].item[=].type = #open-choice +* item.item[=].item[=].item[=].repeats = false +* item.item[=].item[=].item[=].answerValueSet = "#smarthealthchecks-medication" + +* item.item[=].item[=].item[+].linkId = "regularmedications-summary-current-dosage" +* item.item[=].item[=].item[=].text = "Dosage" +* item.item[=].item[=].item[=].type = #string +* item.item[=].item[=].item[=].repeats = true * item.item[=].item[=].item[+].extension.url = "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl" * item.item[=].item[=].item[=].extension.valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#autocomplete @@ -249,25 +280,48 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * item.item[=].item[=].item[=].type = #open-choice * item.item[=].item[=].item[=].repeats = true * item.item[=].item[=].item[=].answerValueSet = "#medication-reason-taken-1" + * item.item[=].item[=].item[+].linkId = "regularmedications-summary-current-comment" * item.item[=].item[=].item[=].text = "Comment" * item.item[=].item[=].item[=].type = #string * item.item[=].item[=].item[=].repeats = false +//* item.item[+].extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression.language = #text/fhirpath +//* item.item[=].extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression.expression = "%age <= 12" +* item.item[+].extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#radio-button +* item.item[=].extension[questionnaire-choiceOrientation].valueCode = #horizontal +* item.item[=].linkId = "6eb59145-ed9a-4184-af83-3506d47e4d4e" +* item.item[=].text = "Does your child take any regular medications (prescribed, over-the-counter, traditional, complementary and alternative)?" +* item.item[=].extension[sdc-questionnaire-shortText].valueString = "Does your child take any regular medications?" +* item.item[=].type = #choice +* item.item[=].repeats = false +* item.item[=].answerValueSet = "#YesNo" +//* item.item[+].extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression.language = #text/fhirpath +//* item.item[=].extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression.expression = "%age > 12" +* item.item[+].extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#radio-button +* item.item[=].extension[questionnaire-choiceOrientation].valueCode = #horizontal +* item.item[=].linkId = "3a2d27b6-e918-4df5-aca9-b374fcf9faad" +* item.item[=].text = "Do you take any regular medications (prescribed, over-the-counter, traditional, complementary and alternative)?" +* item.item[=].extension[sdc-questionnaire-shortText].valueString = "Do you take any regular medications?" +* item.item[=].type = #choice +* item.item[=].repeats = false +* item.item[=].answerValueSet = "#YesNo" +//* item.item[+].extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#check-box * item.item[+].linkId = "874ec8db-95c9-4cc0-95db-e45edaa3cd12" -* item.item[=].text = "Up to date in the health record?" +* item.item[=].text = "Check the health record is up to date" * item.item[=].type = #boolean * item.item[=].repeats = false -* item.item[=].enableWhen[+].question = "6eb59145-ed9a-4184-af83-3506d47e4d4e" +/** item.item[=].enableWhen[+].question = "6eb59145-ed9a-4184-af83-3506d47e4d4e" * item.item[=].enableWhen[=].operator = #= * item.item[=].enableWhen[=].answerCoding = http://terminology.hl7.org/CodeSystem/v2-0136#Y * item.item[=].enableWhen[+].question = "3a2d27b6-e918-4df5-aca9-b374fcf9faad" * item.item[=].enableWhen[=].operator = #= * item.item[=].enableWhen[=].answerCoding = http://terminology.hl7.org/CodeSystem/v2-0136#Y -* item.item[=].enableBehavior = #any +* item.item[=].enableBehavior = #any*/ +//* item.item[+].extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#check-box * item.item[+].linkId = "36290837-ad70-48b2-9c66-31533fec918b" -* item.item[=].text = "Medication understanding and adherence has been checked with patient" +* item.item[=].text = "Check medication understanding and adherence with patient" * item.item[=].extension[sdc-questionnaire-shortText].valueString = "Understanding and adherence checked" * item.item[=].type = #boolean * item.item[=].repeats = false diff --git a/input/fsh/extract-templates.fsh b/input/fsh/extract-templates.fsh index e25ce0c8..63f3df1f 100644 --- a/input/fsh/extract-templates.fsh +++ b/input/fsh/extract-templates.fsh @@ -15,6 +15,7 @@ Alias: $au-core-bloodpressure = http://hl7.org.au/fhir/core/StructureDefinition/ Alias: $au-core-condition = http://hl7.org.au/fhir/core/StructureDefinition/au-core-condition Alias: $au-core-allergyintolerance = http://hl7.org.au/fhir/core/StructureDefinition/au-core-allergyintolerance Alias: $au-core-immunization = http://hl7.org.au/fhir/core/StructureDefinition/au-core-immunization +Alias: $au-core-medicationstatement = http://hl7.org.au/fhir/core/StructureDefinition/au-core-medicationstatement Alias: $observation-category = http://terminology.hl7.org/CodeSystem/observation-category @@ -247,4 +248,34 @@ Usage: #inline * subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * subject.reference.extension[=].valueString = "'Patient/' + %resource.repeat(item).where(linkId='patientIdMedicalHistory').answer.valueString" * onsetDateTime.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" -* onsetDateTime.extension[=].valueString = "item.where(linkId='4d55bffb-3286-4a23-a785-3b9c346d464d').answer.value.toDateTime()" \ No newline at end of file +* onsetDateTime.extension[=].valueString = "item.where(linkId='4d55bffb-3286-4a23-a785-3b9c346d464d').answer.value.toDateTime()" + +Instance: MedicationStatementTemplate +InstanceOf: $au-core-medicationstatement +Usage: #inline +* status = #active +* medicationCodeableConcept.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext" +* medicationCodeableConcept.extension[=].valueString = "item.where(linkId='regularmedications-summary-current-medication').answer.value" +* medicationCodeableConcept.coding.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* medicationCodeableConcept.coding.extension[=].valueString = "ofType(Coding)" +* medicationCodeableConcept.text.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* medicationCodeableConcept.text.extension[=].valueString = "ofType(string)" +* subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* subject.reference.extension[=].valueString = "'Patient/' + %resource.repeat(item).where(linkId='patientIdMedicationStatement').answer.valueString" +* dateAsserted.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* dateAsserted.extension[=].valueString = "now()" +* reasonCode[+].extension.url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext" +* reasonCode[=].extension.valueString = "item.where(linkId='regularmedications-summary-current-reasoncode').answer.value.ofType(Coding)" +* reasonCode[=].coding.extension.url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* reasonCode[=].coding.extension.valueString = "$this" +* reasonCode[+].extension.url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext" +* reasonCode[=].extension.valueString = "item.where(linkId='regularmedications-summary-current-reasoncode').answer.value.ofType(string)" +* reasonCode[=].text.extension.url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* reasonCode[=].text.extension.valueString = "$this" +* note.text.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* note.text.extension[=].valueString = "item.where(linkId='regularmedications-summary-current-comment').answer.value" +* dosage[+].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext" +* dosage[=].extension[=].valueString = "item.where(linkId='regularmedications-summary-current-dosage').answer.value" +* dosage[=].text.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* dosage[=].text.extension[=].valueString = "$this" + diff --git a/input/fsh/terminology.fsh b/input/fsh/terminology.fsh index 70153e62..d1c6f629 100644 --- a/input/fsh/terminology.fsh +++ b/input/fsh/terminology.fsh @@ -1392,7 +1392,7 @@ Description: "The Smart Health Checks Medication value set includes Australian M * ^meta.profile[0] = "http://hl7.org/fhir/StructureDefinition/shareablevalueset" * ^meta.profile[+] = "https://healthterminologies.gov.au/fhir/StructureDefinition/composed-value-set-4" * ^experimental = false -* include codes from system http://snomed.info/sct|http://snomed.info/sct/32506021000036107 where constraint = "^ 929360081000036101|Medicinal product pack reference set| AND ^ 929360071000036103|Medicinal product unit of use reference set| AND 929360041000036105|Trade product pack reference set| AND 929360031000036100|Trade product unit of use reference set| AND 929360051000036108|Containered trade product pack reference set|" +* include codes from system http://snomed.info/sct|http://snomed.info/sct/32506021000036107 where constraint = "^ 929360081000036101|Medicinal product pack reference set| OR ^ 929360071000036103|Medicinal product unit of use reference set| OR ^ 929360041000036105|Trade product pack reference set| OR ^ 929360031000036100|Trade product unit of use reference set| OR ^ 929360051000036108|Containered trade product pack reference set|" Alias: $v3-ObservationValue = http://terminology.hl7.org/CodeSystem/v3-ObservationValue diff --git a/smartforms-template/package/.index.db b/smartforms-template/package/.index.db index 504ff47b6b2f704dda56a03e8a43e7e6c048fdbf..6eec3bcced8ca197dd770132646e409b6aea0d7b 100644 GIT binary patch delta 31 ncmZojXh@il#Mh?D%m0IciI0tekBxu-W Date: Fri, 23 May 2025 17:03:27 +1000 Subject: [PATCH 070/177] Add patch to capability statements --- ...iginalTorresStraitIslanderHealthCheck.json | 45 ++++++++++++++++++ ...bilityStatement-SmartFormsApplication.json | 18 +++++++ input/fsh/capability.fsh | 21 ++++++++ smartforms-template/package/.index.db | Bin 12288 -> 12288 bytes smartforms-template/package/content/.index.db | Bin 12288 -> 12288 bytes .../package/content/assets/.index.db | Bin 12288 -> 12288 bytes .../package/content/assets/css/.index.db | Bin 12288 -> 12288 bytes .../package/content/assets/images/.index.db | Bin 12288 -> 12288 bytes .../package/includes/.index.db | Bin 12288 -> 12288 bytes 9 files changed, 84 insertions(+) diff --git a/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json b/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json index 9efca075..2db76dab 100644 --- a/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json +++ b/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json @@ -169,6 +169,15 @@ "valueCode": "SHALL" } ] + }, + { + "code": "patch", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] } ], "searchParam": [ @@ -239,6 +248,15 @@ "valueCode": "SHALL" } ] + }, + { + "code": "patch", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] } ], "searchParam": [ @@ -351,6 +369,15 @@ "valueCode": "SHALL" } ] + }, + { + "code": "patch", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] } ], "searchParam": [ @@ -463,6 +490,15 @@ "valueCode": "SHALL" } ] + }, + { + "code": "patch", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] } ], "searchInclude": [ @@ -697,6 +733,15 @@ "valueCode": "SHALL" } ] + }, + { + "code": "patch", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] } ] }, diff --git a/fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json b/fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json index 77a0f213..42369b36 100644 --- a/fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json +++ b/fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json @@ -65,6 +65,9 @@ }, { "code": "create" + }, + { + "code": "patch" } ], "searchParam": [ @@ -103,6 +106,9 @@ }, { "code": "create" + }, + { + "code": "patch" } ], "searchParam": [ @@ -159,6 +165,9 @@ }, { "code": "create" + }, + { + "code": "patch" } ], "searchParam": [ @@ -212,6 +221,12 @@ "interaction": [ { "code": "search-type" + }, + { + "code": "create" + }, + { + "code": "patch" } ], "searchInclude": [ @@ -312,6 +327,9 @@ "interaction": [ { "code": "read" + }, + { + "code": "patch" } ] }, diff --git a/input/fsh/capability.fsh b/input/fsh/capability.fsh index c0169942..72c285c0 100644 --- a/input/fsh/capability.fsh +++ b/input/fsh/capability.fsh @@ -80,6 +80,9 @@ Also see the [AU Core Security and Privacy](https://hl7.org.au/fhir/core/1.0.0/s * rest.resource[=].interaction[+].code = #create * rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[=].extension[0].valueCode = #SHALL +* rest.resource[=].interaction[+].code = #patch +* rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].interaction[=].extension[0].valueCode = #SHALL /* * rest.resource[=].interaction[=].documentation = "**SHALL** support `create`, `conditional create`." * rest.resource[=].interaction[+].code = #update @@ -123,6 +126,9 @@ The server **SHALL** support both." * rest.resource[=].interaction[+].code = #create * rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[=].extension[0].valueCode = #SHALL +* rest.resource[=].interaction[+].code = #patch +* rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].interaction[=].extension[0].valueCode = #SHALL /* * rest.resource[=].interaction[=].documentation = "**SHALL** support `create`, `conditional create`." * rest.resource[=].interaction[+].code = #update @@ -186,6 +192,9 @@ The server **SHALL** support both." * rest.resource[=].interaction[+].code = #create * rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[=].extension[0].valueCode = #SHALL +* rest.resource[=].interaction[+].code = #patch +* rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].interaction[=].extension[0].valueCode = #SHALL /* * rest.resource[=].interaction[=].documentation = "**SHALL** support `create`, `conditional create`." * rest.resource[=].conditionalCreate = true @@ -242,6 +251,9 @@ The server **SHALL** support both." * rest.resource[=].interaction[+].code = #create * rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[=].extension[0].valueCode = #SHALL +* rest.resource[=].interaction[+].code = #patch +* rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].interaction[=].extension[0].valueCode = #SHALL /* * rest.resource[=].interaction[=].documentation = "**SHALL** support `create`, `conditional create`." * rest.resource[=].interaction[+].code = #update @@ -380,6 +392,9 @@ The server **SHALL** support both." * rest.resource[=].interaction[0].code = #read * rest.resource[=].interaction[0].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[0].extension[0].valueCode = #SHALL +* rest.resource[=].interaction[+].code = #patch +* rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].interaction[=].extension[0].valueCode = #SHALL /* * rest.resource[=].interaction[+].code = #update * rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" @@ -594,6 +609,7 @@ Usage: #definition * rest.resource[=].documentation = "The client supports the AllergyIntolerance resource, the AU Core profile and the conformance expectations for the AllergyIntolerance resource." * rest.resource[=].interaction[0].code = #search-type * rest.resource[=].interaction[+].code = #create +* rest.resource[=].interaction[+].code = #patch /* * rest.resource[=].interaction[+].code = #update * rest.resource[=].conditionalCreate = true @@ -617,6 +633,7 @@ The server **SHALL** support both." * rest.resource[=].documentation = "The client supports the Condition resource, the AU Core profile and the conformance expectations for the Condition resource." * rest.resource[=].interaction[0].code = #search-type * rest.resource[=].interaction[+].code = #create +* rest.resource[=].interaction[+].code = #patch /* * rest.resource[=].interaction[+].code = #update * rest.resource[=].conditionalCreate = true @@ -653,6 +670,7 @@ The server **SHALL** support both." * rest.resource[=].documentation = "The client supports the Immunization resource, the AU Core profile and the conformance expectations for the Immunization resource." * rest.resource[=].interaction[0].code = #search-type * rest.resource[=].interaction[+].code = #create +* rest.resource[=].interaction[+].code = #patch //* rest.resource[=].conditionalCreate = true * rest.resource[=].searchParam[+].name = "patient" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" @@ -683,6 +701,8 @@ The server **SHALL** support both." * rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-medicationstatement" * rest.resource[=].documentation = "The client supports the MedicationStatement resource, the AU Core profile and the conformance expectations for the MedicationStatement resource." * rest.resource[=].interaction[0].code = #search-type +* rest.resource[=].interaction[+].code = #create +* rest.resource[=].interaction[+].code = #patch /* * rest.resource[=].interaction[+].code = #create * rest.resource[=].interaction[+].code = #update @@ -768,6 +788,7 @@ The server **SHALL** support both." * rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-patient" * rest.resource[=].documentation = "The client supports the Patient resource, AU Core profile and the conformance expectations for the Patient resource." * rest.resource[=].interaction[0].code = #read +* rest.resource[=].interaction[+].code = #patch //* rest.resource[=].interaction[+].code = #update //* rest.resource[=].conditionalUpdate = true diff --git a/smartforms-template/package/.index.db b/smartforms-template/package/.index.db index 504ff47b6b2f704dda56a03e8a43e7e6c048fdbf..6eec3bcced8ca197dd770132646e409b6aea0d7b 100644 GIT binary patch delta 31 ncmZojXh@il#Mh?D%m0IciI0tekBxu-W Date: Mon, 26 May 2025 16:35:41 +1000 Subject: [PATCH 071/177] extract dev --- ...ntationGuide-csiro.fhir.au.smartforms.json | 14 +- .../Questionnaire-AssemblyInstructions.json | 8 +- .../Questionnaire-ExaminationExtract.json | 174 +++++++++++++++++- .../Questionnaire-RegularMedications.json | 89 ++++----- input/fsh/715-AssemblyInstructions.fsh | 16 +- .../fsh/715-Assessment-ExaminationExtract.fsh | 11 +- .../fsh/715-Assessment-RegularMedications.fsh | 12 +- input/fsh/extract-templates.fsh | 66 ++++--- sushi-config.yaml | 1 + 9 files changed, 281 insertions(+), 110 deletions(-) diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index 78a29d35..f151fa1b 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -56,18 +56,18 @@ "resource": [ { "reference": { - "reference": "Questionnaire/AssemblyInstructions" + "reference": "Questionnaire/AboriginalTorresStraitIslanderHealthCheck" }, - "name": "Aboriginal and Torres Strait Islander Health Check", - "description": "Aboriginal and Torres Strait Islander Health Check assessment form.", - "exampleBoolean": true + "exampleBoolean": false, + "name": "Aboriginal and Torres Strait Islander Health Check" }, { "reference": { - "reference": "Questionnaire/AboriginalTorresStraitIslanderHealthCheck" + "reference": "Questionnaire/AssemblyInstructions" }, - "exampleBoolean": false, - "name": "Aboriginal and Torres Strait Islander Health Check" + "name": "Aboriginal and Torres Strait Islander Health Check (Extract)", + "description": "Aboriginal and Torres Strait Islander Health Check assessment form.", + "exampleBoolean": true }, { "reference": { diff --git a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json index c211a512..2e19ec31 100644 --- a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json +++ b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json @@ -617,7 +617,7 @@ "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Examination|0.3.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/ExaminationExtract|0.3.0" } ], "linkId": "3263611d-5813-4393-a660-d10166acd728", @@ -2353,9 +2353,9 @@ } } ], - "url": "http://www.health.gov.au/assessments/mbs/715", - "name": "AboriginalTorresStraitIslanderHealthCheck", - "title": "Aboriginal and Torres Strait Islander Health Check", + "url": "http://www.health.gov.au/assessments/mbs/715-extract", + "name": "AboriginalTorresStraitIslanderHealthCheck(Extract)", + "title": "Aboriginal and Torres Strait Islander Health Check (Extract)", "status": "draft", "experimental": false, "subjectType": [ diff --git a/fsh-generated/resources/Questionnaire-ExaminationExtract.json b/fsh-generated/resources/Questionnaire-ExaminationExtract.json index acffd0f9..847a01f7 100644 --- a/fsh-generated/resources/Questionnaire-ExaminationExtract.json +++ b/fsh-generated/resources/Questionnaire-ExaminationExtract.json @@ -191,6 +191,17 @@ }, { "extension": [ + { + "extension": [ + { + "url": "template", + "valueReference": { + "reference": "#BodyHeightLength" + } + } + ], + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract" + }, { "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", "valueCoding": { @@ -299,6 +310,17 @@ }, { "extension": [ + { + "extension": [ + { + "url": "template", + "valueReference": { + "reference": "#BodyHeight" + } + } + ], + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract" + }, { "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", "valueCoding": { @@ -407,6 +429,17 @@ }, { "extension": [ + { + "extension": [ + { + "url": "template", + "valueReference": { + "reference": "#BodyWeight" + } + } + ], + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract" + }, { "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", "valueCoding": { @@ -618,6 +651,17 @@ }, { "extension": [ + { + "extension": [ + { + "url": "template", + "valueReference": { + "reference": "#HeadCircumference" + } + } + ], + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract" + }, { "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", "valueCoding": { @@ -725,6 +769,19 @@ "readOnly": true }, { + "extension": [ + { + "extension": [ + { + "url": "template", + "valueReference": { + "reference": "#WaistCircumference" + } + } + ], + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract" + } + ], "item": [ { "extension": [ @@ -825,6 +882,17 @@ }, { "extension": [ + { + "extension": [ + { + "url": "template", + "valueReference": { + "reference": "#HeartRate" + } + } + ], + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract" + }, { "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", "valueCoding": { @@ -917,6 +985,17 @@ }, { "extension": [ + { + "extension": [ + { + "url": "template", + "valueReference": { + "reference": "#HeartRhythm" + } + } + ], + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract" + }, { "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", "valueCodeableConcept": { @@ -1092,6 +1171,19 @@ "readOnly": true }, { + "extension": [ + { + "extension": [ + { + "url": "template", + "valueReference": { + "reference": "#BloodPressure" + } + } + ], + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract" + } + ], "item": [ { "extension": [ @@ -1297,7 +1389,71 @@ "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "%resource.repeat(item).where(linkId='exam-height-date-2').answer.value.toDateTime()" + "valueString": "%resource.repeat(item).where(linkId='obs-height-newdate').answer.value.toDateTime()" + } + ] + } + }, + { + "resourceType": "Observation", + "id": "BodyHeightLength", + "meta": { + "profile": [ + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyheight" + ] + }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs" + } + ] + } + ], + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "8302-2" + }, + { + "system": "http://snomed.info/sct", + "code": "50373000" + } + ], + "text": "Height" + }, + "valueQuantity": { + "system": "http://unitsofmeasure.org", + "unit": "cm", + "code": "cm", + "_value": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "$this.answer.value" + } + ] + } + }, + "status": "final", + "subject": { + "_reference": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.subject.reference" + } + ] + } + }, + "_effectiveDateTime": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.repeat(item).where(linkId='obs-lengthheight-newdate').answer.value.toDateTime()" } ] } @@ -1361,7 +1517,7 @@ "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "%resource.repeat(item).where(linkId='exam-weight-date-2').answer.value.toDateTime()" + "valueString": "%resource.repeat(item).where(linkId='obs-weight-newdate').answer.value.toDateTime()" } ] } @@ -1425,7 +1581,7 @@ "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "%resource.repeat(item).where(linkId='exam-waist-circumference-date-2').answer.value.toDateTime()" + "valueString": "%resource.repeat(item).where(linkId='obs-waistcircumference-newdate').answer.value.toDateTime()" } ] } @@ -1489,7 +1645,7 @@ "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "%resource.repeat(item).where(linkId='exam-heart-rate-date-2').answer.value.toDateTime()" + "valueString": "%resource.repeat(item).where(linkId='obs-heartrate-newdate').answer.value.toDateTime()" } ] } @@ -1547,7 +1703,7 @@ "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "%resource.repeat(item).where(linkId='exam-heart-rhythm-date-2').answer.value.toDateTime()" + "valueString": "%resource.repeat(item).where(linkId='obs-heartrhythm-newdate').answer.value.toDateTime()" } ] } @@ -1593,7 +1749,7 @@ "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "$this.answer.value.toDecimal()" + "valueString": "item.where(linkId='bp-newbp-systolic').answer.value.toDecimal()" } ] } @@ -1621,7 +1777,7 @@ "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "%resource.repeat(item).where(linkId='exam-blood-pressure-diastolic-2').answer.value.toDecimal()" + "valueString": "item.where(linkId='bp-newbp-diastolic').answer.value.toDecimal()" } ] } @@ -1656,7 +1812,7 @@ "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "%resource.repeat(item).where(linkId='exam-blood-pressure-date-2').answer.value.toDateTime()" + "valueString": "item.where(linkId='bp-newbp-date').answer.value.toDateTime()" } ] } @@ -1808,7 +1964,7 @@ } } ], - "url": "http://www.health.gov.au/assessments/mbs/715/Examination", + "url": "http://www.health.gov.au/assessments/mbs/715/ExaminationExtract", "name": "Examination", "title": "Aboriginal and Torres Strait Islander Health Check - Examination", "status": "draft", diff --git a/fsh-generated/resources/Questionnaire-RegularMedications.json b/fsh-generated/resources/Questionnaire-RegularMedications.json index 5b38c168..331cedfe 100644 --- a/fsh-generated/resources/Questionnaire-RegularMedications.json +++ b/fsh-generated/resources/Questionnaire-RegularMedications.json @@ -91,6 +91,18 @@ "type": "display" }, { + "linkId": "regularmedications-summary", + "text": "Medication summary", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
\r\n

Medication summary

\r\n

This section includes a list of existing items from the patient record. To update existing items, update the patient record and repopulate this form. To enter new items, add them at the bottom.

\r\n
" + } + ] + }, + "type": "group", + "repeats": false, "item": [ { "extension": [ @@ -211,24 +223,23 @@ ] }, { - "item": [ + "extension": [ { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract", "extension": [ { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-hidden", - "valueBoolean": true - }, - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%patient.id" + "url": "template", + "valueReference": { + "reference": "#MedicationStatementTemplate" } } - ], - "linkId": "patientIdMedicationStatement", - "type": "string" - }, + ] + } + ], + "linkId": "regularmedications-summary-new", + "type": "group", + "repeats": true, + "item": [ { "extension": [ { @@ -243,14 +254,14 @@ } } ], - "linkId": "regularmedications-summary-current-medication", + "linkId": "regularmedications-summary-new-medication", "text": "Medication", "type": "open-choice", "repeats": false, "answerValueSet": "#smarthealthchecks-medication" }, { - "linkId": "regularmedications-summary-current-dosage", + "linkId": "regularmedications-summary-new-dosage", "text": "Dosage", "type": "string", "repeats": true @@ -269,49 +280,21 @@ } } ], - "linkId": "regularmedications-summary-current-reasoncode", + "linkId": "regularmedications-summary-new-reasoncode", "text": "Clinical indication", "type": "open-choice", "repeats": true, "answerValueSet": "#medication-reason-taken-1" }, { - "linkId": "regularmedications-summary-current-comment", + "linkId": "regularmedications-summary-new-comment", "text": "Comment", "type": "string", "repeats": false } - ], - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract", - "extension": [ - { - "url": "template", - "valueReference": { - "reference": "#MedicationStatementTemplate" - } - } - ] - } - ], - "linkId": "regularmedications-summary-new", - "type": "group", - "repeats": true + ] } - ], - "linkId": "regularmedications-summary", - "text": "Medication summary", - "_text": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n

Medication summary

\r\n

This section includes a list of existing items from the patient record. To update existing items, update the patient record and repopulate this form. To enter new items, add them at the bottom.

\r\n
" - } - ] - }, - "type": "group", - "repeats": false + ] }, { "extension": [ @@ -595,7 +578,7 @@ "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext", - "valueString": "item.where(linkId='regularmedications-summary-current-medication').answer.value" + "valueString": "item.where(linkId='regularmedications-summary-new-medication').answer.value" } ], "coding": [ @@ -622,7 +605,7 @@ "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "'Patient/' + %resource.repeat(item).where(linkId='patientIdMedicationStatement').answer.valueString" + "valueString": "%resource.subject.reference" } ] } @@ -632,7 +615,7 @@ "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext", - "valueString": "item.where(linkId='regularmedications-summary-current-reasoncode').answer.value.ofType(Coding)" + "valueString": "item.where(linkId='regularmedications-summary-new-reasoncode').answer.value.ofType(Coding)" } ], "coding": [ @@ -650,7 +633,7 @@ "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext", - "valueString": "item.where(linkId='regularmedications-summary-current-reasoncode').answer.value.ofType(string)" + "valueString": "item.where(linkId='regularmedications-summary-new-reasoncode').answer.value.ofType(string)" } ], "_text": { @@ -669,7 +652,7 @@ "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "item.where(linkId='regularmedications-summary-current-comment').answer.value" + "valueString": "item.where(linkId='regularmedications-summary-new-comment').answer.value" } ] } @@ -680,7 +663,7 @@ "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext", - "valueString": "item.where(linkId='regularmedications-summary-current-dosage').answer.value" + "valueString": "item.where(linkId='regularmedications-summary-new-dosage').answer.value" } ], "_text": { diff --git a/input/fsh/715-AssemblyInstructions.fsh b/input/fsh/715-AssemblyInstructions.fsh index f943b61d..33ccc7e4 100644 --- a/input/fsh/715-AssemblyInstructions.fsh +++ b/input/fsh/715-AssemblyInstructions.fsh @@ -5,7 +5,7 @@ Alias: $UCUM = http://unitsofmeasure.org Instance: AssemblyInstructions InstanceOf: Questionnaire Usage: #example -Title: "Aboriginal and Torres Strait Islander Health Check" +Title: "Aboriginal and Torres Strait Islander Health Check (Extract)" Description: "Aboriginal and Torres Strait Islander Health Check assessment form." //* contained[+] = PrePopQuery @@ -157,9 +157,9 @@ Description: "Aboriginal and Torres Strait Islander Health Check assessment form * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" -* url = "http://www.health.gov.au/assessments/mbs/715" -* name = "AboriginalTorresStraitIslanderHealthCheck" -* title = "Aboriginal and Torres Strait Islander Health Check" +* url = "http://www.health.gov.au/assessments/mbs/715-extract" +* name = "AboriginalTorresStraitIslanderHealthCheck(Extract)" +* title = "Aboriginal and Torres Strait Islander Health Check (Extract)" * status = #draft * experimental = false * subjectType[+] = #Patient @@ -578,10 +578,16 @@ Description: "Aboriginal and Torres Strait Islander Health Check assessment form * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Immunisation|0.3.0] not available. Unable to display all questions." * type = #display // Examination - * item[+] + /** item[+] * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/Examination|0.3.0" * linkId = "3263611d-5813-4393-a660-d10166acd728" * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Examination|0.3.0] not available. Unable to display all questions." + * type = #display*/ + // Examination extract + * item[+] + * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/ExaminationExtract|0.3.0" + * linkId = "3263611d-5813-4393-a660-d10166acd728" + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Examination|0.3.0] not available. Unable to display all questions." * type = #display // Absolute CVD Risk Calculation * item[+] diff --git a/input/fsh/715-Assessment-ExaminationExtract.fsh b/input/fsh/715-Assessment-ExaminationExtract.fsh index cc204bab..09b56a5d 100644 --- a/input/fsh/715-Assessment-ExaminationExtract.fsh +++ b/input/fsh/715-Assessment-ExaminationExtract.fsh @@ -9,6 +9,7 @@ Title: "Aboriginal and Torres Strait Islander Health Check - Examination" Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." * contained[+] = BodyHeight +* contained[+] = BodyHeightLength * contained[+] = BodyWeight * contained[+] = WaistCircumference * contained[+] = HeartRate @@ -127,7 +128,7 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" -* url = "http://www.health.gov.au/assessments/mbs/715/Examination" +* url = "http://www.health.gov.au/assessments/mbs/715/ExaminationExtract" * name = "Examination" * title = "Aboriginal and Torres Strait Islander Health Check - Examination" * status = #draft @@ -230,6 +231,7 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * repeats = false * readOnly = true * item[+] + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#BodyHeightLength" * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#cm * linkId = "obs-lengthheight-newresult" * text = "New result" @@ -278,6 +280,7 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * repeats = false * readOnly = true * item[+] + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#BodyHeight" * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#cm * linkId = "obs-height-newresult" * text = "New result" @@ -323,6 +326,7 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * repeats = false * readOnly = true * item[+] + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#BodyWeight" * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#kg * linkId = "obs-weight-newresult" * text = "New result" @@ -417,6 +421,7 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * repeats = false * readOnly = true * item[+] + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#HeadCircumference" * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#cm * linkId = "obs-headcircumference-newresult" * text = "New result" @@ -465,6 +470,7 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * repeats = false * readOnly = true * item[+] + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#WaistCircumference" * linkId = "obs-waistcircumference-newresult" * text = "New result" * type = #decimal @@ -509,6 +515,7 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * repeats = false * readOnly = true * item[+] + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#HeartRate" * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#/min * linkId = "obs-heartrate-newresult" * text = "New result" @@ -545,6 +552,7 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * repeats = false * readOnly = true * item[+] + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#HeartRhythm" * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#radio-button * linkId = "obs-heartrhythm-newresult" * text = "New result" @@ -611,6 +619,7 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * type = #date * repeats = false * item[+] + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#BloodPressure" * linkId = "705f6d04-acab-4d14-baab-98f9bfc4808e" * text = "New blood pressure" * type = #group diff --git a/input/fsh/715-Assessment-RegularMedications.fsh b/input/fsh/715-Assessment-RegularMedications.fsh index 4d10b6e8..3df104a8 100644 --- a/input/fsh/715-Assessment-RegularMedications.fsh +++ b/input/fsh/715-Assessment-RegularMedications.fsh @@ -253,35 +253,35 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * item.item[=].item[=].linkId = "regularmedications-summary-new" * item.item[=].item[=].type = #group * item.item[=].item[=].repeats = true - +/* * item.item[=].item[=].item[+].extension[http://hl7.org/fhir/StructureDefinition/questionnaire-hidden].valueBoolean = true * item.item[=].item[=].item[=].extension[sdc-questionnaire-initialExpression].valueExpression.language = #text/fhirpath * item.item[=].item[=].item[=].extension[sdc-questionnaire-initialExpression].valueExpression.expression = "%patient.id" * item.item[=].item[=].item[=].linkId = "patientIdMedicationStatement" * item.item[=].item[=].item[=].type = #string - +*/ * item.item[=].item[=].item[+].extension[+].url = "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl" * item.item[=].item[=].item[=].extension[=].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#autocomplete -* item.item[=].item[=].item[=].linkId = "regularmedications-summary-current-medication" +* item.item[=].item[=].item[=].linkId = "regularmedications-summary-new-medication" * item.item[=].item[=].item[=].text = "Medication" * item.item[=].item[=].item[=].type = #open-choice * item.item[=].item[=].item[=].repeats = false * item.item[=].item[=].item[=].answerValueSet = "#smarthealthchecks-medication" -* item.item[=].item[=].item[+].linkId = "regularmedications-summary-current-dosage" +* item.item[=].item[=].item[+].linkId = "regularmedications-summary-new-dosage" * item.item[=].item[=].item[=].text = "Dosage" * item.item[=].item[=].item[=].type = #string * item.item[=].item[=].item[=].repeats = true * item.item[=].item[=].item[+].extension.url = "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl" * item.item[=].item[=].item[=].extension.valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#autocomplete -* item.item[=].item[=].item[=].linkId = "regularmedications-summary-current-reasoncode" +* item.item[=].item[=].item[=].linkId = "regularmedications-summary-new-reasoncode" * item.item[=].item[=].item[=].text = "Clinical indication" * item.item[=].item[=].item[=].type = #open-choice * item.item[=].item[=].item[=].repeats = true * item.item[=].item[=].item[=].answerValueSet = "#medication-reason-taken-1" -* item.item[=].item[=].item[+].linkId = "regularmedications-summary-current-comment" +* item.item[=].item[=].item[+].linkId = "regularmedications-summary-new-comment" * item.item[=].item[=].item[=].text = "Comment" * item.item[=].item[=].item[=].type = #string * item.item[=].item[=].item[=].repeats = false diff --git a/input/fsh/extract-templates.fsh b/input/fsh/extract-templates.fsh index 63f3df1f..ea6e3547 100644 --- a/input/fsh/extract-templates.fsh +++ b/input/fsh/extract-templates.fsh @@ -9,6 +9,7 @@ Alias: $allergyintolerance-clinical = http://terminology.hl7.org/CodeSystem/alle Alias: $au-core-bodyheight = http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyheight Alias: $au-core-bodyweight = http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyweight +Alias: $au-core-au-core-headcircum = http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum Alias: $au-core-waistcircum = http://hl7.org.au/fhir/core/StructureDefinition/au-core-waistcircum Alias: $au-core-heartrate = http://hl7.org.au/fhir/core/StructureDefinition/au-core-heartrate Alias: $au-core-bloodpressure = http://hl7.org.au/fhir/core/StructureDefinition/au-core-bloodpressure @@ -17,9 +18,10 @@ Alias: $au-core-allergyintolerance = http://hl7.org.au/fhir/core/StructureDefini Alias: $au-core-immunization = http://hl7.org.au/fhir/core/StructureDefinition/au-core-immunization Alias: $au-core-medicationstatement = http://hl7.org.au/fhir/core/StructureDefinition/au-core-medicationstatement + Alias: $observation-category = http://terminology.hl7.org/CodeSystem/observation-category -Instance: BodyHeight +Instance: BodyHeightLength InstanceOf: $au-core-bodyheight Usage: #inline * status = #final @@ -28,17 +30,16 @@ Usage: #inline * code.coding[snomedBodyHeightCode] = $SCT#50373000 * code.text = "Height" * subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" -* subject.reference.extension[=].valueString = "'Patient/' + %resource.repeat(item).where(linkId='patientIdExamination').answer.value" +* subject.reference.extension[=].valueString = "%resource.subject.reference" * effectiveDateTime.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" -* effectiveDateTime.extension[=].valueString = "%resource.repeat(item).where(linkId='exam-height-date-2').answer.value.toDateTime()" +* effectiveDateTime.extension[=].valueString = "%resource.repeat(item).where(linkId='obs-lengthheight-newdate').answer.value.toDateTime()" * valueQuantity.value.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * valueQuantity.value.extension[=].valueString = "$this.answer.value" -//* valueQuantity.value.extension[=].valueString = "%resource.repeat(item).where(linkId='7035c7e7-ada3-4c6b-9ea8-f39666f5d4ea').answer.value" * valueQuantity.unit = "cm" * valueQuantity.system = $UCUM * valueQuantity.code = #cm -Instance: BodyHeight3 +Instance: BodyHeight InstanceOf: $au-core-bodyheight Usage: #inline * status = #final @@ -49,9 +50,9 @@ Usage: #inline * subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * subject.reference.extension[=].valueString = "'Patient/' + %resource.repeat(item).where(linkId='patientIdExamination').answer.value" * effectiveDateTime.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" -* effectiveDateTime.extension[=].valueString = "item.where(linkId='exam-height-date-extract').answer.value.toDateTime()" +* effectiveDateTime.extension[=].valueString = "%resource.repeat(item).where(linkId='obs-height-newdate').answer.value.toDateTime()" * valueQuantity.value.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" -* valueQuantity.value.extension[=].valueString = "item.where(linkId='exam-height-value-extract').answer.value" +* valueQuantity.value.extension[=].valueString = "$this.answer.value" //* valueQuantity.value.extension[=].valueString = "%resource.repeat(item).where(linkId='7035c7e7-ada3-4c6b-9ea8-f39666f5d4ea').answer.value" * valueQuantity.unit = "cm" * valueQuantity.system = $UCUM @@ -68,14 +69,31 @@ Usage: #inline * subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * subject.reference.extension[=].valueString = "'Patient/' + %resource.repeat(item).where(linkId='patientIdExamination').answer.value" * effectiveDateTime.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" -* effectiveDateTime.extension[=].valueString = "%resource.repeat(item).where(linkId='exam-weight-date-2').answer.value.toDateTime()" +* effectiveDateTime.extension[=].valueString = "%resource.repeat(item).where(linkId='obs-weight-newdate').answer.value.toDateTime()" * valueQuantity.value.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * valueQuantity.value.extension[=].valueString = "$this.answer.value" -//* valueQuantity.value.extension[=].valueString = "%resource.repeat(item).where(linkId='443bd584-684a-449c-ab6e-9d07da4df9fa').answer.value" * valueQuantity.unit = "kg" * valueQuantity.system = $UCUM * valueQuantity.code = #kg +Instance: HeadCircumference +InstanceOf: $au-core-au-core-headcircum +Usage: #inline +* status = #final +* category[VSCat] = $observation-category#vital-signs +* code.coding[HeadCircumCode] = $LNC#9843-4 +* code.coding[snomedHeadCircumCode] = $SCT#363812007 +* code.text = "Head circumference" +* subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* subject.reference.extension[=].valueString = "'Patient/' + %resource.repeat(item).where(linkId='patientIdExamination').answer.value" +* effectiveDateTime.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* effectiveDateTime.extension[=].valueString = "%resource.repeat(item).where(linkId='obs-headcircumference-newdate').answer.value.toDateTime()" +* valueQuantity.value.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* valueQuantity.value.extension[=].valueString = "$this.answer.value" +* valueQuantity.unit = "cm" +* valueQuantity.system = $UCUM +* valueQuantity.code = #cm + Instance: WaistCircumference InstanceOf: $au-core-waistcircum Usage: #inline @@ -87,10 +105,9 @@ Usage: #inline * subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * subject.reference.extension[=].valueString = "'Patient/' + %resource.repeat(item).where(linkId='patientIdExamination').answer.value" * effectiveDateTime.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" -* effectiveDateTime.extension[=].valueString = "%resource.repeat(item).where(linkId='exam-waist-circumference-date-2').answer.value.toDateTime()" +* effectiveDateTime.extension[=].valueString = "%resource.repeat(item).where(linkId='obs-waistcircumference-newdate').answer.value.toDateTime()" * valueQuantity.value.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * valueQuantity.value.extension[=].valueString = "$this.answer.value" -//* valueQuantity.value.extension[=].valueString = "%resource.repeat(item).where(linkId='8df0f5d8-821d-4f71-b3c1-d164616ea2f5').answer.value" * valueQuantity.unit = "cm" * valueQuantity.system = $UCUM * valueQuantity.code = #cm @@ -106,10 +123,9 @@ Usage: #inline * subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * subject.reference.extension[=].valueString = "'Patient/' + %resource.repeat(item).where(linkId='patientIdExamination').answer.value" * effectiveDateTime.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" -* effectiveDateTime.extension[=].valueString = "%resource.repeat(item).where(linkId='exam-heart-rate-date-2').answer.value.toDateTime()" +* effectiveDateTime.extension[=].valueString = "%resource.repeat(item).where(linkId='obs-heartrate-newdate').answer.value.toDateTime()" * valueQuantity.value.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * valueQuantity.value.extension[=].valueString = "$this.answer.value.toDecimal()" -//* valueQuantity.value.extension[=].valueString = "%resource.repeat(item).where(linkId='49029ef0-eaa8-44f8-b26a-177820c82dfd').answer.value.toDecimal()" * valueQuantity.unit = "/min" * valueQuantity.system = $UCUM * valueQuantity.code = #/min @@ -125,10 +141,9 @@ Usage: #inline * subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * subject.reference.extension[=].valueString = "'Patient/' + %resource.repeat(item).where(linkId='patientIdExamination').answer.value" * effectiveDateTime.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" -* effectiveDateTime.extension[=].valueString = "%resource.repeat(item).where(linkId='exam-heart-rhythm-date-2').answer.value.toDateTime()" +* effectiveDateTime.extension[=].valueString = "%resource.repeat(item).where(linkId='obs-heartrhythm-newdate').answer.value.toDateTime()" * valueCodeableConcept.coding.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * valueCodeableConcept.coding.extension[=].valueString = "$this.answer.value" -//* valueCodeableConcept.coding.extension[=].valueString = "%resource.repeat(item).where(linkId='99a8eb6f-a36a-4daf-99d7-27bfde0d4bb1').answer.value" Instance: BloodPressure InstanceOf: $au-core-bloodpressure @@ -141,13 +156,12 @@ Usage: #inline * subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * subject.reference.extension[=].valueString = "'Patient/' + %resource.repeat(item).where(linkId='patientIdExamination').answer.value" * effectiveDateTime.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" -* effectiveDateTime.extension[=].valueString = "%resource.repeat(item).where(linkId='exam-blood-pressure-date-2').answer.value.toDateTime()" +* effectiveDateTime.extension[=].valueString = "item.where(linkId='bp-newbp-date').answer.value.toDateTime()" * component[SystolicBP].code.coding[SBPCode] = $LNC#8480-6 * component[SystolicBP].code.coding[snomedSBP] = $SCT#271649006 * component[SystolicBP].code.text = "Systolic" * component[SystolicBP].valueQuantity.value.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" -* component[SystolicBP].valueQuantity.value.extension[=].valueString = "$this.answer.value.toDecimal()" -//* component[SystolicBP].valueQuantity.value.extension[=].valueString = "%resource.repeat(item).where(linkId='e68b660d-cfd2-4b89-957a-c96a4c73a5fd').answer.value.toDecimal()" +* component[SystolicBP].valueQuantity.value.extension[=].valueString = "item.where(linkId='bp-newbp-systolic').answer.value.toDecimal()" * component[SystolicBP].valueQuantity.unit = "mm[Hg]" * component[SystolicBP].valueQuantity.system = $UCUM * component[SystolicBP].valueQuantity.code = #mm[Hg] @@ -155,7 +169,7 @@ Usage: #inline * component[DiastolicBP].code.coding[snomedDBP] = $SCT#271650006 * component[DiastolicBP].code.text = "Diastolic" * component[DiastolicBP].valueQuantity.value.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" -* component[DiastolicBP].valueQuantity.value.extension[=].valueString = "%resource.repeat(item).where(linkId='exam-blood-pressure-diastolic-2').answer.value.toDecimal()" +* component[DiastolicBP].valueQuantity.value.extension[=].valueString = "item.where(linkId='bp-newbp-diastolic').answer.value.toDecimal()" * component[DiastolicBP].valueQuantity.unit = "mm[Hg]" * component[DiastolicBP].valueQuantity.system = $UCUM * component[DiastolicBP].valueQuantity.code = #mm[Hg] @@ -255,27 +269,29 @@ InstanceOf: $au-core-medicationstatement Usage: #inline * status = #active * medicationCodeableConcept.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext" -* medicationCodeableConcept.extension[=].valueString = "item.where(linkId='regularmedications-summary-current-medication').answer.value" +* medicationCodeableConcept.extension[=].valueString = "item.where(linkId='regularmedications-summary-new-medication').answer.value" * medicationCodeableConcept.coding.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * medicationCodeableConcept.coding.extension[=].valueString = "ofType(Coding)" * medicationCodeableConcept.text.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * medicationCodeableConcept.text.extension[=].valueString = "ofType(string)" +/** subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* subject.reference.extension[=].valueString = "'Patient/' + %resource.repeat(item).where(linkId='patientIdMedicationStatement').answer.valueString"*/ * subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" -* subject.reference.extension[=].valueString = "'Patient/' + %resource.repeat(item).where(linkId='patientIdMedicationStatement').answer.valueString" +* subject.reference.extension[=].valueString = "%resource.subject.reference" * dateAsserted.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * dateAsserted.extension[=].valueString = "now()" * reasonCode[+].extension.url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext" -* reasonCode[=].extension.valueString = "item.where(linkId='regularmedications-summary-current-reasoncode').answer.value.ofType(Coding)" +* reasonCode[=].extension.valueString = "item.where(linkId='regularmedications-summary-new-reasoncode').answer.value.ofType(Coding)" * reasonCode[=].coding.extension.url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * reasonCode[=].coding.extension.valueString = "$this" * reasonCode[+].extension.url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext" -* reasonCode[=].extension.valueString = "item.where(linkId='regularmedications-summary-current-reasoncode').answer.value.ofType(string)" +* reasonCode[=].extension.valueString = "item.where(linkId='regularmedications-summary-new-reasoncode').answer.value.ofType(string)" * reasonCode[=].text.extension.url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * reasonCode[=].text.extension.valueString = "$this" * note.text.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" -* note.text.extension[=].valueString = "item.where(linkId='regularmedications-summary-current-comment').answer.value" +* note.text.extension[=].valueString = "item.where(linkId='regularmedications-summary-new-comment').answer.value" * dosage[+].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext" -* dosage[=].extension[=].valueString = "item.where(linkId='regularmedications-summary-current-dosage').answer.value" +* dosage[=].extension[=].valueString = "item.where(linkId='regularmedications-summary-new-dosage').answer.value" * dosage[=].text.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * dosage[=].text.extension[=].valueString = "$this" diff --git a/sushi-config.yaml b/sushi-config.yaml index dff235cc..aeac667f 100644 --- a/sushi-config.yaml +++ b/sushi-config.yaml @@ -27,6 +27,7 @@ publisher: dependencies: hl7.fhir.au.core: 1.1.0-preview + hl7.fhir.au.base: 5.1.0-preview hl7.fhir.uv.sdc: current hl7.fhir.uv.smart-app-launch: 2.2.0 hl7.fhir.uv.extensions.r5: 5.2.0 From 0c9de2415b53b6dd0c3e89c17f8c5c6028794324 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Mon, 2 Jun 2025 17:25:06 +1000 Subject: [PATCH 072/177] Further extract development including add new heart rhythm profile --- ...ntationGuide-csiro.fhir.au.smartforms.json | 24 +- ...estionnaire-AllergiesAdverseReactions.json | 69 +++--- .../Questionnaire-AssemblyInstructions.json | 4 +- .../Questionnaire-ExaminationExtract.json | 162 +++++++++----- .../resources/Questionnaire-Immunisation.json | 21 +- ...onnaire-MedicalHistoryCurrentProblems.json | 2 +- .../Questionnaire-RegularMedications.json | 22 +- ...efinition-SmartHealthCheckHeartRhythm.json | 209 ++++++++++++++++++ .../resources/ValueSet-heart-rhythm-1.json | 33 +++ input/fsh/715-AssemblyInstructions.fsh | 4 +- ...5-Assessment-AllergiesAdverseReactions.fsh | 5 - .../fsh/715-Assessment-ExaminationExtract.fsh | 66 +++--- input/fsh/715-Assessment-Immunisation.fsh | 7 - ...sessment-MedicalHistoryCurrentProblems.fsh | 2 +- .../fsh/715-Assessment-RegularMedications.fsh | 26 +-- input/fsh/extract-templates.fsh | 54 ++--- input/fsh/profiles.fsh | 92 ++++++++ input/fsh/terminology.fsh | 14 +- 18 files changed, 568 insertions(+), 248 deletions(-) create mode 100644 fsh-generated/resources/StructureDefinition-SmartHealthCheckHeartRhythm.json create mode 100644 fsh-generated/resources/ValueSet-heart-rhythm-1.json create mode 100644 input/fsh/profiles.fsh diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index f151fa1b..69f9e11b 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -33,6 +33,12 @@ "uri": "http://hl7.org.au/fhir/core/ImplementationGuide/hl7.fhir.au.core", "id": "hl7_fhir_au_core" }, + { + "packageId": "hl7.fhir.au.base", + "version": "5.1.0-preview", + "uri": "http://hl7.org.au/fhir/ImplementationGuide/hl7.fhir.au.base", + "id": "hl7_fhir_au_base" + }, { "packageId": "hl7.fhir.uv.sdc", "version": "current", @@ -137,7 +143,7 @@ "reference": { "reference": "Questionnaire/ExaminationExtract" }, - "name": "Aboriginal and Torres Strait Islander Health Check - Examination", + "name": "Aboriginal and Torres Strait Islander Health Check - Examination (Extract)", "description": "Examination sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", "exampleBoolean": true }, @@ -453,6 +459,14 @@ "description": "The Gender Identity Response value set includes values that may be used to represent a response for an individual's gender. A person's gender is a social and cultural identity, expression and experience.", "exampleBoolean": false }, + { + "reference": { + "reference": "ValueSet/heart-rhythm-1" + }, + "name": "Heart Rhythm", + "description": "The Heart Rhythm value set includes values that may be used to represent the heart rhythm of an individual.", + "exampleBoolean": false + }, { "reference": { "reference": "ValueSet/medication-reason-taken-1" @@ -517,6 +531,14 @@ "description": "This CapabilityStatement describes the capabilities of the Smart Forms Server. The Smart Forms Server provides a definitional repository of resources that a client application can retrieve for use in a Smart Forms context. The capabilities listed include supported FHIR profiles, RESTful operations, and search parameters.", "exampleBoolean": false }, + { + "reference": { + "reference": "StructureDefinition/SmartHealthCheckHeartRhythm" + }, + "name": "Smart Health Check Heart Rhythm", + "description": "This profile sets the minimum expectations for an Observation resource to record heart rhythm observations. It is used to represent heart rhythm data captured during a First Nations Health Check that can be used to record the observation in a clinical record.", + "exampleBoolean": false + }, { "reference": { "reference": "ValueSet/smarthealthchecks-medication" diff --git a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json index 62b9ce96..c93481a9 100644 --- a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json +++ b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json @@ -78,6 +78,17 @@ ] }, { + "linkId": "allergyinstruction", + "text": "Adverse reaction risk summary", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
\r\n

Adverse reaction risk summary

\r\n

This section includes a list of existing items from the patient record. To update existing items, update the patient record and repopulate this form. To enter new items, add them at the bottom.

\r\n
" + } + ] + }, + "type": "group", "item": [ { "extension": [ @@ -168,24 +179,23 @@ ] }, { - "item": [ + "extension": [ { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract", "extension": [ { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-hidden", - "valueBoolean": true - }, - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%patient.id" + "url": "template", + "valueReference": { + "reference": "#AllergyIntoleranceTemplate" } } - ], - "linkId": "patientIdAllergy", - "type": "string" - }, + ] + } + ], + "linkId": "allergynew", + "type": "group", + "repeats": true, + "item": [ { "extension": [ { @@ -233,36 +243,9 @@ "type": "string", "repeats": false } - ], - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract", - "extension": [ - { - "url": "template", - "valueReference": { - "reference": "#AllergyIntoleranceTemplate" - } - } - ] - } - ], - "linkId": "allergynew", - "type": "group", - "repeats": true + ] } - ], - "linkId": "allergyinstruction", - "text": "Adverse reaction risk summary", - "_text": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n

Adverse reaction risk summary

\r\n

This section includes a list of existing items from the patient record. To update existing items, update the patient record and repopulate this form. To enter new items, add them at the bottom.

\r\n
" - } - ] - }, - "type": "group" + ] }, { "linkId": "3e689aeb-69a1-4a9b-93bd-50377511dd9b", @@ -339,7 +322,7 @@ "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "'Patient/' + item.where(linkId='patientIdAllergy').answer.valueString" + "valueString": "%resource.subject.reference" } ] } diff --git a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json index 2e19ec31..16934bb5 100644 --- a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json +++ b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json @@ -620,8 +620,8 @@ "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/ExaminationExtract|0.3.0" } ], - "linkId": "3263611d-5813-4393-a660-d10166acd728", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Examination|0.3.0] not available. Unable to display all questions.", + "linkId": "5d89b095-fa2d-401c-954f-a2e102b77d50", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/ExaminationExtract|0.3.0] not available. Unable to display all questions.", "type": "display" }, { diff --git a/fsh-generated/resources/Questionnaire-ExaminationExtract.json b/fsh-generated/resources/Questionnaire-ExaminationExtract.json index 847a01f7..995621d3 100644 --- a/fsh-generated/resources/Questionnaire-ExaminationExtract.json +++ b/fsh-generated/resources/Questionnaire-ExaminationExtract.json @@ -82,23 +82,6 @@ "text": "Growth measures recorded on Centers for Disease Control and Prevention (CDC) and World Health Organization (WHO) growth charts for centile and tracking overtime", "type": "display" }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-hidden", - "valueBoolean": true - }, - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%patient.id" - } - } - ], - "linkId": "patientIdExamination", - "type": "string" - }, { "linkId": "examinationinstruction", "text": "The tabled observations will display the most recent results available from the patient record. If required, new observations can be recorded and added to the tables.", @@ -179,7 +162,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%ObsBodyHeight.entry.resource.effective" + "expression": "%ObsBodyHeight.entry.resource.effective.toDate()" } } ], @@ -196,7 +179,7 @@ { "url": "template", "valueReference": { - "reference": "#BodyHeightLength" + "reference": "#BodyHeightLengthTemplate" } } ], @@ -298,7 +281,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%ObsBodyHeight.entry.resource.effective" + "expression": "%ObsBodyHeight.entry.resource.effective.toDate()" } } ], @@ -315,7 +298,7 @@ { "url": "template", "valueReference": { - "reference": "#BodyHeight" + "reference": "#BodyHeightTemplate" } } ], @@ -417,7 +400,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%ObsBodyWeight.entry.resource.effective" + "expression": "%ObsBodyWeight.entry.resource.effective.toDate()" } } ], @@ -434,7 +417,7 @@ { "url": "template", "valueReference": { - "reference": "#BodyWeight" + "reference": "#BodyWeightTemplate" } } ], @@ -639,7 +622,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%ObsHeadCircumference.entry.resource.effective" + "expression": "%ObsHeadCircumference.entry.resource.effective.toDate()" } } ], @@ -656,7 +639,7 @@ { "url": "template", "valueReference": { - "reference": "#HeadCircumference" + "reference": "#HeadCircumferenceTemplate" } } ], @@ -758,7 +741,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%ObsWaistCircumference.entry.resource.effective" + "expression": "%ObsWaistCircumference.entry.resource.effective.toDate()" } } ], @@ -775,7 +758,7 @@ { "url": "template", "valueReference": { - "reference": "#WaistCircumference" + "reference": "#WaistCircumferenceTemplate" } } ], @@ -827,7 +810,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%ObsHeartRate.entry.resource.value.value" + "expression": "%ObsHeartRate.entry.resource.value.value.round().toInteger()" } }, { @@ -870,7 +853,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%ObsHeartRate.entry.resource.effective" + "expression": "%ObsHeartRate.entry.resource.effective.toDate()" } } ], @@ -887,7 +870,7 @@ { "url": "template", "valueReference": { - "reference": "#HeartRate" + "reference": "#HeartRateTemplate" } } ], @@ -990,7 +973,7 @@ { "url": "template", "valueReference": { - "reference": "#HeartRhythm" + "reference": "#HeartRhythmTemplate" } } ], @@ -1070,7 +1053,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8480-6')).value.value" + "expression": "%ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8480-6')).value.value.round().toInteger()" } }, { @@ -1112,7 +1095,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8462-4')).value.value" + "expression": "%ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8462-4')).value.value.round().toInteger()" } }, { @@ -1154,7 +1137,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%ObsBloodPressure.entry.resource.effective" + "expression": "%ObsBloodPressure.entry.resource.effective.toDate()" } } ], @@ -1177,7 +1160,7 @@ { "url": "template", "valueReference": { - "reference": "#BloodPressure" + "reference": "#BloodPressureTemplate" } } ], @@ -1332,7 +1315,7 @@ "contained": [ { "resourceType": "Observation", - "id": "BodyHeight", + "id": "BodyHeightTemplate", "meta": { "profile": [ "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyheight" @@ -1380,7 +1363,7 @@ "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "'Patient/' + %resource.repeat(item).where(linkId='patientIdExamination').answer.value" + "valueString": "%resource.subject.reference" } ] } @@ -1396,7 +1379,7 @@ }, { "resourceType": "Observation", - "id": "BodyHeightLength", + "id": "BodyHeightLengthTemplate", "meta": { "profile": [ "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyheight" @@ -1460,7 +1443,7 @@ }, { "resourceType": "Observation", - "id": "BodyWeight", + "id": "BodyWeightTemplate", "meta": { "profile": [ "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyweight" @@ -1508,7 +1491,7 @@ "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "'Patient/' + %resource.repeat(item).where(linkId='patientIdExamination').answer.value" + "valueString": "%resource.subject.reference" } ] } @@ -1524,7 +1507,7 @@ }, { "resourceType": "Observation", - "id": "WaistCircumference", + "id": "WaistCircumferenceTemplate", "meta": { "profile": [ "http://hl7.org.au/fhir/core/StructureDefinition/au-core-waistcircum" @@ -1572,7 +1555,7 @@ "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "'Patient/' + %resource.repeat(item).where(linkId='patientIdExamination').answer.value" + "valueString": "%resource.subject.reference" } ] } @@ -1588,7 +1571,71 @@ }, { "resourceType": "Observation", - "id": "HeartRate", + "id": "HeadCircumferenceTemplate", + "meta": { + "profile": [ + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum" + ] + }, + "status": "final", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs" + } + ] + } + ], + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "9843-4" + }, + { + "system": "http://snomed.info/sct", + "code": "363812007" + } + ], + "text": "Head circumference" + }, + "valueQuantity": { + "system": "http://unitsofmeasure.org", + "unit": "cm", + "code": "cm", + "_value": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "$this.answer.value" + } + ] + } + }, + "subject": { + "_reference": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.subject.reference" + } + ] + } + }, + "_effectiveDateTime": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.repeat(item).where(linkId='obs-headcircumference-newdate').answer.value.toDateTime()" + } + ] + } + }, + { + "resourceType": "Observation", + "id": "HeartRateTemplate", "meta": { "profile": [ "http://hl7.org.au/fhir/core/StructureDefinition/au-core-heartrate" @@ -1636,7 +1683,7 @@ "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "'Patient/' + %resource.repeat(item).where(linkId='patientIdExamination').answer.value" + "valueString": "%resource.subject.reference" } ] } @@ -1652,8 +1699,12 @@ }, { "resourceType": "Observation", - "id": "HeartRhythm", - "status": "final", + "id": "HeartRhythmTemplate", + "meta": { + "profile": [ + "https://smartforms.csiro.au/ig/StructureDefinition/SmartHealthCheckHeartRhythm" + ] + }, "category": [ { "coding": [ @@ -1667,22 +1718,23 @@ "code": { "coding": [ { - "code": "8884-9", - "system": "http://loinc.org" + "system": "http://loinc.org", + "code": "8884-9" }, { - "code": "364074009", - "system": "http://snomed.info/sct" + "system": "http://snomed.info/sct", + "code": "364074009" } ], "text": "Heart rhythm" }, + "status": "final", "subject": { "_reference": { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "'Patient/' + %resource.repeat(item).where(linkId='patientIdExamination').answer.value" + "valueString": "%resource.subject.reference" } ] } @@ -1710,7 +1762,7 @@ }, { "resourceType": "Observation", - "id": "BloodPressure", + "id": "BloodPressureTemplate", "meta": { "profile": [ "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bloodpressure" @@ -1803,7 +1855,7 @@ "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "'Patient/' + %resource.repeat(item).where(linkId='patientIdExamination').answer.value" + "valueString": "%resource.subject.reference" } ] } @@ -1965,8 +2017,8 @@ } ], "url": "http://www.health.gov.au/assessments/mbs/715/ExaminationExtract", - "name": "Examination", - "title": "Aboriginal and Torres Strait Islander Health Check - Examination", + "name": "ExaminationExtract", + "title": "Aboriginal and Torres Strait Islander Health Check - Examination Extract", "status": "draft", "experimental": false, "subjectType": [ diff --git a/fsh-generated/resources/Questionnaire-Immunisation.json b/fsh-generated/resources/Questionnaire-Immunisation.json index fb767cf2..0702a0a1 100644 --- a/fsh-generated/resources/Questionnaire-Immunisation.json +++ b/fsh-generated/resources/Questionnaire-Immunisation.json @@ -165,23 +165,6 @@ }, "type": "display" }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-hidden", - "valueBoolean": true - }, - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%patient.id" - } - } - ], - "linkId": "patientIdImmunization", - "type": "string" - }, { "extension": [ { @@ -222,7 +205,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%ImmunizationRepeat.vaccineCode.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first())" + "expression": "%ImmunizationRepeat.vaccineCode.select((coding.where(system='http://snomed.info/sct') | text.first() | coding.where(system!='http://snomed.info/sct').display).first())" } } ], @@ -599,7 +582,7 @@ "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "'Patient/' + %resource.repeat(item).where(linkId='patientIdImmunization').answer.valueString" + "valueString": "%resource.subject.reference" } ] } diff --git a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json index 864a0479..18a59b56 100644 --- a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json +++ b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json @@ -621,7 +621,7 @@ "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "'Patient/' + %resource.repeat(item).where(linkId='patientIdMedicalHistory').answer.valueString" + "valueString": "%resource.subject.reference" } ] } diff --git a/fsh-generated/resources/Questionnaire-RegularMedications.json b/fsh-generated/resources/Questionnaire-RegularMedications.json index 331cedfe..d21d3a0c 100644 --- a/fsh-generated/resources/Questionnaire-RegularMedications.json +++ b/fsh-generated/resources/Questionnaire-RegularMedications.json @@ -111,7 +111,7 @@ "valueExpression": { "name": "MedicationStatementRepeat", "language": "text/fhirpath", - "expression": "%MedicationStatement.entry.resource" + "expression": "%MedicationStatement.entry.resource.where(status='active')" } } ], @@ -149,19 +149,11 @@ }, { "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemPopulationContext", - "valueExpression": { - "name": "DosageRepeat", - "language": "text/fhirpath", - "expression": "%MedicationStatementRepeat.dosage" - } - }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%DosageRepeat.text" + "expression": "%MedicationStatementRepeat.dosage.text" } } ], @@ -199,19 +191,11 @@ }, { "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemPopulationContext", - "valueExpression": { - "name": "MedicationStatementNoteRepeat", - "language": "text/fhirpath", - "expression": "%MedicationStatementRepeat.note" - } - }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%MedicationStatementNoteRepeat.text" + "expression": "%MedicationStatementRepeat.note.text" } } ], diff --git a/fsh-generated/resources/StructureDefinition-SmartHealthCheckHeartRhythm.json b/fsh-generated/resources/StructureDefinition-SmartHealthCheckHeartRhythm.json new file mode 100644 index 00000000..da3064f3 --- /dev/null +++ b/fsh-generated/resources/StructureDefinition-SmartHealthCheckHeartRhythm.json @@ -0,0 +1,209 @@ +{ + "resourceType": "StructureDefinition", + "id": "SmartHealthCheckHeartRhythm", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/SmartHealthCheckHeartRhythm", + "name": "SmartHealthCheckHeartRhythm", + "title": "Smart Health Check Heart Rhythm", + "status": "draft", + "description": "This profile sets the minimum expectations for an Observation resource to record heart rhythm observations. It is used to represent heart rhythm data captured during a First Nations Health Check that can be used to record the observation in a clinical record.", + "fhirVersion": "4.0.1", + "kind": "resource", + "abstract": false, + "type": "Observation", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Observation", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Observation", + "path": "Observation", + "short": "Heart Rhythm", + "definition": "Measurement of a patient's heart rhytym at a point in time.", + "comment": "Heart rhythm observation using a LOINC code, a SNOMED CT code and a metric UCUM unit of measure.", + "constraint": [ + { + "key": "shc-heartrhythm-01", + "human": "At least value or data absent reason shall be present", + "source": "https://smartforms.csiro.au/ig/StructureDefinition/SmartHealthCheckHeartRhythm", + "severity": "error", + "expression": "dataAbsentReason.exists() or value.exists()", + "xpath": "exists(f:*[starts-with(local-name(.), 'value')]) or exists(f:dataAbsentReason)" + } + ] + }, + { + "id": "Observation.status", + "path": "Observation.status", + "mustSupport": true + }, + { + "id": "Observation.category", + "path": "Observation.category", + "slicing": { + "discriminator": [ + { + "type": "value", + "path": "coding.code" + }, + { + "type": "value", + "path": "coding.system" + } + ], + "ordered": false, + "rules": "open" + }, + "min": 1, + "mustSupport": true + }, + { + "id": "Observation.category:vitalSignsCategory", + "path": "Observation.category", + "sliceName": "vitalSignsCategory", + "min": 1, + "max": "1", + "fixedCodeableConcept": { + "coding": [ + { + "code": "vital-signs", + "system": "http://terminology.hl7.org/CodeSystem/observation-category" + } + ] + }, + "mustSupport": true + }, + { + "id": "Observation.code", + "path": "Observation.code", + "short": "Heart Rhythm", + "definition": "Heart Rhythm.", + "mustSupport": true + }, + { + "id": "Observation.code.coding", + "path": "Observation.code.coding", + "slicing": { + "discriminator": [ + { + "type": "value", + "path": "code" + }, + { + "type": "value", + "path": "system" + } + ], + "ordered": false, + "rules": "open" + }, + "min": 2, + "mustSupport": true + }, + { + "id": "Observation.code.coding:loincHeartRateCode", + "path": "Observation.code.coding", + "sliceName": "loincHeartRateCode", + "min": 1, + "max": "1", + "mustSupport": true + }, + { + "id": "Observation.code.coding:loincHeartRateCode.system", + "path": "Observation.code.coding.system", + "min": 1, + "fixedUri": "http://loinc.org" + }, + { + "id": "Observation.code.coding:loincHeartRateCode.code", + "path": "Observation.code.coding.code", + "min": 1, + "fixedCode": "8867-4" + }, + { + "id": "Observation.code.coding:snomedHeartRateCode", + "path": "Observation.code.coding", + "sliceName": "snomedHeartRateCode", + "min": 1, + "max": "1", + "mustSupport": true + }, + { + "id": "Observation.code.coding:snomedHeartRateCode.system", + "path": "Observation.code.coding.system", + "min": 1, + "fixedUri": "http://snomed.info/sct" + }, + { + "id": "Observation.code.coding:snomedHeartRateCode.code", + "path": "Observation.code.coding.code", + "min": 1, + "fixedCode": "364074009" + }, + { + "id": "Observation.subject", + "path": "Observation.subject", + "min": 1, + "type": [ + { + "code": "Reference", + "targetProfile": [ + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-patient" + ] + } + ], + "mustSupport": true + }, + { + "id": "Observation.effective[x]", + "path": "Observation.effective[x]", + "short": "Date, and optionally time, the observation was performed", + "definition": "Date, and optionally time, the observation was performed.", + "min": 1, + "type": [ + { + "code": "dateTime" + } + ], + "condition": [ + "shc-heartrhythm-02" + ], + "constraint": [ + { + "key": "shc-heartrhythm-02", + "human": "Date shall be at least to day or, if not available, the Data Absent Reason extension shall be present", + "source": "https://smartforms.csiro.au/ig/StructureDefinition/SmartHealthCheckHeartRhythm", + "severity": "error", + "expression": "(($this is dateTime implies $this.toString().length() >= 10) and extension('http://hl7.org/fhir/StructureDefinition/data-absent-reason').value.exists().not()) xor ($this is dateTime implies ($this.hasValue().not() and extension('http://hl7.org/fhir/StructureDefinition/data-absent-reason').value.exists()))", + "xpath": "((self::dateTime and string-length(.) >= 10 and not(extension[@url='http://hl7.org/fhir/StructureDefinition/data-absent-reason'])) xor (self::dateTime and not(.) and extension[@url='http://hl7.org/fhir/StructureDefinition/data-absent-reason']))" + } + ], + "mustSupport": true + }, + { + "id": "Observation.value[x]", + "path": "Observation.value[x]", + "type": [ + { + "code": "CodeableConcept" + } + ], + "condition": [ + "shc-heartrhythm-01" + ], + "mustSupport": true, + "binding": { + "strength": "extensible", + "valueSet": "https://smartforms.csiro.au/ig/ValueSet/heart-rhythm-1" + } + }, + { + "id": "Observation.dataAbsentReason", + "path": "Observation.dataAbsentReason", + "condition": [ + "shc-heartrhythm-01" + ], + "mustSupport": true + } + ] + } +} diff --git a/fsh-generated/resources/ValueSet-heart-rhythm-1.json b/fsh-generated/resources/ValueSet-heart-rhythm-1.json new file mode 100644 index 00000000..25da2bd8 --- /dev/null +++ b/fsh-generated/resources/ValueSet-heart-rhythm-1.json @@ -0,0 +1,33 @@ +{ + "resourceType": "ValueSet", + "status": "draft", + "name": "HeartRythym", + "id": "heart-rhythm-1", + "title": "Heart Rhythm", + "description": "The Heart Rhythm value set includes values that may be used to represent the heart rhythm of an individual.", + "url": "https://smartforms.csiro.au/ig/ValueSet/heart-rhythm-1", + "meta": { + "profile": [ + "http://hl7.org/fhir/StructureDefinition/shareablevalueset", + "https://healthterminologies.gov.au/fhir/StructureDefinition/composed-value-set-4" + ] + }, + "experimental": false, + "compose": { + "include": [ + { + "system": "http://snomed.info/sct", + "concept": [ + { + "code": "271636001", + "display": "Pulse regular" + }, + { + "code": "61086009", + "display": "Pulse irregular" + } + ] + } + ] + } +} diff --git a/input/fsh/715-AssemblyInstructions.fsh b/input/fsh/715-AssemblyInstructions.fsh index 33ccc7e4..33fb59ee 100644 --- a/input/fsh/715-AssemblyInstructions.fsh +++ b/input/fsh/715-AssemblyInstructions.fsh @@ -586,8 +586,8 @@ Description: "Aboriginal and Torres Strait Islander Health Check assessment form // Examination extract * item[+] * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/ExaminationExtract|0.3.0" - * linkId = "3263611d-5813-4393-a660-d10166acd728" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Examination|0.3.0] not available. Unable to display all questions." + * linkId = "5d89b095-fa2d-401c-954f-a2e102b77d50" + * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/ExaminationExtract|0.3.0] not available. Unable to display all questions." * type = #display // Absolute CVD Risk Calculation * item[+] diff --git a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh index 5d450181..2680cc60 100644 --- a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh +++ b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh @@ -161,11 +161,6 @@ Description: "Allergies/Adverse Reactions sub-questionnaire for Aboriginal and T * item[=].item[=].item[=].linkId = "allergynew" * item[=].item[=].item[=].type = #group * item[=].item[=].item[=].repeats = true -* item[=].item[=].item[=].item[+].extension[http://hl7.org/fhir/StructureDefinition/questionnaire-hidden].valueBoolean = true -* item[=].item[=].item[=].item[=].extension[sdc-questionnaire-initialExpression].valueExpression.language = #text/fhirpath -* item[=].item[=].item[=].item[=].extension[sdc-questionnaire-initialExpression].valueExpression.expression = "%patient.id" -* item[=].item[=].item[=].item[=].linkId = "patientIdAllergy" -* item[=].item[=].item[=].item[=].type = #string * item[=].item[=].item[=].item[+].extension[+].url = "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl" * item[=].item[=].item[=].item[=].extension[=].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#autocomplete * item[=].item[=].item[=].item[=].linkId = "allergynew-substance" diff --git a/input/fsh/715-Assessment-ExaminationExtract.fsh b/input/fsh/715-Assessment-ExaminationExtract.fsh index 09b56a5d..68589919 100644 --- a/input/fsh/715-Assessment-ExaminationExtract.fsh +++ b/input/fsh/715-Assessment-ExaminationExtract.fsh @@ -5,16 +5,17 @@ Alias: $UCUM = http://unitsofmeasure.org Instance: ExaminationExtract InstanceOf: Questionnaire Usage: #example -Title: "Aboriginal and Torres Strait Islander Health Check - Examination" +Title: "Aboriginal and Torres Strait Islander Health Check - Examination (Extract)" Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." -* contained[+] = BodyHeight -* contained[+] = BodyHeightLength -* contained[+] = BodyWeight -* contained[+] = WaistCircumference -* contained[+] = HeartRate -* contained[+] = HeartRhythm -* contained[+] = BloodPressure +* contained[+] = BodyHeightTemplate +* contained[+] = BodyHeightLengthTemplate +* contained[+] = BodyWeightTemplate +* contained[+] = WaistCircumferenceTemplate +* contained[+] = HeadCircumferenceTemplate +* contained[+] = HeartRateTemplate +* contained[+] = HeartRhythmTemplate +* contained[+] = BloodPressureTemplate //assemble expectation * extension[+] @@ -129,8 +130,8 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/ExaminationExtract" -* name = "Examination" -* title = "Aboriginal and Torres Strait Islander Health Check - Examination" +* name = "ExaminationExtract" +* title = "Aboriginal and Torres Strait Islander Health Check - Examination Extract" * status = #draft * experimental = false * subjectType[+] = #Patient @@ -175,15 +176,6 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * text = "Growth measures recorded on Centers for Disease Control and Prevention (CDC) and World Health Organization (WHO) growth charts for centile and tracking overtime" * type = #display -// Extract hidden items - * item[+] - * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-hidden].valueBoolean = true - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%patient.id" - * linkId = "patientIdExamination" - * type = #string - // Examination instruction * item[+] * linkId = "examinationinstruction" @@ -224,14 +216,14 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath - * expression = "%ObsBodyHeight.entry.resource.effective" + * expression = "%ObsBodyHeight.entry.resource.effective.toDate()" * linkId = "b9faf79e-b5f7-443a-9203-67532e3a381f" * text = "Last result date" * type = #date * repeats = false * readOnly = true * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#BodyHeightLength" + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#BodyHeightLengthTemplate" * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#cm * linkId = "obs-lengthheight-newresult" * text = "New result" @@ -273,14 +265,14 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath - * expression = "%ObsBodyHeight.entry.resource.effective" + * expression = "%ObsBodyHeight.entry.resource.effective.toDate()" * linkId = "c666ac96-1e64-40e2-8e0b-7d0187bb3e50" * text = "Last result date" * type = #date * repeats = false * readOnly = true * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#BodyHeight" + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#BodyHeightTemplate" * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#cm * linkId = "obs-height-newresult" * text = "New result" @@ -319,14 +311,14 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath - * expression = "%ObsBodyWeight.entry.resource.effective" + * expression = "%ObsBodyWeight.entry.resource.effective.toDate()" * linkId = "92cdc1c7-eb6c-4f6d-9bd9-ae726a0e0d3d" * text = "Last result date" * type = #date * repeats = false * readOnly = true * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#BodyWeight" + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#BodyWeightTemplate" * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#kg * linkId = "obs-weight-newresult" * text = "New result" @@ -414,14 +406,14 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath - * expression = "%ObsHeadCircumference.entry.resource.effective" + * expression = "%ObsHeadCircumference.entry.resource.effective.toDate()" * linkId = "b8da15e7-8648-492b-9e82-ad5ab7cad179" * text = "Last result date" * type = #date * repeats = false * readOnly = true * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#HeadCircumference" + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#HeadCircumferenceTemplate" * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#cm * linkId = "obs-headcircumference-newresult" * text = "New result" @@ -463,14 +455,14 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath - * expression = "%ObsWaistCircumference.entry.resource.effective" + * expression = "%ObsWaistCircumference.entry.resource.effective.toDate()" * linkId = "3eb3b929-e67a-4331-8949-b8447b66a4c7" * text = "Last result date" * type = #date * repeats = false * readOnly = true * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#WaistCircumference" + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#WaistCircumferenceTemplate" * linkId = "obs-waistcircumference-newresult" * text = "New result" * type = #decimal @@ -493,7 +485,7 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath - * expression = "%ObsHeartRate.entry.resource.value.value" + * expression = "%ObsHeartRate.entry.resource.value.value.round().toInteger()" * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#/min * linkId = "49029ef0-eaa8-44f8-b26a-177820c82dfd" * text = "Last result" @@ -508,14 +500,14 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath - * expression = "%ObsHeartRate.entry.resource.effective" + * expression = "%ObsHeartRate.entry.resource.effective.toDate()" * linkId = "feeac08f-2ba6-4048-80a2-10b3f90cf5e3" * text = "Last result date" * type = #date * repeats = false * readOnly = true * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#HeartRate" + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#HeartRateTemplate" * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#/min * linkId = "obs-heartrate-newresult" * text = "New result" @@ -552,7 +544,7 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * repeats = false * readOnly = true * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#HeartRhythm" + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#HeartRhythmTemplate" * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#radio-button * linkId = "obs-heartrhythm-newresult" * text = "New result" @@ -585,7 +577,7 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath - * expression = "%ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8480-6')).value.value" + * expression = "%ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8480-6')).value.value.round().toInteger()" * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#mm[Hg] * linkId = "e68b660d-cfd2-4b89-957a-c96a4c73a5fd" * text = "Systolic" @@ -599,7 +591,7 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath - * expression = "%ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8462-4')).value.value" + * expression = "%ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8462-4')).value.value.round().toInteger()" * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#mm[Hg] * linkId = "867b0022-f812-4f80-b287-79686c972b15" * text = "Diastolic" @@ -613,13 +605,13 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath - * expression = "%ObsBloodPressure.entry.resource.effective" + * expression = "%ObsBloodPressure.entry.resource.effective.toDate()" * linkId = "a005050c-ed79-46ed-ac14-2fc1496059a5" * text = "Date performed" * type = #date * repeats = false * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#BloodPressure" + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#BloodPressureTemplate" * linkId = "705f6d04-acab-4d14-baab-98f9bfc4808e" * text = "New blood pressure" * type = #group diff --git a/input/fsh/715-Assessment-Immunisation.fsh b/input/fsh/715-Assessment-Immunisation.fsh index 74b40cd0..181bfb3f 100644 --- a/input/fsh/715-Assessment-Immunisation.fsh +++ b/input/fsh/715-Assessment-Immunisation.fsh @@ -147,13 +147,6 @@ Description: "Immunisation sub-questionnaire for Aboriginal and Torres Strait Is
" * type = #display - * item[+] - * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-hidden].valueBoolean = true - * extension[sdc-questionnaire-initialExpression].valueExpression.language = #text/fhirpath - * extension[sdc-questionnaire-initialExpression].valueExpression.expression = "%patient.id" - * linkId = "patientIdImmunization" - * type = #string - * item[+] * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#gtable * extension[sdc-questionnaire-itemPopulationContext].valueExpression diff --git a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh index c92e9c3c..5e439ac9 100644 --- a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh +++ b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh @@ -229,4 +229,4 @@ Description: "Medical History sub-questionnaire for Aboriginal and Torres Strait * text = "Mark section as complete" * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" * type = #boolean - * repeats = false \ No newline at end of file + * repeats = false diff --git a/input/fsh/715-Assessment-RegularMedications.fsh b/input/fsh/715-Assessment-RegularMedications.fsh index 3df104a8..ebc3c340 100644 --- a/input/fsh/715-Assessment-RegularMedications.fsh +++ b/input/fsh/715-Assessment-RegularMedications.fsh @@ -156,7 +156,7 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * item.item[=].item[0].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemPopulationContext" * item.item[=].item[=].extension[=].valueExpression[+].name = "MedicationStatementRepeat" * item.item[=].item[=].extension[=].valueExpression[=].language = #text/fhirpath -* item.item[=].item[=].extension[=].valueExpression[=].expression = "%MedicationStatement.entry.resource" +* item.item[=].item[=].extension[=].valueExpression[=].expression = "%MedicationStatement.entry.resource.where(status='active')" * item.item[=].item[=].linkId = "regularmedications-summary-current" * item.item[=].item[=].type = #group * item.item[=].item[=].repeats = true @@ -210,13 +210,9 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * item.item[=].item[=].item[=].answerValueSet = "http://hl7.org/fhir/ValueSet/timing-abbreviation" */ -* item.item[=].item[=].item[+].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemPopulationContext" -* item.item[=].item[=].item[=].extension[=].valueExpression[+].name = "DosageRepeat" -* item.item[=].item[=].item[=].extension[=].valueExpression[=].language = #text/fhirpath -* item.item[=].item[=].item[=].extension[=].valueExpression[=].expression = "%MedicationStatementRepeat.dosage" -* item.item[=].item[=].item[=].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression" +* item.item[=].item[=].item[+].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression" * item.item[=].item[=].item[=].extension[=].valueExpression[+].language = #text/fhirpath -* item.item[=].item[=].item[=].extension[=].valueExpression[=].expression = "%DosageRepeat.text" +* item.item[=].item[=].item[=].extension[=].valueExpression[=].expression = "%MedicationStatementRepeat.dosage.text" * item.item[=].item[=].item[=].linkId = "regularmedications-summary-current-dosage" * item.item[=].item[=].item[=].text = "Dosage" * item.item[=].item[=].item[=].type = #string @@ -233,14 +229,9 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * item.item[=].item[=].item[=].repeats = true * item.item[=].item[=].item[=].answerValueSet = "#medication-reason-taken-1" - -* item.item[=].item[=].item[+].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemPopulationContext" -* item.item[=].item[=].item[=].extension[=].valueExpression[+].name = "MedicationStatementNoteRepeat" -* item.item[=].item[=].item[=].extension[=].valueExpression[=].language = #text/fhirpath -* item.item[=].item[=].item[=].extension[=].valueExpression[=].expression = "%MedicationStatementRepeat.note" -* item.item[=].item[=].item[=].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression" +* item.item[=].item[=].item[+].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression" * item.item[=].item[=].item[=].extension[=].valueExpression[+].language = #text/fhirpath -* item.item[=].item[=].item[=].extension[=].valueExpression[=].expression = "%MedicationStatementNoteRepeat.text" +* item.item[=].item[=].item[=].extension[=].valueExpression[=].expression = "%MedicationStatementRepeat.note.text" * item.item[=].item[=].item[=].linkId = "regularmedications-summary-current-comment" * item.item[=].item[=].item[=].text = "Comment" * item.item[=].item[=].item[=].type = #string @@ -253,13 +244,6 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * item.item[=].item[=].linkId = "regularmedications-summary-new" * item.item[=].item[=].type = #group * item.item[=].item[=].repeats = true -/* -* item.item[=].item[=].item[+].extension[http://hl7.org/fhir/StructureDefinition/questionnaire-hidden].valueBoolean = true -* item.item[=].item[=].item[=].extension[sdc-questionnaire-initialExpression].valueExpression.language = #text/fhirpath -* item.item[=].item[=].item[=].extension[sdc-questionnaire-initialExpression].valueExpression.expression = "%patient.id" -* item.item[=].item[=].item[=].linkId = "patientIdMedicationStatement" -* item.item[=].item[=].item[=].type = #string -*/ * item.item[=].item[=].item[+].extension[+].url = "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl" * item.item[=].item[=].item[=].extension[=].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#autocomplete * item.item[=].item[=].item[=].linkId = "regularmedications-summary-new-medication" diff --git a/input/fsh/extract-templates.fsh b/input/fsh/extract-templates.fsh index ea6e3547..9cf15928 100644 --- a/input/fsh/extract-templates.fsh +++ b/input/fsh/extract-templates.fsh @@ -21,7 +21,7 @@ Alias: $au-core-medicationstatement = http://hl7.org.au/fhir/core/StructureDefin Alias: $observation-category = http://terminology.hl7.org/CodeSystem/observation-category -Instance: BodyHeightLength +Instance: BodyHeightLengthTemplate InstanceOf: $au-core-bodyheight Usage: #inline * status = #final @@ -39,7 +39,7 @@ Usage: #inline * valueQuantity.system = $UCUM * valueQuantity.code = #cm -Instance: BodyHeight +Instance: BodyHeightTemplate InstanceOf: $au-core-bodyheight Usage: #inline * status = #final @@ -48,7 +48,7 @@ Usage: #inline * code.coding[snomedBodyHeightCode] = $SCT#50373000 * code.text = "Height" * subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" -* subject.reference.extension[=].valueString = "'Patient/' + %resource.repeat(item).where(linkId='patientIdExamination').answer.value" +* subject.reference.extension[=].valueString = "%resource.subject.reference" * effectiveDateTime.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * effectiveDateTime.extension[=].valueString = "%resource.repeat(item).where(linkId='obs-height-newdate').answer.value.toDateTime()" * valueQuantity.value.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" @@ -58,7 +58,7 @@ Usage: #inline * valueQuantity.system = $UCUM * valueQuantity.code = #cm -Instance: BodyWeight +Instance: BodyWeightTemplate InstanceOf: $au-core-bodyweight Usage: #inline * status = #final @@ -67,7 +67,7 @@ Usage: #inline * code.coding[snomedBodyWeightCode] = $SCT#27113001 * code.text = "Weight" * subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" -* subject.reference.extension[=].valueString = "'Patient/' + %resource.repeat(item).where(linkId='patientIdExamination').answer.value" +* subject.reference.extension[=].valueString = "%resource.subject.reference" * effectiveDateTime.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * effectiveDateTime.extension[=].valueString = "%resource.repeat(item).where(linkId='obs-weight-newdate').answer.value.toDateTime()" * valueQuantity.value.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" @@ -76,7 +76,7 @@ Usage: #inline * valueQuantity.system = $UCUM * valueQuantity.code = #kg -Instance: HeadCircumference +Instance: HeadCircumferenceTemplate InstanceOf: $au-core-au-core-headcircum Usage: #inline * status = #final @@ -85,7 +85,7 @@ Usage: #inline * code.coding[snomedHeadCircumCode] = $SCT#363812007 * code.text = "Head circumference" * subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" -* subject.reference.extension[=].valueString = "'Patient/' + %resource.repeat(item).where(linkId='patientIdExamination').answer.value" +* subject.reference.extension[=].valueString = "%resource.subject.reference" * effectiveDateTime.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * effectiveDateTime.extension[=].valueString = "%resource.repeat(item).where(linkId='obs-headcircumference-newdate').answer.value.toDateTime()" * valueQuantity.value.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" @@ -94,7 +94,7 @@ Usage: #inline * valueQuantity.system = $UCUM * valueQuantity.code = #cm -Instance: WaistCircumference +Instance: WaistCircumferenceTemplate InstanceOf: $au-core-waistcircum Usage: #inline * status = #final @@ -103,7 +103,7 @@ Usage: #inline * code.coding[snomedWaistCircumCode] = $SCT#276361009 * code.text = "Waist circumference" * subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" -* subject.reference.extension[=].valueString = "'Patient/' + %resource.repeat(item).where(linkId='patientIdExamination').answer.value" +* subject.reference.extension[=].valueString = "%resource.subject.reference" * effectiveDateTime.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * effectiveDateTime.extension[=].valueString = "%resource.repeat(item).where(linkId='obs-waistcircumference-newdate').answer.value.toDateTime()" * valueQuantity.value.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" @@ -112,7 +112,7 @@ Usage: #inline * valueQuantity.system = $UCUM * valueQuantity.code = #cm -Instance: HeartRate +Instance: HeartRateTemplate InstanceOf: $au-core-heartrate Usage: #inline * status = #final @@ -121,7 +121,7 @@ Usage: #inline * code.coding[snomedHeartRateCode] = $SCT#364075005 * code.text = "Heart rate" * subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" -* subject.reference.extension[=].valueString = "'Patient/' + %resource.repeat(item).where(linkId='patientIdExamination').answer.value" +* subject.reference.extension[=].valueString = "%resource.subject.reference" * effectiveDateTime.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * effectiveDateTime.extension[=].valueString = "%resource.repeat(item).where(linkId='obs-heartrate-newdate').answer.value.toDateTime()" * valueQuantity.value.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" @@ -130,8 +130,8 @@ Usage: #inline * valueQuantity.system = $UCUM * valueQuantity.code = #/min -Instance: HeartRhythm -InstanceOf: Observation +Instance: HeartRhythmTemplate +InstanceOf: SmartHealthCheckHeartRhythm Usage: #inline * status = #final * category = $observation-category#vital-signs @@ -139,13 +139,13 @@ Usage: #inline * code.coding[+] = $SCT#364074009 * code.text = "Heart rhythm" * subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" -* subject.reference.extension[=].valueString = "'Patient/' + %resource.repeat(item).where(linkId='patientIdExamination').answer.value" +* subject.reference.extension[=].valueString = "%resource.subject.reference" * effectiveDateTime.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * effectiveDateTime.extension[=].valueString = "%resource.repeat(item).where(linkId='obs-heartrhythm-newdate').answer.value.toDateTime()" * valueCodeableConcept.coding.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * valueCodeableConcept.coding.extension[=].valueString = "$this.answer.value" -Instance: BloodPressure +Instance: BloodPressureTemplate InstanceOf: $au-core-bloodpressure Usage: #inline * status = #final @@ -154,7 +154,7 @@ Usage: #inline * code.coding[snomedBPCode] = $SCT#75367002 * code.text = "Blood pressure" * subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" -* subject.reference.extension[=].valueString = "'Patient/' + %resource.repeat(item).where(linkId='patientIdExamination').answer.value" +* subject.reference.extension[=].valueString = "%resource.subject.reference" * effectiveDateTime.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * effectiveDateTime.extension[=].valueString = "item.where(linkId='bp-newbp-date').answer.value.toDateTime()" * component[SystolicBP].code.coding[SBPCode] = $LNC#8480-6 @@ -174,21 +174,9 @@ Usage: #inline * component[DiastolicBP].valueQuantity.system = $UCUM * component[DiastolicBP].valueQuantity.code = #mm[Hg] -Instance: Condition -InstanceOf: $au-core-condition -Usage: #inline -* clinicalStatus.coding.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" -* clinicalStatus.coding.extension[=].valueString = "item.where(linkId='a7e056be-fb6f-4f7f-b04d-5b809e1e18e3').answer.value.first()" -* category.coding = $condition-category#problem-list-item -* code.coding.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" -* code.coding.extension[=].valueString = "item.where(linkId='2da85994-2d5e-42f1-8a81-abf44f397468').answer.value.first()" -* subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" -* subject.reference.extension[=].valueString = "'Patient/' + %resource.repeat(item).where(linkId='patientIdMedicalHistory').answer.valueString" -* onsetDateTime.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" -* onsetDateTime.extension[=].valueString = "item.where(linkId='e4524654-f6de-4717-b288-34919394d46b').answer.value.toDateTime()" -Instance: Parameters +Instance: ParametersTemplate // InstanceOf: http://hl7.org/fhir/StructureDefinition/fhirpath-patch InstanceOf: Parameters Usage: #inline @@ -216,7 +204,7 @@ Usage: #inline * code.text.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * code.text.extension[=].valueString = "ofType(string)" * patient.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" -* patient.reference.extension[=].valueString = "'Patient/' + item.where(linkId='patientIdAllergy').answer.valueString" +* patient.reference.extension[=].valueString = "%resource.subject.reference" * note.text.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * note.text.extension[=].valueString = "item.where(linkId='allergynew-comment').answer.value" * reaction.manifestation[+].extension.url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext" @@ -239,7 +227,7 @@ Usage: #inline * vaccineCode.text.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * vaccineCode.text.extension[=].valueString = "ofType(string)" * patient.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" -* patient.reference.extension[=].valueString = "'Patient/' + %resource.repeat(item).where(linkId='patientIdImmunization').answer.valueString" +* patient.reference.extension[=].valueString = "%resource.subject.reference" * occurrenceDateTime.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * occurrenceDateTime.extension[=].valueString = "item.where(linkId='vaccinestoday-date').answer.value.toDateTime()" * lotNumber.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" @@ -260,7 +248,7 @@ Usage: #inline * code.text.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * code.text.extension[=].valueString = "ofType(string)" * subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" -* subject.reference.extension[=].valueString = "'Patient/' + %resource.repeat(item).where(linkId='patientIdMedicalHistory').answer.valueString" +* subject.reference.extension[=].valueString = "%resource.subject.reference" * onsetDateTime.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * onsetDateTime.extension[=].valueString = "item.where(linkId='4d55bffb-3286-4a23-a785-3b9c346d464d').answer.value.toDateTime()" @@ -274,8 +262,6 @@ Usage: #inline * medicationCodeableConcept.coding.extension[=].valueString = "ofType(Coding)" * medicationCodeableConcept.text.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * medicationCodeableConcept.text.extension[=].valueString = "ofType(string)" -/** subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" -* subject.reference.extension[=].valueString = "'Patient/' + %resource.repeat(item).where(linkId='patientIdMedicationStatement').answer.valueString"*/ * subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * subject.reference.extension[=].valueString = "%resource.subject.reference" * dateAsserted.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" diff --git a/input/fsh/profiles.fsh b/input/fsh/profiles.fsh new file mode 100644 index 00000000..fa432dc9 --- /dev/null +++ b/input/fsh/profiles.fsh @@ -0,0 +1,92 @@ + +Alias: $LNC = http://loinc.org +Alias: $SCT = http://snomed.info/sct +Alias: $UCUM = http://unitsofmeasure.org +Alias: $obligation = http://hl7.org/fhir/StructureDefinition/obligation + +Alias: $au-core-patient = http://hl7.org.au/fhir/core/StructureDefinition/au-core-patient + + +RuleSet: obligation(producerCode, consumerCode) +* ^extension[$obligation][+].extension[code].valueCode = #"{producerCode}" +* ^extension[$obligation][=].extension[actor].valueCanonical = "https://smartforms.csiro.au/ig/ActorDefinition/SmartHealthCheckProducer" +* ^extension[$obligation][+].extension[code].valueCode = #"{consumerCode}" +* ^extension[$obligation][=].extension[actor].valueCanonical = "https://smartforms.csiro.au/ig//ActorDefinition/SmartHealthCheckConsumer" + +RuleSet: obligationConsumer(consumerCode) +* ^extension[$obligation][+].extension[code].valueCode = #"{consumerCode}" +* ^extension[$obligation][=].extension[actor].valueCanonical = "https://smartforms.csiro.au/ig//ActorDefinition/SmartHealthCheckConsumer" + +RuleSet: obligationProducer(producerCode) +* ^extension[$obligation][+].extension[code].valueCode = #"{producerCode}" +* ^extension[$obligation][=].extension[actor].valueCanonical = "https://smartforms.csiro.au/ig//ActorDefinition/SmartHealthCheckConsumer" + + +Invariant: shc-heartrhythm-01 +Description: "At least value or data absent reason shall be present" +* severity = #error +* expression = "dataAbsentReason.exists() or value.exists()" +* xpath = "exists(f:*[starts-with(local-name(.), 'value')]) or exists(f:dataAbsentReason)" + +Invariant: shc-heartrhythm-02 +Description: "Date shall be at least to day or, if not available, the Data Absent Reason extension shall be present" +* severity = #error +* expression = "(($this is dateTime implies $this.toString().length() >= 10) and extension('http://hl7.org/fhir/StructureDefinition/data-absent-reason').value.exists().not()) xor ($this is dateTime implies ($this.hasValue().not() and extension('http://hl7.org/fhir/StructureDefinition/data-absent-reason').value.exists()))" +* xpath = "((self::dateTime and string-length(.) >= 10 and not(extension[@url='http://hl7.org/fhir/StructureDefinition/data-absent-reason'])) xor (self::dateTime and not(.) and extension[@url='http://hl7.org/fhir/StructureDefinition/data-absent-reason']))" + + +Profile: SmartHealthCheckHeartRhythm +Parent: Observation +Id: SmartHealthCheckHeartRhythm +Title: "Smart Health Check Heart Rhythm" +Description: "This profile sets the minimum expectations for an Observation resource to record heart rhythm observations. It is used to represent heart rhythm data captured during a First Nations Health Check that can be used to record the observation in a clinical record." + +* . ^short = "Heart Rhythm" +* . ^definition = "Measurement of a patient's heart rhytym at a point in time." +* . ^comment = "Heart rhythm observation using a LOINC code, a SNOMED CT code and a metric UCUM unit of measure." +* obeys shc-heartrhythm-01 +* status MS +* category MS +* category ^slicing.discriminator[0].type = #value +* category ^slicing.discriminator[=].path = "coding.code" +* category ^slicing.discriminator[+].type = #value +* category ^slicing.discriminator[=].path = "coding.system" +* category ^slicing.ordered = false +* category ^slicing.rules = #open +* category contains vitalSignsCategory 1..1 MS +* category[vitalSignsCategory] = http://terminology.hl7.org/CodeSystem/observation-category#vital-signs (exactly) +* code MS +* code ^short = "Heart Rhythm" +* code ^definition = "Heart Rhythm." +* code.coding MS +* code.coding ^slicing.discriminator[0].type = #value +* code.coding ^slicing.discriminator[=].path = "code" +* code.coding ^slicing.discriminator[+].type = #value +* code.coding ^slicing.discriminator[=].path = "system" +* code.coding ^slicing.ordered = false +* code.coding ^slicing.rules = #open +* code.coding contains loincHeartRateCode 1..1 MS and snomedHeartRateCode 1..1 MS +* code.coding[loincHeartRateCode].system 1..1 +* code.coding[loincHeartRateCode].system = "http://loinc.org" (exactly) +* code.coding[loincHeartRateCode].code 1..1 +* code.coding[loincHeartRateCode].code = #8867-4 (exactly) +* code.coding[snomedHeartRateCode].system 1..1 +* code.coding[snomedHeartRateCode].system = "http://snomed.info/sct" (exactly) +* code.coding[snomedHeartRateCode].code 1..1 +* code.coding[snomedHeartRateCode].code = #364074009 (exactly) +* subject 1.. MS +* subject only Reference($au-core-patient) +* effective[x] 1.. MS +* effective[x] only dateTime +* effective[x] obeys shc-heartrhythm-02 +* effective[x] ^short = "Date, and optionally time, the observation was performed" +* effective[x] ^definition = "Date, and optionally time, the observation was performed." +* effective[x] ^condition = "shc-heartrhythm-02" +* value[x] only CodeableConcept +* value[x] MS +* value[x] from HeartRythym (extensible) +* value[x] ^condition = "shc-heartrhythm-01" +* dataAbsentReason MS +* dataAbsentReason ^condition = "shc-heartrhythm-01" + + diff --git a/input/fsh/terminology.fsh b/input/fsh/terminology.fsh index d1c6f629..999550f1 100644 --- a/input/fsh/terminology.fsh +++ b/input/fsh/terminology.fsh @@ -1414,4 +1414,16 @@ Description: "The Medication Reason Taken value set includes values that identif * ^contact.telecom.value = "help@digitalhealth.gov.au" * ^copyright = "Copyright © 2020 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\nThis resource includes SNOMED Clinical Terms™ (SNOMED CT®) which is used by permission of the International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. “SNOMED” and “SNOMED CT” are registered trademarks of the IHTSDO. \n\nThe rights to use and implement or implementation of SNOMED CT content are limited to the extent it is necessary to allow for the end use of this material. No further rights are granted in respect of the International Release and no further use of any SNOMED CT content by any other party is permitted.\n\nAll copies of this resource must include this copyright statement and all information contained in this statement." * include codes from system SNOMED_CT - where constraint = "^ 32570581000036105|Problem/Diagnosis reference set| OR ^ 1184831000168105|Drug prophylaxis reference set| OR << 399097000|Administration of anaesthesia| OR 169443000|Preventive procedure|" \ No newline at end of file + where constraint = "^ 32570581000036105|Problem/Diagnosis reference set| OR ^ 1184831000168105|Drug prophylaxis reference set| OR << 399097000|Administration of anaesthesia| OR 169443000|Preventive procedure|" + +ValueSet: HeartRythym +Id: heart-rhythm-1 +Title: "Heart Rhythm" +Description: "The Heart Rhythm value set includes values that may be used to represent the heart rhythm of an individual." +* ^meta.profile[0] = "http://hl7.org/fhir/StructureDefinition/shareablevalueset" +* ^meta.profile[+] = "https://healthterminologies.gov.au/fhir/StructureDefinition/composed-value-set-4" +* ^experimental = false +// change values to 361137007 |Irregular heart beat| + new NCTS concept request |Regular heart beat| once released and update form as well) +* $SCT#271636001 "Pulse regular" +* $SCT#61086009 "Pulse irregular" + From 15b5f8ed9c5c46cf33934cc7a798cc22e77df131 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Thu, 5 Jun 2025 17:18:20 +1000 Subject: [PATCH 073/177] minor improvements/refactoring --- PrepopVariables.json | 226 ------------------ PrepopVariablesMinimal.json | 116 --------- .../Questionnaire-AboutTheHealthCheck.json | 13 - .../Questionnaire-AssemblyInstructions.json | 47 ++-- .../Questionnaire-EarHealthAndHearing.json | 2 +- .../Questionnaire-FinalisingHealthCheck.json | 52 ++-- .../Questionnaire-PatientDetails.json | 8 - .../resources/Questionnaire-SexualHealth.json | 46 ++-- .../ValueSet-CervicalScreeningStatus-1.json | 46 ++-- input/fsh/715-AboutTheHealthCheck.fsh | 7 - input/fsh/715-AssemblyInstructions.fsh | 5 - .../715-Assessment-EarHealthAndHearing.fsh | 2 +- .../fsh/715-Assessment-ScreeningPrograms.fsh | 3 +- input/fsh/715-Consent.fsh | 4 - input/fsh/715-FinalisingHealthCheck.fsh | 29 +-- input/fsh/715-PatientDetails.fsh | 11 - input/fsh/PrePopQuery.fsh | 108 --------- input/fsh/terminology.fsh | 42 ++-- 18 files changed, 112 insertions(+), 655 deletions(-) delete mode 100644 PrepopVariables.json delete mode 100644 PrepopVariablesMinimal.json delete mode 100644 input/fsh/PrePopQuery.fsh diff --git a/PrepopVariables.json b/PrepopVariables.json deleted file mode 100644 index e49c6df0..00000000 --- a/PrepopVariables.json +++ /dev/null @@ -1,226 +0,0 @@ -{ - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": [ - { - "name": "FamilyMemberHistory", - "language": "application/x-fhir-query", - "expression": "FamilyMemberHistory?patient={{%patient.id}}" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": [ - { - "name": "ObsTobaccoSmoking", - "language": "application/x-fhir-query", - "expression": "Observation?code=72166-2&_count=1&_sort=-date&patient={{%patient.id}}" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": [ - { - "name": "ObsBodyHeight", - "language": "application/x-fhir-query", - "expression": "Observation?code=8302-2&_count=1&_sort=-date&patient={{%patient.id}}" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": [ - { - "name": "ObsWaistCircumference", - "language": "application/x-fhir-query", - "expression": "Observation?code=8280-0&_count=1&_sort=-date&patient={{%patient.id}}" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": [ - { - "name": "ObsBodyWeight", - "language": "application/x-fhir-query", - "expression": "Observation?code=29463-7&_count=1&_sort=-date&patient={{%patient.id}}" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": [ - { - "name": "ObsHeartRate", - "language": "application/x-fhir-query", - "expression": "Observation?code=8867-4&_count=1&_sort=-date&patient={{%patient.id}}" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": [ - { - "name": "ObsBMI", - "language": "application/x-fhir-query", - "expression": "Observation?code=39156-5&_count=1&_sort=-date&patient={{%patient.id}}" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": [ - { - "name": "ObsBloodPressurePanel", - "language": "application/x-fhir-query", - "expression": "Observation?code=85354-9&_count=1&_sort=-date&patient={{%patient.id}}" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": [ - { - "name": "ObsDateCeasedSmoking", - "language": "application/x-fhir-query", - "expression": "Observation?code=160625004&_count=1&_sort=-date&patient={{%patient.id}}" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": [ - { - "name": "ObsDateStartedSmoking", - "language": "application/x-fhir-query", - "expression": "Observation?code=smoking-date-started&_count=1&_sort=-date&patient={{%patient.id}}" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": [ - { - "name": "ObsTobaccoUseExposure", - "language": "application/x-fhir-query", - "expression": "Observation?code=229819007&_count=1&_sort=-date&patient={{%patient.id}}" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": [ - { - "name": "ObsAlcoholIntake", - "language": "application/x-fhir-query", - "expression": "Observation?code=897148007&_count=1&_sort=-date&patient={{%patient.id}}" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": [ - { - "name": "ObsDrinkingPattern", - "language": "application/x-fhir-query", - "expression": "Observation?code=228308009&_count=1&_sort=-date&patient={{%patient.id}}" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": [ - { - "name": "ObsDateCeasedAlcohol", - "language": "application/x-fhir-query", - "expression": "Observation?code=1373041000168105&_count=1&_sort=-date&patient={{%patient.id}}" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": [ - { - "name": "Immunisation", - "language": "application/x-fhir-query", - "expression": "Immunization?patient={{%patient.id}}" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": [ - { - "name": "MedicationStatement", - "language": "application/x-fhir-query", - "expression": "MedicationStatement?patient={{%patient.id}}" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": [ - { - "name": "AllergyIntolerance", - "language": "application/x-fhir-query", - "expression": "AllergyIntolerance?patient={{%patient.id}}" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": [ - { - "name": "Condition", - "language": "application/x-fhir-query", - "expression": "Condition?patient={{%patient.id}}" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": [ - { - "name": "DiagnosticReport", - "language": "application/x-fhir-query", - "expression": "DiagnosticReport?patient={{%patient.id}}" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": [ - { - "name": "TotalCholesterol", - "language": "application/x-fhir-query", - "expression": "Observation?code=14647-2&_count=1&_sort=-date&patient={{%patient.id}}" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": [ - { - "name": "HDLCholesterol", - "language": "application/x-fhir-query", - "expression": "Observation?code=14646-4&_count=1&_sort=-date&patient={{%patient.id}}" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": [ - { - "name": "HeadCircumference", - "language": "application/x-fhir-query", - "expression": "Observation?code=9843-4&_count=1&_sort=-date&patient={{%patient.id}}" - } - ] - } - - ] -} - diff --git a/PrepopVariablesMinimal.json b/PrepopVariablesMinimal.json deleted file mode 100644 index 9c12e1fe..00000000 --- a/PrepopVariablesMinimal.json +++ /dev/null @@ -1,116 +0,0 @@ -{ - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": [ - { - "name": "Condition", - "language": "application/x-fhir-query", - "expression": "Condition?patient={{%patient.id}}" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": [ - { - "name": "ObsTobaccoSmokingStatus", - "language": "application/x-fhir-query", - "expression": "Observation?code=72166-2&_count=1&_sort=-date&patient={{%patient.id}}" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": [ - { - "name": "ObsBodyHeight", - "language": "application/x-fhir-query", - "expression": "Observation?code=8302-2&_count=1&_sort=-date&patient={{%patient.id}}" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": [ - { - "name": "ObsBodyWeight", - "language": "application/x-fhir-query", - "expression": "Observation?code=29463-7&_count=1&_sort=-date&patient={{%patient.id}}" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": [ - { - "name": "ObsBMI", - "language": "application/x-fhir-query", - "expression": "Observation?code=39156-5&_count=1&_sort=-date&patient={{%patient.id}}" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": [ - { - "name": "ObsHeadCircumference", - "language": "application/x-fhir-query", - "expression": "Observation?code=9843-4&_count=1&_sort=-date&patient={{%patient.id}}" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": [ - { - "name": "ObsWaistCircumference", - "language": "application/x-fhir-query", - "expression": "Observation?code=8280-0&_count=1&_sort=-date&patient={{%patient.id}}" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": [ - { - "name": "ObsBloodPressure", - "language": "application/x-fhir-query", - "expression": "Observation?code=85354-9&_count=1&_sort=-date&patient={{%patient.id}}" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": [ - { - "name": "ObsHeartRate", - "language": "application/x-fhir-query", - "expression": "Observation?code=8867-4&_count=1&_sort=-date&patient={{%patient.id}}" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": [ - { - "name": "ObsTotalCholesterol", - "language": "application/x-fhir-query", - "expression": "Observation?code=14647-2&_count=1&_sort=-date&patient={{%patient.id}}" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": [ - { - "name": "ObsHDLCholesterol", - "language": "application/x-fhir-query", - "expression": "Observation?code=14646-4&_count=1&_sort=-date&patient={{%patient.id}}" - } - ] - } - - ] -} - diff --git a/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json b/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json index a27dadae..e6d89025 100644 --- a/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json +++ b/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json @@ -86,19 +86,6 @@ } ] }, - { - "linkId": "RecordUpdate-About", - "text": "Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there first.", - "_text": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there first.\r\n
" - } - ] - }, - "type": "display" - }, { "extension": [ { diff --git a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json index c211a512..d4fc7851 100644 --- a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json +++ b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json @@ -3,7 +3,6 @@ "id": "AssemblyInstructions", "meta": { "profile": [ - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render", "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular", "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" ] @@ -2094,33 +2093,16 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/valueset-supplement", - "valueCanonical": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement" + "valueCanonical": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement|0.3.0" } ], "expansion": { - "identifier": "urn:uuid:4d42d172-e817-40be-a265-56aebe2f4f10", - "timestamp": "2025-05-01T10:01:02+10:00", - "offset": 0, + "identifier": "urn:uuid:3657ae6f-b206-482f-a745-0ff9c99358ef", + "timestamp": "2025-06-05T13:50:47+10:00", "parameter": [ { - "name": "displayLanguage", - "valueCode": "en-US" - }, - { - "name": "count", - "valueInteger": 1000 - }, - { - "name": "offset", - "valueInteger": 0 - }, - { - "name": "excludeNested", - "valueBoolean": false - }, - { - "name": "used-valueset", - "valueUri": "null" + "name": "used-supplement", + "valueUri": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement|0.3.0" }, { "name": "used-codesystem", @@ -2129,28 +2111,40 @@ { "name": "version", "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" + }, + { + "name": "warning-draft", + "valueUri": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement|0.3.0" + }, + { + "name": "warning-draft", + "valueUri": "https://smartforms.csiro.au/ig/ValueSet/CervicalScreeningStatus-1|0.3.0" } ], "contains": [ { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "code": "736595007", - "display": "Cervical cancer screening refused" + "display": "Declined" }, { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "code": "410527000", "display": "Offered" }, { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "code": "171154002", - "display": "Cancer cervix screening - not needed" + "display": "Not required" }, { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "code": "171155001", - "display": "Cancer cervix screening - up-to-date" + "display": "Up to date" } ] }, @@ -2158,6 +2152,7 @@ "include": [ { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "concept": [ { "code": "736595007", diff --git a/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json b/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json index ba4a14f4..df2165b2 100644 --- a/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json +++ b/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json @@ -346,7 +346,7 @@ } ], "linkId": "fe96046a-a202-4c22-ad3e-00419e717185", - "text": "Video otoscopy procedure recommended where possible as it allows for parental education and for images to be saved for tracking over time", + "text": "Video otoscopy procedure recommended where possible as it allows for parental education and for images to be saved for tracking over time.", "type": "display" }, { diff --git a/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json b/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json index e960fa49..70d19d19 100644 --- a/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json +++ b/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json @@ -489,10 +489,6 @@ } ] } - }, - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-openLabel", - "valueString": "Other" } ], "linkId": "4044d0b4-94b2-4a89-b826-a14614298511", @@ -557,10 +553,6 @@ } ] } - }, - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-openLabel", - "valueString": "Other" } ], "linkId": "f97f211a-ef2a-49a3-aef7-c4e9cd08aa2a", @@ -619,10 +611,6 @@ } ] } - }, - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-openLabel", - "valueString": "Other" } ], "linkId": "07cfe077-ba93-4f93-b2a5-027023faa33b", @@ -684,10 +672,6 @@ } ] } - }, - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-openLabel", - "valueString": "Other" } ], "linkId": "a525c370-d8c3-4764-ab3a-bf62081725e0", @@ -755,10 +739,6 @@ } ] } - }, - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-openLabel", - "valueString": "Other" } ], "linkId": "d68d9693-48d3-4663-9dbb-dd3a7aec5278", @@ -867,32 +847,32 @@ { "extension": [ { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-hidden", - "valueBoolean": true - }, - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%patient.id" + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-displayCategory", + "valueCodeableConcept": { + "coding": [ + { + "code": "instructions", + "system": "http://hl7.org/fhir/questionnaire-display-category" + } + ] } } ], - "linkId": "40e3933d-77bb-40f3-8609-0c38ebb4421e", - "text": "recall-subject", - "type": "string" + "linkId": "b0c69e16-5dc3-481f-8e8f-fc0a93627184", + "text": "e.g. clinical review, investigations, influenza vaccination, asthma plan/cycle of care, diabetes cycle of care, care plan review, cervical screening, investigations", + "type": "display" }, { "linkId": "fece6a3c-f8f1-4592-a166-5ea5a3c60c8e", - "text": "Recall", - "type": "text", - "repeats": false + "text": "Recall entered", + "type": "string", + "repeats": true } ], "linkId": "a400fe69-c99f-47ed-bee1-083c3e4be467", - "text": "Recalls entered (eg clinical review, investigations, influenza vaccination, asthma plan/cycle of care, diabetes cycle of care, care plan review, cervical screening, investigations)", + "text": "Recalls", "type": "group", - "repeats": true + "repeats": false }, { "extension": [ diff --git a/fsh-generated/resources/Questionnaire-PatientDetails.json b/fsh-generated/resources/Questionnaire-PatientDetails.json index cd8dcd9a..8c14cf9e 100644 --- a/fsh-generated/resources/Questionnaire-PatientDetails.json +++ b/fsh-generated/resources/Questionnaire-PatientDetails.json @@ -2352,14 +2352,6 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": { - "name": "ObsSex", - "language": "application/x-fhir-query", - "expression": "Observation?code=1515311000168102&status=final&_count=1&_sort=-date&patient={{%patient.id}}" - } - }, { "url": "http://hl7.org/fhir/StructureDefinition/variable", "valueExpression": { diff --git a/fsh-generated/resources/Questionnaire-SexualHealth.json b/fsh-generated/resources/Questionnaire-SexualHealth.json index 735fe1de..625d8582 100644 --- a/fsh-generated/resources/Questionnaire-SexualHealth.json +++ b/fsh-generated/resources/Questionnaire-SexualHealth.json @@ -789,33 +789,16 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/valueset-supplement", - "valueCanonical": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement" + "valueCanonical": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement|0.3.0" } ], "expansion": { - "identifier": "urn:uuid:4d42d172-e817-40be-a265-56aebe2f4f10", - "timestamp": "2025-05-01T10:01:02+10:00", - "offset": 0, + "identifier": "urn:uuid:3657ae6f-b206-482f-a745-0ff9c99358ef", + "timestamp": "2025-06-05T13:50:47+10:00", "parameter": [ { - "name": "displayLanguage", - "valueCode": "en-US" - }, - { - "name": "count", - "valueInteger": 1000 - }, - { - "name": "offset", - "valueInteger": 0 - }, - { - "name": "excludeNested", - "valueBoolean": false - }, - { - "name": "used-valueset", - "valueUri": "null" + "name": "used-supplement", + "valueUri": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement|0.3.0" }, { "name": "used-codesystem", @@ -824,28 +807,40 @@ { "name": "version", "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" + }, + { + "name": "warning-draft", + "valueUri": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement|0.3.0" + }, + { + "name": "warning-draft", + "valueUri": "https://smartforms.csiro.au/ig/ValueSet/CervicalScreeningStatus-1|0.3.0" } ], "contains": [ { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "code": "736595007", - "display": "Cervical cancer screening refused" + "display": "Declined" }, { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "code": "410527000", "display": "Offered" }, { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "code": "171154002", - "display": "Cancer cervix screening - not needed" + "display": "Not required" }, { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "code": "171155001", - "display": "Cancer cervix screening - up-to-date" + "display": "Up to date" } ] }, @@ -853,6 +848,7 @@ "include": [ { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "concept": [ { "code": "736595007", diff --git a/fsh-generated/resources/ValueSet-CervicalScreeningStatus-1.json b/fsh-generated/resources/ValueSet-CervicalScreeningStatus-1.json index 4fb0b1c4..5fb24609 100644 --- a/fsh-generated/resources/ValueSet-CervicalScreeningStatus-1.json +++ b/fsh-generated/resources/ValueSet-CervicalScreeningStatus-1.json @@ -10,33 +10,16 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/valueset-supplement", - "valueCanonical": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement" + "valueCanonical": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement|0.3.0" } ], "expansion": { - "identifier": "urn:uuid:4d42d172-e817-40be-a265-56aebe2f4f10", - "timestamp": "2025-05-01T10:01:02+10:00", - "offset": 0, + "identifier": "urn:uuid:3657ae6f-b206-482f-a745-0ff9c99358ef", + "timestamp": "2025-06-05T13:50:47+10:00", "parameter": [ { - "name": "displayLanguage", - "valueCode": "en-US" - }, - { - "name": "count", - "valueInteger": 1000 - }, - { - "name": "offset", - "valueInteger": 0 - }, - { - "name": "excludeNested", - "valueBoolean": false - }, - { - "name": "used-valueset", - "valueUri": "null" + "name": "used-supplement", + "valueUri": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement|0.3.0" }, { "name": "used-codesystem", @@ -45,28 +28,40 @@ { "name": "version", "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" + }, + { + "name": "warning-draft", + "valueUri": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement|0.3.0" + }, + { + "name": "warning-draft", + "valueUri": "https://smartforms.csiro.au/ig/ValueSet/CervicalScreeningStatus-1|0.3.0" } ], "contains": [ { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "code": "736595007", - "display": "Cervical cancer screening refused" + "display": "Declined" }, { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "code": "410527000", "display": "Offered" }, { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "code": "171154002", - "display": "Cancer cervix screening - not needed" + "display": "Not required" }, { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "code": "171155001", - "display": "Cancer cervix screening - up-to-date" + "display": "Up to date" } ] }, @@ -74,6 +69,7 @@ "include": [ { "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", "concept": [ { "code": "736595007", diff --git a/input/fsh/715-AboutTheHealthCheck.fsh b/input/fsh/715-AboutTheHealthCheck.fsh index 0d958753..84b04581 100644 --- a/input/fsh/715-AboutTheHealthCheck.fsh +++ b/input/fsh/715-AboutTheHealthCheck.fsh @@ -120,13 +120,6 @@ Description: "About The Health Check sub-questionnaire for Aboriginal and Torres * operator = #>= * answerDecimal = 25 */ - * item[+] - * linkId = "RecordUpdate-About" - * text = "Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there first." - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
- Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there first. -
" - * type = #display * item[+] * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#radio-button * extension[questionnaire-choiceOrientation].valueCode = #horizontal diff --git a/input/fsh/715-AssemblyInstructions.fsh b/input/fsh/715-AssemblyInstructions.fsh index f943b61d..37a0ddf9 100644 --- a/input/fsh/715-AssemblyInstructions.fsh +++ b/input/fsh/715-AssemblyInstructions.fsh @@ -71,9 +71,6 @@ Description: "Aboriginal and Torres Strait Islander Health Check assessment form * url = "description" * valueString = "The encounter that is to be used to pre-populate the form" -//Prepop query -//* extension[sdc-questionnaire-sourceQueries].valueReference = Reference(PrePopQuery) - //fhir query variables * extension[+] * url = "http://hl7.org/fhir/StructureDefinition/variable" @@ -89,7 +86,6 @@ Description: "Aboriginal and Torres Strait Islander Health Check assessment form * expression = "Observation?code=85354-9&_count=1&_sort=-date&patient={{%patient.id}}" - //workaround to stop server stripping of value sets referenced as canonical * extension[+] * url = "https://smartforms.csiro.au/ig/StructureDefinition/ContainedResourceReference" @@ -154,7 +150,6 @@ Description: "Aboriginal and Torres Strait Islander Health Check assessment form * valueReference.reference = "#CervicalScreeningStatus-1" -* meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715" diff --git a/input/fsh/715-Assessment-EarHealthAndHearing.fsh b/input/fsh/715-Assessment-EarHealthAndHearing.fsh index d3b74091..aed2c529 100644 --- a/input/fsh/715-Assessment-EarHealthAndHearing.fsh +++ b/input/fsh/715-Assessment-EarHealthAndHearing.fsh @@ -216,7 +216,7 @@ Description: "Ear Health And Hearing sub-questionnaire for Aboriginal and Torres * language = #text/fhirpath * expression = "%age <= 12" * linkId = "fe96046a-a202-4c22-ad3e-00419e717185" - * text = "Video otoscopy procedure recommended where possible as it allows for parental education and for images to be saved for tracking over time" + * text = "Video otoscopy procedure recommended where possible as it allows for parental education and for images to be saved for tracking over time." * type = #display * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression diff --git a/input/fsh/715-Assessment-ScreeningPrograms.fsh b/input/fsh/715-Assessment-ScreeningPrograms.fsh index 9f9642be..82d51a8d 100644 --- a/input/fsh/715-Assessment-ScreeningPrograms.fsh +++ b/input/fsh/715-Assessment-ScreeningPrograms.fsh @@ -66,7 +66,6 @@ Description: "Screening Programs sub-questionnaire for Aboriginal and Torres Str * jurisdiction.coding = urn:iso:std:iso:3166#AU -// should this group be only for >=74? * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath @@ -195,4 +194,4 @@ Description: "Screening Programs sub-questionnaire for Aboriginal and Torres Str * text = "Mark section as complete" * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" * type = #boolean - * repeats = false \ No newline at end of file + * repeats = false diff --git a/input/fsh/715-Consent.fsh b/input/fsh/715-Consent.fsh index 71d56a29..6069bf43 100644 --- a/input/fsh/715-Consent.fsh +++ b/input/fsh/715-Consent.fsh @@ -1,5 +1,3 @@ -// Conditional questions supporting all age groups - Alias: $LNC = http://loinc.org Alias: $SCT = http://snomed.info/sct Alias: $UCUM = http://unitsofmeasure.org @@ -216,8 +214,6 @@ Description: "Consent sub-questionnaire for Aboriginal and Torres Strait Islande * answerOption[+].valueCoding = $SCT#264362003 "Home" * answerOption[+].valueCoding = $SCT#413817003 "Child day care centre" //may require more specific "Early learning centre" concept created - - * item[+] * linkId = "MarkComplete-30" * text = "Mark section as complete" diff --git a/input/fsh/715-FinalisingHealthCheck.fsh b/input/fsh/715-FinalisingHealthCheck.fsh index 73af5af7..cb53f7f8 100644 --- a/input/fsh/715-FinalisingHealthCheck.fsh +++ b/input/fsh/715-FinalisingHealthCheck.fsh @@ -236,7 +236,6 @@ Description: "Finalising the Health Check sub-questionnaire for Aboriginal and T * text = "Follow-up" * type = #group * repeats = false - // include these display sub-items using xhtml rendering * item[+] * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-displayCategory].valueCodeableConcept = http://hl7.org/fhir/questionnaire-display-category#instructions * linkId = "b4110a63-8547-4aa2-84c6-c1f64f0d24da" @@ -257,7 +256,6 @@ Description: "Finalising the Health Check sub-questionnaire for Aboriginal and T * language = #text/fhirpath * expression = "%age <= 5" * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#drop-down - * extension[sdc-questionnaire-openLabel].valueString = "Other" * linkId = "4044d0b4-94b2-4a89-b826-a14614298511" * text = "Who" * type = #open-choice @@ -280,7 +278,6 @@ Description: "Finalising the Health Check sub-questionnaire for Aboriginal and T * language = #text/fhirpath * expression = "(%age <= 12).intersect(%age > 5)" * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#drop-down - * extension[sdc-questionnaire-openLabel].valueString = "Other" * linkId = "f97f211a-ef2a-49a3-aef7-c4e9cd08aa2a" * text = "Who" * type = #open-choice @@ -301,7 +298,6 @@ Description: "Finalising the Health Check sub-questionnaire for Aboriginal and T * language = #text/fhirpath * expression = "(%age <= 24).intersect(%age > 12)" * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#drop-down - * extension[sdc-questionnaire-openLabel].valueString = "Other" * linkId = "07cfe077-ba93-4f93-b2a5-027023faa33b" * text = "Who" * type = #open-choice @@ -323,7 +319,6 @@ Description: "Finalising the Health Check sub-questionnaire for Aboriginal and T * language = #text/fhirpath * expression = "(%age <= 49).intersect(%age > 24)" * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#drop-down - * extension[sdc-questionnaire-openLabel].valueString = "Other" * linkId = "a525c370-d8c3-4764-ab3a-bf62081725e0" * text = "Who" * type = #open-choice @@ -347,7 +342,6 @@ Description: "Finalising the Health Check sub-questionnaire for Aboriginal and T * language = #text/fhirpath * expression = "%age > 49" * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#drop-down - * extension[sdc-questionnaire-openLabel].valueString = "Other" * linkId = "d68d9693-48d3-4663-9dbb-dd3a7aec5278" * text = "Who" * type = #open-choice @@ -397,22 +391,19 @@ Description: "Finalising the Health Check sub-questionnaire for Aboriginal and T * repeats = false * item[+] * linkId = "a400fe69-c99f-47ed-bee1-083c3e4be467" - * text = "Recalls entered (eg clinical review, investigations, influenza vaccination, asthma plan/cycle of care, diabetes cycle of care, care plan review, cervical screening, investigations)" + * text = "Recalls" * type = #group - * repeats = true - * item[+] //confirm this as a requirement - * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-hidden].valueBoolean = true - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%patient.id" - * linkId = "40e3933d-77bb-40f3-8609-0c38ebb4421e" - * text = "recall-subject" - * type = #string + * repeats = false + * item[+] + * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-displayCategory].valueCodeableConcept = http://hl7.org/fhir/questionnaire-display-category#instructions + * linkId = "b0c69e16-5dc3-481f-8e8f-fc0a93627184" + * text = "e.g. clinical review, investigations, influenza vaccination, asthma plan/cycle of care, diabetes cycle of care, care plan review, cervical screening, investigations" + * type = #display * item[+] * linkId = "fece6a3c-f8f1-4592-a166-5ea5a3c60c8e" - * text = "Recall" - * type = #text - * repeats = false + * text = "Recall entered" + * type = #string + * repeats = true * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath diff --git a/input/fsh/715-PatientDetails.fsh b/input/fsh/715-PatientDetails.fsh index 79d4b715..65323e72 100644 --- a/input/fsh/715-PatientDetails.fsh +++ b/input/fsh/715-PatientDetails.fsh @@ -62,15 +62,6 @@ Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * valueString = "age" -//fhir query variables - -* extension[+] - * url = "http://hl7.org/fhir/StructureDefinition/variable" - * valueExpression - * name = "ObsSex" - * language = #application/x-fhir-query - * expression = "Observation?code=1515311000168102&status=final&_count=1&_sort=-date&patient={{%patient.id}}" - //fhirpath variables * extension[+] * url = "http://hl7.org/fhir/StructureDefinition/variable" @@ -185,8 +176,6 @@ Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait * repeats = false * readOnly = true * answerValueSet = "#biological-sex-1" - - * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath diff --git a/input/fsh/PrePopQuery.fsh b/input/fsh/PrePopQuery.fsh deleted file mode 100644 index c3eecf74..00000000 --- a/input/fsh/PrePopQuery.fsh +++ /dev/null @@ -1,108 +0,0 @@ -Instance: PrePopQuery -InstanceOf: Bundle -Usage: #inline -* type = #batch -// FamilyMemberHistorys for patient id -* entry[0].fullUrl = "urn:uuid:38a25157-b8e4-42e4-9525-7954fed52553" -* entry[=].request.method = #GET -* entry[=].request.url = "FamilyMemberHistory?patient={{%patient.id}}" -// Tobacco smoking status Observation latest -* entry[1].fullUrl = "urn:uuid:38a25157-b8e4-42e4-9525-7954fed52554" -* entry[=].request.method = #GET -* entry[=].request.url = "Observation?code=72166-2&_count=1&_sort=-date&patient={{%patient.id}}" -// Body height Observation latest -* entry[2].fullUrl = "urn:uuid:38a25157-b8e4-42e4-9525-7954fed52555" -* entry[=].request.method = #GET -* entry[=].request.url = "Observation?code=8302-2&_count=1&_sort=-date&patient={{%patient.id}}" -// Waist Circumference at umbilicus by Tape measure Observation latest -* entry[3].fullUrl = "urn:uuid:38a25157-b8e4-42e4-9525-7954fed52556" -* entry[=].request.method = #GET -* entry[=].request.url = "Observation?code=8280-0&_count=1&_sort=-date&patient={{%patient.id}}" -// Body weight Observation latest -* entry[4].fullUrl = "urn:uuid:38a25157-b8e4-42e4-9525-7954fed52557" -* entry[=].request.method = #GET -* entry[=].request.url = "Observation?code=29463-7&_count=1&_sort=-date&patient={{%patient.id}}" -// Heart rate Observation latest -* entry[5].fullUrl = "urn:uuid:38a25157-b8e4-42e4-9525-7954fed52558" -* entry[=].request.method = #GET -* entry[=].request.url = "Observation?code=8867-4&_count=1&_sort=-date&patient={{%patient.id}}" -// Body mass index (BMI) [Ratio] Observation latest -* entry[6].fullUrl = "urn:uuid:38a25157-b8e4-42e4-9525-7954fed52559" -* entry[=].request.method = #GET -* entry[=].request.url = "Observation?code=39156-5&_count=1&_sort=-date&patient={{%patient.id}}" -// Blood pressure panel with all children optional Observation latest -* entry[7].fullUrl = "urn:uuid:38a25157-b8e4-42e4-9525-7954fed52560" -* entry[=].request.method = #GET -* entry[=].request.url = "Observation?code=85354-9&_count=1&_sort=-date&patient={{%patient.id}}" -// *SAME AS ENTRY 1* Tobacco smoking status Observation latest -* entry[8].fullUrl = "urn:uuid:38a25157-b8e4-42e4-9525-7954fed52561" -* entry[=].request.method = #GET -* entry[=].request.url = "Observation?code=72166-2&_count=1&_sort=-date&patient={{%patient.id}}" -// Date ceased smoking Observation latest -* entry[9].fullUrl = "urn:uuid:38a25157-b8e4-42e4-9525-7954fed52562" -* entry[=].request.method = #GET -* entry[=].request.url = "Observation?code=160625004&_count=1&_sort=-date&patient={{%patient.id}}" -// smoking-date-started Observation latest -* entry[10].fullUrl = "urn:uuid:38a25157-b8e4-42e4-9525-7954fed52563" -* entry[=].request.method = #GET -* entry[=].request.url = "Observation?code=smoking-date-started&_count=1&_sort=-date&patient={{%patient.id}}" -// Tobacco use and exposure Observation latest -* entry[11].fullUrl = "urn:uuid:38a25157-b8e4-42e4-9525-7954fed52564" -* entry[=].request.method = #GET -* entry[=].request.url = "Observation?code=229819007&_count=1&_sort=-date&patient={{%patient.id}}" -// **INACTIVE association 897148007** Alcohol intake Observation latest -* entry[12].fullUrl = "urn:uuid:38a25157-b8e4-42e4-9525-7954fed52565" -* entry[=].request.method = #GET -* entry[=].request.url = "Observation?code=160573003&_count=1&_sort=-date&patient={{%patient.id}}" -// Pattern of drinking Observation latest -* entry[13].fullUrl = "urn:uuid:38a25157-b8e4-42e4-9525-7954fed52566" -* entry[=].request.method = #GET -* entry[=].request.url = "Observation?code=228308009&_count=1&_sort=-date&patient={{%patient.id}}" -// Date ceased drinking alcohol Observation latest -* entry[14].fullUrl = "urn:uuid:38a25157-b8e4-42e4-9525-7954fed52567" -* entry[=].request.method = #GET -* entry[=].request.url = "Observation?code=1373041000168105&_count=1&_sort=-date&patient={{%patient.id}}" -// *SAME AS ENTRY 12* **INACTIVE association 897148007** Alcohol intake Observation latest -* entry[15].fullUrl = "urn:uuid:38a25157-b8e4-42e4-9525-7954fed52568" -* entry[=].request.method = #GET -* entry[=].request.url = "Observation?code=160573003&_count=1&_sort=-date&patient={{%patient.id}}" -// Body mass index Observation latest -* entry[16].fullUrl = "urn:uuid:38a25157-b8e4-42e4-9525-7954fed52569" -* entry[=].request.method = #GET -* entry[=].request.url = "Observation?code=60621009&_count=1&_sort=-date&patient={{%patient.id}}" -// absolute-cvd-risk Observation latest -* entry[17].fullUrl = "urn:uuid:38a25157-b8e4-42e4-9525-7954fed52570" -* entry[=].request.method = #GET -* entry[=].request.url = "Observation?code=absolute-cvd-risk&_count=1&_sort=-date&patient={{%patient.id}}" -// Immunizations for patient id -* entry[18].fullUrl = "urn:uuid:38a25157-b8e4-42e4-9525-7954fed52571" -* entry[=].request.method = #GET -* entry[=].request.url = "Immunization?patient={{%patient.id}}" -// MedicationStatements for patient id -* entry[19].fullUrl = "urn:uuid:38a25157-b8e4-42e4-9525-7954fed52572" -* entry[=].request.method = #GET -* entry[=].request.url = "MedicationStatement?patient={{%patient.id}}" -// AllergyIntolerances for patient id -* entry[20].fullUrl = "urn:uuid:38a25157-b8e4-42e4-9525-7954fed52573" -* entry[=].request.method = #GET -* entry[=].request.url = "AllergyIntolerance?patient={{%patient.id}}" -// Conditions for patient id -* entry[21].fullUrl = "urn:uuid:38a25157-b8e4-42e4-9525-7954fed52575" -* entry[=].request.method = #GET -* entry[=].request.url = "Condition?patient={{%patient.id}}" -// DiagnosticReports for patient id -* entry[22].fullUrl = "urn:uuid:38a25157-b8e4-42e4-9525-7954fed52574" -* entry[=].request.method = #GET -* entry[=].request.url = "DiagnosticReport?patient={{%patient.id}}" -// Cholesterol [Moles/volume] in Serum or Plasma Observation latest -* entry[23].fullUrl = "urn:uuid:38a25157-b8e4-42e4-9525-7954fed52576" -* entry[=].request.method = #GET -* entry[=].request.url = "Observation?code=14647-2&_count=1&_sort=-date&patient={{%patient.id}}" -// Cholesterol in HDL [Moles/volume] in Serum or Plasma Observation latest -* entry[24].fullUrl = "urn:uuid:38a25157-b8e4-42e4-9525-7954fed52577" -* entry[=].request.method = #GET -* entry[=].request.url = "Observation?code=14646-4&_count=1&_sort=-date&patient={{%patient.id}}" -// Head Occipital-frontal circumference -* entry[25].fullUrl = "urn:uuid:12f24514-437e-40d8-b5c3-bfe8ecb4995d" -* entry[=].request.method = #GET -* entry[=].request.url = "Observation?code=9843-4&_count=1&_sort=-date&patient={{%patient.id}}" \ No newline at end of file diff --git a/input/fsh/terminology.fsh b/input/fsh/terminology.fsh index 1f982cbb..3f73cf34 100644 --- a/input/fsh/terminology.fsh +++ b/input/fsh/terminology.fsh @@ -1185,41 +1185,39 @@ Title: "Cervical Screening Status" Description: "The Cervical Screening Status value set includes values that can be used to represent the status of an individual's participation in a cervical screening program." * ^experimental = false * ^extension[+].url = "http://hl7.org/fhir/StructureDefinition/valueset-supplement" -* ^extension[=].valueCanonical = "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement" -* $SCT#736595007 "Declined" -* $SCT#410527000 "Offered" // a better concept is required -* $SCT#171154002 "Not required" -* $SCT#171155001 "Up to date" - -* ^expansion.identifier = "urn:uuid:4d42d172-e817-40be-a265-56aebe2f4f10" -* ^expansion.timestamp = "2025-05-01T10:01:02+10:00" -* ^expansion.offset = 0 -* ^expansion.parameter[0].name = "displayLanguage" -* ^expansion.parameter[=].valueCode = #en-US -* ^expansion.parameter[+].name = "count" -* ^expansion.parameter[=].valueInteger = 1000 -* ^expansion.parameter[+].name = "offset" -* ^expansion.parameter[=].valueInteger = 0 -* ^expansion.parameter[+].name = "excludeNested" -* ^expansion.parameter[=].valueBoolean = false -* ^expansion.parameter[+].name = "used-valueset" -* ^expansion.parameter[=].valueUri = "null" +* ^extension[=].valueCanonical = "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement|0.3.0" +* $SCT|http://snomed.info/sct/32506021000036107/version/20250430#736595007 "Declined" +* $SCT|http://snomed.info/sct/32506021000036107/version/20250430#410527000 "Offered" // a better concept is required +* $SCT|http://snomed.info/sct/32506021000036107/version/20250430#171154002 "Not required" +* $SCT|http://snomed.info/sct/32506021000036107/version/20250430#171155001 "Up to date" +* ^expansion.identifier = "urn:uuid:3657ae6f-b206-482f-a745-0ff9c99358ef" +* ^expansion.timestamp = "2025-06-05T13:50:47+10:00" +* ^expansion.parameter[0].name = "used-supplement" +* ^expansion.parameter[=].valueUri = "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement|0.3.0" * ^expansion.parameter[+].name = "used-codesystem" * ^expansion.parameter[=].valueUri = "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" * ^expansion.parameter[+].name = "version" * ^expansion.parameter[=].valueUri = "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" +* ^expansion.parameter[+].name = "warning-draft" +* ^expansion.parameter[=].valueUri = "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement|0.3.0" +* ^expansion.parameter[+].name = "warning-draft" +* ^expansion.parameter[=].valueUri = "https://smartforms.csiro.au/ig/ValueSet/CervicalScreeningStatus-1|0.3.0" * ^expansion.contains[0].system = "http://snomed.info/sct" +* ^expansion.contains[=].version = "http://snomed.info/sct/32506021000036107/version/20250430" * ^expansion.contains[=].code = #736595007 -* ^expansion.contains[=].display = "Cervical cancer screening refused" +* ^expansion.contains[=].display = "Declined" * ^expansion.contains[+].system = "http://snomed.info/sct" +* ^expansion.contains[=].version = "http://snomed.info/sct/32506021000036107/version/20250430" * ^expansion.contains[=].code = #410527000 * ^expansion.contains[=].display = "Offered" * ^expansion.contains[+].system = "http://snomed.info/sct" +* ^expansion.contains[=].version = "http://snomed.info/sct/32506021000036107/version/20250430" * ^expansion.contains[=].code = #171154002 -* ^expansion.contains[=].display = "Cancer cervix screening - not needed" +* ^expansion.contains[=].display = "Not required" * ^expansion.contains[+].system = "http://snomed.info/sct" +* ^expansion.contains[=].version = "http://snomed.info/sct/32506021000036107/version/20250430" * ^expansion.contains[=].code = #171155001 -* ^expansion.contains[=].display = "Cancer cervix screening - up-to-date" +* ^expansion.contains[=].display = "Up to date" /* * ^expansion.identifier = "urn:uuid:7642a243-4f23-4b17-933d-57b448902d5d" * ^expansion.timestamp = "2024-04-08T10:41:42+10:00" From f69cbaf06454c28fb9b899d9ed053ab36060d500 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Mon, 9 Jun 2025 10:29:43 +1000 Subject: [PATCH 074/177] Remove commented out old references --- input/fsh/715-AssemblyInstructions.fsh | 27 -------------------------- 1 file changed, 27 deletions(-) diff --git a/input/fsh/715-AssemblyInstructions.fsh b/input/fsh/715-AssemblyInstructions.fsh index f943b61d..db99db03 100644 --- a/input/fsh/715-AssemblyInstructions.fsh +++ b/input/fsh/715-AssemblyInstructions.fsh @@ -8,16 +8,10 @@ Usage: #example Title: "Aboriginal and Torres Strait Islander Health Check" Description: "Aboriginal and Torres Strait Islander Health Check assessment form." -//* contained[+] = PrePopQuery * contained[+] = YesNo * contained[+] = YesNoNA * contained[+] = YesNoNotAskedDeclined * contained[+] = clinical-condition-1 -/** contained[+] = MedicalHistory -* contained[+] = MedicalHistoryShortListInfants -* contained[+] = MedicalHistoryShortListPrimarySchool -* contained[+] = MedicalHistoryShortListAdolescents -* contained[+] = MedicalHistoryShortListAdultsAndOlderPeople*/ * contained[+] = administrative-gender * contained[+] = condition-clinical * contained[+] = AboriginalTorresStraitIslander @@ -30,7 +24,6 @@ Description: "Aboriginal and Torres Strait Islander Health Check assessment form * contained[+] = TobaccoUseStatus-1 * contained[+] = CervicalScreeningStatus-1 - //assemble expectation * extension[+] * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assemble-expectation" @@ -71,9 +64,6 @@ Description: "Aboriginal and Torres Strait Islander Health Check assessment form * url = "description" * valueString = "The encounter that is to be used to pre-populate the form" -//Prepop query -//* extension[sdc-questionnaire-sourceQueries].valueReference = Reference(PrePopQuery) - //fhir query variables * extension[+] * url = "http://hl7.org/fhir/StructureDefinition/variable" @@ -89,7 +79,6 @@ Description: "Aboriginal and Torres Strait Islander Health Check assessment form * expression = "Observation?code=85354-9&_count=1&_sort=-date&patient={{%patient.id}}" - //workaround to stop server stripping of value sets referenced as canonical * extension[+] * url = "https://smartforms.csiro.au/ig/StructureDefinition/ContainedResourceReference" @@ -103,22 +92,6 @@ Description: "Aboriginal and Torres Strait Islander Health Check assessment form * extension[+] * url = "https://smartforms.csiro.au/ig/StructureDefinition/ContainedResourceReference" * valueReference.reference = "#clinical-condition-1" - -/** extension[+] - * url = "https://smartforms.csiro.au/ig/StructureDefinition/ContainedResourceReference" - * valueReference.reference = "#MedicalHistory" -* extension[+] - * url = "https://smartforms.csiro.au/ig/StructureDefinition/ContainedResourceReference" - * valueReference.reference = "#MedicalHistoryShortListInfants" -* extension[+] - * url = "https://smartforms.csiro.au/ig/StructureDefinition/ContainedResourceReference" - * valueReference.reference = "#MedicalHistoryShortListPrimarySchool" -* extension[+] - * url = "https://smartforms.csiro.au/ig/StructureDefinition/ContainedResourceReference" - * valueReference.reference = "#MedicalHistoryShortListAdolescents" -* extension[+] - * url = "https://smartforms.csiro.au/ig/StructureDefinition/ContainedResourceReference" - * valueReference.reference = "#MedicalHistoryShortListAdultsAndOlderPeople"*/ * extension[+] * url = "https://smartforms.csiro.au/ig/StructureDefinition/ContainedResourceReference" * valueReference.reference = "#administrative-gender" From 5a66cc0a90b491f608b013ac411da4be1dc69d26 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Mon, 9 Jun 2025 14:31:20 +1000 Subject: [PATCH 075/177] Add smoking status date and extract, fix unresolving urls in capability statement --- ...iginalTorresStraitIslanderHealthCheck.json | 2 +- ...ntationGuide-csiro.fhir.au.smartforms.json | 6 - .../Questionnaire-AssemblyInstructions.json | 2 +- .../resources/Questionnaire-Immunisation.json | 2 +- .../resources/Questionnaire-SubstanceUse.json | 135 +++++++++++++++--- input/fsh/715-AssemblyInstructions.fsh | 2 +- input/fsh/715-Assessment-SubstanceUse.fsh | 31 ++-- input/fsh/capability.fsh | 10 +- input/fsh/extract-templates.fsh | 16 +++ sushi-config.yaml | 2 +- 10 files changed, 166 insertions(+), 42 deletions(-) diff --git a/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json b/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json index 9efca075..3941003a 100644 --- a/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json +++ b/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json @@ -90,7 +90,7 @@ "rest": [ { "mode": "server", - "documentation": "Smart Forms Launcher Server **SHALL**:\r\n1. Support the [AU Core AllergyIntolerance resource profile](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-allergyintolerance.html)\r\n1. Support the [AU Core Condition resource profile](http://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-condition.html)\r\n1. Support the [AU Core Encounter resource profile](http://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-encounter.html)\r\n1. Support the [AU Core Immunization resource profile](https://build.fhir.org/ig/hl7au/au-fhir-core/StructureDefinition-au-core-immunization.html)\r\n1. Support the [AU Core Medication profile](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-medication.html)\r\n1. Support the [AU Core MedicationStatement profile](https://hl7.org.au/fhir/core/1.1.0-preview/StructureDefinition-au-core-medicationstatement.html)\r\n1. Support the [AU Core Observation resource profiles](http://hl7.org.au/fhir/core/1.0.0/profiles-and-extensions.html#observation)\r\n1. Support the [AU Core Patient resource profile](http://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-patient.html)\r\n1. Support the [AU Core Practitioner resource profile](http://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-practitioner.html)\r\n1. Support the [SDC Questionnaire Response profile](https://hl7.org/fhir/uv/sdc/STU3/StructureDefinition-sdc-questionnaireresponse.html)\r\n1. Implement the RESTful behavior according to the FHIR specification\r\n1. Support JSON source formats for all interactions", + "documentation": "Smart Forms Launcher Server **SHALL**:\r\n1. Support the [AU Core AllergyIntolerance resource profile](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-allergyintolerance.html)\r\n1. Support the [AU Core Condition resource profile](http://hl7.org.au/fhir/core/1.1.0-previewStructureDefinition-au-core-condition.html)\r\n1. Support the [AU Core Encounter resource profile](http://hl7.org.au/fhir/core/1.1.0-previewStructureDefinition-au-core-encounter.html)\r\n1. Support the [AU Core Immunization resource profile](https://build.fhir.org/ig/hl7au/au-fhir-core/StructureDefinition-au-core-immunization.html)\r\n1. Support the [AU Core Medication profile](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-medication.html)\r\n1. Support the [AU Core MedicationStatement profile](https://hl7.org.au/fhir/core/1.1.0-preview/StructureDefinition-au-core-medicationstatement.html)\r\n1. Support the [AU Core Observation resource profiles](http://hl7.org.au/fhir/core/1.1.0-previewprofiles-and-extensions.html#observation)\r\n1. Support the [AU Core Patient resource profile](http://hl7.org.au/fhir/core/1.1.0-previewStructureDefinition-au-core-patient.html)\r\n1. Support the [AU Core Practitioner resource profile](http://hl7.org.au/fhir/core/1.1.0-previewStructureDefinition-au-core-practitioner.html)\r\n1. Support the [SDC Questionnaire Response profile](https://hl7.org/fhir/uv/sdc/STU3/StructureDefinition-sdc-questionnaireresponse.html)\r\n1. Implement the RESTful behavior according to the FHIR specification\r\n1. Support JSON source formats for all interactions", "security": { "cors": true, "_cors": { diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index 69f9e11b..b7aa946d 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -50,12 +50,6 @@ "version": "2.2.0", "uri": "http://hl7.org/fhir/smart-app-launch/ImplementationGuide/hl7.fhir.uv.smart-app-launch", "id": "hl7_fhir_uv_smart_app_launch" - }, - { - "packageId": "hl7.fhir.uv.extensions.r5", - "version": "5.2.0", - "uri": "http://hl7.org/fhir/extensions/ImplementationGuide/hl7.fhir.uv.extensions", - "id": "hl7_fhir_uv_extensions_r5" } ], "definition": { diff --git a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json index 16934bb5..6d1c2757 100644 --- a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json +++ b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json @@ -44,7 +44,7 @@ "valueExpression": { "name": "smoker", "language": "text/fhirpath", - "expression": "item.where(linkId='14a9fb5f-5b0e-4862-b143-08a11cd3ebf0').item.where(linkId='515eda6e-973a-4b10-910a-0d4bf4f2efff').item.where(linkId='b639a3a8-f476-4cc8-b5c7-f5d2abb23511').answer.value" + "expression": "repeat(item).where(linkId='b639a3a8-f476-4cc8-b5c7-f5d2abb23511').answer.value" } }, { diff --git a/fsh-generated/resources/Questionnaire-Immunisation.json b/fsh-generated/resources/Questionnaire-Immunisation.json index 0702a0a1..f69f0786 100644 --- a/fsh-generated/resources/Questionnaire-Immunisation.json +++ b/fsh-generated/resources/Questionnaire-Immunisation.json @@ -205,7 +205,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%ImmunizationRepeat.vaccineCode.select((coding.where(system='http://snomed.info/sct') | text.first() | coding.where(system!='http://snomed.info/sct').display).first())" + "expression": "%ImmunizationRepeat.vaccineCode.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first())" } } ], diff --git a/fsh-generated/resources/Questionnaire-SubstanceUse.json b/fsh-generated/resources/Questionnaire-SubstanceUse.json index e35ee0bb..db4a45ac 100644 --- a/fsh-generated/resources/Questionnaire-SubstanceUse.json +++ b/fsh-generated/resources/Questionnaire-SubstanceUse.json @@ -104,29 +104,65 @@ { "extension": [ { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsTobaccoSmokingStatus.entry.resource.value.coding.where(system='http://snomed.info/sct')" - } + "extension": [ + { + "url": "template", + "valueReference": { + "reference": "#SmokingStatusTemplate" + } + } + ], + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract" + } + ], + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%ObsTobaccoSmokingStatus.entry.resource.value.coding.where(system='http://snomed.info/sct')" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "radio-button", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + } + ], + "linkId": "b639a3a8-f476-4cc8-b5c7-f5d2abb23511", + "text": "Status", + "type": "choice", + "repeats": false, + "answerValueSet": "#TobaccoUseStatus-1" }, { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "code": "radio-button", - "system": "http://hl7.org/fhir/questionnaire-item-control" + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%ObsTobaccoSmokingStatus.entry.resource.effective.ofType(dateTime)" } - ] - } + } + ], + "linkId": "substanceuse-smoking-smokingstatus-date", + "text": "Date", + "type": "dateTime", + "repeats": false } ], - "linkId": "b639a3a8-f476-4cc8-b5c7-f5d2abb23511", + "linkId": "substanceuse-smoking-smokingstatus", "text": "Smoking status", - "type": "choice", - "repeats": false, - "answerValueSet": "#TobaccoUseStatus-1" + "type": "group", + "repeats": false }, { "extension": [ @@ -224,7 +260,7 @@ "enableBehavior": "any" } ], - "linkId": "515eda6e-973a-4b10-910a-0d4bf4f2efff", + "linkId": "substanceuse-smoking", "text": "Smoking", "type": "group", "repeats": false @@ -305,6 +341,69 @@ } ], "contained": [ + { + "resourceType": "Observation", + "id": "SmokingStatusTemplate", + "meta": { + "profile": [ + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-smokingstatus" + ] + }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "social-history" + } + ] + } + ], + "code": { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "1747861000168109" + }, + { + "system": "http://loinc.org", + "code": "72166-2" + } + ], + "text": "Smoking status" + }, + "status": "final", + "subject": { + "_reference": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.subject.reference" + } + ] + } + }, + "valueCodeableConcept": { + "coding": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.repeat(item).where(linkId='b639a3a8-f476-4cc8-b5c7-f5d2abb23511').answer.value" + } + ] + } + ] + }, + "_effectiveDateTime": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.repeat(item).where(linkId='substanceuse-smoking-smokingstatus-date').answer.value.toDateTime()" + } + ] + } + }, { "resourceType": "ValueSet", "id": "SmokingQuitStatus-1", diff --git a/input/fsh/715-AssemblyInstructions.fsh b/input/fsh/715-AssemblyInstructions.fsh index 33fb59ee..e1d5c8f2 100644 --- a/input/fsh/715-AssemblyInstructions.fsh +++ b/input/fsh/715-AssemblyInstructions.fsh @@ -183,7 +183,7 @@ Description: "Aboriginal and Torres Strait Islander Health Check assessment form * extension[http://hl7.org/fhir/StructureDefinition/variable][+].valueExpression * name = "smoker" * language = #text/fhirpath - * expression = "item.where(linkId='14a9fb5f-5b0e-4862-b143-08a11cd3ebf0').item.where(linkId='515eda6e-973a-4b10-910a-0d4bf4f2efff').item.where(linkId='b639a3a8-f476-4cc8-b5c7-f5d2abb23511').answer.value" + * expression = "repeat(item).where(linkId='b639a3a8-f476-4cc8-b5c7-f5d2abb23511').answer.value" * extension[http://hl7.org/fhir/StructureDefinition/variable][+].valueExpression * name = "postcode" * language = #text/fhirpath diff --git a/input/fsh/715-Assessment-SubstanceUse.fsh b/input/fsh/715-Assessment-SubstanceUse.fsh index 20142cb1..5a6d0eed 100644 --- a/input/fsh/715-Assessment-SubstanceUse.fsh +++ b/input/fsh/715-Assessment-SubstanceUse.fsh @@ -8,6 +8,7 @@ Usage: #example Title: "Aboriginal and Torres Strait Islander Health Check - Substance Use" Description: "Substance Use sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." +* contained[+] = SmokingStatusTemplate * contained[+] = SmokingQuitStatus-1 * contained[+] = TobaccoUseStatus-1 @@ -113,20 +114,34 @@ Description: "Substance Use sub-questionnaire for Aboriginal and Torres Strait I
" * type = #display * item[+] - * linkId = "515eda6e-973a-4b10-910a-0d4bf4f2efff" + * linkId = "substanceuse-smoking" * text = "Smoking" * type = #group * repeats = false * item[+] - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%ObsTobaccoSmokingStatus.entry.resource.value.coding.where(system='http://snomed.info/sct')" - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#radio-button - * linkId = "b639a3a8-f476-4cc8-b5c7-f5d2abb23511" + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#SmokingStatusTemplate" + * linkId = "substanceuse-smoking-smokingstatus" * text = "Smoking status" - * type = #choice + * type = #group * repeats = false - * answerValueSet = "#TobaccoUseStatus-1" + * item[+] + * extension[sdc-questionnaire-initialExpression].valueExpression + * language = #text/fhirpath + * expression = "%ObsTobaccoSmokingStatus.entry.resource.value.coding.where(system='http://snomed.info/sct')" + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#radio-button + * linkId = "b639a3a8-f476-4cc8-b5c7-f5d2abb23511" + * text = "Status" + * type = #choice + * repeats = false + * answerValueSet = "#TobaccoUseStatus-1" + * item[+] + * extension[sdc-questionnaire-initialExpression].valueExpression + * language = #text/fhirpath + * expression = "%ObsTobaccoSmokingStatus.entry.resource.effective.ofType(dateTime)" + * linkId = "substanceuse-smoking-smokingstatus-date" + * text = "Date" + * type = #dateTime + * repeats = false * item[+] * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#radio-button * linkId = "96dc7c22-d003-459c-8a56-f6cd182fc077" diff --git a/input/fsh/capability.fsh b/input/fsh/capability.fsh index c0169942..cf863d9e 100644 --- a/input/fsh/capability.fsh +++ b/input/fsh/capability.fsh @@ -37,14 +37,14 @@ Usage: #definition * rest.mode = #server * rest.documentation = "Smart Forms Launcher Server **SHALL**: 1. Support the [AU Core AllergyIntolerance resource profile](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-allergyintolerance.html) -1. Support the [AU Core Condition resource profile](http://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-condition.html) -1. Support the [AU Core Encounter resource profile](http://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-encounter.html) +1. Support the [AU Core Condition resource profile](http://hl7.org.au/fhir/core/1.1.0-previewStructureDefinition-au-core-condition.html) +1. Support the [AU Core Encounter resource profile](http://hl7.org.au/fhir/core/1.1.0-previewStructureDefinition-au-core-encounter.html) 1. Support the [AU Core Immunization resource profile](https://build.fhir.org/ig/hl7au/au-fhir-core/StructureDefinition-au-core-immunization.html) 1. Support the [AU Core Medication profile](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-medication.html) 1. Support the [AU Core MedicationStatement profile](https://hl7.org.au/fhir/core/1.1.0-preview/StructureDefinition-au-core-medicationstatement.html) -1. Support the [AU Core Observation resource profiles](http://hl7.org.au/fhir/core/1.0.0/profiles-and-extensions.html#observation) -1. Support the [AU Core Patient resource profile](http://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-patient.html) -1. Support the [AU Core Practitioner resource profile](http://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-practitioner.html) +1. Support the [AU Core Observation resource profiles](http://hl7.org.au/fhir/core/1.1.0-previewprofiles-and-extensions.html#observation) +1. Support the [AU Core Patient resource profile](http://hl7.org.au/fhir/core/1.1.0-previewStructureDefinition-au-core-patient.html) +1. Support the [AU Core Practitioner resource profile](http://hl7.org.au/fhir/core/1.1.0-previewStructureDefinition-au-core-practitioner.html) 1. Support the [SDC Questionnaire Response profile](https://hl7.org/fhir/uv/sdc/STU3/StructureDefinition-sdc-questionnaireresponse.html) 1. Implement the RESTful behavior according to the FHIR specification 1. Support JSON source formats for all interactions" diff --git a/input/fsh/extract-templates.fsh b/input/fsh/extract-templates.fsh index 9cf15928..380483d9 100644 --- a/input/fsh/extract-templates.fsh +++ b/input/fsh/extract-templates.fsh @@ -7,6 +7,7 @@ Alias: $sdc-questionnaire-templateExtractContext = http://hl7.org/fhir/uv/sdc/St Alias: $condition-category = http://terminology.hl7.org/CodeSystem/condition-category Alias: $allergyintolerance-clinical = http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical +Alias: $au-core-smokingstatus = http://hl7.org.au/fhir/core/StructureDefinition/au-core-smokingstatus Alias: $au-core-bodyheight = http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyheight Alias: $au-core-bodyweight = http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyweight Alias: $au-core-au-core-headcircum = http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum @@ -21,6 +22,21 @@ Alias: $au-core-medicationstatement = http://hl7.org.au/fhir/core/StructureDefin Alias: $observation-category = http://terminology.hl7.org/CodeSystem/observation-category +Instance: SmokingStatusTemplate +InstanceOf: $au-core-smokingstatus +Usage: #inline +* status = #final +* category[socialHistory] = $observation-category#social-history +* code.coding[+] = $SCT#1747861000168109 +* code.coding[loincSmokingStatus][+] = $LNC#72166-2 +* code.text = "Smoking status" +* subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* subject.reference.extension[=].valueString = "%resource.subject.reference" +* effectiveDateTime.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* effectiveDateTime.extension[=].valueString = "%resource.repeat(item).where(linkId='substanceuse-smoking-smokingstatus-date').answer.value.toDateTime()" +* valueCodeableConcept.coding.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* valueCodeableConcept.coding.extension[=].valueString = "%resource.repeat(item).where(linkId='b639a3a8-f476-4cc8-b5c7-f5d2abb23511').answer.value" + Instance: BodyHeightLengthTemplate InstanceOf: $au-core-bodyheight Usage: #inline diff --git a/sushi-config.yaml b/sushi-config.yaml index aeac667f..a2d34c79 100644 --- a/sushi-config.yaml +++ b/sushi-config.yaml @@ -30,7 +30,7 @@ dependencies: hl7.fhir.au.base: 5.1.0-preview hl7.fhir.uv.sdc: current hl7.fhir.uv.smart-app-launch: 2.2.0 - hl7.fhir.uv.extensions.r5: 5.2.0 +# hl7.fhir.uv.extensions.r5: 5.2.0 # # # The pages property corresponds to IG.definition.page. SUSHI can From 6e75cb9b0043b22656ff3319e92b17f66d386af2 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Mon, 9 Jun 2025 16:45:08 +1000 Subject: [PATCH 076/177] Examination last result representation enhancement --- .../Questionnaire-ExaminationExtract.json | 648 ++++-------------- .../fsh/715-Assessment-ExaminationExtract.fsh | 252 ++----- input/fsh/extract-templates.fsh | 4 +- 3 files changed, 176 insertions(+), 728 deletions(-) diff --git a/fsh-generated/resources/Questionnaire-ExaminationExtract.json b/fsh-generated/resources/Questionnaire-ExaminationExtract.json index 995621d3..a2f583a2 100644 --- a/fsh-generated/resources/Questionnaire-ExaminationExtract.json +++ b/fsh-generated/resources/Questionnaire-ExaminationExtract.json @@ -114,61 +114,20 @@ { "item": [ { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsBodyHeight.entry.resource.value.value" - } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", - "valueCoding": { - "code": "cm", - "system": "http://unitsofmeasure.org" - } - } - ], - "item": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "code": "unit", - "system": "http://hl7.org/fhir/questionnaire-item-control" - } - ] - } - } - ], - "linkId": "e73c3643-8898-4ef8-8bc9-b4b3826ab790", - "text": "cm", - "type": "display" - } - ], "linkId": "837cd0ce-4a9e-4c8b-8679-007ed961f121", "text": "Last result", - "type": "decimal", - "repeats": false, - "readOnly": true - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsBodyHeight.entry.resource.effective.toDate()" + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%ObsBodyHeight.entry.resource.value.value.empty() = true, 'Not available', %ObsBodyHeight.entry.resource.value.value.toString() + ' cm' + ' (' + %ObsBodyHeight.entry.resource.effective.toDate().toString() + ')')" + } } - } - ], - "linkId": "b9faf79e-b5f7-443a-9203-67532e3a381f", - "text": "Last result date", - "type": "date", + ] + }, + "type": "display", "repeats": false, "readOnly": true }, @@ -233,61 +192,20 @@ { "item": [ { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsBodyHeight.entry.resource.value.value" - } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", - "valueCoding": { - "code": "cm", - "system": "http://unitsofmeasure.org" - } - } - ], - "item": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "code": "unit", - "system": "http://hl7.org/fhir/questionnaire-item-control" - } - ] - } - } - ], - "linkId": "387c95f0-8b54-4ad7-992d-8ab26a34fd77", - "text": "cm", - "type": "display" - } - ], "linkId": "7035c7e7-ada3-4c6b-9ea8-f39666f5d4ea", "text": "Last result", - "type": "decimal", - "repeats": false, - "readOnly": true - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsBodyHeight.entry.resource.effective.toDate()" + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%ObsBodyHeight.entry.resource.value.value.empty() = true, 'Not available', %ObsBodyHeight.entry.resource.value.value.toString() + ' cm' + ' (' + %ObsBodyHeight.entry.resource.effective.toDate().toString() + ')')" + } } - } - ], - "linkId": "c666ac96-1e64-40e2-8e0b-7d0187bb3e50", - "text": "Last result date", - "type": "date", + ] + }, + "type": "display", "repeats": false, "readOnly": true }, @@ -352,61 +270,20 @@ { "item": [ { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsBodyWeight.entry.resource.value.value" - } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", - "valueCoding": { - "code": "kg", - "system": "http://unitsofmeasure.org" - } - } - ], - "item": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "code": "unit", - "system": "http://hl7.org/fhir/questionnaire-item-control" - } - ] - } - } - ], - "linkId": "5ba0d699-bc2a-45d0-8f40-f53cb21dc911", - "text": "kg", - "type": "display" - } - ], "linkId": "443bd584-684a-449c-ab6e-9d07da4df9fa", "text": "Last result", - "type": "decimal", - "repeats": false, - "readOnly": true - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsBodyWeight.entry.resource.effective.toDate()" + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%ObsBodyWeight.entry.resource.value.value.empty() = true, 'Not available', %ObsBodyWeight.entry.resource.value.value.toString() + ' kg' + ' (' + %ObsBodyWeight.entry.resource.effective.toDate().toString() + ')')" + } } - } - ], - "linkId": "92cdc1c7-eb6c-4f6d-9bd9-ae726a0e0d3d", - "text": "Last result date", - "type": "date", + ] + }, + "type": "display", "repeats": false, "readOnly": true }, @@ -471,53 +348,20 @@ { "item": [ { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression", - "valueExpression": { - "description": "BMI calculation", - "language": "text/fhirpath", - "expression": "(%weight/((%height/100).power(2))).round(1)" - } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", - "valueCoding": { - "code": "kg/m2", - "system": "http://unitsofmeasure.org" - } - } - ], - "item": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "code": "unit", - "system": "http://hl7.org/fhir/questionnaire-item-control" - } - ] - } - } - ], - "linkId": "a709b8ec-9e65-40f0-a781-500cb3e56f3c", - "text": "kg/m2", - "type": "display" - } - ], "linkId": "2ada6633-03c6-4b05-bc23-18dec84ec150", "text": "Last result", - "type": "decimal", - "repeats": false, - "readOnly": true - }, - { - "linkId": "obs-bmi-spacer", - "text": "Last result date", - "type": "string", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%ObsBodyWeight.entry.resource.value.value.empty() = true or %ObsBodyHeight.entry.resource.value.value.empty() = true, 'Not available', (%ObsBodyWeight.entry.resource.value.value/((%ObsBodyHeight.entry.resource.value.value/100).power(2))).round(1).toString() + ' kg/m2')" + } + } + ] + }, + "type": "display", "repeats": false, "readOnly": true }, @@ -528,7 +372,7 @@ "valueExpression": { "description": "BMI calculation", "language": "text/fhirpath", - "expression": "(%weight2/((%height2/100).power(2))).round(1)" + "expression": "(%weight/((%height/100).power(2))).round(1)" } }, { @@ -574,61 +418,20 @@ { "item": [ { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsHeadCircumference.entry.resource.value.value" - } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", - "valueCoding": { - "code": "cm", - "system": "http://unitsofmeasure.org" - } - } - ], - "item": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "code": "unit", - "system": "http://hl7.org/fhir/questionnaire-item-control" - } - ] - } - } - ], - "linkId": "73937983-65a0-4d40-8600-de7ca3277d5e", - "text": "cm", - "type": "display" - } - ], "linkId": "7a4a6aac-558e-4bec-86c5-326ae07e37d6", "text": "Last result", - "type": "decimal", - "repeats": false, - "readOnly": true - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsHeadCircumference.entry.resource.effective.toDate()" + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%ObsHeadCircumference.entry.resource.value.value.empty() = true, 'Not available', %ObsHeadCircumference.entry.resource.value.value.toString() + ' cm' + ' (' + %ObsHeadCircumference.entry.resource.effective.toDate().toString() + ')')" + } } - } - ], - "linkId": "b8da15e7-8648-492b-9e82-ad5ab7cad179", - "text": "Last result date", - "type": "date", + ] + }, + "type": "display", "repeats": false, "readOnly": true }, @@ -693,61 +496,20 @@ { "item": [ { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsWaistCircumference.entry.resource.value.value" - } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", - "valueCoding": { - "code": "cm", - "system": "http://unitsofmeasure.org" - } - } - ], - "item": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "code": "unit", - "system": "http://hl7.org/fhir/questionnaire-item-control" - } - ] - } - } - ], - "linkId": "19aeb0ab-7494-4bac-8b2d-d7d2527c1f4a", - "text": "cm", - "type": "display" - } - ], "linkId": "8df0f5d8-821d-4f71-b3c1-d164616ea2f5", "text": "Last result", - "type": "decimal", - "repeats": false, - "readOnly": true - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsWaistCircumference.entry.resource.effective.toDate()" + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%ObsWaistCircumference.entry.resource.value.value.empty() = true, 'Not available', %ObsWaistCircumference.entry.resource.value.value.toString() + ' cm' + ' (' + %ObsWaistCircumference.entry.resource.effective.toDate().toString() + ')')" + } } - } - ], - "linkId": "3eb3b929-e67a-4331-8949-b8447b66a4c7", - "text": "Last result date", - "type": "date", + ] + }, + "type": "display", "repeats": false, "readOnly": true }, @@ -805,61 +567,20 @@ { "item": [ { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsHeartRate.entry.resource.value.value.round().toInteger()" - } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", - "valueCoding": { - "code": "/min", - "system": "http://unitsofmeasure.org" - } - } - ], - "item": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "code": "unit", - "system": "http://hl7.org/fhir/questionnaire-item-control" - } - ] - } - } - ], - "linkId": "090964b9-be33-438b-8465-2a2a09632fde", - "text": "/min", - "type": "display" - } - ], "linkId": "49029ef0-eaa8-44f8-b26a-177820c82dfd", "text": "Last result", - "type": "integer", - "repeats": false, - "readOnly": true - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsHeartRate.entry.resource.effective.toDate()" + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%ObsHeartRate.entry.resource.value.value.empty() = true, 'Not available', %ObsHeartRate.entry.resource.value.value.round().toString() + ' /min' + ' (' + %ObsHeartRate.entry.resource.effective.toDate().toString() + ')')" + } } - } - ], - "linkId": "feeac08f-2ba6-4048-80a2-10b3f90cf5e3", - "text": "Last result date", - "type": "date", + ] + }, + "type": "display", "repeats": false, "readOnly": true }, @@ -924,45 +645,20 @@ { "item": [ { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "code": "radio-button", - "system": "http://hl7.org/fhir/questionnaire-item-control" - } - ] - } - } - ], "linkId": "99a8eb6f-a36a-4daf-99d7-27bfde0d4bb1", "text": "Last result", - "type": "choice", - "repeats": false, - "readOnly": true, - "answerOption": [ - { - "valueCoding": { - "code": "271636001", - "system": "http://snomed.info/sct", - "display": "Pulse regular" - } - }, - { - "valueCoding": { - "code": "61086009", - "system": "http://snomed.info/sct", - "display": "Pulse irregular" + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%ObsHeartRhythm.entry.resource.value.coding.where(system='http://snomed.info/sct').first().empty() = true, 'Not available', %ObsHeartRhythm.entry.resource.value.coding.where(system='http://snomed.info/sct').first().display + ' (' + %ObsHeartRhythm.entry.resource.effective.toDate().toString() + ')')" + } } - } - ] - }, - { - "linkId": "eeb56682-0eae-4428-9c37-0e63852026c0", - "text": "Last result date", - "type": "date", + ] + }, + "type": "display", "repeats": false, "readOnly": true }, @@ -1048,128 +744,36 @@ { "item": [ { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8480-6')).value.value.round().toInteger()" - } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", - "valueCoding": { - "code": "mm[Hg]", - "system": "http://unitsofmeasure.org" - } - } - ], - "item": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "code": "unit", - "system": "http://hl7.org/fhir/questionnaire-item-control" - } - ] - } + "linkId": "bp-bp-lastresult", + "text": "Last result", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8480-6')).value.value.empty() = true or %ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8462-4')).value.value.empty() = true, 'Not available', %ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8480-6')).value.value.round().toString() + ' / ' + %ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8462-4')).value.value.round().toString() + ' mm Hg (' + %ObsBloodPressure.entry.resource.effective.toDate().toString() + ')')" } - ], - "linkId": "197d212d-72cc-4c85-91dc-2f030d384391", - "text": "mm Hg", - "type": "display" - } - ], - "linkId": "e68b660d-cfd2-4b89-957a-c96a4c73a5fd", - "text": "Systolic", - "type": "integer", - "repeats": false + } + ] + }, + "type": "display", + "repeats": false, + "readOnly": true }, { "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8462-4')).value.value.round().toInteger()" - } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", - "valueCoding": { - "code": "mm[Hg]", - "system": "http://unitsofmeasure.org" - } - } - ], - "item": [ { "extension": [ { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "code": "unit", - "system": "http://hl7.org/fhir/questionnaire-item-control" - } - ] + "url": "template", + "valueReference": { + "reference": "#BloodPressureTemplate" } } ], - "linkId": "416ee494-4fa2-4b29-af0b-3d022f686e39", - "text": "mm Hg", - "type": "display" - } - ], - "linkId": "867b0022-f812-4f80-b287-79686c972b15", - "text": "Diastolic", - "type": "integer", - "repeats": false - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsBloodPressure.entry.resource.effective.toDate()" - } - } - ], - "linkId": "a005050c-ed79-46ed-ac14-2fc1496059a5", - "text": "Date performed", - "type": "date", - "repeats": false - } - ], - "linkId": "705f6d04-acab-4d14-baab-98f9bfc4808e", - "text": "Last blood pressure", - "type": "group", - "repeats": false, - "readOnly": true - }, - { - "extension": [ - { - "extension": [ - { - "url": "template", - "valueReference": { - "reference": "#BloodPressureTemplate" - } - } - ], - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract" - } - ], - "item": [ - { - "extension": [ + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract" + }, { "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", "valueCoding": { @@ -1246,7 +850,7 @@ } ], "linkId": "705f6d04-acab-4d14-baab-98f9bfc4808e", - "text": "New blood pressure", + "text": "Blood pressure", "type": "group", "repeats": false } @@ -1801,7 +1405,7 @@ "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "item.where(linkId='bp-newbp-systolic').answer.value.toDecimal()" + "valueString": "$this.answer.value.toDecimal()" } ] } @@ -1829,7 +1433,7 @@ "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "item.where(linkId='bp-newbp-diastolic').answer.value.toDecimal()" + "valueString": "%resource.repeat(item).where(linkId='bp-newbp-diastolic').answer.value.toDecimal()" } ] } @@ -1959,6 +1563,14 @@ "expression": "Observation?code=8867-4&_count=1&_sort=-date&patient={{%patient.id}}" } }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsHeartRhythm", + "language": "application/x-fhir-query", + "expression": "Observation?code=364074009&_count=1&_sort=-date&patient={{%patient.id}}" + } + }, { "url": "http://hl7.org/fhir/StructureDefinition/variable", "valueExpression": { @@ -1988,29 +1600,13 @@ "valueExpression": { "name": "weight", "language": "text/fhirpath", - "expression": "item.where(linkId='c587e3b6-b91a-40dc-9a16-179342d001e9').item.where(linkId='53d5d5a6-3198-4bec-92ac-03fe7d77fb68').item.where(linkId='97ed4c86-8820-4e4d-9234-0e0e8b6ca44a').item.where(linkId='443bd584-684a-449c-ab6e-9d07da4df9fa').answer.value" - } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": { - "name": "height", - "language": "text/fhirpath", - "expression": "item.where(linkId='c587e3b6-b91a-40dc-9a16-179342d001e9').item.where(linkId='53d5d5a6-3198-4bec-92ac-03fe7d77fb68').item.where(linkId='6226a5c5-b5c3-4ebb-a689-2b286322cfe0').item.where(linkId='7035c7e7-ada3-4c6b-9ea8-f39666f5d4ea').answer.value" - } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": { - "name": "weight2", - "language": "text/fhirpath", "expression": "item.where(linkId='c587e3b6-b91a-40dc-9a16-179342d001e9').item.where(linkId='53d5d5a6-3198-4bec-92ac-03fe7d77fb68').item.where(linkId='97ed4c86-8820-4e4d-9234-0e0e8b6ca44a').item.where(linkId='obs-weight-newresult').answer.value" } }, { "url": "http://hl7.org/fhir/StructureDefinition/variable", "valueExpression": { - "name": "height2", + "name": "height", "language": "text/fhirpath", "expression": "item.where(linkId='c587e3b6-b91a-40dc-9a16-179342d001e9').item.where(linkId='53d5d5a6-3198-4bec-92ac-03fe7d77fb68').item.where(linkId='6226a5c5-b5c3-4ebb-a689-2b286322cfe0').item.where(linkId='obs-height-newresult').answer.value" } diff --git a/input/fsh/715-Assessment-ExaminationExtract.fsh b/input/fsh/715-Assessment-ExaminationExtract.fsh index 68589919..9e9351d5 100644 --- a/input/fsh/715-Assessment-ExaminationExtract.fsh +++ b/input/fsh/715-Assessment-ExaminationExtract.fsh @@ -79,6 +79,12 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * name = "ObsHeartRate" * language = #application/x-fhir-query * expression = "Observation?code=8867-4&_count=1&_sort=-date&patient={{%patient.id}}" +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "ObsHeartRhythm" + * language = #application/x-fhir-query + * expression = "Observation?code=364074009&_count=1&_sort=-date&patient={{%patient.id}}" * extension[+] * url = "http://hl7.org/fhir/StructureDefinition/variable" * valueExpression @@ -99,29 +105,17 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * expression = "Observation?code=9843-4&_count=1&_sort=-date&patient={{%patient.id}}" //fhirpath variables -* extension[+] - * url = "http://hl7.org/fhir/StructureDefinition/variable" - * valueExpression - * name = "weight" - * language = #text/fhirpath - * expression = "item.where(linkId='c587e3b6-b91a-40dc-9a16-179342d001e9').item.where(linkId='53d5d5a6-3198-4bec-92ac-03fe7d77fb68').item.where(linkId='97ed4c86-8820-4e4d-9234-0e0e8b6ca44a').item.where(linkId='443bd584-684a-449c-ab6e-9d07da4df9fa').answer.value" -* extension[+] - * url = "http://hl7.org/fhir/StructureDefinition/variable" - * valueExpression - * name = "height" - * language = #text/fhirpath - * expression = "item.where(linkId='c587e3b6-b91a-40dc-9a16-179342d001e9').item.where(linkId='53d5d5a6-3198-4bec-92ac-03fe7d77fb68').item.where(linkId='6226a5c5-b5c3-4ebb-a689-2b286322cfe0').item.where(linkId='7035c7e7-ada3-4c6b-9ea8-f39666f5d4ea').answer.value" * extension[+] * url = "http://hl7.org/fhir/StructureDefinition/variable" * valueExpression - * name = "weight2" + * name = "weight" * language = #text/fhirpath * expression = "item.where(linkId='c587e3b6-b91a-40dc-9a16-179342d001e9').item.where(linkId='53d5d5a6-3198-4bec-92ac-03fe7d77fb68').item.where(linkId='97ed4c86-8820-4e4d-9234-0e0e8b6ca44a').item.where(linkId='obs-weight-newresult').answer.value" * extension[+] * url = "http://hl7.org/fhir/StructureDefinition/variable" * valueExpression - * name = "height2" + * name = "height" * language = #text/fhirpath * expression = "item.where(linkId='c587e3b6-b91a-40dc-9a16-179342d001e9').item.where(linkId='53d5d5a6-3198-4bec-92ac-03fe7d77fb68').item.where(linkId='6226a5c5-b5c3-4ebb-a689-2b286322cfe0').item.where(linkId='obs-height-newresult').answer.value" @@ -199,27 +193,12 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * type = #group * repeats = false * item[+] - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%ObsBodyHeight.entry.resource.value.value" - * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#cm * linkId = "837cd0ce-4a9e-4c8b-8679-007ed961f121" * text = "Last result" - * type = #decimal - * repeats = false - * readOnly = true - * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit - * linkId = "e73c3643-8898-4ef8-8bc9-b4b3826ab790" - * text = "cm" - * type = #display - * item[+] - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%ObsBodyHeight.entry.resource.effective.toDate()" - * linkId = "b9faf79e-b5f7-443a-9203-67532e3a381f" - * text = "Last result date" - * type = #date + * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression + * language = #text/fhirpath + * expression = "iif(%ObsBodyHeight.entry.resource.value.value.empty() = true, 'Not available', %ObsBodyHeight.entry.resource.value.value.toString() + ' cm' + ' (' + %ObsBodyHeight.entry.resource.effective.toDate().toString() + ')')" + * type = #display * repeats = false * readOnly = true * item[+] @@ -248,27 +227,12 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * type = #group * repeats = false * item[+] - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%ObsBodyHeight.entry.resource.value.value" - * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#cm * linkId = "7035c7e7-ada3-4c6b-9ea8-f39666f5d4ea" * text = "Last result" - * type = #decimal - * repeats = false - * readOnly = true - * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit - * linkId = "387c95f0-8b54-4ad7-992d-8ab26a34fd77" - * text = "cm" - * type = #display - * item[+] - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%ObsBodyHeight.entry.resource.effective.toDate()" - * linkId = "c666ac96-1e64-40e2-8e0b-7d0187bb3e50" - * text = "Last result date" - * type = #date + * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression + * language = #text/fhirpath + * expression = "iif(%ObsBodyHeight.entry.resource.value.value.empty() = true, 'Not available', %ObsBodyHeight.entry.resource.value.value.toString() + ' cm' + ' (' + %ObsBodyHeight.entry.resource.effective.toDate().toString() + ')')" + * type = #display * repeats = false * readOnly = true * item[+] @@ -294,27 +258,12 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * type = #group * repeats = false * item[+] - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%ObsBodyWeight.entry.resource.value.value" - * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#kg * linkId = "443bd584-684a-449c-ab6e-9d07da4df9fa" * text = "Last result" - * type = #decimal - * repeats = false - * readOnly = true - * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit - * linkId = "5ba0d699-bc2a-45d0-8f40-f53cb21dc911" - * text = "kg" - * type = #display - * item[+] - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%ObsBodyWeight.entry.resource.effective.toDate()" - * linkId = "92cdc1c7-eb6c-4f6d-9bd9-ae726a0e0d3d" - * text = "Last result date" - * type = #date + * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression + * language = #text/fhirpath + * expression = "iif(%ObsBodyWeight.entry.resource.value.value.empty() = true, 'Not available', %ObsBodyWeight.entry.resource.value.value.toString() + ' kg' + ' (' + %ObsBodyWeight.entry.resource.effective.toDate().toString() + ')')" + * type = #display * repeats = false * readOnly = true * item[+] @@ -343,32 +292,19 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * type = #group * repeats = false * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression].valueExpression - * description = "BMI calculation" - * language = #text/fhirpath - * expression = "(%weight/((%height/100).power(2))).round(1)" - * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#kg/m2 * linkId = "2ada6633-03c6-4b05-bc23-18dec84ec150" * text = "Last result" - * type = #decimal - * repeats = false - * readOnly = true - * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit - * linkId = "a709b8ec-9e65-40f0-a781-500cb3e56f3c" - * text = "kg/m2" - * type = #display - * item[+] - * linkId = "obs-bmi-spacer" - * text = "Last result date" - * type = #string + * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression + * language = #text/fhirpath + * expression = "iif(%ObsBodyWeight.entry.resource.value.value.empty() = true or %ObsBodyHeight.entry.resource.value.value.empty() = true, 'Not available', (%ObsBodyWeight.entry.resource.value.value/((%ObsBodyHeight.entry.resource.value.value/100).power(2))).round(1).toString() + ' kg/m2')" + * type = #display * repeats = false * readOnly = true * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression].valueExpression * description = "BMI calculation" * language = #text/fhirpath - * expression = "(%weight2/((%height2/100).power(2))).round(1)" + * expression = "(%weight/((%height/100).power(2))).round(1)" * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#kg/m2 * linkId = "obs-bmi-newresult" * text = "New result" @@ -389,27 +325,12 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * type = #group * repeats = false * item[+] - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%ObsHeadCircumference.entry.resource.value.value" - * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#cm * linkId = "7a4a6aac-558e-4bec-86c5-326ae07e37d6" * text = "Last result" - * type = #decimal - * repeats = false - * readOnly = true - * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit - * linkId = "73937983-65a0-4d40-8600-de7ca3277d5e" - * text = "cm" - * type = #display - * item[+] - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%ObsHeadCircumference.entry.resource.effective.toDate()" - * linkId = "b8da15e7-8648-492b-9e82-ad5ab7cad179" - * text = "Last result date" - * type = #date + * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression + * language = #text/fhirpath + * expression = "iif(%ObsHeadCircumference.entry.resource.value.value.empty() = true, 'Not available', %ObsHeadCircumference.entry.resource.value.value.toString() + ' cm' + ' (' + %ObsHeadCircumference.entry.resource.effective.toDate().toString() + ')')" + * type = #display * repeats = false * readOnly = true * item[+] @@ -438,27 +359,12 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * type = #group * repeats = false * item[+] - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%ObsWaistCircumference.entry.resource.value.value" - * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#cm * linkId = "8df0f5d8-821d-4f71-b3c1-d164616ea2f5" * text = "Last result" - * type = #decimal - * repeats = false - * readOnly = true - * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit - * linkId = "19aeb0ab-7494-4bac-8b2d-d7d2527c1f4a" - * text = "cm" - * type = #display - * item[+] - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%ObsWaistCircumference.entry.resource.effective.toDate()" - * linkId = "3eb3b929-e67a-4331-8949-b8447b66a4c7" - * text = "Last result date" - * type = #date + * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression + * language = #text/fhirpath + * expression = "iif(%ObsWaistCircumference.entry.resource.value.value.empty() = true, 'Not available', %ObsWaistCircumference.entry.resource.value.value.toString() + ' cm' + ' (' + %ObsWaistCircumference.entry.resource.effective.toDate().toString() + ')')" + * type = #display * repeats = false * readOnly = true * item[+] @@ -483,27 +389,12 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * type = #group * repeats = false * item[+] - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%ObsHeartRate.entry.resource.value.value.round().toInteger()" - * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#/min * linkId = "49029ef0-eaa8-44f8-b26a-177820c82dfd" * text = "Last result" - * type = #integer - * repeats = false - * readOnly = true - * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit - * linkId = "090964b9-be33-438b-8465-2a2a09632fde" - * text = "/min" - * type = #display - * item[+] - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%ObsHeartRate.entry.resource.effective.toDate()" - * linkId = "feeac08f-2ba6-4048-80a2-10b3f90cf5e3" - * text = "Last result date" - * type = #date + * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression + * language = #text/fhirpath + * expression = "iif(%ObsHeartRate.entry.resource.value.value.empty() = true, 'Not available', %ObsHeartRate.entry.resource.value.value.round().toString() + ' /min' + ' (' + %ObsHeartRate.entry.resource.effective.toDate().toString() + ')')" + * type = #display * repeats = false * readOnly = true * item[+] @@ -528,19 +419,13 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * text = "Heart rhythm" * type = #group * repeats = false - * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#radio-button + * item[+] * linkId = "99a8eb6f-a36a-4daf-99d7-27bfde0d4bb1" * text = "Last result" - * type = #choice - * repeats = false - * readOnly = true - * answerOption[+].valueCoding = $SCT#271636001 "Pulse regular" - * answerOption[+].valueCoding = $SCT#61086009 "Pulse irregular" - * item[+] - * linkId = "eeb56682-0eae-4428-9c37-0e63852026c0" - * text = "Last result date" - * type = #date + * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression + * language = #text/fhirpath + * expression = "iif(%ObsHeartRhythm.entry.resource.value.coding.where(system='http://snomed.info/sct').first().empty() = true, 'Not available', %ObsHeartRhythm.entry.resource.value.coding.where(system='http://snomed.info/sct').first().display + ' (' + %ObsHeartRhythm.entry.resource.effective.toDate().toString() + ')')" + * type = #display * repeats = false * readOnly = true * item[+] @@ -566,57 +451,24 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * expression = "%age > 12"*/ * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control|1.0.0#grid * linkId = "3639c586-9576-48d3-a52b-e91fd2138581" - * type = #group + * type = #group * repeats = false * item[+] * linkId = "705f6d04-acab-4d14-baab-98f9bfc4808e" - * text = "Last blood pressure" + * text = "Blood pressure" * type = #group * repeats = false - * readOnly = true * item[+] - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8480-6')).value.value.round().toInteger()" - * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#mm[Hg] - * linkId = "e68b660d-cfd2-4b89-957a-c96a4c73a5fd" - * text = "Systolic" - * type = #integer - * repeats = false - * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit - * linkId = "197d212d-72cc-4c85-91dc-2f030d384391" - * text = "mm Hg" - * type = #display - * item[+] - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8462-4')).value.value.round().toInteger()" - * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#mm[Hg] - * linkId = "867b0022-f812-4f80-b287-79686c972b15" - * text = "Diastolic" - * type = #integer - * repeats = false - * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit - * linkId = "416ee494-4fa2-4b29-af0b-3d022f686e39" - * text = "mm Hg" - * type = #display - * item[+] - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%ObsBloodPressure.entry.resource.effective.toDate()" - * linkId = "a005050c-ed79-46ed-ac14-2fc1496059a5" - * text = "Date performed" - * type = #date + * linkId = "bp-bp-lastresult" + * text = "Last result" + * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression + * language = #text/fhirpath + * expression = "iif(%ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8480-6')).value.value.empty() = true or %ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8462-4')).value.value.empty() = true, 'Not available', %ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8480-6')).value.value.round().toString() + ' / ' + %ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8462-4')).value.value.round().toString() + ' mm Hg (' + %ObsBloodPressure.entry.resource.effective.toDate().toString() + ')')" + * type = #display * repeats = false - * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#BloodPressureTemplate" - * linkId = "705f6d04-acab-4d14-baab-98f9bfc4808e" - * text = "New blood pressure" - * type = #group - * repeats = false + * readOnly = true * item[+] + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#BloodPressureTemplate" * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#mm[Hg] * linkId = "bp-newbp-systolic" * text = "Systolic" diff --git a/input/fsh/extract-templates.fsh b/input/fsh/extract-templates.fsh index 380483d9..f0099cad 100644 --- a/input/fsh/extract-templates.fsh +++ b/input/fsh/extract-templates.fsh @@ -177,7 +177,7 @@ Usage: #inline * component[SystolicBP].code.coding[snomedSBP] = $SCT#271649006 * component[SystolicBP].code.text = "Systolic" * component[SystolicBP].valueQuantity.value.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" -* component[SystolicBP].valueQuantity.value.extension[=].valueString = "item.where(linkId='bp-newbp-systolic').answer.value.toDecimal()" +* component[SystolicBP].valueQuantity.value.extension[=].valueString = "$this.answer.value.toDecimal()" * component[SystolicBP].valueQuantity.unit = "mm[Hg]" * component[SystolicBP].valueQuantity.system = $UCUM * component[SystolicBP].valueQuantity.code = #mm[Hg] @@ -185,7 +185,7 @@ Usage: #inline * component[DiastolicBP].code.coding[snomedDBP] = $SCT#271650006 * component[DiastolicBP].code.text = "Diastolic" * component[DiastolicBP].valueQuantity.value.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" -* component[DiastolicBP].valueQuantity.value.extension[=].valueString = "item.where(linkId='bp-newbp-diastolic').answer.value.toDecimal()" +* component[DiastolicBP].valueQuantity.value.extension[=].valueString = "%resource.repeat(item).where(linkId='bp-newbp-diastolic').answer.value.toDecimal()" * component[DiastolicBP].valueQuantity.unit = "mm[Hg]" * component[DiastolicBP].valueQuantity.system = $UCUM * component[DiastolicBP].valueQuantity.code = #mm[Hg] From 998595eb172e3714f569145b3e13ff7c7ce64cf2 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Mon, 9 Jun 2025 17:29:57 +1000 Subject: [PATCH 077/177] Update new diagnosis group --- ...onnaire-MedicalHistoryCurrentProblems.json | 52 ++++++++----------- ...sessment-MedicalHistoryCurrentProblems.fsh | 19 ++++--- input/fsh/extract-templates.fsh | 6 ++- 3 files changed, 36 insertions(+), 41 deletions(-) diff --git a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json index 18a59b56..b89dea13 100644 --- a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json +++ b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json @@ -237,7 +237,7 @@ } ], "linkId": "88bcfad7-386b-4d87-b34b-2e50482e4d2c", - "text": "Clinical Status", + "text": "Clinical status", "type": "choice", "answerValueSet": "#condition-clinical" }, @@ -252,7 +252,7 @@ } ], "linkId": "6ae641ad-95bb-4cdc-8910-5a52077e492c", - "text": "Onset Date", + "text": "Onset date", "type": "date" }, { @@ -266,7 +266,7 @@ } ], "linkId": "e4524654-f6de-4717-b288-34919394d46b", - "text": "Abatement Date", + "text": "Abatement date", "type": "date" } ], @@ -320,29 +320,15 @@ "type": "open-choice", "answerValueSet": "#clinical-condition-1" }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "code": "drop-down", - "system": "http://hl7.org/fhir/questionnaire-item-control" - } - ] - } - } - ], - "linkId": "a7e056be-fb6f-4f7f-b04d-5b809e1e18e3", - "text": "Clinical Status", - "type": "choice", - "answerValueSet": "#condition-clinical" - }, { "linkId": "4d55bffb-3286-4a23-a785-3b9c346d464d", - "text": "Onset Date", + "text": "Onset date", "type": "date" + }, + { + "linkId": "newdiagnosis-comment", + "text": "Comment", + "type": "string" } ], "linkId": "newdiagnosis", @@ -571,12 +557,8 @@ "clinicalStatus": { "coding": [ { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "item.where(linkId='a7e056be-fb6f-4f7f-b04d-5b809e1e18e3').answer.value.first()" - } - ] + "code": "active", + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical" } ] }, @@ -626,6 +608,18 @@ ] } }, + "note": [ + { + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "item.where(linkId='newdiagnosis-comment').answer.value" + } + ] + } + } + ], "_onsetDateTime": { "extension": [ { diff --git a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh index 5e439ac9..ec7f3c87 100644 --- a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh +++ b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh @@ -175,7 +175,7 @@ Description: "Medical History sub-questionnaire for Aboriginal and Torres Strait * language = #text/fhirpath * expression = "%ConditionRepeat.clinicalStatus.coding" * linkId = "88bcfad7-386b-4d87-b34b-2e50482e4d2c" - * text = "Clinical Status" + * text = "Clinical status" * type = #choice * answerValueSet = "#condition-clinical" * item[+] @@ -183,14 +183,14 @@ Description: "Medical History sub-questionnaire for Aboriginal and Torres Strait * language = #text/fhirpath * expression = "%ConditionRepeat.onset.ofType(dateTime)" * linkId = "6ae641ad-95bb-4cdc-8910-5a52077e492c" - * text = "Onset Date" + * text = "Onset date" * type = #date * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath * expression = "%ConditionRepeat.abatement.ofType(dateTime)" * linkId = "e4524654-f6de-4717-b288-34919394d46b" - * text = "Abatement Date" + * text = "Abatement date" * type = #date // table for new diagnoses @@ -207,16 +207,15 @@ Description: "Medical History sub-questionnaire for Aboriginal and Torres Strait * text = "Condition" * type = #open-choice * answerValueSet = "#clinical-condition-1" - * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#drop-down - * linkId = "a7e056be-fb6f-4f7f-b04d-5b809e1e18e3" - * text = "Clinical Status" - * type = #choice - * answerValueSet = "#condition-clinical" * item[+] * linkId = "4d55bffb-3286-4a23-a785-3b9c346d464d" - * text = "Onset Date" + * text = "Onset date" * type = #date + * item[+] + * linkId = "newdiagnosis-comment" + * text = "Comment" + * type = #string + * item[+] * linkId = "62774152-8a6e-4449-af9f-87bdce8b9bf5" diff --git a/input/fsh/extract-templates.fsh b/input/fsh/extract-templates.fsh index f0099cad..2a662d0f 100644 --- a/input/fsh/extract-templates.fsh +++ b/input/fsh/extract-templates.fsh @@ -5,6 +5,7 @@ Alias: $UCUM = http://unitsofmeasure.org Alias: $sdc-questionnaire-templateExtractContext = http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext Alias: $condition-category = http://terminology.hl7.org/CodeSystem/condition-category +Alias: $condition-clinical = http://terminology.hl7.org/CodeSystem/condition-clinical Alias: $allergyintolerance-clinical = http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical Alias: $au-core-smokingstatus = http://hl7.org.au/fhir/core/StructureDefinition/au-core-smokingstatus @@ -254,8 +255,7 @@ Usage: #inline Instance: ConditionTemplate InstanceOf: $au-core-condition Usage: #inline -* clinicalStatus.coding.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" -* clinicalStatus.coding.extension[=].valueString = "item.where(linkId='a7e056be-fb6f-4f7f-b04d-5b809e1e18e3').answer.value.first()" +* clinicalStatus.coding = $condition-clinical#active * category.coding = $condition-category#problem-list-item * code.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext" * code.extension[=].valueString = "item.where(linkId='2da85994-2d5e-42f1-8a81-abf44f397468').answer.value" @@ -267,6 +267,8 @@ Usage: #inline * subject.reference.extension[=].valueString = "%resource.subject.reference" * onsetDateTime.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * onsetDateTime.extension[=].valueString = "item.where(linkId='4d55bffb-3286-4a23-a785-3b9c346d464d').answer.value.toDateTime()" +* note.text.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* note.text.extension[=].valueString = "item.where(linkId='newdiagnosis-comment').answer.value" Instance: MedicationStatementTemplate InstanceOf: $au-core-medicationstatement From 017043caedfa12ccb09b7edd64d04b650099636e Mon Sep 17 00:00:00 2001 From: liambarnes Date: Tue, 10 Jun 2025 11:15:55 +1000 Subject: [PATCH 078/177] Add patch format to capability statements --- ...erAboriginalTorresStraitIslanderHealthCheck.json | 13 +++++++++++++ .../CapabilityStatement-SmartFormsApplication.json | 3 +++ input/fsh/capability.fsh | 4 ++++ 3 files changed, 20 insertions(+) diff --git a/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json b/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json index 2db76dab..f066b449 100644 --- a/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json +++ b/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json @@ -65,6 +65,19 @@ ] } ], + "patchFormat": [ + "application/fhir+json" + ], + "_patchFormat": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + } + ], "implementationGuide": [ "http://hl7.org/fhir/smart-app-launch/ImplementationGuide/hl7.fhir.uv.smart-app-launch|2.2.0", "http://hl7.org/fhir/uv/sdc/ImplementationGuide/hl7.fhir.uv.sdc" diff --git a/fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json b/fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json index 42369b36..66ecad08 100644 --- a/fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json +++ b/fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json @@ -20,6 +20,9 @@ "format": [ "json" ], + "patchFormat": [ + "application/fhir+json" + ], "implementationGuide": [ "http://hl7.org/fhir/smart-app-launch/ImplementationGuide/hl7.fhir.uv.smart-app-launch|2.2.0" ], diff --git a/input/fsh/capability.fsh b/input/fsh/capability.fsh index 72c285c0..318e8dca 100644 --- a/input/fsh/capability.fsh +++ b/input/fsh/capability.fsh @@ -26,6 +26,9 @@ Usage: #definition * format[+] = #json * format[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * format[=].extension[0].valueCode = #SHALL +* patchFormat[+] = #application/fhir+json +* patchFormat[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* patchFormat[=].extension[0].valueCode = #SHALL * implementationGuide[+] = "http://hl7.org/fhir/smart-app-launch/ImplementationGuide/hl7.fhir.uv.smart-app-launch|2.2.0" * implementationGuide[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" @@ -590,6 +593,7 @@ Usage: #definition * software.name = "Smart Forms Application" * fhirVersion = #4.0.1 * format[0] = #json +* patchFormat[0] = #application/fhir+json * implementationGuide[+] = "http://hl7.org/fhir/smart-app-launch/ImplementationGuide/hl7.fhir.uv.smart-app-launch|2.2.0" * rest.mode = #client From 371dc9b78634686e7ccafc812df9f9b811c2cad4 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Tue, 10 Jun 2025 11:29:30 +1000 Subject: [PATCH 079/177] Update condition prepop context to account for verificationStatus --- ...onnaire-MedicalHistoryCurrentProblems.json | 2 +- ...sessment-MedicalHistoryCurrentProblems.fsh | 83 +------------------ 2 files changed, 2 insertions(+), 83 deletions(-) diff --git a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json index cc5b5c9e..d524ef0b 100644 --- a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json +++ b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json @@ -201,7 +201,7 @@ "valueExpression": { "name": "ConditionRepeat", "language": "text/fhirpath", - "expression": "%Condition.entry.resource.where(category.coding.exists(code='problem-list-item'))" + "expression": "%Condition.entry.resource.where(category.coding.exists(code='problem-list-item')).where(verificationStatus.coding.all(code.empty() or code='confirmed'))" } } ], diff --git a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh index e68ec027..d1dcd389 100644 --- a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh +++ b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh @@ -142,94 +142,13 @@ Description: "Medical History sub-questionnaire for Aboriginal and Torres Strait * text = "kg" * type = #display - /* Agreed to replace this section with medical history table. Commenting out for now. - // for infants 0-5 - * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression - * language = #text/fhirpath - * expression = "%age <= 5" - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#check-box - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%Condition.entry.resource.code.select(coding.where(system='http://snomed.info/sct').first())" - * linkId = "033db7b3-80da-43e2-9838-88f3d51e5913" - * text = "Problems" - * type = #choice - * repeats = true - * answerValueSet = "#MedicalHistoryShortListInfants" - - // for Primary School Children 5-12 - * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression - * language = #text/fhirpath - * expression = "(%age > 5).intersect(%age <= 12)" - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#check-box - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%Condition.entry.resource.code.select(coding.where(system='http://snomed.info/sct').first())" - * linkId = "384ab440-10ed-4ac1-89da-cd7d24f87a95" - * text = "Problems" - * type = #choice - * repeats = true - * answerValueSet = "#MedicalHistoryShortListPrimarySchool" - - // for adolescents 12-24 - * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression - * language = #text/fhirpath - * expression = "(%age > 12).intersect(%age <= 24)" - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#check-box - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%Condition.entry.resource.code.select(coding.where(system='http://snomed.info/sct').first())" - * linkId = "c24ae0d2-8932-4b87-9b7e-a644b5eb2874" - * text = "Problems" - * type = #choice - * repeats = true - * answerValueSet = "#MedicalHistoryShortListAdolescents" - - // for adults and older >24 - * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression - * language = #text/fhirpath - * expression = "%age > 24" - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#check-box - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%Condition.entry.resource.code.select(coding.where(system='http://snomed.info/sct').first())" - * linkId = "bba27ef5-05c5-4e9c-bc9f-cf42091e99cb" - * text = "Problems" - * type = #choice - * repeats = true - * answerValueSet = "#MedicalHistoryShortListAdultsAndOlderPeople" - -//continue - * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#autocomplete - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%Condition.entry.resource.code.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first())" - * linkId = "736f2a51-e04d-4e7f-aef1-c47f3a1f4e3c" - * text = "Other relevant medical history, operations, hospital admissions, etc" - * extension[sdc-questionnaire-shortText].valueString = "Other relevant medical history" - * type = #open-choice - * repeats = true - * answerValueSet = "#MedicalHistory" - * item[+] - * linkId = "f00def30-35dd-401a-9a38-12602bd3b8b1" - * text = "Provide details of identified problems" - * type = #text - * repeats = false - -*/ - // table of medical history * item[+] * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#gtable * extension[sdc-questionnaire-itemPopulationContext].valueExpression * name = "ConditionRepeat" * language = #text/fhirpath - * expression = "%Condition.entry.resource.where(category.coding.exists(code='problem-list-item'))" + * expression = "%Condition.entry.resource.where(category.coding.exists(code='problem-list-item')).where(verificationStatus.coding.all(code.empty() or code='confirmed'))" * linkId = "92bd7d05-9b5e-4cf9-900b-703f361dad9d" * text = "Medical history and current problems list" * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
From e9bd1572e817699734a98355827df0f93bcce0b2 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Tue, 10 Jun 2025 11:32:04 +1000 Subject: [PATCH 080/177] Fix where clause in address prepop context --- fsh-generated/resources/Questionnaire-PatientDetails.json | 2 +- input/fsh/715-PatientDetails.fsh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/fsh-generated/resources/Questionnaire-PatientDetails.json b/fsh-generated/resources/Questionnaire-PatientDetails.json index 8c14cf9e..2bbc4ca0 100644 --- a/fsh-generated/resources/Questionnaire-PatientDetails.json +++ b/fsh-generated/resources/Questionnaire-PatientDetails.json @@ -430,7 +430,7 @@ "valueExpression": { "name": "HomeAddressRepeat", "language": "text/fhirpath", - "expression": "%patient.address.where(use='home' and (type.empty() or type!='postal'))" + "expression": "%patient.address.where(all(use='home' and (type.empty() or type!='postal')))" } } ], diff --git a/input/fsh/715-PatientDetails.fsh b/input/fsh/715-PatientDetails.fsh index 65323e72..b67a7c77 100644 --- a/input/fsh/715-PatientDetails.fsh +++ b/input/fsh/715-PatientDetails.fsh @@ -263,7 +263,7 @@ Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait * extension[sdc-questionnaire-itemPopulationContext].valueExpression * name = "HomeAddressRepeat" * language = #text/fhirpath - * expression = "%patient.address.where(use='home' and (type.empty() or type!='postal'))" + * expression = "%patient.address.where(all(use='home' and (type.empty() or type!='postal')))" * linkId = "f1262ade-843c-4eba-a86d-51a9c97d134b" * text = "Home address" * type = #group From 226af0c4126b33f1e47acc349a80589208b91334 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Tue, 10 Jun 2025 13:08:18 +1000 Subject: [PATCH 081/177] Remove RecordUpdate display guidance (except CVD Risk) --- .../resources/Questionnaire-Examination.json | 13 ------------- ...Questionnaire-MedicalHistoryCurrentProblems.json | 8 -------- .../resources/Questionnaire-PatientDetails.json | 13 ------------- .../resources/Questionnaire-ScreeningPrograms.json | 13 ------------- .../resources/Questionnaire-SubstanceUse.json | 13 ------------- input/fsh/715-Assessment-Examination.fsh | 7 ------- ...715-Assessment-MedicalHistoryCurrentProblems.fsh | 4 ---- input/fsh/715-Assessment-ScreeningPrograms.fsh | 7 ------- input/fsh/715-Assessment-SubstanceUse.fsh | 7 ------- input/fsh/715-PatientDetails.fsh | 7 ------- 10 files changed, 92 deletions(-) diff --git a/fsh-generated/resources/Questionnaire-Examination.json b/fsh-generated/resources/Questionnaire-Examination.json index 17f9dc8f..00fa533b 100644 --- a/fsh-generated/resources/Questionnaire-Examination.json +++ b/fsh-generated/resources/Questionnaire-Examination.json @@ -86,19 +86,6 @@ } ] }, - { - "linkId": "RecordUpdate-Exam", - "text": "Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there first.", - "_text": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there first.\r\n
" - } - ] - }, - "type": "display" - }, { "extension": [ { diff --git a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json index d524ef0b..7846aef9 100644 --- a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json +++ b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json @@ -289,14 +289,6 @@ ], "linkId": "92bd7d05-9b5e-4cf9-900b-703f361dad9d", "text": "Medical history and current problems list", - "_text": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n

Medical history and current problems list

\r\n

This list includes items from the clinical record. If you wish to enter additional diagnoses, either update the clinical record and repopulate this form or add them to the \"New diagnoses list\" below and later update the clinical record as required.

\r\n
" - } - ] - }, "type": "group", "repeats": true }, diff --git a/fsh-generated/resources/Questionnaire-PatientDetails.json b/fsh-generated/resources/Questionnaire-PatientDetails.json index 2bbc4ca0..bf34bc90 100644 --- a/fsh-generated/resources/Questionnaire-PatientDetails.json +++ b/fsh-generated/resources/Questionnaire-PatientDetails.json @@ -77,19 +77,6 @@ } ] }, - { - "linkId": "RecordUpdate-Patient", - "text": "Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there first.", - "_text": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there first.\r\n
" - } - ] - }, - "type": "display" - }, { "extension": [ { diff --git a/fsh-generated/resources/Questionnaire-ScreeningPrograms.json b/fsh-generated/resources/Questionnaire-ScreeningPrograms.json index e2091760..1f9d878f 100644 --- a/fsh-generated/resources/Questionnaire-ScreeningPrograms.json +++ b/fsh-generated/resources/Questionnaire-ScreeningPrograms.json @@ -86,19 +86,6 @@ } ] }, - { - "linkId": "RecordUpdate-ScreeningPrograms", - "text": "Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there first.", - "_text": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there first.\r\n
" - } - ] - }, - "type": "display" - }, { "item": [ { diff --git a/fsh-generated/resources/Questionnaire-SubstanceUse.json b/fsh-generated/resources/Questionnaire-SubstanceUse.json index e35ee0bb..ad131edb 100644 --- a/fsh-generated/resources/Questionnaire-SubstanceUse.json +++ b/fsh-generated/resources/Questionnaire-SubstanceUse.json @@ -86,19 +86,6 @@ } ] }, - { - "linkId": "RecordUpdate-SubstanceUse", - "text": "Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there first.", - "_text": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there first.\r\n
" - } - ] - }, - "type": "display" - }, { "item": [ { diff --git a/input/fsh/715-Assessment-Examination.fsh b/input/fsh/715-Assessment-Examination.fsh index 6d9cc221..33aa756e 100644 --- a/input/fsh/715-Assessment-Examination.fsh +++ b/input/fsh/715-Assessment-Examination.fsh @@ -148,13 +148,6 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * question = "MarkComplete-7" // Section complete item * operator = #= * answerBoolean = true - * item[+] - * linkId = "RecordUpdate-Exam" - * text = "Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there first." - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
- Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there first. -
" - * type = #display * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath diff --git a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh index d1dcd389..32b7dfc1 100644 --- a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh +++ b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh @@ -151,10 +151,6 @@ Description: "Medical History sub-questionnaire for Aboriginal and Torres Strait * expression = "%Condition.entry.resource.where(category.coding.exists(code='problem-list-item')).where(verificationStatus.coding.all(code.empty() or code='confirmed'))" * linkId = "92bd7d05-9b5e-4cf9-900b-703f361dad9d" * text = "Medical history and current problems list" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
-

Medical history and current problems list

-

This list includes items from the clinical record. If you wish to enter additional diagnoses, either update the clinical record and repopulate this form or add them to the \"New diagnoses list\" below and later update the clinical record as required.

-
" * type = #group * repeats = true * item[+] diff --git a/input/fsh/715-Assessment-ScreeningPrograms.fsh b/input/fsh/715-Assessment-ScreeningPrograms.fsh index 82d51a8d..b2b70318 100644 --- a/input/fsh/715-Assessment-ScreeningPrograms.fsh +++ b/input/fsh/715-Assessment-ScreeningPrograms.fsh @@ -94,13 +94,6 @@ Description: "Screening Programs sub-questionnaire for Aboriginal and Torres Str * question = "MarkComplete-24" // Section complete item * operator = #= * answerBoolean = true - * item[+] - * linkId = "RecordUpdate-ScreeningPrograms" - * text = "Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there first." - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
- Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there first. -
" - * type = #display // following items require coded answers. Either <|Context values for actions (qualifier value)| or <|Chronic disease monitoring status (finding)| * item[+] * linkId = "ed15e82b-803a-4d21-9344-9110b57b2313" diff --git a/input/fsh/715-Assessment-SubstanceUse.fsh b/input/fsh/715-Assessment-SubstanceUse.fsh index 20142cb1..9bfc94df 100644 --- a/input/fsh/715-Assessment-SubstanceUse.fsh +++ b/input/fsh/715-Assessment-SubstanceUse.fsh @@ -105,13 +105,6 @@ Description: "Substance Use sub-questionnaire for Aboriginal and Torres Strait I * question = "MarkComplete-29" // Section complete item * operator = #= * answerBoolean = true - * item[+] - * linkId = "RecordUpdate-SubstanceUse" - * text = "Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there first." - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
- Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there first. -
" - * type = #display * item[+] * linkId = "515eda6e-973a-4b10-910a-0d4bf4f2efff" * text = "Smoking" diff --git a/input/fsh/715-PatientDetails.fsh b/input/fsh/715-PatientDetails.fsh index b67a7c77..467d011f 100644 --- a/input/fsh/715-PatientDetails.fsh +++ b/input/fsh/715-PatientDetails.fsh @@ -107,13 +107,6 @@ Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait * question = "MarkComplete-32" // Section complete item * operator = #= * answerBoolean = true - * item[+] - * linkId = "RecordUpdate-Patient" - * text = "Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there first." - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
- Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there first. -
" - * type = #display * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath From c4a2f218408481ac240328e0338c6e1ce157c09c Mon Sep 17 00:00:00 2001 From: Sean Fong Date: Tue, 10 Jun 2025 12:54:44 +0930 Subject: [PATCH 082/177] Fix colour scheme and add max width to "Mark section as complete" XHTMLs --- .../Questionnaire-AboutTheHealthCheck.json | 2 +- ...stionnaire-AbsoluteCVDRiskCalculation.json | 2 +- ...estionnaire-AllergiesAdverseReactions.json | 2 +- .../Questionnaire-ChronicDiseaseAgeing.json | 2 +- .../resources/Questionnaire-Consent.json | 2 +- .../Questionnaire-CurrentPriorities.json | 2 +- .../Questionnaire-EarHealthAndHearing.json | 2 +- .../resources/Questionnaire-Examination.json | 2 +- .../resources/Questionnaire-EyeHealth.json | 2 +- .../Questionnaire-FamilyHistory.json | 2 +- .../Questionnaire-FinalisingHealthCheck.json | 2 +- .../resources/Questionnaire-Gambling.json | 2 +- .../Questionnaire-HealthyEating.json | 2 +- .../Questionnaire-HomeAndFamily.json | 2 +- .../resources/Questionnaire-Immunisation.json | 2 +- .../Questionnaire-Investigations.json | 2 +- .../Questionnaire-LearningAndDevelopment.json | 2 +- .../Questionnaire-LearningAndWork.json | 4 +- ...onnaire-MedicalHistoryCurrentProblems.json | 2 +- .../Questionnaire-MemoryAndThinking.json | 2 +- .../resources/Questionnaire-Mood.json | 2 +- .../Questionnaire-OralAndDentalHealth.json | 2 +- .../Questionnaire-PatientDetails.json | 2 +- ...onnaire-PhysicalActivityAndScreenTime.json | 4 +- ...aire-RedFlagsEarlyIdentificationGuide.json | 2 +- .../Questionnaire-RegularMedications.json | 2 +- .../Questionnaire-ScreeningPrograms.json | 2 +- .../resources/Questionnaire-SexualHealth.json | 6 +- .../resources/Questionnaire-Skin.json | 2 +- ...tionnaire-SocialAndEmotionalWellbeing.json | 2 +- .../Questionnaire-SocialHistoryChild.json | 2 +- .../resources/Questionnaire-SubstanceUse.json | 2 +- input/fsh/715-AboutTheHealthCheck.fsh | 2 +- ...-Assessment-AbsoluteCVDRiskCalculation.fsh | 4 +- ...5-Assessment-AllergiesAdverseReactions.fsh | 4 +- .../715-Assessment-ChronicDiseaseAgeing.fsh | 4 +- .../fsh/715-Assessment-CurrentPriorities.fsh | 4 +- .../715-Assessment-EarHealthAndHearing.fsh | 4 +- input/fsh/715-Assessment-Examination.fsh | 4 +- input/fsh/715-Assessment-EyeHealth.fsh | 4 +- input/fsh/715-Assessment-FamilyHistory.fsh | 4 +- input/fsh/715-Assessment-Gambling.fsh | 4 +- input/fsh/715-Assessment-HealthyEating.fsh | 4 +- input/fsh/715-Assessment-HomeAndFamily.fsh | 4 +- input/fsh/715-Assessment-Immunisation.fsh | 4 +- input/fsh/715-Assessment-Investigations.fsh | 4 +- .../715-Assessment-LearningAndDevelopment.fsh | 4 +- input/fsh/715-Assessment-LearningAndWork.fsh | 6 +- ...sessment-MedicalHistoryCurrentProblems.fsh | 4 +- .../fsh/715-Assessment-MemoryAndThinking.fsh | 4 +- input/fsh/715-Assessment-Mood.fsh | 4 +- .../715-Assessment-OralAndDentalHealth.fsh | 4 +- ...sessment-PhysicalActivityAndScreenTime.fsh | 6 +- ...sment-RedFlagsEarlyIdentificationGuide.fsh | 4 +- .../fsh/715-Assessment-RegularMedications.fsh | 4 +- .../fsh/715-Assessment-ScreeningPrograms.fsh | 2 +- input/fsh/715-Assessment-SexualHealth.fsh | 6 +- input/fsh/715-Assessment-Skin.fsh | 4 +- ...Assessment-SocialAndEmotionalWellbeing.fsh | 4 +- .../fsh/715-Assessment-SocialHistoryChild.fsh | 4 +- input/fsh/715-Assessment-SubstanceUse.fsh | 2 +- input/fsh/715-Consent.fsh | 2 +- input/fsh/715-FinalisingHealthCheck.fsh | 4 +- input/fsh/715-PatientDetails.fsh | 2 +- ...esStraitIslanderHealthCheck-assembled.json | 74 +++++++++---------- 65 files changed, 135 insertions(+), 135 deletions(-) diff --git a/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json b/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json index e6d89025..bab714d4 100644 --- a/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json +++ b/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json @@ -183,7 +183,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json b/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json index d28105fd..7aa60859 100644 --- a/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json +++ b/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json @@ -594,7 +594,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json index 229db3b4..0e36c4db 100644 --- a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json +++ b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json @@ -256,7 +256,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-ChronicDiseaseAgeing.json b/fsh-generated/resources/Questionnaire-ChronicDiseaseAgeing.json index a97eae5f..2cb58ae5 100644 --- a/fsh-generated/resources/Questionnaire-ChronicDiseaseAgeing.json +++ b/fsh-generated/resources/Questionnaire-ChronicDiseaseAgeing.json @@ -139,7 +139,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-Consent.json b/fsh-generated/resources/Questionnaire-Consent.json index c76363c4..35be3d4b 100644 --- a/fsh-generated/resources/Questionnaire-Consent.json +++ b/fsh-generated/resources/Questionnaire-Consent.json @@ -399,7 +399,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-CurrentPriorities.json b/fsh-generated/resources/Questionnaire-CurrentPriorities.json index f8204f1b..4ac5e929 100644 --- a/fsh-generated/resources/Questionnaire-CurrentPriorities.json +++ b/fsh-generated/resources/Questionnaire-CurrentPriorities.json @@ -309,7 +309,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json b/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json index df2165b2..666bf1c4 100644 --- a/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json +++ b/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json @@ -633,7 +633,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-Examination.json b/fsh-generated/resources/Questionnaire-Examination.json index 17f9dc8f..c8bbc46c 100644 --- a/fsh-generated/resources/Questionnaire-Examination.json +++ b/fsh-generated/resources/Questionnaire-Examination.json @@ -895,7 +895,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-EyeHealth.json b/fsh-generated/resources/Questionnaire-EyeHealth.json index 2cca4fd7..f9741256 100644 --- a/fsh-generated/resources/Questionnaire-EyeHealth.json +++ b/fsh-generated/resources/Questionnaire-EyeHealth.json @@ -390,7 +390,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-FamilyHistory.json b/fsh-generated/resources/Questionnaire-FamilyHistory.json index 6180bf74..99f1c1ad 100644 --- a/fsh-generated/resources/Questionnaire-FamilyHistory.json +++ b/fsh-generated/resources/Questionnaire-FamilyHistory.json @@ -173,7 +173,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json b/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json index 70d19d19..445eee07 100644 --- a/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json +++ b/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json @@ -960,7 +960,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-Gambling.json b/fsh-generated/resources/Questionnaire-Gambling.json index d97fc1ec..64c04786 100644 --- a/fsh-generated/resources/Questionnaire-Gambling.json +++ b/fsh-generated/resources/Questionnaire-Gambling.json @@ -147,7 +147,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-HealthyEating.json b/fsh-generated/resources/Questionnaire-HealthyEating.json index 064c520f..c13097fc 100644 --- a/fsh-generated/resources/Questionnaire-HealthyEating.json +++ b/fsh-generated/resources/Questionnaire-HealthyEating.json @@ -521,7 +521,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-HomeAndFamily.json b/fsh-generated/resources/Questionnaire-HomeAndFamily.json index e041d0e8..e18ca093 100644 --- a/fsh-generated/resources/Questionnaire-HomeAndFamily.json +++ b/fsh-generated/resources/Questionnaire-HomeAndFamily.json @@ -221,7 +221,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-Immunisation.json b/fsh-generated/resources/Questionnaire-Immunisation.json index 3fa4a028..53b16559 100644 --- a/fsh-generated/resources/Questionnaire-Immunisation.json +++ b/fsh-generated/resources/Questionnaire-Immunisation.json @@ -233,7 +233,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-Investigations.json b/fsh-generated/resources/Questionnaire-Investigations.json index 7a49c7cb..6c3664d6 100644 --- a/fsh-generated/resources/Questionnaire-Investigations.json +++ b/fsh-generated/resources/Questionnaire-Investigations.json @@ -160,7 +160,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-LearningAndDevelopment.json b/fsh-generated/resources/Questionnaire-LearningAndDevelopment.json index ff72d4d1..08cae4db 100644 --- a/fsh-generated/resources/Questionnaire-LearningAndDevelopment.json +++ b/fsh-generated/resources/Questionnaire-LearningAndDevelopment.json @@ -431,7 +431,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-LearningAndWork.json b/fsh-generated/resources/Questionnaire-LearningAndWork.json index 081bd1b1..f12ee88b 100644 --- a/fsh-generated/resources/Questionnaire-LearningAndWork.json +++ b/fsh-generated/resources/Questionnaire-LearningAndWork.json @@ -237,7 +237,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, @@ -384,7 +384,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json index cc5b5c9e..cedbb246 100644 --- a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json +++ b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json @@ -382,7 +382,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-MemoryAndThinking.json b/fsh-generated/resources/Questionnaire-MemoryAndThinking.json index fc3bfc37..d915881d 100644 --- a/fsh-generated/resources/Questionnaire-MemoryAndThinking.json +++ b/fsh-generated/resources/Questionnaire-MemoryAndThinking.json @@ -221,7 +221,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-Mood.json b/fsh-generated/resources/Questionnaire-Mood.json index fa84b93d..f8bd1cfc 100644 --- a/fsh-generated/resources/Questionnaire-Mood.json +++ b/fsh-generated/resources/Questionnaire-Mood.json @@ -183,7 +183,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-OralAndDentalHealth.json b/fsh-generated/resources/Questionnaire-OralAndDentalHealth.json index e4ed8870..b471b26c 100644 --- a/fsh-generated/resources/Questionnaire-OralAndDentalHealth.json +++ b/fsh-generated/resources/Questionnaire-OralAndDentalHealth.json @@ -271,7 +271,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-PatientDetails.json b/fsh-generated/resources/Questionnaire-PatientDetails.json index 8c14cf9e..55310871 100644 --- a/fsh-generated/resources/Questionnaire-PatientDetails.json +++ b/fsh-generated/resources/Questionnaire-PatientDetails.json @@ -1378,7 +1378,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-PhysicalActivityAndScreenTime.json b/fsh-generated/resources/Questionnaire-PhysicalActivityAndScreenTime.json index 7b9f9700..44f62025 100644 --- a/fsh-generated/resources/Questionnaire-PhysicalActivityAndScreenTime.json +++ b/fsh-generated/resources/Questionnaire-PhysicalActivityAndScreenTime.json @@ -331,7 +331,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, @@ -508,7 +508,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-RedFlagsEarlyIdentificationGuide.json b/fsh-generated/resources/Questionnaire-RedFlagsEarlyIdentificationGuide.json index 8d59ed6a..d5f34143 100644 --- a/fsh-generated/resources/Questionnaire-RedFlagsEarlyIdentificationGuide.json +++ b/fsh-generated/resources/Questionnaire-RedFlagsEarlyIdentificationGuide.json @@ -1275,7 +1275,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-RegularMedications.json b/fsh-generated/resources/Questionnaire-RegularMedications.json index 67309deb..cdf4bfa1 100644 --- a/fsh-generated/resources/Questionnaire-RegularMedications.json +++ b/fsh-generated/resources/Questionnaire-RegularMedications.json @@ -229,7 +229,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-ScreeningPrograms.json b/fsh-generated/resources/Questionnaire-ScreeningPrograms.json index e2091760..81d1c1c6 100644 --- a/fsh-generated/resources/Questionnaire-ScreeningPrograms.json +++ b/fsh-generated/resources/Questionnaire-ScreeningPrograms.json @@ -280,7 +280,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-SexualHealth.json b/fsh-generated/resources/Questionnaire-SexualHealth.json index 625d8582..6c208ddd 100644 --- a/fsh-generated/resources/Questionnaire-SexualHealth.json +++ b/fsh-generated/resources/Questionnaire-SexualHealth.json @@ -171,7 +171,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, @@ -382,7 +382,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, @@ -601,7 +601,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-Skin.json b/fsh-generated/resources/Questionnaire-Skin.json index d8d652b1..6558399e 100644 --- a/fsh-generated/resources/Questionnaire-Skin.json +++ b/fsh-generated/resources/Questionnaire-Skin.json @@ -257,7 +257,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-SocialAndEmotionalWellbeing.json b/fsh-generated/resources/Questionnaire-SocialAndEmotionalWellbeing.json index 637efd3b..c8b72fba 100644 --- a/fsh-generated/resources/Questionnaire-SocialAndEmotionalWellbeing.json +++ b/fsh-generated/resources/Questionnaire-SocialAndEmotionalWellbeing.json @@ -196,7 +196,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-SocialHistoryChild.json b/fsh-generated/resources/Questionnaire-SocialHistoryChild.json index f4773c0f..34440221 100644 --- a/fsh-generated/resources/Questionnaire-SocialHistoryChild.json +++ b/fsh-generated/resources/Questionnaire-SocialHistoryChild.json @@ -212,7 +212,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-SubstanceUse.json b/fsh-generated/resources/Questionnaire-SubstanceUse.json index e35ee0bb..9013d807 100644 --- a/fsh-generated/resources/Questionnaire-SubstanceUse.json +++ b/fsh-generated/resources/Questionnaire-SubstanceUse.json @@ -290,7 +290,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, diff --git a/input/fsh/715-AboutTheHealthCheck.fsh b/input/fsh/715-AboutTheHealthCheck.fsh index 84b04581..05c2ee55 100644 --- a/input/fsh/715-AboutTheHealthCheck.fsh +++ b/input/fsh/715-AboutTheHealthCheck.fsh @@ -162,7 +162,7 @@ Description: "About The Health Check sub-questionnaire for Aboriginal and Torres * item[+] * linkId = "MarkComplete-1" * text = "Mark section as complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" * type = #boolean * repeats = false diff --git a/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh b/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh index de8e7aa9..a4e53386 100644 --- a/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh +++ b/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh @@ -424,6 +424,6 @@ Description: "Absolute Cardiovascular Disease Risk Calculation sub-questionnaire * item[+] * linkId = "MarkComplete-2" * text = "Mark section as complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" * type = #boolean - * repeats = false \ No newline at end of file + * repeats = false diff --git a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh index 99b6be38..ca5c999e 100644 --- a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh +++ b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh @@ -184,6 +184,6 @@ Description: "Allergies/Adverse Reactions sub-questionnaire for Aboriginal and T * item[=].item[+].linkId = "MarkComplete-3" * item[=].item[=].text = "Mark section as complete" -* item[=].item[=].text.extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" +* item[=].item[=].text.extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" * item[=].item[=].type = #boolean -* item[=].item[=].repeats = false \ No newline at end of file +* item[=].item[=].repeats = false diff --git a/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh b/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh index 9ddba3d2..0763d1d2 100644 --- a/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh +++ b/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh @@ -126,6 +126,6 @@ Description: "Chronic Disease Ageing sub-questionnaire for Aboriginal and Torres * item[+] * linkId = "MarkComplete-4" * text = "Mark section as complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" * type = #boolean - * repeats = false \ No newline at end of file + * repeats = false diff --git a/input/fsh/715-Assessment-CurrentPriorities.fsh b/input/fsh/715-Assessment-CurrentPriorities.fsh index 89aaef65..9cc4987a 100644 --- a/input/fsh/715-Assessment-CurrentPriorities.fsh +++ b/input/fsh/715-Assessment-CurrentPriorities.fsh @@ -188,6 +188,6 @@ Description: "Current Priorities sub-questionnaire for Aboriginal and Torres Str * item[+] * linkId = "MarkComplete-5" * text = "Mark section as complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" * type = #boolean - * repeats = false \ No newline at end of file + * repeats = false diff --git a/input/fsh/715-Assessment-EarHealthAndHearing.fsh b/input/fsh/715-Assessment-EarHealthAndHearing.fsh index aed2c529..dd560561 100644 --- a/input/fsh/715-Assessment-EarHealthAndHearing.fsh +++ b/input/fsh/715-Assessment-EarHealthAndHearing.fsh @@ -327,6 +327,6 @@ Description: "Ear Health And Hearing sub-questionnaire for Aboriginal and Torres * item[+] * linkId = "MarkComplete-6" * text = "Mark section as complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" * type = #boolean - * repeats = false \ No newline at end of file + * repeats = false diff --git a/input/fsh/715-Assessment-Examination.fsh b/input/fsh/715-Assessment-Examination.fsh index 6d9cc221..70334cf5 100644 --- a/input/fsh/715-Assessment-Examination.fsh +++ b/input/fsh/715-Assessment-Examination.fsh @@ -510,6 +510,6 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * item[+] * linkId = "MarkComplete-7" * text = "Mark section as complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" * type = #boolean - * repeats = false \ No newline at end of file + * repeats = false diff --git a/input/fsh/715-Assessment-EyeHealth.fsh b/input/fsh/715-Assessment-EyeHealth.fsh index 5db1f3e9..c7789424 100644 --- a/input/fsh/715-Assessment-EyeHealth.fsh +++ b/input/fsh/715-Assessment-EyeHealth.fsh @@ -234,6 +234,6 @@ Description: "Eye Health sub-questionnaire for Aboriginal and Torres Strait Isla * item[+] * linkId = "MarkComplete-8" * text = "Mark section as complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" * type = #boolean - * repeats = false \ No newline at end of file + * repeats = false diff --git a/input/fsh/715-Assessment-FamilyHistory.fsh b/input/fsh/715-Assessment-FamilyHistory.fsh index 763d6c6c..6bdca284 100644 --- a/input/fsh/715-Assessment-FamilyHistory.fsh +++ b/input/fsh/715-Assessment-FamilyHistory.fsh @@ -132,6 +132,6 @@ Description: "Family History sub-questionnaire for Aboriginal and Torres Strait * item[+] * linkId = "MarkComplete-9" * text = "Mark section as complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" * type = #boolean - * repeats = false \ No newline at end of file + * repeats = false diff --git a/input/fsh/715-Assessment-Gambling.fsh b/input/fsh/715-Assessment-Gambling.fsh index fcf85145..3de4c966 100644 --- a/input/fsh/715-Assessment-Gambling.fsh +++ b/input/fsh/715-Assessment-Gambling.fsh @@ -128,6 +128,6 @@ Description: "Gambling sub-questionnaire for Aboriginal and Torres Strait Island * item[+] * linkId = "MarkComplete-10" * text = "Mark section as complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" * type = #boolean - * repeats = false \ No newline at end of file + * repeats = false diff --git a/input/fsh/715-Assessment-HealthyEating.fsh b/input/fsh/715-Assessment-HealthyEating.fsh index 3aa278aa..5f6bbc74 100644 --- a/input/fsh/715-Assessment-HealthyEating.fsh +++ b/input/fsh/715-Assessment-HealthyEating.fsh @@ -291,6 +291,6 @@ Description: "Healthy Eating sub-questionnaire for Aboriginal and Torres Strait * item[+] * linkId = "MarkComplete-11" * text = "Mark section as complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" * type = #boolean - * repeats = false \ No newline at end of file + * repeats = false diff --git a/input/fsh/715-Assessment-HomeAndFamily.fsh b/input/fsh/715-Assessment-HomeAndFamily.fsh index cbc5412f..c9b11ed4 100644 --- a/input/fsh/715-Assessment-HomeAndFamily.fsh +++ b/input/fsh/715-Assessment-HomeAndFamily.fsh @@ -161,6 +161,6 @@ Description: "Home And Family sub-questionnaire for Aboriginal and Torres Strait * item[+] * linkId = "MarkComplete-12" * text = "Mark section as complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" * type = #boolean - * repeats = false \ No newline at end of file + * repeats = false diff --git a/input/fsh/715-Assessment-Immunisation.fsh b/input/fsh/715-Assessment-Immunisation.fsh index 25953ca2..120371db 100644 --- a/input/fsh/715-Assessment-Immunisation.fsh +++ b/input/fsh/715-Assessment-Immunisation.fsh @@ -169,6 +169,6 @@ Description: "Immunisation sub-questionnaire for Aboriginal and Torres Strait Is * item[+] * linkId = "MarkComplete-13" * text = "Mark section as complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" * type = #boolean - * repeats = false \ No newline at end of file + * repeats = false diff --git a/input/fsh/715-Assessment-Investigations.fsh b/input/fsh/715-Assessment-Investigations.fsh index c7119074..f6d45e5a 100644 --- a/input/fsh/715-Assessment-Investigations.fsh +++ b/input/fsh/715-Assessment-Investigations.fsh @@ -139,6 +139,6 @@ Description: "Investigations sub-questionnaire for Aboriginal and Torres Strait * item[+] * linkId = "MarkComplete-14" * text = "Mark section as complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" * type = #boolean - * repeats = false \ No newline at end of file + * repeats = false diff --git a/input/fsh/715-Assessment-LearningAndDevelopment.fsh b/input/fsh/715-Assessment-LearningAndDevelopment.fsh index 17ca740d..83bde149 100644 --- a/input/fsh/715-Assessment-LearningAndDevelopment.fsh +++ b/input/fsh/715-Assessment-LearningAndDevelopment.fsh @@ -230,6 +230,6 @@ Description: "Learning And Development sub-questionnaire for Aboriginal and Torr * item[+] * linkId = "MarkComplete-15" * text = "Mark section as complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" * type = #boolean - * repeats = false \ No newline at end of file + * repeats = false diff --git a/input/fsh/715-Assessment-LearningAndWork.fsh b/input/fsh/715-Assessment-LearningAndWork.fsh index 015c986f..12e46523 100644 --- a/input/fsh/715-Assessment-LearningAndWork.fsh +++ b/input/fsh/715-Assessment-LearningAndWork.fsh @@ -170,7 +170,7 @@ Description: "Learning And Work sub-questionnaire for Aboriginal and Torres Stra * item[+] * linkId = "MarkComplete-33" * text = "Mark section as complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" * type = #boolean * repeats = false @@ -233,6 +233,6 @@ Description: "Learning And Work sub-questionnaire for Aboriginal and Torres Stra * item[+] * linkId = "MarkComplete-16" * text = "Mark section as complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" * type = #boolean - * repeats = false \ No newline at end of file + * repeats = false diff --git a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh index e68ec027..dbb4c74e 100644 --- a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh +++ b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh @@ -308,6 +308,6 @@ Description: "Medical History sub-questionnaire for Aboriginal and Torres Strait * item[+] * linkId = "MarkComplete-17" * text = "Mark section as complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" * type = #boolean - * repeats = false \ No newline at end of file + * repeats = false diff --git a/input/fsh/715-Assessment-MemoryAndThinking.fsh b/input/fsh/715-Assessment-MemoryAndThinking.fsh index 912afebc..6d6732a6 100644 --- a/input/fsh/715-Assessment-MemoryAndThinking.fsh +++ b/input/fsh/715-Assessment-MemoryAndThinking.fsh @@ -161,6 +161,6 @@ Description: "Memory And Thinking sub-questionnaire for Aboriginal and Torres St * item[+] * linkId = "MarkComplete-18" * text = "Mark section as complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" * type = #boolean - * repeats = false \ No newline at end of file + * repeats = false diff --git a/input/fsh/715-Assessment-Mood.fsh b/input/fsh/715-Assessment-Mood.fsh index 3f8dcbf8..d72149ab 100644 --- a/input/fsh/715-Assessment-Mood.fsh +++ b/input/fsh/715-Assessment-Mood.fsh @@ -136,6 +136,6 @@ Description: "Mood sub-questionnaire for Aboriginal and Torres Strait Islander H * item[+] * linkId = "MarkComplete-19" * text = "Mark section as complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" * type = #boolean - * repeats = false \ No newline at end of file + * repeats = false diff --git a/input/fsh/715-Assessment-OralAndDentalHealth.fsh b/input/fsh/715-Assessment-OralAndDentalHealth.fsh index d0caef40..81e8c0f5 100644 --- a/input/fsh/715-Assessment-OralAndDentalHealth.fsh +++ b/input/fsh/715-Assessment-OralAndDentalHealth.fsh @@ -183,6 +183,6 @@ Description: "Oral And Dental Health sub-questionnaire for Aboriginal and Torres * item[+] * linkId = "MarkComplete-20" * text = "Mark section as complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" * type = #boolean - * repeats = false \ No newline at end of file + * repeats = false diff --git a/input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh b/input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh index d2db5bad..073a1bd7 100644 --- a/input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh +++ b/input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh @@ -206,7 +206,7 @@ Description: "Physical Activity And Screen Time sub-questionnaire for Aboriginal * item[+] * linkId = "MarkComplete-34" * text = "Mark section as complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" * type = #boolean * repeats = false @@ -282,6 +282,6 @@ Description: "Physical Activity And Screen Time sub-questionnaire for Aboriginal * item[+] * linkId = "MarkComplete-21" * text = "Mark section as complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" * type = #boolean - * repeats = false \ No newline at end of file + * repeats = false diff --git a/input/fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh b/input/fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh index a6104106..282997aa 100644 --- a/input/fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh +++ b/input/fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh @@ -524,6 +524,6 @@ Description: "Red Flags Early Identification Guide For Children sub-questionnair * item[+] * linkId = "MarkComplete-22" * text = "Mark section as complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" * type = #boolean - * repeats = false \ No newline at end of file + * repeats = false diff --git a/input/fsh/715-Assessment-RegularMedications.fsh b/input/fsh/715-Assessment-RegularMedications.fsh index 38dcff7d..43590416 100644 --- a/input/fsh/715-Assessment-RegularMedications.fsh +++ b/input/fsh/715-Assessment-RegularMedications.fsh @@ -161,6 +161,6 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * item[+] * linkId = "MarkComplete-23" * text = "Mark section as complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" * type = #boolean - * repeats = false \ No newline at end of file + * repeats = false diff --git a/input/fsh/715-Assessment-ScreeningPrograms.fsh b/input/fsh/715-Assessment-ScreeningPrograms.fsh index 82d51a8d..f2dd0d69 100644 --- a/input/fsh/715-Assessment-ScreeningPrograms.fsh +++ b/input/fsh/715-Assessment-ScreeningPrograms.fsh @@ -192,6 +192,6 @@ Description: "Screening Programs sub-questionnaire for Aboriginal and Torres Str * item[+] * linkId = "MarkComplete-24" * text = "Mark section as complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" * type = #boolean * repeats = false diff --git a/input/fsh/715-Assessment-SexualHealth.fsh b/input/fsh/715-Assessment-SexualHealth.fsh index d525ce99..910fbc8b 100644 --- a/input/fsh/715-Assessment-SexualHealth.fsh +++ b/input/fsh/715-Assessment-SexualHealth.fsh @@ -165,7 +165,7 @@ Description: "Sexual Health sub-questionnaire for Aboriginal and Torres Strait I * item[+] * linkId = "MarkComplete-36" * text = "Mark section as complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" * type = #boolean * repeats = false @@ -272,7 +272,7 @@ Description: "Sexual Health sub-questionnaire for Aboriginal and Torres Strait I * item[+] * linkId = "MarkComplete-35" * text = "Mark section as complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" * type = #boolean * repeats = false @@ -374,7 +374,7 @@ Description: "Sexual Health sub-questionnaire for Aboriginal and Torres Strait I * item[+] * linkId = "MarkComplete-25" * text = "Mark section as complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" * type = #boolean * repeats = false diff --git a/input/fsh/715-Assessment-Skin.fsh b/input/fsh/715-Assessment-Skin.fsh index 1de50315..6d7aef27 100644 --- a/input/fsh/715-Assessment-Skin.fsh +++ b/input/fsh/715-Assessment-Skin.fsh @@ -174,6 +174,6 @@ Description: "Skin sub-questionnaire for Aboriginal and Torres Strait Islander H * item[+] * linkId = "MarkComplete-26" * text = "Mark section as complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" * type = #boolean - * repeats = false \ No newline at end of file + * repeats = false diff --git a/input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh b/input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh index 01ae011f..3ce8321f 100644 --- a/input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh +++ b/input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh @@ -148,6 +148,6 @@ Description: "Social And Emotional Wellbeing sub-questionnaire for Aboriginal an * item[+] * linkId = "MarkComplete-27" * text = "Mark section as complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" * type = #boolean - * repeats = false \ No newline at end of file + * repeats = false diff --git a/input/fsh/715-Assessment-SocialHistoryChild.fsh b/input/fsh/715-Assessment-SocialHistoryChild.fsh index 4a02128a..495c9396 100644 --- a/input/fsh/715-Assessment-SocialHistoryChild.fsh +++ b/input/fsh/715-Assessment-SocialHistoryChild.fsh @@ -152,6 +152,6 @@ Description: "Social History Child sub-questionnaire for Aboriginal and Torres S * item[+] * linkId = "MarkComplete-28" * text = "Mark section as complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" * type = #boolean - * repeats = false \ No newline at end of file + * repeats = false diff --git a/input/fsh/715-Assessment-SubstanceUse.fsh b/input/fsh/715-Assessment-SubstanceUse.fsh index 20142cb1..a9a3b1cc 100644 --- a/input/fsh/715-Assessment-SubstanceUse.fsh +++ b/input/fsh/715-Assessment-SubstanceUse.fsh @@ -209,6 +209,6 @@ Description: "Substance Use sub-questionnaire for Aboriginal and Torres Strait I * item[+] * linkId = "MarkComplete-29" * text = "Mark section as complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" * type = #boolean * repeats = false diff --git a/input/fsh/715-Consent.fsh b/input/fsh/715-Consent.fsh index 6069bf43..335ef55a 100644 --- a/input/fsh/715-Consent.fsh +++ b/input/fsh/715-Consent.fsh @@ -217,7 +217,7 @@ Description: "Consent sub-questionnaire for Aboriginal and Torres Strait Islande * item[+] * linkId = "MarkComplete-30" * text = "Mark section as complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" * type = #boolean * repeats = false diff --git a/input/fsh/715-FinalisingHealthCheck.fsh b/input/fsh/715-FinalisingHealthCheck.fsh index cb53f7f8..fda77425 100644 --- a/input/fsh/715-FinalisingHealthCheck.fsh +++ b/input/fsh/715-FinalisingHealthCheck.fsh @@ -443,6 +443,6 @@ Description: "Finalising the Health Check sub-questionnaire for Aboriginal and T * item[+] * linkId = "MarkComplete-31" * text = "Mark section as complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" * type = #boolean - * repeats = false \ No newline at end of file + * repeats = false diff --git a/input/fsh/715-PatientDetails.fsh b/input/fsh/715-PatientDetails.fsh index 65323e72..7bb8da48 100644 --- a/input/fsh/715-PatientDetails.fsh +++ b/input/fsh/715-PatientDetails.fsh @@ -713,7 +713,7 @@ Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait * item[+] * linkId = "MarkComplete-32" * text = "Mark section as complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" * type = #boolean * repeats = false diff --git a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json index 8faa4010..59d0022d 100644 --- a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json +++ b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json @@ -2440,7 +2440,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, @@ -2843,7 +2843,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, @@ -4225,7 +4225,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, @@ -4538,7 +4538,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, @@ -4924,7 +4924,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, @@ -5157,7 +5157,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, @@ -5279,7 +5279,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, @@ -5456,7 +5456,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, @@ -5656,7 +5656,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, @@ -5872,7 +5872,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, @@ -6097,7 +6097,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, @@ -6532,7 +6532,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, @@ -6773,7 +6773,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, @@ -6920,7 +6920,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, @@ -7107,7 +7107,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, @@ -7332,7 +7332,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, @@ -7475,7 +7475,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, @@ -7759,7 +7759,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, @@ -8284,7 +8284,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, @@ -8619,7 +8619,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, @@ -8796,7 +8796,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, @@ -10075,7 +10075,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, @@ -10369,7 +10369,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, @@ -10520,7 +10520,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, @@ -10695,7 +10695,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, @@ -10906,7 +10906,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, @@ -11125,7 +11125,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, @@ -11519,7 +11519,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, @@ -12156,7 +12156,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, @@ -12431,7 +12431,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, @@ -12692,7 +12692,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, @@ -12929,7 +12929,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, @@ -13828,7 +13828,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, @@ -14426,7 +14426,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, @@ -14590,7 +14590,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, @@ -16344,7 +16344,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, @@ -16356,4 +16356,4 @@ ] } ] -} \ No newline at end of file +} From d4fc19301eff724f5430951ed306148aa63eabcc Mon Sep 17 00:00:00 2001 From: liambarnes Date: Tue, 10 Jun 2025 13:40:59 +1000 Subject: [PATCH 083/177] Update allergy prepop context to account for verificationStatus --- .../resources/Questionnaire-AllergiesAdverseReactions.json | 2 +- input/fsh/715-Assessment-AllergiesAdverseReactions.fsh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json index 229db3b4..9fb29f20 100644 --- a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json +++ b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json @@ -106,7 +106,7 @@ "valueExpression": { "name": "AllergyIntoleranceRepeat", "language": "text/fhirpath", - "expression": "%AllergyIntolerance.entry.resource.where(clinicalStatus.coding.exists(code='active'))" + "expression": "%AllergyIntolerance.entry.resource.where(clinicalStatus.coding.exists(code='active')).where(verificationStatus.coding.all(code.empty() or code='confirmed'))" } } ], diff --git a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh index 99b6be38..9d954ebc 100644 --- a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh +++ b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh @@ -117,7 +117,7 @@ Description: "Allergies/Adverse Reactions sub-questionnaire for Aboriginal and T * item[=].item[=].item[+].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemPopulationContext" * item[=].item[=].item[=].extension[=].valueExpression[+].name = "AllergyIntoleranceRepeat" * item[=].item[=].item[=].extension[=].valueExpression[=].language = #text/fhirpath -* item[=].item[=].item[=].extension[=].valueExpression[=].expression = "%AllergyIntolerance.entry.resource.where(clinicalStatus.coding.exists(code='active'))" +* item[=].item[=].item[=].extension[=].valueExpression[=].expression = "%AllergyIntolerance.entry.resource.where(clinicalStatus.coding.exists(code='active')).where(verificationStatus.coding.all(code.empty() or code='confirmed'))" * item[=].item[=].item[=].linkId = "allergysummary" * item[=].item[=].item[=].type = #group * item[=].item[=].item[=].repeats = true From 1532e1fa1ee6d4dff37d2f39b72471c0a2164c18 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Tue, 17 Jun 2025 16:45:38 +1000 Subject: [PATCH 084/177] Further extract dev and patch templates --- ...ntationGuide-csiro.fhir.au.smartforms.json | 8 + ...estionnaire-AllergiesAdverseReactions.json | 152 ++++++++++++++--- .../Questionnaire-ExaminationExtract.json | 2 +- ...onnaire-MedicalHistoryCurrentProblems.json | 117 +++++++++++++- .../Questionnaire-RegularMedications.json | 153 +++++++++++++++--- .../resources/Questionnaire-SubstanceUse.json | 106 +++++++----- ...tion-TemplateExtractExtensionExtended.json | 68 ++++++++ ...5-Assessment-AllergiesAdverseReactions.fsh | 31 +++- .../fsh/715-Assessment-ExaminationExtract.fsh | 2 +- ...sessment-MedicalHistoryCurrentProblems.fsh | 25 ++- .../fsh/715-Assessment-RegularMedications.fsh | 34 +++- input/fsh/715-Assessment-SubstanceUse.fsh | 44 ++--- input/fsh/extract-templates.fsh | 77 ++++++--- input/fsh/profiles.fsh | 11 ++ input/fsh/terminology.fsh | 49 ++++++ 15 files changed, 736 insertions(+), 143 deletions(-) create mode 100644 fsh-generated/resources/StructureDefinition-TemplateExtractExtensionExtended.json diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index b7aa946d..7c47320d 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -557,6 +557,14 @@ "description": "The SNOMED CT Supplement for Aboriginal and Torres Strait Islander Health Check code system supplement defines consumer friendly terms for use in the health check Questionnaire.", "exampleBoolean": false }, + { + "reference": { + "reference": "StructureDefinition/TemplateExtractExtensionExtended" + }, + "name": "Template Extract Extension Extended", + "description": "This extension is used to extend the Template Extract Extension to include additional information.", + "exampleBoolean": false + }, { "reference": { "reference": "ValueSet/TobaccoUseStatus-1" diff --git a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json index c93481a9..59944c48 100644 --- a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json +++ b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json @@ -78,17 +78,6 @@ ] }, { - "linkId": "allergyinstruction", - "text": "Adverse reaction risk summary", - "_text": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n

Adverse reaction risk summary

\r\n

This section includes a list of existing items from the patient record. To update existing items, update the patient record and repopulate this form. To enter new items, add them at the bottom.

\r\n
" - } - ] - }, - "type": "group", "item": [ { "extension": [ @@ -99,13 +88,45 @@ "language": "text/fhirpath", "expression": "%AllergyIntolerance.entry.resource.where(clinicalStatus.coding.exists(code='active'))" } + }, + { + "extension": [ + { + "url": "template", + "valueReference": { + "reference": "#AllergyIntolerancePatchTemplate" + } + }, + { + "url": "resourceId", + "valueString": "item.where(linkId='allergyIntoleranceId').answer.value" + }, + { + "url": "type", + "valueCode": "AllergyIntolerance" + } + ], + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract" } ], - "linkId": "allergysummary", - "type": "group", - "repeats": true, - "readOnly": true, "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-hidden", + "valueBoolean": true + }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%AllergyIntoleranceRepeat.id" + } + } + ], + "linkId": "allergyIntoleranceId", + "type": "string" + }, { "extension": [ { @@ -131,9 +152,51 @@ "text": "Substance", "type": "open-choice", "repeats": false, - "required": true, + "readOnly": true, "answerValueSet": "https://healthterminologies.gov.au/fhir/ValueSet/adverse-reaction-agent-1" }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%AllergyIntoleranceRepeat.clinicalStatus.coding" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "drop-down", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + } + ], + "linkId": "allergysummary-status", + "text": "Status", + "type": "choice", + "repeats": false, + "answerOption": [ + { + "valueCoding": { + "code": "active", + "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical", + "display": "Active" + } + }, + { + "valueCoding": { + "code": "inactive", + "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical", + "display": "inactive" + } + } + ] + }, { "extension": [ { @@ -159,6 +222,7 @@ "text": "Manifestation", "type": "open-choice", "repeats": true, + "readOnly": true, "answerValueSet": "https://healthterminologies.gov.au/fhir/ValueSet/clinical-finding-1" }, { @@ -176,7 +240,10 @@ "type": "string", "repeats": false } - ] + ], + "linkId": "allergysummary", + "type": "group", + "repeats": true }, { "extension": [ @@ -245,7 +312,18 @@ } ] } - ] + ], + "linkId": "allergyinstruction", + "text": "Adverse reaction risk summary", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
\r\n

Adverse reaction risk summary

\r\n

This section includes a list of existing items from the patient record. To update existing items, update the patient record and repopulate this form. To enter new items, add them at the bottom.

\r\n
" + } + ] + }, + "type": "group" }, { "linkId": "3e689aeb-69a1-4a9b-93bd-50377511dd9b", @@ -379,6 +457,44 @@ ] } ] + }, + { + "resourceType": "Parameters", + "id": "AllergyIntolerancePatchTemplate", + "parameter": [ + { + "name": "operation", + "part": [ + { + "name": "type", + "valueCode": "replace" + }, + { + "name": "path", + "valueString": "AllergyIntolerance.clinicalStatus" + }, + { + "name": "name", + "valueString": "clinicalStatus" + }, + { + "name": "value", + "valueCodeableConcept": { + "coding": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "item.where(linkId='allergysummary-status').answer.value.first()" + } + ] + } + ] + } + } + ] + } + ] } ], "extension": [ diff --git a/fsh-generated/resources/Questionnaire-ExaminationExtract.json b/fsh-generated/resources/Questionnaire-ExaminationExtract.json index a2f583a2..4a973f5e 100644 --- a/fsh-generated/resources/Questionnaire-ExaminationExtract.json +++ b/fsh-generated/resources/Questionnaire-ExaminationExtract.json @@ -411,7 +411,7 @@ } ], "linkId": "bc209c5e-ed28-48e3-b1a1-55cb7e435d8b", - "text": "BMI", + "text": "BMI (calculated)", "type": "group", "repeats": false }, diff --git a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json index b89dea13..275f0070 100644 --- a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json +++ b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json @@ -186,9 +186,45 @@ "language": "text/fhirpath", "expression": "%Condition.entry.resource.where(category.coding.exists(code='problem-list-item'))" } + }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract", + "extension": [ + { + "url": "template", + "valueReference": { + "reference": "#ConditionPatchTemplate" + } + }, + { + "url": "resourceId", + "valueString": "item.where(linkId='conditionId').answer.value" + }, + { + "url": "type", + "valueCode": "Condition" + } + ] } ], "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-hidden", + "valueBoolean": true + }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%ConditionRepeat.id" + } + } + ], + "linkId": "conditionId", + "type": "string" + }, { "extension": [ { @@ -213,7 +249,8 @@ "linkId": "59b1900a-4f85-4a8c-b9cd-3fe2fd76f27e", "text": "Condition", "type": "open-choice", - "answerValueSet": "#clinical-condition-1" + "answerValueSet": "#clinical-condition-1", + "readOnly": true }, { "extension": [ @@ -247,13 +284,14 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%ConditionRepeat.onset.ofType(dateTime)" + "expression": "%ConditionRepeat.onset.ofType(dateTime).toDate()" } } ], "linkId": "6ae641ad-95bb-4cdc-8910-5a52077e492c", "text": "Onset date", - "type": "date" + "type": "date", + "readOnly": true }, { "extension": [ @@ -261,7 +299,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%ConditionRepeat.abatement.ofType(dateTime)" + "expression": "%ConditionRepeat.abatement.ofType(dateTime).toDate()" } } ], @@ -272,8 +310,7 @@ ], "linkId": "92bd7d05-9b5e-4cf9-900b-703f361dad9d", "type": "group", - "repeats": true, - "readOnly": true + "repeats": true }, { "extension": [ @@ -336,7 +373,7 @@ "repeats": true } ], - "linkId": "medicalhistoryinstruction", + "linkId": "medicalhistorysummary", "text": "Medical history summary", "_text": { "extension": [ @@ -628,6 +665,72 @@ } ] } + }, + { + "resourceType": "Parameters", + "id": "ConditionPatchTemplate", + "parameter": [ + { + "name": "operation", + "part": [ + { + "name": "type", + "valueCode": "replace" + }, + { + "name": "path", + "valueString": "Condition.clinicalStatus" + }, + { + "name": "name", + "valueString": "clinicalStatus" + }, + { + "name": "value", + "valueCodeableConcept": { + "coding": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "item.where(linkId='88bcfad7-386b-4d87-b34b-2e50482e4d2c').answer.value.first()" + } + ] + } + ] + } + } + ] + }, + { + "name": "operation", + "part": [ + { + "name": "type", + "valueCode": "replace" + }, + { + "name": "path", + "valueString": "Condition.abatement" + }, + { + "name": "name", + "valueString": "abatement" + }, + { + "name": "value", + "_valueDateTime": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "item.where(linkId='e4524654-f6de-4717-b288-34919394d46b').answer.value.toDateTime()" + } + ] + } + } + ] + } + ] } ], "extension": [ diff --git a/fsh-generated/resources/Questionnaire-RegularMedications.json b/fsh-generated/resources/Questionnaire-RegularMedications.json index d21d3a0c..433e2a3c 100644 --- a/fsh-generated/resources/Questionnaire-RegularMedications.json +++ b/fsh-generated/resources/Questionnaire-RegularMedications.json @@ -91,18 +91,6 @@ "type": "display" }, { - "linkId": "regularmedications-summary", - "text": "Medication summary", - "_text": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n

Medication summary

\r\n

This section includes a list of existing items from the patient record. To update existing items, update the patient record and repopulate this form. To enter new items, add them at the bottom.

\r\n
" - } - ] - }, - "type": "group", - "repeats": false, "item": [ { "extension": [ @@ -113,13 +101,45 @@ "language": "text/fhirpath", "expression": "%MedicationStatement.entry.resource.where(status='active')" } + }, + { + "extension": [ + { + "url": "template", + "valueReference": { + "reference": "#MedicationStatementPatchTemplate" + } + }, + { + "url": "resourceId", + "valueString": "item.where(linkId='medicationStatementId').answer.value" + }, + { + "url": "type", + "valueCode": "MedicationStatement" + } + ], + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract" } ], - "linkId": "regularmedications-summary-current", - "type": "group", - "repeats": true, - "readOnly": true, "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-hidden", + "valueBoolean": true + }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%MedicationStatementRepeat.id" + } + } + ], + "linkId": "medicationStatementId", + "type": "string" + }, { "extension": [ { @@ -145,6 +165,53 @@ "text": "Medication", "type": "open-choice", "repeats": false, + "readOnly": true, + "answerValueSet": "#smarthealthchecks-medication" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%MedicationStatementRepeat.status" + } + } + ], + "linkId": "regularmedications-summary-current-status", + "text": "Status", + "type": "choice", + "repeats": false, + "answerOption": [ + { + "valueCoding": { + "code": "active", + "system": "http://terminology.hl7.org/CodeSystem/medication-statement-status", + "display": "Active" + } + }, + { + "valueCoding": { + "code": "completed", + "system": "http://terminology.hl7.org/CodeSystem/medication-statement-status", + "display": "Completed" + } + }, + { + "valueCoding": { + "code": "stopped", + "system": "http://terminology.hl7.org/CodeSystem/medication-statement-status", + "display": "Stopped" + } + }, + { + "valueCoding": { + "code": "on-hold", + "system": "http://terminology.hl7.org/CodeSystem/medication-statement-status", + "display": "On Hold" + } + } + ], "answerValueSet": "#smarthealthchecks-medication" }, { @@ -187,6 +254,7 @@ "text": "Clinical indication", "type": "open-choice", "repeats": true, + "readOnly": true, "answerValueSet": "#medication-reason-taken-1" }, { @@ -204,7 +272,10 @@ "type": "string", "repeats": true } - ] + ], + "linkId": "regularmedications-summary-current", + "type": "group", + "repeats": true }, { "extension": [ @@ -278,7 +349,19 @@ } ] } - ] + ], + "linkId": "regularmedications-summary", + "text": "Medication summary", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
\r\n

Medication summary

\r\n

This section includes a list of existing items from the patient record. To update existing items, update the patient record and repopulate this form. To enter new items, add them at the bottom.

\r\n
" + } + ] + }, + "type": "group", + "repeats": false }, { "extension": [ @@ -668,6 +751,40 @@ } ] } + }, + { + "resourceType": "Parameters", + "id": "MedicationStatementPatchTemplate", + "parameter": [ + { + "name": "operation", + "part": [ + { + "name": "type", + "valueCode": "replace" + }, + { + "name": "path", + "valueString": "MedicationStatement.status" + }, + { + "name": "name", + "valueString": "status" + }, + { + "name": "value", + "_valueCode": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "item.where(linkId='regularmedications-summary-current-status').answer.value.code" + } + ] + } + } + ] + } + ] } ], "extension": [ diff --git a/fsh-generated/resources/Questionnaire-SubstanceUse.json b/fsh-generated/resources/Questionnaire-SubstanceUse.json index db4a45ac..2294b937 100644 --- a/fsh-generated/resources/Questionnaire-SubstanceUse.json +++ b/fsh-generated/resources/Questionnaire-SubstanceUse.json @@ -104,63 +104,83 @@ { "extension": [ { - "extension": [ - { - "url": "template", - "valueReference": { - "reference": "#SmokingStatusTemplate" + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "grid", + "system": "http://hl7.org/fhir/questionnaire-item-control", + "version": "1.0.0" } - } - ], - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract" + ] + } } ], "item": [ { - "extension": [ + "item": [ { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsTobaccoSmokingStatus.entry.resource.value.coding.where(system='http://snomed.info/sct')" - } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ + "linkId": "substanceuse-smoking-smokingstatus-group-laststatus", + "text": "Last status", + "_text": { + "extension": [ { - "code": "radio-button", - "system": "http://hl7.org/fhir/questionnaire-item-control" + "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%ObsTobaccoSmokingStatus.entry.resource.value.coding.where(system='http://snomed.info/sct').empty() = true, 'Not available', %ObsTobaccoSmokingStatus.entry.resource.value.coding.where(system='http://snomed.info/sct').first().display) + ' (' + %ObsTobaccoSmokingStatus.entry.resource.effective.toDate().toString() + ')')" + } } ] - } - } - ], - "linkId": "b639a3a8-f476-4cc8-b5c7-f5d2abb23511", - "text": "Status", - "type": "choice", - "repeats": false, - "answerValueSet": "#TobaccoUseStatus-1" - }, - { - "extension": [ + }, + "type": "display", + "repeats": false + }, { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsTobaccoSmokingStatus.entry.resource.effective.ofType(dateTime)" - } + "extension": [ + { + "extension": [ + { + "url": "template", + "valueReference": { + "reference": "#SmokingStatusTemplate" + } + } + ], + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "drop-down", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + } + ], + "linkId": "b639a3a8-f476-4cc8-b5c7-f5d2abb23511", + "text": "New status", + "type": "choice", + "repeats": false, + "answerValueSet": "#TobaccoUseStatus-1" + }, + { + "linkId": "substanceuse-smoking-smokingstatus-group-newdate", + "text": "New date", + "type": "date", + "repeats": false } ], - "linkId": "substanceuse-smoking-smokingstatus-date", - "text": "Date", - "type": "dateTime", + "linkId": "substanceuse-smoking-smokingstatus-group", + "text": "Smoking status", + "type": "group", "repeats": false } ], "linkId": "substanceuse-smoking-smokingstatus", - "text": "Smoking status", "type": "group", "repeats": false }, @@ -389,7 +409,7 @@ "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "%resource.repeat(item).where(linkId='b639a3a8-f476-4cc8-b5c7-f5d2abb23511').answer.value" + "valueString": "$this.answer.value" } ] } @@ -399,7 +419,7 @@ "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "%resource.repeat(item).where(linkId='substanceuse-smoking-smokingstatus-date').answer.value.toDateTime()" + "valueString": "%resource.repeat(item).where(linkId='substanceuse-smoking-smokingstatus-group-newdate').answer.value.toDateTime()" } ] } diff --git a/fsh-generated/resources/StructureDefinition-TemplateExtractExtensionExtended.json b/fsh-generated/resources/StructureDefinition-TemplateExtractExtensionExtended.json new file mode 100644 index 00000000..3c2b6898 --- /dev/null +++ b/fsh-generated/resources/StructureDefinition-TemplateExtractExtensionExtended.json @@ -0,0 +1,68 @@ +{ + "resourceType": "StructureDefinition", + "id": "TemplateExtractExtensionExtended", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/TemplateExtractExtensionExtended", + "name": "TemplateExtractExtensionExtended", + "title": "Template Extract Extension Extended", + "status": "draft", + "description": "This extension is used to extend the Template Extract Extension to include additional information.", + "fhirVersion": "4.0.1", + "kind": "complex-type", + "abstract": false, + "context": [ + { + "type": "element", + "expression": "Questionnaire" + }, + { + "type": "element", + "expression": "Questionnaire.item" + } + ], + "type": "Extension", + "baseDefinition": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Extension", + "path": "Extension", + "short": "Template Extract Extension Extended", + "definition": "This extension is used to extend the Template Extract Extension to include additional information." + }, + { + "id": "Extension.extension:type", + "path": "Extension.extension", + "sliceName": "type", + "short": "Patch resource type", + "definition": "When templating a Parameters resource, this is the kind of resource to be patched. It is used to help populate the request url.", + "min": 0, + "max": "1" + }, + { + "id": "Extension.extension:type.extension", + "path": "Extension.extension.extension", + "max": "0" + }, + { + "id": "Extension.extension:type.url", + "path": "Extension.extension.url", + "fixedUri": "type" + }, + { + "id": "Extension.extension:type.value[x]", + "path": "Extension.extension.value[x]", + "min": 1, + "type": [ + { + "code": "code" + } + ], + "binding": { + "strength": "required", + "valueSet": "http://hl7.org/fhir/ValueSet/resource-types" + } + } + ] + } +} diff --git a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh index 2680cc60..f46db8fe 100644 --- a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh +++ b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh @@ -9,6 +9,7 @@ Title: "Aboriginal and Torres Strait Islander Health Check - Allergies/Adverse R Description: "Allergies/Adverse Reactions sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." * contained[+] = AllergyIntoleranceTemplate +* contained[+] = AllergyIntolerancePatchTemplate //assemble expectation * extension[+] @@ -116,14 +117,20 @@ Description: "Allergies/Adverse Reactions sub-questionnaire for Aboriginal and T
" * type = #group //existing adverse reactions -* item[=].item[=].item[+].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemPopulationContext" -* item[=].item[=].item[=].extension[=].valueExpression[+].name = "AllergyIntoleranceRepeat" -* item[=].item[=].item[=].extension[=].valueExpression[=].language = #text/fhirpath -* item[=].item[=].item[=].extension[=].valueExpression[=].expression = "%AllergyIntolerance.entry.resource.where(clinicalStatus.coding.exists(code='active'))" +* item[=].item[=].item[+].extension[sdc-questionnaire-itemPopulationContext][+].valueExpression[+].name = "AllergyIntoleranceRepeat" +* item[=].item[=].item[=].extension[sdc-questionnaire-itemPopulationContext][=].valueExpression[=].language = #text/fhirpath +* item[=].item[=].item[=].extension[sdc-questionnaire-itemPopulationContext][=].valueExpression[=].expression = "%AllergyIntolerance.entry.resource.where(clinicalStatus.coding.exists(code='active'))" +* item[=].item[=].item[=].extension[TemplateExtractExtensionExtended][+].extension[template][+].valueReference = Reference(AllergyIntolerancePatchTemplate) +* item[=].item[=].item[=].extension[TemplateExtractExtensionExtended][=].extension[resourceId][+].valueString = "item.where(linkId='allergyIntoleranceId').answer.value" +* item[=].item[=].item[=].extension[TemplateExtractExtensionExtended][=].extension[type][+].valueCode = #AllergyIntolerance * item[=].item[=].item[=].linkId = "allergysummary" * item[=].item[=].item[=].type = #group * item[=].item[=].item[=].repeats = true -* item[=].item[=].item[=].readOnly = true +* item[=].item[=].item[=].item[0].extension[questionnaire-hidden].valueBoolean = true +* item[=].item[=].item[=].item[=].extension[sdc-questionnaire-initialExpression][+].valueExpression.language = #text/fhirpath +* item[=].item[=].item[=].item[=].extension[sdc-questionnaire-initialExpression][=].valueExpression.expression = "%AllergyIntoleranceRepeat.id" +* item[=].item[=].item[=].item[=].linkId = "allergyIntoleranceId" +* item[=].item[=].item[=].item[=].type = #string * item[=].item[=].item[=].item[+].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression" * item[=].item[=].item[=].item[=].extension[=].valueExpression[+].language = #text/fhirpath * item[=].item[=].item[=].item[=].extension[=].valueExpression[=].expression = "%AllergyIntoleranceRepeat.code.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first())" @@ -133,10 +140,21 @@ Description: "Allergies/Adverse Reactions sub-questionnaire for Aboriginal and T * item[=].item[=].item[=].item[=].text = "Substance" * item[=].item[=].item[=].item[=].type = #open-choice * item[=].item[=].item[=].item[=].repeats = false -* item[=].item[=].item[=].item[=].required = true +* item[=].item[=].item[=].item[=].readOnly = true * item[=].item[=].item[=].item[=].answerValueSet = "https://healthterminologies.gov.au/fhir/ValueSet/adverse-reaction-agent-1" * item[=].item[=].item[=].item[+].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression" * item[=].item[=].item[=].item[=].extension[=].valueExpression[+].language = #text/fhirpath +* item[=].item[=].item[=].item[=].extension[=].valueExpression[=].expression = "%AllergyIntoleranceRepeat.clinicalStatus.coding" +* item[=].item[=].item[=].item[=].extension[+].url = "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl" +* item[=].item[=].item[=].item[=].extension[=].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#drop-down +* item[=].item[=].item[=].item[=].linkId = "allergysummary-status" +* item[=].item[=].item[=].item[=].text = "Status" +* item[=].item[=].item[=].item[=].type = #choice +* item[=].item[=].item[=].item[=].repeats = false +* item[=].item[=].item[=].item[=].answerOption[+].valueCoding = http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical#active "Active" +* item[=].item[=].item[=].item[=].answerOption[+].valueCoding = http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical#inactive "inactive" +* item[=].item[=].item[=].item[+].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression" +* item[=].item[=].item[=].item[=].extension[=].valueExpression[+].language = #text/fhirpath * item[=].item[=].item[=].item[=].extension[=].valueExpression[=].expression = "%AllergyIntoleranceRepeat.reaction.manifestation.coding" * item[=].item[=].item[=].item[=].extension[+].url = "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl" * item[=].item[=].item[=].item[=].extension[=].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#autocomplete @@ -144,6 +162,7 @@ Description: "Allergies/Adverse Reactions sub-questionnaire for Aboriginal and T * item[=].item[=].item[=].item[=].text = "Manifestation" * item[=].item[=].item[=].item[=].type = #open-choice * item[=].item[=].item[=].item[=].repeats = true +* item[=].item[=].item[=].item[=].readOnly = true * item[=].item[=].item[=].item[=].answerValueSet = "https://healthterminologies.gov.au/fhir/ValueSet/clinical-finding-1" // manifestation vs * item[=].item[=].item[=].item[=].answerValueSet = "http://snomed.info/sct/32506021000036107?fhir_vs=refset/142341000036103" * item[=].item[=].item[=].item[+].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression" diff --git a/input/fsh/715-Assessment-ExaminationExtract.fsh b/input/fsh/715-Assessment-ExaminationExtract.fsh index 9e9351d5..2ce4e974 100644 --- a/input/fsh/715-Assessment-ExaminationExtract.fsh +++ b/input/fsh/715-Assessment-ExaminationExtract.fsh @@ -288,7 +288,7 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * language = #text/fhirpath * expression = "%age > 12"*/ * linkId = "bc209c5e-ed28-48e3-b1a1-55cb7e435d8b" - * text = "BMI" + * text = "BMI (calculated)" * type = #group * repeats = false * item[+] diff --git a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh index ec7f3c87..753a80b5 100644 --- a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh +++ b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh @@ -11,6 +11,7 @@ Description: "Medical History sub-questionnaire for Aboriginal and Torres Strait * contained[+] = condition-clinical * contained[+] = clinical-condition-1 * contained[+] = ConditionTemplate +* contained[+] = ConditionPatchTemplate //assemble expectation * extension[+] @@ -143,7 +144,7 @@ Description: "Medical History sub-questionnaire for Aboriginal and Torres Strait // table of medical history * item[+] - * linkId = "medicalhistoryinstruction" + * linkId = "medicalhistorysummary" * text = "Medical history summary" * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "

Medical history summary

@@ -151,15 +152,25 @@ Description: "Medical History sub-questionnaire for Aboriginal and Torres Strait
" * type = #group * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#gtable - * extension[sdc-questionnaire-itemPopulationContext].valueExpression + * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl][+].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#gtable + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemPopulationContext][+].valueExpression * name = "ConditionRepeat" * language = #text/fhirpath * expression = "%Condition.entry.resource.where(category.coding.exists(code='problem-list-item'))" + * extension[TemplateExtractExtensionExtended][+] + * extension[template][+].valueReference = Reference(ConditionPatchTemplate) + * extension[resourceId][+].valueString = "item.where(linkId='conditionId').answer.value" + * extension[type][+].valueCode = #Condition * linkId = "92bd7d05-9b5e-4cf9-900b-703f361dad9d" * type = #group * repeats = true - * readOnly = true + * item[+] + * extension[questionnaire-hidden].valueBoolean = true + * extension[sdc-questionnaire-initialExpression].valueExpression + * language = #text/fhirpath + * expression = "%ConditionRepeat.id" + * linkId = "conditionId" + * type = #string * item[+] * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#autocomplete * extension[sdc-questionnaire-initialExpression].valueExpression @@ -169,6 +180,7 @@ Description: "Medical History sub-questionnaire for Aboriginal and Torres Strait * text = "Condition" * type = #open-choice * answerValueSet = "#clinical-condition-1" + * readOnly = true * item[+] * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#drop-down * extension[sdc-questionnaire-initialExpression].valueExpression @@ -181,14 +193,15 @@ Description: "Medical History sub-questionnaire for Aboriginal and Torres Strait * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath - * expression = "%ConditionRepeat.onset.ofType(dateTime)" + * expression = "%ConditionRepeat.onset.ofType(dateTime).toDate()" * linkId = "6ae641ad-95bb-4cdc-8910-5a52077e492c" * text = "Onset date" * type = #date + * readOnly = true * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath - * expression = "%ConditionRepeat.abatement.ofType(dateTime)" + * expression = "%ConditionRepeat.abatement.ofType(dateTime).toDate()" * linkId = "e4524654-f6de-4717-b288-34919394d46b" * text = "Abatement date" * type = #date diff --git a/input/fsh/715-Assessment-RegularMedications.fsh b/input/fsh/715-Assessment-RegularMedications.fsh index ebc3c340..0c8bdca6 100644 --- a/input/fsh/715-Assessment-RegularMedications.fsh +++ b/input/fsh/715-Assessment-RegularMedications.fsh @@ -12,6 +12,7 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * contained[+] = smarthealthchecks-medication * contained[+] = medication-reason-taken-1 * contained[+] = MedicationStatementTemplate +* contained[+] = MedicationStatementPatchTemplate * extension[0].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assemble-expectation" @@ -153,15 +154,21 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * item.item[=].repeats = false // Current medications -* item.item[=].item[0].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemPopulationContext" -* item.item[=].item[=].extension[=].valueExpression[+].name = "MedicationStatementRepeat" -* item.item[=].item[=].extension[=].valueExpression[=].language = #text/fhirpath -* item.item[=].item[=].extension[=].valueExpression[=].expression = "%MedicationStatement.entry.resource.where(status='active')" +* item.item[=].item[0].extension[sdc-questionnaire-itemPopulationContext][+].valueExpression[+].name = "MedicationStatementRepeat" +* item.item[=].item[0].extension[sdc-questionnaire-itemPopulationContext][=].valueExpression[=].language = #text/fhirpath +* item.item[=].item[0].extension[sdc-questionnaire-itemPopulationContext][=].valueExpression[=].expression = "%MedicationStatement.entry.resource.where(status='active')" +* item.item[=].item[=].extension[TemplateExtractExtensionExtended][+].extension[template][+].valueReference = Reference(MedicationStatementPatchTemplate) +* item.item[=].item[=].extension[TemplateExtractExtensionExtended][=].extension[resourceId][+].valueString = "item.where(linkId='medicationStatementId').answer.value" +* item.item[=].item[=].extension[TemplateExtractExtensionExtended][=].extension[type][+].valueCode = #MedicationStatement * item.item[=].item[=].linkId = "regularmedications-summary-current" * item.item[=].item[=].type = #group * item.item[=].item[=].repeats = true -* item.item[=].item[=].readOnly = true -* item.item[=].item[=].item[0].extension[+].url = "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl" +* item.item[=].item[=].item[0].extension[questionnaire-hidden].valueBoolean = true +* item.item[=].item[=].item[=].extension[sdc-questionnaire-initialExpression][+].valueExpression.language = #text/fhirpath +* item.item[=].item[=].item[=].extension[sdc-questionnaire-initialExpression][=].valueExpression.expression = "%MedicationStatementRepeat.id" +* item.item[=].item[=].item[=].linkId = "medicationStatementId" +* item.item[=].item[=].item[=].type = #string +* item.item[=].item[=].item[+].extension[+].url = "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl" * item.item[=].item[=].item[=].extension[=].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#autocomplete /* * item.item[=].item[=].item[=].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression" @@ -175,6 +182,7 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * item.item[=].item[=].item[=].text = "Medication" * item.item[=].item[=].item[=].type = #open-choice * item.item[=].item[=].item[=].repeats = false +* item.item[=].item[=].item[=].readOnly = true * item.item[=].item[=].item[=].answerValueSet = "#smarthealthchecks-medication" /* * item.item[=].item[=].item[+].extension.url = "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl" @@ -210,6 +218,19 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * item.item[=].item[=].item[=].answerValueSet = "http://hl7.org/fhir/ValueSet/timing-abbreviation" */ +* item.item[=].item[=].item[+].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression" +* item.item[=].item[=].item[=].extension[=].valueExpression[+].language = #text/fhirpath +* item.item[=].item[=].item[=].extension[=].valueExpression[=].expression = "%MedicationStatementRepeat.status" +* item.item[=].item[=].item[=].linkId = "regularmedications-summary-current-status" +* item.item[=].item[=].item[=].text = "Status" +* item.item[=].item[=].item[=].type = #choice +* item.item[=].item[=].item[=].repeats = false +* item.item[=].item[=].item[=].answerOption[0].valueCoding = http://terminology.hl7.org/CodeSystem/medication-statement-status#active "Active" +* item.item[=].item[=].item[=].answerOption[+].valueCoding = http://terminology.hl7.org/CodeSystem/medication-statement-status#completed "Completed" +* item.item[=].item[=].item[=].answerOption[+].valueCoding = http://terminology.hl7.org/CodeSystem/medication-statement-status#stopped "Stopped" +* item.item[=].item[=].item[=].answerOption[+].valueCoding = http://terminology.hl7.org/CodeSystem/medication-statement-status#on-hold "On Hold" + +* item.item[=].item[=].item[=].answerValueSet = "#smarthealthchecks-medication" * item.item[=].item[=].item[+].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression" * item.item[=].item[=].item[=].extension[=].valueExpression[+].language = #text/fhirpath * item.item[=].item[=].item[=].extension[=].valueExpression[=].expression = "%MedicationStatementRepeat.dosage.text" @@ -227,6 +248,7 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * item.item[=].item[=].item[=].text = "Clinical indication" * item.item[=].item[=].item[=].type = #open-choice * item.item[=].item[=].item[=].repeats = true +* item.item[=].item[=].item[=].readOnly = true * item.item[=].item[=].item[=].answerValueSet = "#medication-reason-taken-1" * item.item[=].item[=].item[+].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression" diff --git a/input/fsh/715-Assessment-SubstanceUse.fsh b/input/fsh/715-Assessment-SubstanceUse.fsh index 5a6d0eed..ab380948 100644 --- a/input/fsh/715-Assessment-SubstanceUse.fsh +++ b/input/fsh/715-Assessment-SubstanceUse.fsh @@ -113,35 +113,43 @@ Description: "Substance Use sub-questionnaire for Aboriginal and Torres Strait I Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there first.
" * type = #display + * item[+] * linkId = "substanceuse-smoking" * text = "Smoking" * type = #group * repeats = false * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#SmokingStatusTemplate" + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control|1.0.0#grid * linkId = "substanceuse-smoking-smokingstatus" - * text = "Smoking status" * type = #group * repeats = false * item[+] - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%ObsTobaccoSmokingStatus.entry.resource.value.coding.where(system='http://snomed.info/sct')" - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#radio-button - * linkId = "b639a3a8-f476-4cc8-b5c7-f5d2abb23511" - * text = "Status" - * type = #choice - * repeats = false - * answerValueSet = "#TobaccoUseStatus-1" - * item[+] - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%ObsTobaccoSmokingStatus.entry.resource.effective.ofType(dateTime)" - * linkId = "substanceuse-smoking-smokingstatus-date" - * text = "Date" - * type = #dateTime + * linkId = "substanceuse-smoking-smokingstatus-group" + * text = "Smoking status" + * type = #group * repeats = false + * item[+] + * linkId = "substanceuse-smoking-smokingstatus-group-laststatus" + * text = "Last status" + * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression + * language = #text/fhirpath + * expression = "iif(%ObsTobaccoSmokingStatus.entry.resource.value.coding.where(system='http://snomed.info/sct').empty() = true, 'Not available', %ObsTobaccoSmokingStatus.entry.resource.value.coding.where(system='http://snomed.info/sct').first().display) + ' (' + %ObsTobaccoSmokingStatus.entry.resource.effective.toDate().toString() + ')')" + * type = #display + * repeats = false + * item[+] + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#SmokingStatusTemplate" + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#drop-down + * linkId = "b639a3a8-f476-4cc8-b5c7-f5d2abb23511" + * text = "New status" + * type = #choice + * repeats = false + * answerValueSet = "#TobaccoUseStatus-1" + * item[+] + * linkId = "substanceuse-smoking-smokingstatus-group-newdate" + * text = "New date" + * type = #date + * repeats = false * item[+] * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#radio-button * linkId = "96dc7c22-d003-459c-8a56-f6cd182fc077" diff --git a/input/fsh/extract-templates.fsh b/input/fsh/extract-templates.fsh index 2a662d0f..e74ed296 100644 --- a/input/fsh/extract-templates.fsh +++ b/input/fsh/extract-templates.fsh @@ -34,9 +34,9 @@ Usage: #inline * subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * subject.reference.extension[=].valueString = "%resource.subject.reference" * effectiveDateTime.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" -* effectiveDateTime.extension[=].valueString = "%resource.repeat(item).where(linkId='substanceuse-smoking-smokingstatus-date').answer.value.toDateTime()" +* effectiveDateTime.extension[=].valueString = "%resource.repeat(item).where(linkId='substanceuse-smoking-smokingstatus-group-newdate').answer.value.toDateTime()" * valueCodeableConcept.coding.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" -* valueCodeableConcept.coding.extension[=].valueString = "%resource.repeat(item).where(linkId='b639a3a8-f476-4cc8-b5c7-f5d2abb23511').answer.value" +* valueCodeableConcept.coding.extension[=].valueString = "$this.answer.value" Instance: BodyHeightLengthTemplate InstanceOf: $au-core-bodyheight @@ -193,23 +193,6 @@ Usage: #inline -Instance: ParametersTemplate -// InstanceOf: http://hl7.org/fhir/StructureDefinition/fhirpath-patch -InstanceOf: Parameters -Usage: #inline -* parameter[+].name = "operation" -* parameter[=].part[+].name = "type" -* parameter[=].part[=].valueCode = #replace -* parameter[=].part[+].name = "path" -* parameter[=].part[=].valueString.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" -* parameter[=].part[=].valueString.extension[=].valueString = "Condition.clinicalStatus" -* parameter[=].part[+].name = "name" -* parameter[=].part[=].valueString = "coding" -* parameter[=].part[+].name = "value" -* parameter[=].part[=].valueCoding.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" -* parameter[=].part[=].valueCoding.extension[=].valueString = "item.where(linkId='88bcfad7-386b-4d87-b34b-2e50482e4d2c').answer.value.first()" - - Instance: AllergyIntoleranceTemplate InstanceOf: $au-core-allergyintolerance Usage: #inline @@ -233,6 +216,22 @@ Usage: #inline * reaction.manifestation[=].text.extension.url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * reaction.manifestation[=].text.extension.valueString = "$this" + +Instance: AllergyIntolerancePatchTemplate +// InstanceOf: http://hl7.org/fhir/StructureDefinition/fhirpath-patch +InstanceOf: Parameters +Usage: #inline +* parameter[+].name = "operation" +* parameter[=].part[+].name = "type" +* parameter[=].part[=].valueCode = #replace +* parameter[=].part[+].name = "path" +* parameter[=].part[=].valueString = "AllergyIntolerance.clinicalStatus" +* parameter[=].part[+].name = "name" +* parameter[=].part[=].valueString = "clinicalStatus" +* parameter[=].part[+].name = "value" +* parameter[=].part[=].valueCodeableConcept.coding.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* parameter[=].part[=].valueCodeableConcept.coding.extension[=].valueString = "item.where(linkId='allergysummary-status').answer.value.first()" + Instance: ImmunizationTemplate InstanceOf: $au-core-immunization Usage: #inline @@ -270,6 +269,32 @@ Usage: #inline * note.text.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * note.text.extension[=].valueString = "item.where(linkId='newdiagnosis-comment').answer.value" +Instance: ConditionPatchTemplate +// InstanceOf: http://hl7.org/fhir/StructureDefinition/fhirpath-patch +InstanceOf: Parameters +Usage: #inline +* parameter[+].name = "operation" +* parameter[=].part[+].name = "type" +* parameter[=].part[=].valueCode = #replace +* parameter[=].part[+].name = "path" +* parameter[=].part[=].valueString = "Condition.clinicalStatus" +* parameter[=].part[+].name = "name" +* parameter[=].part[=].valueString = "clinicalStatus" +* parameter[=].part[+].name = "value" +* parameter[=].part[=].valueCodeableConcept.coding.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* parameter[=].part[=].valueCodeableConcept.coding.extension[=].valueString = "item.where(linkId='88bcfad7-386b-4d87-b34b-2e50482e4d2c').answer.value.first()" +* parameter[+].name = "operation" +* parameter[=].part[+].name = "type" +* parameter[=].part[=].valueCode = #replace +* parameter[=].part[+].name = "path" +* parameter[=].part[=].valueString = "Condition.abatement" +* parameter[=].part[+].name = "name" +* parameter[=].part[=].valueString = "abatement" +* parameter[=].part[+].name = "value" +* parameter[=].part[=].valueDateTime.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* parameter[=].part[=].valueDateTime.extension[=].valueString = "item.where(linkId='e4524654-f6de-4717-b288-34919394d46b').answer.value.toDateTime()" + + Instance: MedicationStatementTemplate InstanceOf: $au-core-medicationstatement Usage: #inline @@ -299,3 +324,17 @@ Usage: #inline * dosage[=].text.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * dosage[=].text.extension[=].valueString = "$this" +Instance: MedicationStatementPatchTemplate +// InstanceOf: http://hl7.org/fhir/StructureDefinition/fhirpath-patch +InstanceOf: Parameters +Usage: #inline +* parameter[+].name = "operation" +* parameter[=].part[+].name = "type" +* parameter[=].part[=].valueCode = #replace +* parameter[=].part[+].name = "path" +* parameter[=].part[=].valueString = "MedicationStatement.status" +* parameter[=].part[+].name = "name" +* parameter[=].part[=].valueString = "status" +* parameter[=].part[+].name = "value" +* parameter[=].part[=].valueCode.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* parameter[=].part[=].valueCode.extension[=].valueString = "item.where(linkId='regularmedications-summary-current-status').answer.value.code" \ No newline at end of file diff --git a/input/fsh/profiles.fsh b/input/fsh/profiles.fsh index fa432dc9..50bdb4ea 100644 --- a/input/fsh/profiles.fsh +++ b/input/fsh/profiles.fsh @@ -89,4 +89,15 @@ Description: "This profile sets the minimum expectations for an Observation reso * dataAbsentReason MS * dataAbsentReason ^condition = "shc-heartrhythm-01" +Extension: TemplateExtractExtensionExtended +Parent: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract +Id: TemplateExtractExtensionExtended +Title: "Template Extract Extension Extended" +Description: "This extension is used to extend the Template Extract Extension to include additional information." +* extension contains type 0..1 +* extension[type] ^short = "Patch resource type" +* extension[type] ^definition = "When templating a Parameters resource, this is the kind of resource to be patched. It is used to help populate the request url." +* extension[type].value[x] 1.. +* extension[type].value[x] only code +* extension[type].value[x] from ResourceType (required) \ No newline at end of file diff --git a/input/fsh/terminology.fsh b/input/fsh/terminology.fsh index 999550f1..4e63fff6 100644 --- a/input/fsh/terminology.fsh +++ b/input/fsh/terminology.fsh @@ -772,6 +772,55 @@ Description: "Preferred value set for Condition Clinical Status." * ^expansion.contains[=].display = "Resolved" */ * include codes from system ConditionClinicalStatusCodes +/* +ValueSet: AllergyIntoleranceClinicalStatusCodes +Id: allergyintolerance-clinical +Title: "AllergyIntolerance Clinical Status Codes" +Description: "Preferred value set for AllergyIntolerance Clinical Status." +* ^meta.profile = "http://hl7.org/fhir/StructureDefinition/shareablevalueset" +* ^extension[0].url = "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg" +* ^extension[=].valueCode = #pc +* ^extension[+].url = "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status" +* ^extension[=].valueCode = #trial-use +* ^extension[+].url = "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm" +* ^extension[=].valueInteger = 3 +* ^url = "http://hl7.org/fhir/ValueSet/allergyintolerance-clinical" +* ^identifier.system = "urn:ietf:rfc:3986" +* ^identifier.value = "urn:oid:2.16.840.1.113883.4.642.3.1372" +* ^version = "4.0.1" +* ^status = #draft +* ^experimental = false +* ^date = "2019-11-01T09:29:23+11:00" +* ^publisher = "FHIR Project team" +* ^contact.telecom.system = #url +* ^contact.telecom.value = "http://hl7.org/fhir" +* ^immutable = true +* ^expansion.identifier = "urn:uuid:3bf59cb7-91f1-4509-93a6-e4914cc537ff" +* ^expansion.timestamp = "2025-06-17T14:23:17+10:00" +* ^expansion.total = 3 +* ^expansion.parameter[0].name = "used-codesystem" +* ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical|4.0.1" +* ^expansion.parameter[+].name = "version" +* ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical|4.0.1" +* ^expansion.parameter[+].name = "warning-draft" +* ^expansion.parameter[=].valueUri = "http://hl7.org/fhir/ValueSet/allergyintolerance-clinical|4.0.1" +* ^expansion.parameter[+].name = "warning-trial-use" +* ^expansion.parameter[=].valueUri = "http://hl7.org/fhir/ValueSet/allergyintolerance-clinical|4.0.1" +* ^expansion.parameter[+].name = "warning-trial-use" +* ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical|4.0.1" +* ^expansion.parameter[+].name = "warning-draft" +* ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical|4.0.1" +* ^expansion.contains[0].system = "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical" +* ^expansion.contains[=].code = #active +* ^expansion.contains[=].display = "Active" +* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical" +* ^expansion.contains[=].code = #inactive +* ^expansion.contains[=].display = "Inactive" +* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical" +* ^expansion.contains[=].code = #resolved +* ^expansion.contains[=].display = "Resolved" +* include codes from system AllergyIntoleranceClinicalStatusCodes +*/ Alias: $australian-states-territories-1 = https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1 From f8eb2c4fc9c9510956fff80e49ada711d684662f Mon Sep 17 00:00:00 2001 From: liambarnes Date: Tue, 17 Jun 2025 17:30:09 +1000 Subject: [PATCH 085/177] Fix merge conflict resolution --- ...onnaire-MedicalHistoryCurrentProblems.json | 83 +++---------------- .../fsh/715-Assessment-RegularMedications.fsh | 2 +- 2 files changed, 12 insertions(+), 73 deletions(-) diff --git a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json index 41efb1a1..2fb54b2d 100644 --- a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json +++ b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json @@ -373,79 +373,18 @@ "repeats": true } ], - "linkId": "92bd7d05-9b5e-4cf9-900b-703f361dad9d", - "text": "Medical history and current problems list", - "type": "group", - "repeats": true - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "code": "gtable", - "system": "http://hl7.org/fhir/questionnaire-item-control" - } - ] + "linkId": "medicalhistorysummary", + "text": "Medical history summary", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
\r\n

Medical history summary

\r\n

This section includes a list of existing items from the patient record. To update existing items, update the patient record and repopulate this form. To enter new items, add them at the bottom.

\r\n
" } - } - ], - "item": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "code": "autocomplete", - "system": "http://hl7.org/fhir/questionnaire-item-control" - } - ] - } - } - ], - "linkId": "2da85994-2d5e-42f1-8a81-abf44f397468", - "text": "Condition", - "type": "open-choice", - "answerValueSet": "#clinical-condition-1" - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "code": "drop-down", - "system": "http://hl7.org/fhir/questionnaire-item-control" - } - ] - } - } - ], - "linkId": "a7e056be-fb6f-4f7f-b04d-5b809e1e18e3", - "text": "Clinical Status", - "type": "choice", - "answerValueSet": "#condition-clinical" - }, - { - "linkId": "e4524654-f6de-4717-b288-34919394d46b", - "text": "Onset Date", - "type": "date" - }, - { - "linkId": "5bc1d8f4-6e8c-4695-916c-1ef767306e46", - "text": "Recorded Date", - "type": "date" - } - ], - "linkId": "4484cacd-a260-4e5f-83c1-168ca2396c04", - "text": "New diagnoses list", - "type": "group", - "repeats": true }, + ] + }, + "type": "group" + }, { "linkId": "62774152-8a6e-4449-af9f-87bdce8b9bf5", "text": "Health priorities, actions and follow-up", diff --git a/input/fsh/715-Assessment-RegularMedications.fsh b/input/fsh/715-Assessment-RegularMedications.fsh index 0c8bdca6..a8ab4c08 100644 --- a/input/fsh/715-Assessment-RegularMedications.fsh +++ b/input/fsh/715-Assessment-RegularMedications.fsh @@ -346,6 +346,6 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * item.item[+].linkId = "MarkComplete-23" * item.item[=].text = "Mark section as complete" -* item.item[=].text.extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" +* item.item[=].text.extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" * item.item[=].type = #boolean * item.item[=].repeats = false \ No newline at end of file From 19deece25c86ce6f1ebea2feff4b1faf28d44c93 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Tue, 17 Jun 2025 17:47:50 +1000 Subject: [PATCH 086/177] Fix heart rhythm profile and slice references --- .../resources/Questionnaire-Immunisation.json | 48 +++++++++---------- ...efinition-SmartHealthCheckHeartRhythm.json | 18 +++---- input/fsh/715-Assessment-Immunisation.fsh | 7 +-- input/fsh/extract-templates.fsh | 6 +-- input/fsh/profiles.fsh | 18 +++---- 5 files changed, 47 insertions(+), 50 deletions(-) diff --git a/fsh-generated/resources/Questionnaire-Immunisation.json b/fsh-generated/resources/Questionnaire-Immunisation.json index 2a12d575..c4f1f375 100644 --- a/fsh-generated/resources/Questionnaire-Immunisation.json +++ b/fsh-generated/resources/Questionnaire-Immunisation.json @@ -308,6 +308,30 @@ "repeats": true }, { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "gtable", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + }, + { + "extension": [ + { + "url": "template", + "valueReference": { + "reference": "#ImmunizationTemplate" + } + } + ], + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract" + } + ], "item": [ { "extension": [ @@ -344,30 +368,6 @@ "type": "string" } ], - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "code": "gtable", - "system": "http://hl7.org/fhir/questionnaire-item-control" - } - ] - } - }, - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract", - "extension": [ - { - "url": "template", - "valueReference": { - "reference": "#ImmunizationTemplate" - } - } - ] - } - ], "linkId": "vaccinestoday", "text": "Vaccines given today", "type": "group", diff --git a/fsh-generated/resources/StructureDefinition-SmartHealthCheckHeartRhythm.json b/fsh-generated/resources/StructureDefinition-SmartHealthCheckHeartRhythm.json index da3064f3..7e487f99 100644 --- a/fsh-generated/resources/StructureDefinition-SmartHealthCheckHeartRhythm.json +++ b/fsh-generated/resources/StructureDefinition-SmartHealthCheckHeartRhythm.json @@ -100,41 +100,41 @@ "mustSupport": true }, { - "id": "Observation.code.coding:loincHeartRateCode", + "id": "Observation.code.coding:loincHeartRhythmCode", "path": "Observation.code.coding", - "sliceName": "loincHeartRateCode", + "sliceName": "loincHeartRhythmCode", "min": 1, "max": "1", "mustSupport": true }, { - "id": "Observation.code.coding:loincHeartRateCode.system", + "id": "Observation.code.coding:loincHeartRhythmCode.system", "path": "Observation.code.coding.system", "min": 1, "fixedUri": "http://loinc.org" }, { - "id": "Observation.code.coding:loincHeartRateCode.code", + "id": "Observation.code.coding:loincHeartRhythmCode.code", "path": "Observation.code.coding.code", "min": 1, - "fixedCode": "8867-4" + "fixedCode": "8884-9" }, { - "id": "Observation.code.coding:snomedHeartRateCode", + "id": "Observation.code.coding:snomedHeartRhythmCode", "path": "Observation.code.coding", - "sliceName": "snomedHeartRateCode", + "sliceName": "snomedHeartRhythmCode", "min": 1, "max": "1", "mustSupport": true }, { - "id": "Observation.code.coding:snomedHeartRateCode.system", + "id": "Observation.code.coding:snomedHeartRhythmCode.system", "path": "Observation.code.coding.system", "min": 1, "fixedUri": "http://snomed.info/sct" }, { - "id": "Observation.code.coding:snomedHeartRateCode.code", + "id": "Observation.code.coding:snomedHeartRhythmCode.code", "path": "Observation.code.coding.code", "min": 1, "fixedCode": "364074009" diff --git a/input/fsh/715-Assessment-Immunisation.fsh b/input/fsh/715-Assessment-Immunisation.fsh index 6aa258b7..04d82486 100644 --- a/input/fsh/715-Assessment-Immunisation.fsh +++ b/input/fsh/715-Assessment-Immunisation.fsh @@ -207,11 +207,8 @@ Description: "Immunisation sub-questionnaire for Aboriginal and Torres Strait Is * item[+] - * extension[+].url = "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl" - * extension[=].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#gtable - * extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract" - * extension[=].extension[+].url = "template" - * extension[=].extension[=].valueReference = Reference(ImmunizationTemplate) + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#gtable + * extension[sdc-questionnaire-templateExtract].extension[template].valueReference = Reference(ImmunizationTemplate) * linkId = "vaccinestoday" * text = "Vaccines given today" * type = #group diff --git a/input/fsh/extract-templates.fsh b/input/fsh/extract-templates.fsh index e74ed296..582b1aa6 100644 --- a/input/fsh/extract-templates.fsh +++ b/input/fsh/extract-templates.fsh @@ -151,9 +151,9 @@ Instance: HeartRhythmTemplate InstanceOf: SmartHealthCheckHeartRhythm Usage: #inline * status = #final -* category = $observation-category#vital-signs -* code.coding[+] = $LNC#8884-9 -* code.coding[+] = $SCT#364074009 +* category[vitalSignsCategory] = $observation-category#vital-signs +* code.coding[loincHeartRhythmCode] = $LNC#8884-9 +* code.coding[snomedHeartRhythmCode] = $SCT#364074009 * code.text = "Heart rhythm" * subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * subject.reference.extension[=].valueString = "%resource.subject.reference" diff --git a/input/fsh/profiles.fsh b/input/fsh/profiles.fsh index 50bdb4ea..85e33a86 100644 --- a/input/fsh/profiles.fsh +++ b/input/fsh/profiles.fsh @@ -65,15 +65,15 @@ Description: "This profile sets the minimum expectations for an Observation reso * code.coding ^slicing.discriminator[=].path = "system" * code.coding ^slicing.ordered = false * code.coding ^slicing.rules = #open -* code.coding contains loincHeartRateCode 1..1 MS and snomedHeartRateCode 1..1 MS -* code.coding[loincHeartRateCode].system 1..1 -* code.coding[loincHeartRateCode].system = "http://loinc.org" (exactly) -* code.coding[loincHeartRateCode].code 1..1 -* code.coding[loincHeartRateCode].code = #8867-4 (exactly) -* code.coding[snomedHeartRateCode].system 1..1 -* code.coding[snomedHeartRateCode].system = "http://snomed.info/sct" (exactly) -* code.coding[snomedHeartRateCode].code 1..1 -* code.coding[snomedHeartRateCode].code = #364074009 (exactly) +* code.coding contains loincHeartRhythmCode 1..1 MS and snomedHeartRhythmCode 1..1 MS +* code.coding[loincHeartRhythmCode].system 1..1 +* code.coding[loincHeartRhythmCode].system = "http://loinc.org" (exactly) +* code.coding[loincHeartRhythmCode].code 1..1 +* code.coding[loincHeartRhythmCode].code = #8884-9 (exactly) +* code.coding[snomedHeartRhythmCode].system 1..1 +* code.coding[snomedHeartRhythmCode].system = "http://snomed.info/sct" (exactly) +* code.coding[snomedHeartRhythmCode].code 1..1 +* code.coding[snomedHeartRhythmCode].code = #364074009 (exactly) * subject 1.. MS * subject only Reference($au-core-patient) * effective[x] 1.. MS From c0317ece1c8756cac504160e8e70855c971969b4 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Wed, 18 Jun 2025 09:47:10 +1000 Subject: [PATCH 087/177] Minor bug fixes --- .../resources/Questionnaire-AboutTheHealthCheck.json | 2 +- .../resources/Questionnaire-AllergiesAdverseReactions.json | 2 +- fsh-generated/resources/Questionnaire-Immunisation.json | 6 +++--- fsh-generated/resources/Questionnaire-SubstanceUse.json | 2 +- input/fsh/715-AboutTheHealthCheck.fsh | 2 +- input/fsh/715-Assessment-AllergiesAdverseReactions.fsh | 2 +- input/fsh/715-Assessment-Immunisation.fsh | 6 +++--- input/fsh/715-Assessment-SubstanceUse.fsh | 2 +- 8 files changed, 12 insertions(+), 12 deletions(-) diff --git a/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json b/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json index bab714d4..602ca750 100644 --- a/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json +++ b/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json @@ -152,7 +152,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%QuestionnaireResponseLatestCompleted.entry.resource.authored" + "expression": "%QuestionnaireResponseLatestCompleted.entry.resource.authored.toDate()" } } ], diff --git a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json index bea0e468..6d34ec93 100644 --- a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json +++ b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json @@ -192,7 +192,7 @@ "valueCoding": { "code": "inactive", "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical", - "display": "inactive" + "display": "Inactive" } } ] diff --git a/fsh-generated/resources/Questionnaire-Immunisation.json b/fsh-generated/resources/Questionnaire-Immunisation.json index c4f1f375..697e8c5c 100644 --- a/fsh-generated/resources/Questionnaire-Immunisation.json +++ b/fsh-generated/resources/Questionnaire-Immunisation.json @@ -234,13 +234,13 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%ImmunizationRepeat.occurrence.ofType(dateTime)" + "expression": "%ImmunizationRepeat.occurrence.ofType(dateTime).toDate()" } } ], "linkId": "vaccinesprevious-date", "text": "Administration date", - "type": "dateTime" + "type": "date" }, { "extension": [ @@ -360,7 +360,7 @@ { "linkId": "vaccinestoday-date", "text": "Administration date", - "type": "dateTime" + "type": "date" }, { "linkId": "vaccinestoday-comment", diff --git a/fsh-generated/resources/Questionnaire-SubstanceUse.json b/fsh-generated/resources/Questionnaire-SubstanceUse.json index 6b2b1c44..f7730992 100644 --- a/fsh-generated/resources/Questionnaire-SubstanceUse.json +++ b/fsh-generated/resources/Questionnaire-SubstanceUse.json @@ -115,7 +115,7 @@ "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(%ObsTobaccoSmokingStatus.entry.resource.value.coding.where(system='http://snomed.info/sct').empty() = true, 'Not available', %ObsTobaccoSmokingStatus.entry.resource.value.coding.where(system='http://snomed.info/sct').first().display) + ' (' + %ObsTobaccoSmokingStatus.entry.resource.effective.toDate().toString() + ')')" + "expression": "iif(%ObsTobaccoSmokingStatus.entry.resource.value.coding.where(system='http://snomed.info/sct').empty() = true, 'Not available', %ObsTobaccoSmokingStatus.entry.resource.value.coding.where(system='http://snomed.info/sct').first().display + ' (' + %ObsTobaccoSmokingStatus.entry.resource.effective.toDate().toString() + ')')" } } ] diff --git a/input/fsh/715-AboutTheHealthCheck.fsh b/input/fsh/715-AboutTheHealthCheck.fsh index 05c2ee55..5c529de8 100644 --- a/input/fsh/715-AboutTheHealthCheck.fsh +++ b/input/fsh/715-AboutTheHealthCheck.fsh @@ -145,7 +145,7 @@ Description: "About The Health Check sub-questionnaire for Aboriginal and Torres * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath - * expression = "%QuestionnaireResponseLatestCompleted.entry.resource.authored" + * expression = "%QuestionnaireResponseLatestCompleted.entry.resource.authored.toDate()" * linkId = "01418489-1ec4-4c3b-b96a-7c14c3e21cfe" * text = "Date of last completed health check" * type = #date diff --git a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh index ba9c5686..c0001c04 100644 --- a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh +++ b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh @@ -152,7 +152,7 @@ Description: "Allergies/Adverse Reactions sub-questionnaire for Aboriginal and T * item[=].item[=].item[=].item[=].type = #choice * item[=].item[=].item[=].item[=].repeats = false * item[=].item[=].item[=].item[=].answerOption[+].valueCoding = http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical#active "Active" -* item[=].item[=].item[=].item[=].answerOption[+].valueCoding = http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical#inactive "inactive" +* item[=].item[=].item[=].item[=].answerOption[+].valueCoding = http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical#inactive "Inactive" * item[=].item[=].item[=].item[+].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression" * item[=].item[=].item[=].item[=].extension[=].valueExpression[+].language = #text/fhirpath * item[=].item[=].item[=].item[=].extension[=].valueExpression[=].expression = "%AllergyIntoleranceRepeat.reaction.manifestation.coding" diff --git a/input/fsh/715-Assessment-Immunisation.fsh b/input/fsh/715-Assessment-Immunisation.fsh index 04d82486..98cbcaf7 100644 --- a/input/fsh/715-Assessment-Immunisation.fsh +++ b/input/fsh/715-Assessment-Immunisation.fsh @@ -177,10 +177,10 @@ Description: "Immunisation sub-questionnaire for Aboriginal and Torres Strait Is * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath - * expression = "%ImmunizationRepeat.occurrence.ofType(dateTime)" + * expression = "%ImmunizationRepeat.occurrence.ofType(dateTime).toDate()" * linkId = "vaccinesprevious-date" * text = "Administration date" - * type = #dateTime + * type = #date * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath @@ -226,7 +226,7 @@ Description: "Immunisation sub-questionnaire for Aboriginal and Torres Strait Is * item[+] * linkId = "vaccinestoday-date" * text = "Administration date" - * type = #dateTime + * type = #date * item[+] * linkId = "vaccinestoday-comment" * text = "Comment" diff --git a/input/fsh/715-Assessment-SubstanceUse.fsh b/input/fsh/715-Assessment-SubstanceUse.fsh index 63a45dd4..aa2bf295 100644 --- a/input/fsh/715-Assessment-SubstanceUse.fsh +++ b/input/fsh/715-Assessment-SubstanceUse.fsh @@ -126,7 +126,7 @@ Description: "Substance Use sub-questionnaire for Aboriginal and Torres Strait I * text = "Last status" * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression * language = #text/fhirpath - * expression = "iif(%ObsTobaccoSmokingStatus.entry.resource.value.coding.where(system='http://snomed.info/sct').empty() = true, 'Not available', %ObsTobaccoSmokingStatus.entry.resource.value.coding.where(system='http://snomed.info/sct').first().display) + ' (' + %ObsTobaccoSmokingStatus.entry.resource.effective.toDate().toString() + ')')" + * expression = "iif(%ObsTobaccoSmokingStatus.entry.resource.value.coding.where(system='http://snomed.info/sct').empty() = true, 'Not available', %ObsTobaccoSmokingStatus.entry.resource.value.coding.where(system='http://snomed.info/sct').first().display + ' (' + %ObsTobaccoSmokingStatus.entry.resource.effective.toDate().toString() + ')')" * type = #display * repeats = false * item[+] From 57ae1b90f98775d5a279e74ec9c7377cac810b7b Mon Sep 17 00:00:00 2001 From: liambarnes Date: Wed, 18 Jun 2025 09:53:47 +1000 Subject: [PATCH 088/177] Uncomment age enableWhenExpressions --- ...estionnaire-AllergiesAdverseReactions.json | 9 ++ .../Questionnaire-ExaminationExtract.json | 115 ++++++++++++++++++ .../resources/Questionnaire-Immunisation.json | 9 ++ ...onnaire-MedicalHistoryCurrentProblems.json | 9 ++ .../Questionnaire-RegularMedications.json | 25 ++++ ...5-Assessment-AllergiesAdverseReactions.fsh | 4 +- .../fsh/715-Assessment-ExaminationExtract.fsh | 52 ++++---- input/fsh/715-Assessment-Immunisation.fsh | 4 +- ...sessment-MedicalHistoryCurrentProblems.fsh | 4 +- .../fsh/715-Assessment-RegularMedications.fsh | 16 +-- 10 files changed, 207 insertions(+), 40 deletions(-) diff --git a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json index 6d34ec93..f2cd1771 100644 --- a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json +++ b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json @@ -10,6 +10,15 @@ }, "item": [ { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%age.exists()" + } + } + ], "item": [ { "extension": [ diff --git a/fsh-generated/resources/Questionnaire-ExaminationExtract.json b/fsh-generated/resources/Questionnaire-ExaminationExtract.json index 4a973f5e..b57f0751 100644 --- a/fsh-generated/resources/Questionnaire-ExaminationExtract.json +++ b/fsh-generated/resources/Questionnaire-ExaminationExtract.json @@ -10,6 +10,15 @@ }, "item": [ { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%age.exists()" + } + } + ], "item": [ { "extension": [ @@ -78,6 +87,15 @@ ] }, { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%age <= 12" + } + } + ], "linkId": "d15824f8-eafc-4fa0-80a2-82f0ec7f8728", "text": "Growth measures recorded on Centers for Disease Control and Prevention (CDC) and World Health Organization (WHO) growth charts for centile and tracking overtime", "type": "display" @@ -112,6 +130,15 @@ ], "item": [ { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%age <= 5" + } + } + ], "item": [ { "linkId": "837cd0ce-4a9e-4c8b-8679-007ed961f121", @@ -190,6 +217,15 @@ "repeats": false }, { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%age > 5" + } + } + ], "item": [ { "linkId": "7035c7e7-ada3-4c6b-9ea8-f39666f5d4ea", @@ -346,6 +382,15 @@ "repeats": false }, { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%age > 12" + } + } + ], "item": [ { "linkId": "2ada6633-03c6-4b05-bc23-18dec84ec150", @@ -416,6 +461,15 @@ "repeats": false }, { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%age <= 12" + } + } + ], "item": [ { "linkId": "7a4a6aac-558e-4bec-86c5-326ae07e37d6", @@ -494,6 +548,15 @@ "repeats": false }, { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%age >= 18" + } + } + ], "item": [ { "linkId": "8df0f5d8-821d-4f71-b3c1-d164616ea2f5", @@ -727,6 +790,13 @@ }, { "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%age > 12" + } + }, { "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", "valueCodeableConcept": { @@ -860,30 +930,75 @@ "repeats": false }, { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%age <= 12" + } + } + ], "linkId": "213a3eac-e530-4e27-859c-407136c7a0a6", "text": "Cardiac auscultation", "type": "text", "repeats": false }, { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%age <= 12" + } + } + ], "linkId": "8886f3bb-52de-4294-a5cb-8f960e2a6bbe", "text": "Abdominal examination", "type": "text", "repeats": false }, { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%age <= 12" + } + } + ], "linkId": "5e10229c-390d-4968-90d3-f896840f3c50", "text": "Gait examination (musculoskeletal structure, balance, coordination)", "type": "text", "repeats": false }, { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%age < 1" + } + } + ], "linkId": "6c69ee91-f777-494c-bf09-d963773cd4ae", "text": "Newborn examination (if indicated, infant aged <=6 weeks)", "type": "text", "repeats": false }, { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%age <= 12" + } + } + ], "linkId": "7a431d03-1726-4905-aae7-49f62a10ce5e", "text": "Haemoglobin (children at risk of iron deficiency anaemia)", "type": "string", diff --git a/fsh-generated/resources/Questionnaire-Immunisation.json b/fsh-generated/resources/Questionnaire-Immunisation.json index 697e8c5c..d5a37b10 100644 --- a/fsh-generated/resources/Questionnaire-Immunisation.json +++ b/fsh-generated/resources/Questionnaire-Immunisation.json @@ -10,6 +10,15 @@ }, "item": [ { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%age.exists()" + } + } + ], "item": [ { "extension": [ diff --git a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json index 2fb54b2d..6f4bc6b7 100644 --- a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json +++ b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json @@ -10,6 +10,15 @@ }, "item": [ { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%age.exists()" + } + } + ], "item": [ { "extension": [ diff --git a/fsh-generated/resources/Questionnaire-RegularMedications.json b/fsh-generated/resources/Questionnaire-RegularMedications.json index 8bdaad1d..9a660f56 100644 --- a/fsh-generated/resources/Questionnaire-RegularMedications.json +++ b/fsh-generated/resources/Questionnaire-RegularMedications.json @@ -365,6 +365,13 @@ }, { "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%age <= 12" + } + }, { "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", "valueCodeableConcept": { @@ -393,6 +400,13 @@ }, { "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%age > 12" + } + }, { "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", "valueCodeableConcept": { @@ -478,6 +492,17 @@ } ], "linkId": "7dfe7c6a-ca7f-4ddf-9241-a7b918a9695a", + "_linkId": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%age.exists()" + } + } + ] + }, "text": "Regular medications", "type": "group", "repeats": false diff --git a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh index c0001c04..d3121f2b 100644 --- a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh +++ b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh @@ -78,9 +78,9 @@ Description: "Allergies/Adverse Reactions sub-questionnaire for Aboriginal and T * jurisdiction.coding = urn:iso:std:iso:3166#AU * item[+] - /** extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath - * expression = "%age.exists()"*/ + * expression = "%age.exists()" * linkId = "allergy" * text = "Allergies/adverse reactions" * type = #group diff --git a/input/fsh/715-Assessment-ExaminationExtract.fsh b/input/fsh/715-Assessment-ExaminationExtract.fsh index 2ce4e974..cc398a61 100644 --- a/input/fsh/715-Assessment-ExaminationExtract.fsh +++ b/input/fsh/715-Assessment-ExaminationExtract.fsh @@ -134,9 +134,9 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * item[+] - /** extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath - * expression = "%age.exists()"*/ + * expression = "%age.exists()" * linkId = "c587e3b6-b91a-40dc-9a16-179342d001e9" * text = "Examination" * type = #group @@ -163,9 +163,9 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * answerBoolean = true * item[+] - /* * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath - * expression = "%age <= 12"*/ + * expression = "%age <= 12" * linkId = "d15824f8-eafc-4fa0-80a2-82f0ec7f8728" * text = "Growth measures recorded on Centers for Disease Control and Prevention (CDC) and World Health Organization (WHO) growth charts for centile and tracking overtime" * type = #display @@ -185,9 +185,9 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * type = #group * repeats = false * item[+] - /** extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath - * expression = "%age <= 5"*/ + * expression = "%age <= 5" * linkId = "4e32e9b2-82e6-41ea-9545-79e928f7d6c2" * text = "Length/Height" * type = #group @@ -219,9 +219,9 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * type = #date * repeats = false * item[+] - /** extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath - * expression = "%age > 5"*/ + * expression = "%age > 5" * linkId = "6226a5c5-b5c3-4ebb-a689-2b286322cfe0" * text = "Height" * type = #group @@ -284,9 +284,9 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * type = #date * repeats = false * item[+] - /** extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath - * expression = "%age > 12"*/ + * expression = "%age > 12" * linkId = "bc209c5e-ed28-48e3-b1a1-55cb7e435d8b" * text = "BMI (calculated)" * type = #group @@ -317,9 +317,9 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * text = "kg/m2" * type = #display * item[+] - /** extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath - * expression = "%age <= 12"*/ + * expression = "%age <= 12" * linkId = "d3557f55-1abf-401c-aada-2d4380151c56" * text = "Head circumference" * type = #group @@ -351,9 +351,9 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * type = #date * repeats = false * item[+] - /** extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath - * expression = "%age >= 18"*/ + * expression = "%age >= 18" * linkId = "ec884b64-ed8d-485b-930f-e7ac18ad4cc9" * text = "Waist circumference" * type = #group @@ -446,9 +446,9 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl // Blood pressure observations table with dates * item[+] - /** extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath - * expression = "%age > 12"*/ + * expression = "%age > 12" * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control|1.0.0#grid * linkId = "3639c586-9576-48d3-a52b-e91fd2138581" * type = #group @@ -518,42 +518,42 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl */ // needs assessment for potentional coded response * item[+] - /** extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath - * expression = "%age <= 12"*/ + * expression = "%age <= 12" * linkId = "213a3eac-e530-4e27-859c-407136c7a0a6" * text = "Cardiac auscultation" * type = #text * repeats = false * item[+] - /** extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath - * expression = "%age <= 12"*/ + * expression = "%age <= 12" * linkId = "8886f3bb-52de-4294-a5cb-8f960e2a6bbe" * text = "Abdominal examination" * type = #text * repeats = false * item[+] - /** extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath - * expression = "%age <= 12"*/ + * expression = "%age <= 12" * linkId = "5e10229c-390d-4968-90d3-f896840f3c50" * text = "Gait examination (musculoskeletal structure, balance, coordination)" * type = #text * repeats = false * item[+] - /** extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath - * expression = "%age < 1"*/ + * expression = "%age < 1" * linkId = "6c69ee91-f777-494c-bf09-d963773cd4ae" * text = "Newborn examination (if indicated, infant aged <=6 weeks)" * type = #text * repeats = false // needs assessment for what is being recorded. Actual measurement result or result interpretation? * item[+] - /** extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath - * expression = "%age <= 12"*/ + * expression = "%age <= 12" * linkId = "7a431d03-1726-4905-aae7-49f62a10ce5e" * text = "Haemoglobin (children at risk of iron deficiency anaemia)" * type = #string diff --git a/input/fsh/715-Assessment-Immunisation.fsh b/input/fsh/715-Assessment-Immunisation.fsh index 98cbcaf7..7bfc5d9b 100644 --- a/input/fsh/715-Assessment-Immunisation.fsh +++ b/input/fsh/715-Assessment-Immunisation.fsh @@ -79,9 +79,9 @@ Description: "Immunisation sub-questionnaire for Aboriginal and Torres Strait Is * jurisdiction.coding = urn:iso:std:iso:3166#AU * item[+] - /** extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath - * expression = "%age.exists()"*/ + * expression = "%age.exists()" * linkId = "205677d6-17c7-4285-a7c4-61aa02b6c816" * text = "Immunisation" * type = #group diff --git a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh index 88200404..4b9d86cf 100644 --- a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh +++ b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh @@ -82,9 +82,9 @@ Description: "Medical History sub-questionnaire for Aboriginal and Torres Strait * jurisdiction.coding = urn:iso:std:iso:3166#AU * item[+] - /** extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath - * expression = "%age.exists()"*/ + * expression = "%age.exists()" * linkId = "28d5dbe4-1e65-487c-847a-847f544a6a91" * text = "Medical history and current problems" * type = #group diff --git a/input/fsh/715-Assessment-RegularMedications.fsh b/input/fsh/715-Assessment-RegularMedications.fsh index a8ab4c08..5f95f8d5 100644 --- a/input/fsh/715-Assessment-RegularMedications.fsh +++ b/input/fsh/715-Assessment-RegularMedications.fsh @@ -112,9 +112,9 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * jurisdiction.coding = urn:iso:std:iso:3166#AU * item.linkId = "7dfe7c6a-ca7f-4ddf-9241-a7b918a9695a" - /** extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath - * expression = "%age.exists()"*/ + * expression = "%age.exists()" * item.text = "Regular medications" * item.type = #group * item.repeats = false @@ -292,9 +292,9 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * item.item[=].item[=].item[=].type = #string * item.item[=].item[=].item[=].repeats = false -//* item.item[+].extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression.language = #text/fhirpath -//* item.item[=].extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression.expression = "%age <= 12" -* item.item[+].extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#radio-button +* item.item[+].extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression.language = #text/fhirpath +* item.item[=].extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression.expression = "%age <= 12" +* item.item[=].extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#radio-button * item.item[=].extension[questionnaire-choiceOrientation].valueCode = #horizontal * item.item[=].linkId = "6eb59145-ed9a-4184-af83-3506d47e4d4e" * item.item[=].text = "Does your child take any regular medications (prescribed, over-the-counter, traditional, complementary and alternative)?" @@ -302,9 +302,9 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * item.item[=].type = #choice * item.item[=].repeats = false * item.item[=].answerValueSet = "#YesNo" -//* item.item[+].extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression.language = #text/fhirpath -//* item.item[=].extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression.expression = "%age > 12" -* item.item[+].extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#radio-button +* item.item[+].extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression.language = #text/fhirpath +* item.item[=].extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression.expression = "%age > 12" +* item.item[=].extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#radio-button * item.item[=].extension[questionnaire-choiceOrientation].valueCode = #horizontal * item.item[=].linkId = "3a2d27b6-e918-4df5-aca9-b374fcf9faad" * item.item[=].text = "Do you take any regular medications (prescribed, over-the-counter, traditional, complementary and alternative)?" From acc44865693f79fea9606982df6830ff9676da29 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Wed, 18 Jun 2025 10:01:24 +1000 Subject: [PATCH 089/177] Consolidate examination sub-questionnaires --- ...ntationGuide-csiro.fhir.au.smartforms.json | 22 +- .../Questionnaire-AssemblyInstructions.json | 12 +- .../resources/Questionnaire-Examination.json | 1035 ++++++++-- .../Questionnaire-ExaminationExtract.json | 1749 ----------------- input/fsh/715-AssemblyInstructions.fsh | 16 +- input/fsh/715-Assessment-Examination.fsh | 261 ++- .../fsh/715-Assessment-ExaminationExtract.fsh | 573 ------ 7 files changed, 1049 insertions(+), 2619 deletions(-) delete mode 100644 fsh-generated/resources/Questionnaire-ExaminationExtract.json delete mode 100644 input/fsh/715-Assessment-ExaminationExtract.fsh diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index 7c47320d..a62d3ae5 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -56,18 +56,18 @@ "resource": [ { "reference": { - "reference": "Questionnaire/AboriginalTorresStraitIslanderHealthCheck" + "reference": "Questionnaire/AssemblyInstructions" }, - "exampleBoolean": false, - "name": "Aboriginal and Torres Strait Islander Health Check" + "name": "Aboriginal and Torres Strait Islander Health Check", + "description": "Aboriginal and Torres Strait Islander Health Check assessment form.", + "exampleBoolean": true }, { "reference": { - "reference": "Questionnaire/AssemblyInstructions" + "reference": "Questionnaire/AboriginalTorresStraitIslanderHealthCheck" }, - "name": "Aboriginal and Torres Strait Islander Health Check (Extract)", - "description": "Aboriginal and Torres Strait Islander Health Check assessment form.", - "exampleBoolean": true + "exampleBoolean": false, + "name": "Aboriginal and Torres Strait Islander Health Check" }, { "reference": { @@ -133,14 +133,6 @@ "description": "Examination sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", "exampleBoolean": true }, - { - "reference": { - "reference": "Questionnaire/ExaminationExtract" - }, - "name": "Aboriginal and Torres Strait Islander Health Check - Examination (Extract)", - "description": "Examination sub-questionnaire for Aboriginal and Torres Strait Islander Health Check.", - "exampleBoolean": true - }, { "reference": { "reference": "Questionnaire/EyeHealth" diff --git a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json index e4a90960..c730c1db 100644 --- a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json +++ b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json @@ -616,11 +616,11 @@ "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-subQuestionnaire", - "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/ExaminationExtract|0.3.0" + "valueCanonical": "http://www.health.gov.au/assessments/mbs/715/Examination|0.3.0" } ], - "linkId": "5d89b095-fa2d-401c-954f-a2e102b77d50", - "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/ExaminationExtract|0.3.0] not available. Unable to display all questions.", + "linkId": "3263611d-5813-4393-a660-d10166acd728", + "text": "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Examination|0.3.0] not available. Unable to display all questions.", "type": "display" }, { @@ -2348,9 +2348,9 @@ } } ], - "url": "http://www.health.gov.au/assessments/mbs/715-extract", - "name": "AboriginalTorresStraitIslanderHealthCheck(Extract)", - "title": "Aboriginal and Torres Strait Islander Health Check (Extract)", + "url": "http://www.health.gov.au/assessments/mbs/715", + "name": "AboriginalTorresStraitIslanderHealthCheck", + "title": "Aboriginal and Torres Strait Islander Health Check", "status": "draft", "experimental": false, "subjectType": [ diff --git a/fsh-generated/resources/Questionnaire-Examination.json b/fsh-generated/resources/Questionnaire-Examination.json index 5bb7b3e9..48560550 100644 --- a/fsh-generated/resources/Questionnaire-Examination.json +++ b/fsh-generated/resources/Questionnaire-Examination.json @@ -100,6 +100,19 @@ "text": "Growth measures recorded on Centers for Disease Control and Prevention (CDC) and World Health Organization (WHO) growth charts for centile and tracking overtime", "type": "display" }, + { + "linkId": "examinationinstruction", + "text": "The tabled observations will display the most recent results available from the patient record. If required, new observations can be recorded and added to the tables.", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
The tabled observations will display the most recent results available from the patient record. If required, new observations can be recorded and added to the tables.

\r\n
" + } + ] + }, + "type": "display" + }, { "extension": [ { @@ -127,14 +140,36 @@ } ], "item": [ + { + "linkId": "837cd0ce-4a9e-4c8b-8679-007ed961f121", + "text": "Last result", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%ObsBodyHeight.entry.resource.value.value.empty() = true, 'Not available', %ObsBodyHeight.entry.resource.value.value.toString() + ' cm' + ' (' + %ObsBodyHeight.entry.resource.effective.toDate().toString() + ')')" + } + } + ] + }, + "type": "display", + "repeats": false, + "readOnly": true + }, { "extension": [ { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsBodyHeight.entry.resource.value.value" - } + "extension": [ + { + "url": "template", + "valueReference": { + "reference": "#BodyHeightLengthTemplate" + } + } + ], + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract" }, { "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", @@ -159,28 +194,19 @@ } } ], - "linkId": "e73c3643-8898-4ef8-8bc9-b4b3826ab790", + "linkId": "obslengthheight-newresult-unit", "text": "cm", "type": "display" } ], - "linkId": "837cd0ce-4a9e-4c8b-8679-007ed961f121", - "text": "Value", + "linkId": "obs-lengthheight-newresult", + "text": "New result", "type": "decimal", "repeats": false }, { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsBodyHeight.entry.resource.effective" - } - } - ], - "linkId": "b9faf79e-b5f7-443a-9203-67532e3a381f", - "text": "Date performed", + "linkId": "obs-lengthheight-newdate", + "text": "New result date", "type": "date", "repeats": false } @@ -201,14 +227,36 @@ } ], "item": [ + { + "linkId": "7035c7e7-ada3-4c6b-9ea8-f39666f5d4ea", + "text": "Last result", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%ObsBodyHeight.entry.resource.value.value.empty() = true, 'Not available', %ObsBodyHeight.entry.resource.value.value.toString() + ' cm' + ' (' + %ObsBodyHeight.entry.resource.effective.toDate().toString() + ')')" + } + } + ] + }, + "type": "display", + "repeats": false, + "readOnly": true + }, { "extension": [ { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsBodyHeight.entry.resource.value.value" - } + "extension": [ + { + "url": "template", + "valueReference": { + "reference": "#BodyHeightTemplate" + } + } + ], + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract" }, { "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", @@ -233,28 +281,19 @@ } } ], - "linkId": "387c95f0-8b54-4ad7-992d-8ab26a34fd77", + "linkId": "obs-height-newresult-unit", "text": "cm", "type": "display" } ], - "linkId": "7035c7e7-ada3-4c6b-9ea8-f39666f5d4ea", - "text": "Value", + "linkId": "obs-height-newresult", + "text": "New result", "type": "decimal", "repeats": false }, { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsBodyHeight.entry.resource.effective" - } - } - ], - "linkId": "c666ac96-1e64-40e2-8e0b-7d0187bb3e50", - "text": "Date performed", + "linkId": "obs-height-newdate", + "text": "New result date", "type": "date", "repeats": false } @@ -266,14 +305,36 @@ }, { "item": [ + { + "linkId": "443bd584-684a-449c-ab6e-9d07da4df9fa", + "text": "Last result", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%ObsBodyWeight.entry.resource.value.value.empty() = true, 'Not available', %ObsBodyWeight.entry.resource.value.value.toString() + ' kg' + ' (' + %ObsBodyWeight.entry.resource.effective.toDate().toString() + ')')" + } + } + ] + }, + "type": "display", + "repeats": false, + "readOnly": true + }, { "extension": [ { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsBodyWeight.entry.resource.value.value" - } + "extension": [ + { + "url": "template", + "valueReference": { + "reference": "#BodyWeightTemplate" + } + } + ], + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract" }, { "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", @@ -298,28 +359,19 @@ } } ], - "linkId": "5ba0d699-bc2a-45d0-8f40-f53cb21dc911", + "linkId": "obs-weight-newresult-unit", "text": "kg", "type": "display" } ], - "linkId": "443bd584-684a-449c-ab6e-9d07da4df9fa", - "text": "Value", + "linkId": "obs-weight-newresult", + "text": "New result", "type": "decimal", "repeats": false }, { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsBodyWeight.entry.resource.effective" - } - } - ], - "linkId": "92cdc1c7-eb6c-4f6d-9bd9-ae726a0e0d3d", - "text": "Date performed", + "linkId": "obs-weight-newdate", + "text": "New result date", "type": "date", "repeats": false } @@ -340,6 +392,24 @@ } ], "item": [ + { + "linkId": "2ada6633-03c6-4b05-bc23-18dec84ec150", + "text": "Last result", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%ObsBodyWeight.entry.resource.value.value.empty() = true or %ObsBodyHeight.entry.resource.value.value.empty() = true, 'Not available', (%ObsBodyWeight.entry.resource.value.value/((%ObsBodyHeight.entry.resource.value.value/100).power(2))).round(1).toString() + ' kg/m2')" + } + } + ] + }, + "type": "display", + "repeats": false, + "readOnly": true + }, { "extension": [ { @@ -373,20 +443,20 @@ } } ], - "linkId": "a709b8ec-9e65-40f0-a781-500cb3e56f3c", + "linkId": "obs-bmi-newresult-unit", "text": "kg/m2", "type": "display" } ], - "linkId": "2ada6633-03c6-4b05-bc23-18dec84ec150", - "text": "Value", + "linkId": "obs-bmi-newresult", + "text": "New result", "type": "decimal", "repeats": false, "readOnly": true } ], "linkId": "bc209c5e-ed28-48e3-b1a1-55cb7e435d8b", - "text": "BMI", + "text": "BMI (calculated)", "type": "group", "repeats": false }, @@ -401,14 +471,36 @@ } ], "item": [ + { + "linkId": "7a4a6aac-558e-4bec-86c5-326ae07e37d6", + "text": "Last result", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%ObsHeadCircumference.entry.resource.value.value.empty() = true, 'Not available', %ObsHeadCircumference.entry.resource.value.value.toString() + ' cm' + ' (' + %ObsHeadCircumference.entry.resource.effective.toDate().toString() + ')')" + } + } + ] + }, + "type": "display", + "repeats": false, + "readOnly": true + }, { "extension": [ { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsHeadCircumference.entry.resource.value.value" - } + "extension": [ + { + "url": "template", + "valueReference": { + "reference": "#HeadCircumferenceTemplate" + } + } + ], + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract" }, { "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", @@ -433,28 +525,19 @@ } } ], - "linkId": "73937983-65a0-4d40-8600-de7ca3277d5e", + "linkId": "obs-headcircumference-newresult-unit", "text": "cm", "type": "display" } ], - "linkId": "7a4a6aac-558e-4bec-86c5-326ae07e37d6", - "text": "Value", + "linkId": "obs-headcircumference-newresult", + "text": "New result", "type": "decimal", "repeats": false }, { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsHeadCircumference.entry.resource.effective" - } - } - ], - "linkId": "b8da15e7-8648-492b-9e82-ad5ab7cad179", - "text": "Date performed", + "linkId": "obs-headcircumference-newdate", + "text": "New result date", "type": "date", "repeats": false } @@ -476,20 +559,35 @@ ], "item": [ { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsWaistCircumference.entry.resource.value.value" + "linkId": "8df0f5d8-821d-4f71-b3c1-d164616ea2f5", + "text": "Last result", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%ObsWaistCircumference.entry.resource.value.value.empty() = true, 'Not available', %ObsWaistCircumference.entry.resource.value.value.toString() + ' cm' + ' (' + %ObsWaistCircumference.entry.resource.effective.toDate().toString() + ')')" + } } - }, + ] + }, + "type": "display", + "repeats": false, + "readOnly": true + }, + { + "extension": [ { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", - "valueCoding": { - "code": "cm", - "system": "http://unitsofmeasure.org" - } + "extension": [ + { + "url": "template", + "valueReference": { + "reference": "#WaistCircumferenceTemplate" + } + } + ], + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract" } ], "item": [ @@ -507,28 +605,19 @@ } } ], - "linkId": "19aeb0ab-7494-4bac-8b2d-d7d2527c1f4a", + "linkId": "obs-waistcircumference-newresult-unit", "text": "cm", "type": "display" } ], - "linkId": "8df0f5d8-821d-4f71-b3c1-d164616ea2f5", - "text": "Value", + "linkId": "obs-waistcircumference-newresult", + "text": "New result", "type": "decimal", "repeats": false }, { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsWaistCircumference.entry.resource.effective" - } - } - ], - "linkId": "3eb3b929-e67a-4331-8949-b8447b66a4c7", - "text": "Date performed", + "linkId": "obs-waistcircumference-newdate", + "text": "New result date", "type": "date", "repeats": false } @@ -540,14 +629,36 @@ }, { "item": [ + { + "linkId": "49029ef0-eaa8-44f8-b26a-177820c82dfd", + "text": "Last result", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%ObsHeartRate.entry.resource.value.value.empty() = true, 'Not available', %ObsHeartRate.entry.resource.value.value.round().toString() + ' /min' + ' (' + %ObsHeartRate.entry.resource.effective.toDate().toString() + ')')" + } + } + ] + }, + "type": "display", + "repeats": false, + "readOnly": true + }, { "extension": [ { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsHeartRate.entry.resource.value.value" - } + "extension": [ + { + "url": "template", + "valueReference": { + "reference": "#HeartRateTemplate" + } + } + ], + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract" }, { "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", @@ -572,28 +683,19 @@ } } ], - "linkId": "090964b9-be33-438b-8465-2a2a09632fde", + "linkId": "obs-heartrate-newresult-unit", "text": "/min", "type": "display" } ], - "linkId": "49029ef0-eaa8-44f8-b26a-177820c82dfd", - "text": "Value", + "linkId": "obs-heartrate-newresult", + "text": "New result", "type": "integer", "repeats": false }, { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsHeartRate.entry.resource.effective" - } - } - ], - "linkId": "feeac08f-2ba6-4048-80a2-10b3f90cf5e3", - "text": "Date performed", + "linkId": "obs-heartrate-newdate", + "text": "New result date", "type": "date", "repeats": false } @@ -605,8 +707,37 @@ }, { "item": [ + { + "linkId": "99a8eb6f-a36a-4daf-99d7-27bfde0d4bb1", + "text": "Last result", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%ObsHeartRhythm.entry.resource.value.coding.where(system='http://snomed.info/sct').first().empty() = true, 'Not available', %ObsHeartRhythm.entry.resource.value.coding.where(system='http://snomed.info/sct').first().display + ' (' + %ObsHeartRhythm.entry.resource.effective.toDate().toString() + ')')" + } + } + ] + }, + "type": "display", + "repeats": false, + "readOnly": true + }, { "extension": [ + { + "extension": [ + { + "url": "template", + "valueReference": { + "reference": "#HeartRhythmTemplate" + } + } + ], + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract" + }, { "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", "valueCodeableConcept": { @@ -619,8 +750,8 @@ } } ], - "linkId": "99a8eb6f-a36a-4daf-99d7-27bfde0d4bb1", - "text": "Value", + "linkId": "obs-heartrhythm-newresult", + "text": "New result", "type": "choice", "repeats": false, "answerOption": [ @@ -641,8 +772,8 @@ ] }, { - "linkId": "eeb56682-0eae-4428-9c37-0e63852026c0", - "text": "Date performed", + "linkId": "obs-heartrhythm-newdate", + "text": "New result date", "type": "date", "repeats": false } @@ -659,6 +790,13 @@ }, { "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%age > 12" + } + }, { "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", "valueCodeableConcept": { @@ -674,24 +812,37 @@ ], "item": [ { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%age > 12" - } - } - ], "item": [ + { + "linkId": "bp-bp-lastresult", + "text": "Last result", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8480-6')).value.value.empty() = true or %ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8462-4')).value.value.empty() = true, 'Not available', %ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8480-6')).value.value.round().toString() + ' / ' + %ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8462-4')).value.value.round().toString() + ' mm Hg (' + %ObsBloodPressure.entry.resource.effective.toDate().toString() + ')')" + } + } + ] + }, + "type": "display", + "repeats": false, + "readOnly": true + }, { "extension": [ { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8480-6')).value.value" - } + "extension": [ + { + "url": "template", + "valueReference": { + "reference": "#BloodPressureTemplate" + } + } + ], + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract" }, { "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", @@ -716,25 +867,18 @@ } } ], - "linkId": "197d212d-72cc-4c85-91dc-2f030d384391", + "linkId": "bp-newbp-systolic-unit", "text": "mm Hg", "type": "display" } ], - "linkId": "e68b660d-cfd2-4b89-957a-c96a4c73a5fd", + "linkId": "bp-newbp-systolic", "text": "Systolic", "type": "integer", "repeats": false }, { "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8462-4')).value.value" - } - }, { "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", "valueCoding": { @@ -758,27 +902,18 @@ } } ], - "linkId": "416ee494-4fa2-4b29-af0b-3d022f686e39", + "linkId": "bp-newbp-diastolic-unit", "text": "mm Hg", "type": "display" } ], - "linkId": "867b0022-f812-4f80-b287-79686c972b15", + "linkId": "bp-newbp-diastolic", "text": "Diastolic", "type": "integer", "repeats": false }, { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsBloodPressure.entry.resource.effective" - } - } - ], - "linkId": "a005050c-ed79-46ed-ac14-2fc1496059a5", + "linkId": "bp-newbp-date", "text": "Date performed", "type": "date", "repeats": false @@ -882,7 +1017,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, @@ -896,6 +1031,564 @@ "repeats": false } ], + "contained": [ + { + "resourceType": "Observation", + "id": "BodyHeightTemplate", + "meta": { + "profile": [ + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyheight" + ] + }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs" + } + ] + } + ], + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "8302-2" + }, + { + "system": "http://snomed.info/sct", + "code": "50373000" + } + ], + "text": "Height" + }, + "valueQuantity": { + "system": "http://unitsofmeasure.org", + "unit": "cm", + "code": "cm", + "_value": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "$this.answer.value" + } + ] + } + }, + "status": "final", + "subject": { + "_reference": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.subject.reference" + } + ] + } + }, + "_effectiveDateTime": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.repeat(item).where(linkId='obs-height-newdate').answer.value.toDateTime()" + } + ] + } + }, + { + "resourceType": "Observation", + "id": "BodyHeightLengthTemplate", + "meta": { + "profile": [ + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyheight" + ] + }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs" + } + ] + } + ], + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "8302-2" + }, + { + "system": "http://snomed.info/sct", + "code": "50373000" + } + ], + "text": "Height" + }, + "valueQuantity": { + "system": "http://unitsofmeasure.org", + "unit": "cm", + "code": "cm", + "_value": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "$this.answer.value" + } + ] + } + }, + "status": "final", + "subject": { + "_reference": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.subject.reference" + } + ] + } + }, + "_effectiveDateTime": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.repeat(item).where(linkId='obs-lengthheight-newdate').answer.value.toDateTime()" + } + ] + } + }, + { + "resourceType": "Observation", + "id": "BodyWeightTemplate", + "meta": { + "profile": [ + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyweight" + ] + }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs" + } + ] + } + ], + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "29463-7" + }, + { + "system": "http://snomed.info/sct", + "code": "27113001" + } + ], + "text": "Weight" + }, + "valueQuantity": { + "system": "http://unitsofmeasure.org", + "unit": "kg", + "code": "kg", + "_value": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "$this.answer.value" + } + ] + } + }, + "status": "final", + "subject": { + "_reference": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.subject.reference" + } + ] + } + }, + "_effectiveDateTime": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.repeat(item).where(linkId='obs-weight-newdate').answer.value.toDateTime()" + } + ] + } + }, + { + "resourceType": "Observation", + "id": "WaistCircumferenceTemplate", + "meta": { + "profile": [ + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-waistcircum" + ] + }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs" + } + ] + } + ], + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "8280-0" + }, + { + "system": "http://snomed.info/sct", + "code": "276361009" + } + ], + "text": "Waist circumference" + }, + "valueQuantity": { + "system": "http://unitsofmeasure.org", + "unit": "cm", + "code": "cm", + "_value": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "$this.answer.value" + } + ] + } + }, + "status": "final", + "subject": { + "_reference": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.subject.reference" + } + ] + } + }, + "_effectiveDateTime": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.repeat(item).where(linkId='obs-waistcircumference-newdate').answer.value.toDateTime()" + } + ] + } + }, + { + "resourceType": "Observation", + "id": "HeadCircumferenceTemplate", + "meta": { + "profile": [ + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum" + ] + }, + "status": "final", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs" + } + ] + } + ], + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "9843-4" + }, + { + "system": "http://snomed.info/sct", + "code": "363812007" + } + ], + "text": "Head circumference" + }, + "valueQuantity": { + "system": "http://unitsofmeasure.org", + "unit": "cm", + "code": "cm", + "_value": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "$this.answer.value" + } + ] + } + }, + "subject": { + "_reference": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.subject.reference" + } + ] + } + }, + "_effectiveDateTime": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.repeat(item).where(linkId='obs-headcircumference-newdate').answer.value.toDateTime()" + } + ] + } + }, + { + "resourceType": "Observation", + "id": "HeartRateTemplate", + "meta": { + "profile": [ + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-heartrate" + ] + }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs" + } + ] + } + ], + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "8867-4" + }, + { + "system": "http://snomed.info/sct", + "code": "364075005" + } + ], + "text": "Heart rate" + }, + "valueQuantity": { + "system": "http://unitsofmeasure.org", + "code": "/min", + "unit": "/min", + "_value": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "$this.answer.value.toDecimal()" + } + ] + } + }, + "status": "final", + "subject": { + "_reference": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.subject.reference" + } + ] + } + }, + "_effectiveDateTime": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.repeat(item).where(linkId='obs-heartrate-newdate').answer.value.toDateTime()" + } + ] + } + }, + { + "resourceType": "Observation", + "id": "HeartRhythmTemplate", + "meta": { + "profile": [ + "https://smartforms.csiro.au/ig/StructureDefinition/SmartHealthCheckHeartRhythm" + ] + }, + "category": [ + { + "coding": [ + { + "code": "vital-signs", + "system": "http://terminology.hl7.org/CodeSystem/observation-category" + } + ] + } + ], + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "8884-9" + }, + { + "system": "http://snomed.info/sct", + "code": "364074009" + } + ], + "text": "Heart rhythm" + }, + "status": "final", + "subject": { + "_reference": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.subject.reference" + } + ] + } + }, + "valueCodeableConcept": { + "coding": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "$this.answer.value" + } + ] + } + ] + }, + "_effectiveDateTime": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.repeat(item).where(linkId='obs-heartrhythm-newdate').answer.value.toDateTime()" + } + ] + } + }, + { + "resourceType": "Observation", + "id": "BloodPressureTemplate", + "meta": { + "profile": [ + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bloodpressure" + ] + }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs" + } + ] + } + ], + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "85354-9" + }, + { + "system": "http://snomed.info/sct", + "code": "75367002" + } + ], + "text": "Blood pressure" + }, + "component": [ + { + "valueQuantity": { + "system": "http://unitsofmeasure.org", + "code": "mm[Hg]", + "unit": "mm[Hg]", + "_value": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "$this.answer.value.toDecimal()" + } + ] + } + }, + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "8480-6" + }, + { + "system": "http://snomed.info/sct", + "code": "271649006" + } + ], + "text": "Systolic" + } + }, + { + "valueQuantity": { + "system": "http://unitsofmeasure.org", + "code": "mm[Hg]", + "unit": "mm[Hg]", + "_value": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.repeat(item).where(linkId='bp-newbp-diastolic').answer.value.toDecimal()" + } + ] + } + }, + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "8462-4" + }, + { + "system": "http://snomed.info/sct", + "code": "271650006" + } + ], + "text": "Diastolic" + } + } + ], + "status": "final", + "subject": { + "_reference": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.subject.reference" + } + ] + } + }, + "_effectiveDateTime": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "item.where(linkId='bp-newbp-date').answer.value.toDateTime()" + } + ] + } + } + ], "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assemble-expectation", @@ -985,6 +1678,14 @@ "expression": "Observation?code=8867-4&_count=1&_sort=-date&patient={{%patient.id}}" } }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsHeartRhythm", + "language": "application/x-fhir-query", + "expression": "Observation?code=364074009&_count=1&_sort=-date&patient={{%patient.id}}" + } + }, { "url": "http://hl7.org/fhir/StructureDefinition/variable", "valueExpression": { @@ -1014,7 +1715,7 @@ "valueExpression": { "name": "weight", "language": "text/fhirpath", - "expression": "item.where(linkId='c587e3b6-b91a-40dc-9a16-179342d001e9').item.where(linkId='53d5d5a6-3198-4bec-92ac-03fe7d77fb68').item.where(linkId='97ed4c86-8820-4e4d-9234-0e0e8b6ca44a').item.where(linkId='443bd584-684a-449c-ab6e-9d07da4df9fa').answer.value" + "expression": "item.where(linkId='c587e3b6-b91a-40dc-9a16-179342d001e9').item.where(linkId='53d5d5a6-3198-4bec-92ac-03fe7d77fb68').item.where(linkId='97ed4c86-8820-4e4d-9234-0e0e8b6ca44a').item.where(linkId='obs-weight-newresult').answer.value" } }, { @@ -1022,7 +1723,7 @@ "valueExpression": { "name": "height", "language": "text/fhirpath", - "expression": "item.where(linkId='c587e3b6-b91a-40dc-9a16-179342d001e9').item.where(linkId='53d5d5a6-3198-4bec-92ac-03fe7d77fb68').item.where(linkId='6226a5c5-b5c3-4ebb-a689-2b286322cfe0').item.where(linkId='7035c7e7-ada3-4c6b-9ea8-f39666f5d4ea').answer.value" + "expression": "item.where(linkId='c587e3b6-b91a-40dc-9a16-179342d001e9').item.where(linkId='53d5d5a6-3198-4bec-92ac-03fe7d77fb68').item.where(linkId='6226a5c5-b5c3-4ebb-a689-2b286322cfe0').item.where(linkId='obs-height-newresult').answer.value" } } ], diff --git a/fsh-generated/resources/Questionnaire-ExaminationExtract.json b/fsh-generated/resources/Questionnaire-ExaminationExtract.json deleted file mode 100644 index b57f0751..00000000 --- a/fsh-generated/resources/Questionnaire-ExaminationExtract.json +++ /dev/null @@ -1,1749 +0,0 @@ -{ - "resourceType": "Questionnaire", - "id": "ExaminationExtract", - "meta": { - "profile": [ - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" - ] - }, - "item": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%age.exists()" - } - } - ], - "item": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "code": "context-display", - "system": "https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended" - } - ] - } - } - ], - "linkId": "CD-in-progress-7", - "text": "In progress", - "_text": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" - } - ] - }, - "type": "display", - "enableWhen": [ - { - "question": "MarkComplete-7", - "operator": "!=", - "answerBoolean": true - } - ] - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "code": "context-display", - "system": "https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended" - } - ] - } - } - ], - "linkId": "CD-complete-7", - "text": "Complete", - "_text": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" - } - ] - }, - "type": "display", - "enableWhen": [ - { - "question": "MarkComplete-7", - "operator": "=", - "answerBoolean": true - } - ] - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%age <= 12" - } - } - ], - "linkId": "d15824f8-eafc-4fa0-80a2-82f0ec7f8728", - "text": "Growth measures recorded on Centers for Disease Control and Prevention (CDC) and World Health Organization (WHO) growth charts for centile and tracking overtime", - "type": "display" - }, - { - "linkId": "examinationinstruction", - "text": "The tabled observations will display the most recent results available from the patient record. If required, new observations can be recorded and added to the tables.", - "_text": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
The tabled observations will display the most recent results available from the patient record. If required, new observations can be recorded and added to the tables.

\r\n
" - } - ] - }, - "type": "display" - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "code": "grid", - "system": "http://hl7.org/fhir/questionnaire-item-control", - "version": "1.0.0" - } - ] - } - } - ], - "item": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%age <= 5" - } - } - ], - "item": [ - { - "linkId": "837cd0ce-4a9e-4c8b-8679-007ed961f121", - "text": "Last result", - "_text": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "iif(%ObsBodyHeight.entry.resource.value.value.empty() = true, 'Not available', %ObsBodyHeight.entry.resource.value.value.toString() + ' cm' + ' (' + %ObsBodyHeight.entry.resource.effective.toDate().toString() + ')')" - } - } - ] - }, - "type": "display", - "repeats": false, - "readOnly": true - }, - { - "extension": [ - { - "extension": [ - { - "url": "template", - "valueReference": { - "reference": "#BodyHeightLengthTemplate" - } - } - ], - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", - "valueCoding": { - "code": "cm", - "system": "http://unitsofmeasure.org" - } - } - ], - "item": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "code": "unit", - "system": "http://hl7.org/fhir/questionnaire-item-control" - } - ] - } - } - ], - "linkId": "obslengthheight-newresult-unit", - "text": "cm", - "type": "display" - } - ], - "linkId": "obs-lengthheight-newresult", - "text": "New result", - "type": "decimal", - "repeats": false - }, - { - "linkId": "obs-lengthheight-newdate", - "text": "New result date", - "type": "date", - "repeats": false - } - ], - "linkId": "4e32e9b2-82e6-41ea-9545-79e928f7d6c2", - "text": "Length/Height", - "type": "group", - "repeats": false - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%age > 5" - } - } - ], - "item": [ - { - "linkId": "7035c7e7-ada3-4c6b-9ea8-f39666f5d4ea", - "text": "Last result", - "_text": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "iif(%ObsBodyHeight.entry.resource.value.value.empty() = true, 'Not available', %ObsBodyHeight.entry.resource.value.value.toString() + ' cm' + ' (' + %ObsBodyHeight.entry.resource.effective.toDate().toString() + ')')" - } - } - ] - }, - "type": "display", - "repeats": false, - "readOnly": true - }, - { - "extension": [ - { - "extension": [ - { - "url": "template", - "valueReference": { - "reference": "#BodyHeightTemplate" - } - } - ], - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", - "valueCoding": { - "code": "cm", - "system": "http://unitsofmeasure.org" - } - } - ], - "item": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "code": "unit", - "system": "http://hl7.org/fhir/questionnaire-item-control" - } - ] - } - } - ], - "linkId": "obs-height-newresult-unit", - "text": "cm", - "type": "display" - } - ], - "linkId": "obs-height-newresult", - "text": "New result", - "type": "decimal", - "repeats": false - }, - { - "linkId": "obs-height-newdate", - "text": "New result date", - "type": "date", - "repeats": false - } - ], - "linkId": "6226a5c5-b5c3-4ebb-a689-2b286322cfe0", - "text": "Height", - "type": "group", - "repeats": false - }, - { - "item": [ - { - "linkId": "443bd584-684a-449c-ab6e-9d07da4df9fa", - "text": "Last result", - "_text": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "iif(%ObsBodyWeight.entry.resource.value.value.empty() = true, 'Not available', %ObsBodyWeight.entry.resource.value.value.toString() + ' kg' + ' (' + %ObsBodyWeight.entry.resource.effective.toDate().toString() + ')')" - } - } - ] - }, - "type": "display", - "repeats": false, - "readOnly": true - }, - { - "extension": [ - { - "extension": [ - { - "url": "template", - "valueReference": { - "reference": "#BodyWeightTemplate" - } - } - ], - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", - "valueCoding": { - "code": "kg", - "system": "http://unitsofmeasure.org" - } - } - ], - "item": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "code": "unit", - "system": "http://hl7.org/fhir/questionnaire-item-control" - } - ] - } - } - ], - "linkId": "obs-weight-newresult-unit", - "text": "kg", - "type": "display" - } - ], - "linkId": "obs-weight-newresult", - "text": "New result", - "type": "decimal", - "repeats": false - }, - { - "linkId": "obs-weight-newdate", - "text": "New result date", - "type": "date", - "repeats": false - } - ], - "linkId": "97ed4c86-8820-4e4d-9234-0e0e8b6ca44a", - "text": "Weight", - "type": "group", - "repeats": false - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%age > 12" - } - } - ], - "item": [ - { - "linkId": "2ada6633-03c6-4b05-bc23-18dec84ec150", - "text": "Last result", - "_text": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "iif(%ObsBodyWeight.entry.resource.value.value.empty() = true or %ObsBodyHeight.entry.resource.value.value.empty() = true, 'Not available', (%ObsBodyWeight.entry.resource.value.value/((%ObsBodyHeight.entry.resource.value.value/100).power(2))).round(1).toString() + ' kg/m2')" - } - } - ] - }, - "type": "display", - "repeats": false, - "readOnly": true - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression", - "valueExpression": { - "description": "BMI calculation", - "language": "text/fhirpath", - "expression": "(%weight/((%height/100).power(2))).round(1)" - } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", - "valueCoding": { - "code": "kg/m2", - "system": "http://unitsofmeasure.org" - } - } - ], - "item": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "code": "unit", - "system": "http://hl7.org/fhir/questionnaire-item-control" - } - ] - } - } - ], - "linkId": "obs-bmi-newresult-unit", - "text": "kg/m2", - "type": "display" - } - ], - "linkId": "obs-bmi-newresult", - "text": "New result", - "type": "decimal", - "repeats": false, - "readOnly": true - } - ], - "linkId": "bc209c5e-ed28-48e3-b1a1-55cb7e435d8b", - "text": "BMI (calculated)", - "type": "group", - "repeats": false - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%age <= 12" - } - } - ], - "item": [ - { - "linkId": "7a4a6aac-558e-4bec-86c5-326ae07e37d6", - "text": "Last result", - "_text": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "iif(%ObsHeadCircumference.entry.resource.value.value.empty() = true, 'Not available', %ObsHeadCircumference.entry.resource.value.value.toString() + ' cm' + ' (' + %ObsHeadCircumference.entry.resource.effective.toDate().toString() + ')')" - } - } - ] - }, - "type": "display", - "repeats": false, - "readOnly": true - }, - { - "extension": [ - { - "extension": [ - { - "url": "template", - "valueReference": { - "reference": "#HeadCircumferenceTemplate" - } - } - ], - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", - "valueCoding": { - "code": "cm", - "system": "http://unitsofmeasure.org" - } - } - ], - "item": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "code": "unit", - "system": "http://hl7.org/fhir/questionnaire-item-control" - } - ] - } - } - ], - "linkId": "obs-headcircumference-newresult-unit", - "text": "cm", - "type": "display" - } - ], - "linkId": "obs-headcircumference-newresult", - "text": "New result", - "type": "decimal", - "repeats": false - }, - { - "linkId": "obs-headcircumference-newdate", - "text": "New result date", - "type": "date", - "repeats": false - } - ], - "linkId": "d3557f55-1abf-401c-aada-2d4380151c56", - "text": "Head circumference", - "type": "group", - "repeats": false - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%age >= 18" - } - } - ], - "item": [ - { - "linkId": "8df0f5d8-821d-4f71-b3c1-d164616ea2f5", - "text": "Last result", - "_text": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "iif(%ObsWaistCircumference.entry.resource.value.value.empty() = true, 'Not available', %ObsWaistCircumference.entry.resource.value.value.toString() + ' cm' + ' (' + %ObsWaistCircumference.entry.resource.effective.toDate().toString() + ')')" - } - } - ] - }, - "type": "display", - "repeats": false, - "readOnly": true - }, - { - "extension": [ - { - "extension": [ - { - "url": "template", - "valueReference": { - "reference": "#WaistCircumferenceTemplate" - } - } - ], - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract" - } - ], - "item": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "code": "unit", - "system": "http://hl7.org/fhir/questionnaire-item-control" - } - ] - } - } - ], - "linkId": "obs-waistcircumference-newresult-unit", - "text": "cm", - "type": "display" - } - ], - "linkId": "obs-waistcircumference-newresult", - "text": "New result", - "type": "decimal", - "repeats": false - }, - { - "linkId": "obs-waistcircumference-newdate", - "text": "New result date", - "type": "date", - "repeats": false - } - ], - "linkId": "ec884b64-ed8d-485b-930f-e7ac18ad4cc9", - "text": "Waist circumference", - "type": "group", - "repeats": false - }, - { - "item": [ - { - "linkId": "49029ef0-eaa8-44f8-b26a-177820c82dfd", - "text": "Last result", - "_text": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "iif(%ObsHeartRate.entry.resource.value.value.empty() = true, 'Not available', %ObsHeartRate.entry.resource.value.value.round().toString() + ' /min' + ' (' + %ObsHeartRate.entry.resource.effective.toDate().toString() + ')')" - } - } - ] - }, - "type": "display", - "repeats": false, - "readOnly": true - }, - { - "extension": [ - { - "extension": [ - { - "url": "template", - "valueReference": { - "reference": "#HeartRateTemplate" - } - } - ], - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", - "valueCoding": { - "code": "/min", - "system": "http://unitsofmeasure.org" - } - } - ], - "item": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "code": "unit", - "system": "http://hl7.org/fhir/questionnaire-item-control" - } - ] - } - } - ], - "linkId": "obs-heartrate-newresult-unit", - "text": "/min", - "type": "display" - } - ], - "linkId": "obs-heartrate-newresult", - "text": "New result", - "type": "integer", - "repeats": false - }, - { - "linkId": "obs-heartrate-newdate", - "text": "New result date", - "type": "date", - "repeats": false - } - ], - "linkId": "3d3e1079-d225-447b-959b-4caddc057f7d", - "text": "Heart rate", - "type": "group", - "repeats": false - }, - { - "item": [ - { - "linkId": "99a8eb6f-a36a-4daf-99d7-27bfde0d4bb1", - "text": "Last result", - "_text": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "iif(%ObsHeartRhythm.entry.resource.value.coding.where(system='http://snomed.info/sct').first().empty() = true, 'Not available', %ObsHeartRhythm.entry.resource.value.coding.where(system='http://snomed.info/sct').first().display + ' (' + %ObsHeartRhythm.entry.resource.effective.toDate().toString() + ')')" - } - } - ] - }, - "type": "display", - "repeats": false, - "readOnly": true - }, - { - "extension": [ - { - "extension": [ - { - "url": "template", - "valueReference": { - "reference": "#HeartRhythmTemplate" - } - } - ], - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "code": "radio-button", - "system": "http://hl7.org/fhir/questionnaire-item-control" - } - ] - } - } - ], - "linkId": "obs-heartrhythm-newresult", - "text": "New result", - "type": "choice", - "repeats": false, - "answerOption": [ - { - "valueCoding": { - "code": "271636001", - "system": "http://snomed.info/sct", - "display": "Pulse regular" - } - }, - { - "valueCoding": { - "code": "61086009", - "system": "http://snomed.info/sct", - "display": "Pulse irregular" - } - } - ] - }, - { - "linkId": "obs-heartrhythm-newdate", - "text": "New result date", - "type": "date", - "repeats": false - } - ], - "linkId": "8d3d05cc-64bc-47ae-b989-060bac838d1c", - "text": "Heart rhythm", - "type": "group", - "repeats": false - } - ], - "linkId": "53d5d5a6-3198-4bec-92ac-03fe7d77fb68", - "type": "group", - "repeats": false - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%age > 12" - } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "code": "grid", - "system": "http://hl7.org/fhir/questionnaire-item-control", - "version": "1.0.0" - } - ] - } - } - ], - "item": [ - { - "item": [ - { - "linkId": "bp-bp-lastresult", - "text": "Last result", - "_text": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "iif(%ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8480-6')).value.value.empty() = true or %ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8462-4')).value.value.empty() = true, 'Not available', %ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8480-6')).value.value.round().toString() + ' / ' + %ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8462-4')).value.value.round().toString() + ' mm Hg (' + %ObsBloodPressure.entry.resource.effective.toDate().toString() + ')')" - } - } - ] - }, - "type": "display", - "repeats": false, - "readOnly": true - }, - { - "extension": [ - { - "extension": [ - { - "url": "template", - "valueReference": { - "reference": "#BloodPressureTemplate" - } - } - ], - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", - "valueCoding": { - "code": "mm[Hg]", - "system": "http://unitsofmeasure.org" - } - } - ], - "item": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "code": "unit", - "system": "http://hl7.org/fhir/questionnaire-item-control" - } - ] - } - } - ], - "linkId": "bp-newbp-systolic-unit", - "text": "mm Hg", - "type": "display" - } - ], - "linkId": "bp-newbp-systolic", - "text": "Systolic", - "type": "integer", - "repeats": false - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", - "valueCoding": { - "code": "mm[Hg]", - "system": "http://unitsofmeasure.org" - } - } - ], - "item": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "code": "unit", - "system": "http://hl7.org/fhir/questionnaire-item-control" - } - ] - } - } - ], - "linkId": "bp-newbp-diastolic-unit", - "text": "mm Hg", - "type": "display" - } - ], - "linkId": "bp-newbp-diastolic", - "text": "Diastolic", - "type": "integer", - "repeats": false - }, - { - "linkId": "bp-newbp-date", - "text": "Date performed", - "type": "date", - "repeats": false - } - ], - "linkId": "705f6d04-acab-4d14-baab-98f9bfc4808e", - "text": "Blood pressure", - "type": "group", - "repeats": false - } - ], - "linkId": "3639c586-9576-48d3-a52b-e91fd2138581", - "type": "group", - "repeats": false - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%age <= 12" - } - } - ], - "linkId": "213a3eac-e530-4e27-859c-407136c7a0a6", - "text": "Cardiac auscultation", - "type": "text", - "repeats": false - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%age <= 12" - } - } - ], - "linkId": "8886f3bb-52de-4294-a5cb-8f960e2a6bbe", - "text": "Abdominal examination", - "type": "text", - "repeats": false - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%age <= 12" - } - } - ], - "linkId": "5e10229c-390d-4968-90d3-f896840f3c50", - "text": "Gait examination (musculoskeletal structure, balance, coordination)", - "type": "text", - "repeats": false - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%age < 1" - } - } - ], - "linkId": "6c69ee91-f777-494c-bf09-d963773cd4ae", - "text": "Newborn examination (if indicated, infant aged <=6 weeks)", - "type": "text", - "repeats": false - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%age <= 12" - } - } - ], - "linkId": "7a431d03-1726-4905-aae7-49f62a10ce5e", - "text": "Haemoglobin (children at risk of iron deficiency anaemia)", - "type": "string", - "repeats": false - }, - { - "linkId": "fcbfa6e1-c101-4675-969d-aa11027859c2", - "text": "Health priorities, actions and follow-up", - "type": "text", - "repeats": false - }, - { - "linkId": "MarkComplete-7", - "text": "Mark section as complete", - "_text": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" - } - ] - }, - "type": "boolean", - "repeats": false - } - ], - "linkId": "c587e3b6-b91a-40dc-9a16-179342d001e9", - "text": "Examination", - "type": "group", - "repeats": false - } - ], - "contained": [ - { - "resourceType": "Observation", - "id": "BodyHeightTemplate", - "meta": { - "profile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyheight" - ] - }, - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "vital-signs" - } - ] - } - ], - "code": { - "coding": [ - { - "system": "http://loinc.org", - "code": "8302-2" - }, - { - "system": "http://snomed.info/sct", - "code": "50373000" - } - ], - "text": "Height" - }, - "valueQuantity": { - "system": "http://unitsofmeasure.org", - "unit": "cm", - "code": "cm", - "_value": { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "$this.answer.value" - } - ] - } - }, - "status": "final", - "subject": { - "_reference": { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "%resource.subject.reference" - } - ] - } - }, - "_effectiveDateTime": { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "%resource.repeat(item).where(linkId='obs-height-newdate').answer.value.toDateTime()" - } - ] - } - }, - { - "resourceType": "Observation", - "id": "BodyHeightLengthTemplate", - "meta": { - "profile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyheight" - ] - }, - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "vital-signs" - } - ] - } - ], - "code": { - "coding": [ - { - "system": "http://loinc.org", - "code": "8302-2" - }, - { - "system": "http://snomed.info/sct", - "code": "50373000" - } - ], - "text": "Height" - }, - "valueQuantity": { - "system": "http://unitsofmeasure.org", - "unit": "cm", - "code": "cm", - "_value": { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "$this.answer.value" - } - ] - } - }, - "status": "final", - "subject": { - "_reference": { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "%resource.subject.reference" - } - ] - } - }, - "_effectiveDateTime": { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "%resource.repeat(item).where(linkId='obs-lengthheight-newdate').answer.value.toDateTime()" - } - ] - } - }, - { - "resourceType": "Observation", - "id": "BodyWeightTemplate", - "meta": { - "profile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyweight" - ] - }, - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "vital-signs" - } - ] - } - ], - "code": { - "coding": [ - { - "system": "http://loinc.org", - "code": "29463-7" - }, - { - "system": "http://snomed.info/sct", - "code": "27113001" - } - ], - "text": "Weight" - }, - "valueQuantity": { - "system": "http://unitsofmeasure.org", - "unit": "kg", - "code": "kg", - "_value": { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "$this.answer.value" - } - ] - } - }, - "status": "final", - "subject": { - "_reference": { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "%resource.subject.reference" - } - ] - } - }, - "_effectiveDateTime": { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "%resource.repeat(item).where(linkId='obs-weight-newdate').answer.value.toDateTime()" - } - ] - } - }, - { - "resourceType": "Observation", - "id": "WaistCircumferenceTemplate", - "meta": { - "profile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-waistcircum" - ] - }, - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "vital-signs" - } - ] - } - ], - "code": { - "coding": [ - { - "system": "http://loinc.org", - "code": "8280-0" - }, - { - "system": "http://snomed.info/sct", - "code": "276361009" - } - ], - "text": "Waist circumference" - }, - "valueQuantity": { - "system": "http://unitsofmeasure.org", - "unit": "cm", - "code": "cm", - "_value": { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "$this.answer.value" - } - ] - } - }, - "status": "final", - "subject": { - "_reference": { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "%resource.subject.reference" - } - ] - } - }, - "_effectiveDateTime": { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "%resource.repeat(item).where(linkId='obs-waistcircumference-newdate').answer.value.toDateTime()" - } - ] - } - }, - { - "resourceType": "Observation", - "id": "HeadCircumferenceTemplate", - "meta": { - "profile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum" - ] - }, - "status": "final", - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "vital-signs" - } - ] - } - ], - "code": { - "coding": [ - { - "system": "http://loinc.org", - "code": "9843-4" - }, - { - "system": "http://snomed.info/sct", - "code": "363812007" - } - ], - "text": "Head circumference" - }, - "valueQuantity": { - "system": "http://unitsofmeasure.org", - "unit": "cm", - "code": "cm", - "_value": { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "$this.answer.value" - } - ] - } - }, - "subject": { - "_reference": { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "%resource.subject.reference" - } - ] - } - }, - "_effectiveDateTime": { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "%resource.repeat(item).where(linkId='obs-headcircumference-newdate').answer.value.toDateTime()" - } - ] - } - }, - { - "resourceType": "Observation", - "id": "HeartRateTemplate", - "meta": { - "profile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-heartrate" - ] - }, - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "vital-signs" - } - ] - } - ], - "code": { - "coding": [ - { - "system": "http://loinc.org", - "code": "8867-4" - }, - { - "system": "http://snomed.info/sct", - "code": "364075005" - } - ], - "text": "Heart rate" - }, - "valueQuantity": { - "system": "http://unitsofmeasure.org", - "code": "/min", - "unit": "/min", - "_value": { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "$this.answer.value.toDecimal()" - } - ] - } - }, - "status": "final", - "subject": { - "_reference": { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "%resource.subject.reference" - } - ] - } - }, - "_effectiveDateTime": { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "%resource.repeat(item).where(linkId='obs-heartrate-newdate').answer.value.toDateTime()" - } - ] - } - }, - { - "resourceType": "Observation", - "id": "HeartRhythmTemplate", - "meta": { - "profile": [ - "https://smartforms.csiro.au/ig/StructureDefinition/SmartHealthCheckHeartRhythm" - ] - }, - "category": [ - { - "coding": [ - { - "code": "vital-signs", - "system": "http://terminology.hl7.org/CodeSystem/observation-category" - } - ] - } - ], - "code": { - "coding": [ - { - "system": "http://loinc.org", - "code": "8884-9" - }, - { - "system": "http://snomed.info/sct", - "code": "364074009" - } - ], - "text": "Heart rhythm" - }, - "status": "final", - "subject": { - "_reference": { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "%resource.subject.reference" - } - ] - } - }, - "valueCodeableConcept": { - "coding": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "$this.answer.value" - } - ] - } - ] - }, - "_effectiveDateTime": { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "%resource.repeat(item).where(linkId='obs-heartrhythm-newdate').answer.value.toDateTime()" - } - ] - } - }, - { - "resourceType": "Observation", - "id": "BloodPressureTemplate", - "meta": { - "profile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bloodpressure" - ] - }, - "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "vital-signs" - } - ] - } - ], - "code": { - "coding": [ - { - "system": "http://loinc.org", - "code": "85354-9" - }, - { - "system": "http://snomed.info/sct", - "code": "75367002" - } - ], - "text": "Blood pressure" - }, - "component": [ - { - "valueQuantity": { - "system": "http://unitsofmeasure.org", - "code": "mm[Hg]", - "unit": "mm[Hg]", - "_value": { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "$this.answer.value.toDecimal()" - } - ] - } - }, - "code": { - "coding": [ - { - "system": "http://loinc.org", - "code": "8480-6" - }, - { - "system": "http://snomed.info/sct", - "code": "271649006" - } - ], - "text": "Systolic" - } - }, - { - "valueQuantity": { - "system": "http://unitsofmeasure.org", - "code": "mm[Hg]", - "unit": "mm[Hg]", - "_value": { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "%resource.repeat(item).where(linkId='bp-newbp-diastolic').answer.value.toDecimal()" - } - ] - } - }, - "code": { - "coding": [ - { - "system": "http://loinc.org", - "code": "8462-4" - }, - { - "system": "http://snomed.info/sct", - "code": "271650006" - } - ], - "text": "Diastolic" - } - } - ], - "status": "final", - "subject": { - "_reference": { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "%resource.subject.reference" - } - ] - } - }, - "_effectiveDateTime": { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "item.where(linkId='bp-newbp-date').answer.value.toDateTime()" - } - ] - } - } - ], - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assemble-expectation", - "valueCode": "assemble-child" - }, - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext", - "extension": [ - { - "url": "name", - "valueCoding": { - "code": "patient", - "system": "http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext" - } - }, - { - "url": "type", - "valueCode": "Patient" - }, - { - "url": "description", - "valueString": "The patient that is to be used to pre-populate the form" - } - ] - }, - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext", - "extension": [ - { - "url": "name", - "valueCoding": { - "code": "user", - "system": "http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext" - } - }, - { - "url": "type", - "valueCode": "Practitioner" - }, - { - "url": "description", - "valueString": "The practitioner user that is to be used to pre-populate the form" - } - ] - }, - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext", - "extension": [ - { - "url": "name", - "valueCoding": { - "code": "encounter", - "system": "http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext" - } - }, - { - "url": "type", - "valueCode": "Encounter" - }, - { - "url": "description", - "valueString": "The encounter that is to be used to pre-populate the form" - } - ] - }, - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", - "valueString": "ObsBloodPressure" - }, - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", - "valueString": "age" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": { - "name": "ObsWaistCircumference", - "language": "application/x-fhir-query", - "expression": "Observation?code=8280-0&_count=1&_sort=-date&patient={{%patient.id}}" - } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": { - "name": "ObsHeartRate", - "language": "application/x-fhir-query", - "expression": "Observation?code=8867-4&_count=1&_sort=-date&patient={{%patient.id}}" - } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": { - "name": "ObsHeartRhythm", - "language": "application/x-fhir-query", - "expression": "Observation?code=364074009&_count=1&_sort=-date&patient={{%patient.id}}" - } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": { - "name": "ObsBodyHeight", - "language": "application/x-fhir-query", - "expression": "Observation?code=8302-2&_count=1&_sort=-date&patient={{%patient.id}}" - } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": { - "name": "ObsBodyWeight", - "language": "application/x-fhir-query", - "expression": "Observation?code=29463-7&_count=1&_sort=-date&patient={{%patient.id}}" - } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": { - "name": "ObsHeadCircumference", - "language": "application/x-fhir-query", - "expression": "Observation?code=9843-4&_count=1&_sort=-date&patient={{%patient.id}}" - } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": { - "name": "weight", - "language": "text/fhirpath", - "expression": "item.where(linkId='c587e3b6-b91a-40dc-9a16-179342d001e9').item.where(linkId='53d5d5a6-3198-4bec-92ac-03fe7d77fb68').item.where(linkId='97ed4c86-8820-4e4d-9234-0e0e8b6ca44a').item.where(linkId='obs-weight-newresult').answer.value" - } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": { - "name": "height", - "language": "text/fhirpath", - "expression": "item.where(linkId='c587e3b6-b91a-40dc-9a16-179342d001e9').item.where(linkId='53d5d5a6-3198-4bec-92ac-03fe7d77fb68').item.where(linkId='6226a5c5-b5c3-4ebb-a689-2b286322cfe0').item.where(linkId='obs-height-newresult').answer.value" - } - } - ], - "url": "http://www.health.gov.au/assessments/mbs/715/ExaminationExtract", - "name": "ExaminationExtract", - "title": "Aboriginal and Torres Strait Islander Health Check - Examination Extract", - "status": "draft", - "experimental": false, - "subjectType": [ - "Patient" - ], - "date": "2025-03-14", - "jurisdiction": [ - { - "coding": [ - { - "code": "AU", - "system": "urn:iso:std:iso:3166" - } - ] - } - ] -} diff --git a/input/fsh/715-AssemblyInstructions.fsh b/input/fsh/715-AssemblyInstructions.fsh index 000ee9ff..6eff8176 100644 --- a/input/fsh/715-AssemblyInstructions.fsh +++ b/input/fsh/715-AssemblyInstructions.fsh @@ -5,7 +5,7 @@ Alias: $UCUM = http://unitsofmeasure.org Instance: AssemblyInstructions InstanceOf: Questionnaire Usage: #example -Title: "Aboriginal and Torres Strait Islander Health Check (Extract)" +Title: "Aboriginal and Torres Strait Islander Health Check" Description: "Aboriginal and Torres Strait Islander Health Check assessment form." * contained[+] = YesNo @@ -129,9 +129,9 @@ Description: "Aboriginal and Torres Strait Islander Health Check assessment form * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" -* url = "http://www.health.gov.au/assessments/mbs/715-extract" -* name = "AboriginalTorresStraitIslanderHealthCheck(Extract)" -* title = "Aboriginal and Torres Strait Islander Health Check (Extract)" +* url = "http://www.health.gov.au/assessments/mbs/715" +* name = "AboriginalTorresStraitIslanderHealthCheck" +* title = "Aboriginal and Torres Strait Islander Health Check" * status = #draft * experimental = false * subjectType[+] = #Patient @@ -550,16 +550,10 @@ Description: "Aboriginal and Torres Strait Islander Health Check assessment form * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Immunisation|0.3.0] not available. Unable to display all questions." * type = #display // Examination - /** item[+] + * item[+] * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/Examination|0.3.0" * linkId = "3263611d-5813-4393-a660-d10166acd728" * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/Examination|0.3.0] not available. Unable to display all questions." - * type = #display*/ - // Examination extract - * item[+] - * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/ExaminationExtract|0.3.0" - * linkId = "5d89b095-fa2d-401c-954f-a2e102b77d50" - * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/ExaminationExtract|0.3.0] not available. Unable to display all questions." * type = #display // Absolute CVD Risk Calculation * item[+] diff --git a/input/fsh/715-Assessment-Examination.fsh b/input/fsh/715-Assessment-Examination.fsh index cc877e49..fa7795b9 100644 --- a/input/fsh/715-Assessment-Examination.fsh +++ b/input/fsh/715-Assessment-Examination.fsh @@ -8,6 +8,14 @@ Usage: #example Title: "Aboriginal and Torres Strait Islander Health Check - Examination" Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." +* contained[+] = BodyHeightTemplate +* contained[+] = BodyHeightLengthTemplate +* contained[+] = BodyWeightTemplate +* contained[+] = WaistCircumferenceTemplate +* contained[+] = HeadCircumferenceTemplate +* contained[+] = HeartRateTemplate +* contained[+] = HeartRhythmTemplate +* contained[+] = BloodPressureTemplate //assemble expectation * extension[+] @@ -71,6 +79,12 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * name = "ObsHeartRate" * language = #application/x-fhir-query * expression = "Observation?code=8867-4&_count=1&_sort=-date&patient={{%patient.id}}" +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "ObsHeartRhythm" + * language = #application/x-fhir-query + * expression = "Observation?code=364074009&_count=1&_sort=-date&patient={{%patient.id}}" * extension[+] * url = "http://hl7.org/fhir/StructureDefinition/variable" * valueExpression @@ -90,21 +104,20 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * language = #application/x-fhir-query * expression = "Observation?code=9843-4&_count=1&_sort=-date&patient={{%patient.id}}" - - //fhirpath variables + * extension[+] * url = "http://hl7.org/fhir/StructureDefinition/variable" * valueExpression * name = "weight" * language = #text/fhirpath - * expression = "item.where(linkId='c587e3b6-b91a-40dc-9a16-179342d001e9').item.where(linkId='53d5d5a6-3198-4bec-92ac-03fe7d77fb68').item.where(linkId='97ed4c86-8820-4e4d-9234-0e0e8b6ca44a').item.where(linkId='443bd584-684a-449c-ab6e-9d07da4df9fa').answer.value" + * expression = "item.where(linkId='c587e3b6-b91a-40dc-9a16-179342d001e9').item.where(linkId='53d5d5a6-3198-4bec-92ac-03fe7d77fb68').item.where(linkId='97ed4c86-8820-4e4d-9234-0e0e8b6ca44a').item.where(linkId='obs-weight-newresult').answer.value" * extension[+] * url = "http://hl7.org/fhir/StructureDefinition/variable" * valueExpression * name = "height" * language = #text/fhirpath - * expression = "item.where(linkId='c587e3b6-b91a-40dc-9a16-179342d001e9').item.where(linkId='53d5d5a6-3198-4bec-92ac-03fe7d77fb68').item.where(linkId='6226a5c5-b5c3-4ebb-a689-2b286322cfe0').item.where(linkId='7035c7e7-ada3-4c6b-9ea8-f39666f5d4ea').answer.value" + * expression = "item.where(linkId='c587e3b6-b91a-40dc-9a16-179342d001e9').item.where(linkId='53d5d5a6-3198-4bec-92ac-03fe7d77fb68').item.where(linkId='6226a5c5-b5c3-4ebb-a689-2b286322cfe0').item.where(linkId='obs-height-newresult').answer.value" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" @@ -148,6 +161,7 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * question = "MarkComplete-7" // Section complete item * operator = #= * answerBoolean = true + * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath @@ -156,6 +170,14 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * text = "Growth measures recorded on Centers for Disease Control and Prevention (CDC) and World Health Organization (WHO) growth charts for centile and tracking overtime" * type = #display +// Examination instruction + * item[+] + * linkId = "examinationinstruction" + * text = "The tabled observations will display the most recent results available from the patient record. If required, new observations can be recorded and added to the tables." + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
The tabled observations will display the most recent results available from the patient record. If required, new observations can be recorded and added to the tables.

+
" + * type = #display + // Observations table with dates * item[+] * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control|1.0.0#grid @@ -171,25 +193,29 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * type = #group * repeats = false * item[+] - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%ObsBodyHeight.entry.resource.value.value" - * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#cm * linkId = "837cd0ce-4a9e-4c8b-8679-007ed961f121" - * text = "Value" + * text = "Last result" + * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression + * language = #text/fhirpath + * expression = "iif(%ObsBodyHeight.entry.resource.value.value.empty() = true, 'Not available', %ObsBodyHeight.entry.resource.value.value.toString() + ' cm' + ' (' + %ObsBodyHeight.entry.resource.effective.toDate().toString() + ')')" + * type = #display + * repeats = false + * readOnly = true + * item[+] + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#BodyHeightLengthTemplate" + * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#cm + * linkId = "obs-lengthheight-newresult" + * text = "New result" * type = #decimal * repeats = false * item[+] * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit - * linkId = "e73c3643-8898-4ef8-8bc9-b4b3826ab790" + * linkId = "obslengthheight-newresult-unit" * text = "cm" * type = #display * item[+] - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%ObsBodyHeight.entry.resource.effective" - * linkId = "b9faf79e-b5f7-443a-9203-67532e3a381f" - * text = "Date performed" + * linkId = "obs-lengthheight-newdate" + * text = "New result date" * type = #date * repeats = false * item[+] @@ -201,25 +227,29 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * type = #group * repeats = false * item[+] - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%ObsBodyHeight.entry.resource.value.value" - * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#cm * linkId = "7035c7e7-ada3-4c6b-9ea8-f39666f5d4ea" - * text = "Value" + * text = "Last result" + * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression + * language = #text/fhirpath + * expression = "iif(%ObsBodyHeight.entry.resource.value.value.empty() = true, 'Not available', %ObsBodyHeight.entry.resource.value.value.toString() + ' cm' + ' (' + %ObsBodyHeight.entry.resource.effective.toDate().toString() + ')')" + * type = #display + * repeats = false + * readOnly = true + * item[+] + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#BodyHeightTemplate" + * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#cm + * linkId = "obs-height-newresult" + * text = "New result" * type = #decimal * repeats = false * item[+] * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit - * linkId = "387c95f0-8b54-4ad7-992d-8ab26a34fd77" + * linkId = "obs-height-newresult-unit" * text = "cm" * type = #display * item[+] - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%ObsBodyHeight.entry.resource.effective" - * linkId = "c666ac96-1e64-40e2-8e0b-7d0187bb3e50" - * text = "Date performed" + * linkId = "obs-height-newdate" + * text = "New result date" * type = #date * repeats = false * item[+] @@ -228,25 +258,29 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * type = #group * repeats = false * item[+] - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%ObsBodyWeight.entry.resource.value.value" - * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#kg * linkId = "443bd584-684a-449c-ab6e-9d07da4df9fa" - * text = "Value" + * text = "Last result" + * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression + * language = #text/fhirpath + * expression = "iif(%ObsBodyWeight.entry.resource.value.value.empty() = true, 'Not available', %ObsBodyWeight.entry.resource.value.value.toString() + ' kg' + ' (' + %ObsBodyWeight.entry.resource.effective.toDate().toString() + ')')" + * type = #display + * repeats = false + * readOnly = true + * item[+] + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#BodyWeightTemplate" + * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#kg + * linkId = "obs-weight-newresult" + * text = "New result" * type = #decimal * repeats = false * item[+] * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit - * linkId = "5ba0d699-bc2a-45d0-8f40-f53cb21dc911" + * linkId = "obs-weight-newresult-unit" * text = "kg" * type = #display * item[+] - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%ObsBodyWeight.entry.resource.effective" - * linkId = "92cdc1c7-eb6c-4f6d-9bd9-ae726a0e0d3d" - * text = "Date performed" + * linkId = "obs-weight-newdate" + * text = "New result date" * type = #date * repeats = false * item[+] @@ -254,23 +288,32 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * language = #text/fhirpath * expression = "%age > 12" * linkId = "bc209c5e-ed28-48e3-b1a1-55cb7e435d8b" - * text = "BMI" + * text = "BMI (calculated)" * type = #group * repeats = false + * item[+] + * linkId = "2ada6633-03c6-4b05-bc23-18dec84ec150" + * text = "Last result" + * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression + * language = #text/fhirpath + * expression = "iif(%ObsBodyWeight.entry.resource.value.value.empty() = true or %ObsBodyHeight.entry.resource.value.value.empty() = true, 'Not available', (%ObsBodyWeight.entry.resource.value.value/((%ObsBodyHeight.entry.resource.value.value/100).power(2))).round(1).toString() + ' kg/m2')" + * type = #display + * repeats = false + * readOnly = true * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression].valueExpression * description = "BMI calculation" * language = #text/fhirpath * expression = "(%weight/((%height/100).power(2))).round(1)" * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#kg/m2 - * linkId = "2ada6633-03c6-4b05-bc23-18dec84ec150" - * text = "Value" + * linkId = "obs-bmi-newresult" + * text = "New result" * type = #decimal * repeats = false * readOnly = true * item[+] * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit - * linkId = "a709b8ec-9e65-40f0-a781-500cb3e56f3c" + * linkId = "obs-bmi-newresult-unit" * text = "kg/m2" * type = #display * item[+] @@ -282,25 +325,29 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * type = #group * repeats = false * item[+] - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%ObsHeadCircumference.entry.resource.value.value" - * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#cm * linkId = "7a4a6aac-558e-4bec-86c5-326ae07e37d6" - * text = "Value" + * text = "Last result" + * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression + * language = #text/fhirpath + * expression = "iif(%ObsHeadCircumference.entry.resource.value.value.empty() = true, 'Not available', %ObsHeadCircumference.entry.resource.value.value.toString() + ' cm' + ' (' + %ObsHeadCircumference.entry.resource.effective.toDate().toString() + ')')" + * type = #display + * repeats = false + * readOnly = true + * item[+] + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#HeadCircumferenceTemplate" + * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#cm + * linkId = "obs-headcircumference-newresult" + * text = "New result" * type = #decimal * repeats = false * item[+] * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit - * linkId = "73937983-65a0-4d40-8600-de7ca3277d5e" + * linkId = "obs-headcircumference-newresult-unit" * text = "cm" * type = #display * item[+] - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%ObsHeadCircumference.entry.resource.effective" - * linkId = "b8da15e7-8648-492b-9e82-ad5ab7cad179" - * text = "Date performed" + * linkId = "obs-headcircumference-newdate" + * text = "New result date" * type = #date * repeats = false * item[+] @@ -312,25 +359,28 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * type = #group * repeats = false * item[+] - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%ObsWaistCircumference.entry.resource.value.value" - * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#cm * linkId = "8df0f5d8-821d-4f71-b3c1-d164616ea2f5" - * text = "Value" + * text = "Last result" + * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression + * language = #text/fhirpath + * expression = "iif(%ObsWaistCircumference.entry.resource.value.value.empty() = true, 'Not available', %ObsWaistCircumference.entry.resource.value.value.toString() + ' cm' + ' (' + %ObsWaistCircumference.entry.resource.effective.toDate().toString() + ')')" + * type = #display + * repeats = false + * readOnly = true + * item[+] + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#WaistCircumferenceTemplate" + * linkId = "obs-waistcircumference-newresult" + * text = "New result" * type = #decimal * repeats = false * item[+] * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit - * linkId = "19aeb0ab-7494-4bac-8b2d-d7d2527c1f4a" + * linkId = "obs-waistcircumference-newresult-unit" * text = "cm" * type = #display * item[+] - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%ObsWaistCircumference.entry.resource.effective" - * linkId = "3eb3b929-e67a-4331-8949-b8447b66a4c7" - * text = "Date performed" + * linkId = "obs-waistcircumference-newdate" + * text = "New result date" * type = #date * repeats = false * item[+] @@ -339,25 +389,29 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * type = #group * repeats = false * item[+] - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%ObsHeartRate.entry.resource.value.value" - * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#/min * linkId = "49029ef0-eaa8-44f8-b26a-177820c82dfd" - * text = "Value" + * text = "Last result" + * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression + * language = #text/fhirpath + * expression = "iif(%ObsHeartRate.entry.resource.value.value.empty() = true, 'Not available', %ObsHeartRate.entry.resource.value.value.round().toString() + ' /min' + ' (' + %ObsHeartRate.entry.resource.effective.toDate().toString() + ')')" + * type = #display + * repeats = false + * readOnly = true + * item[+] + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#HeartRateTemplate" + * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#/min + * linkId = "obs-heartrate-newresult" + * text = "New result" * type = #integer * repeats = false * item[+] * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit - * linkId = "090964b9-be33-438b-8465-2a2a09632fde" + * linkId = "obs-heartrate-newresult-unit" * text = "/min" * type = #display * item[+] - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%ObsHeartRate.entry.resource.effective" - * linkId = "feeac08f-2ba6-4048-80a2-10b3f90cf5e3" - * text = "Date performed" + * linkId = "obs-heartrate-newdate" + * text = "New result date" * type = #date * repeats = false * item[+] @@ -365,68 +419,79 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * text = "Heart rhythm" * type = #group * repeats = false + * item[+] + * linkId = "99a8eb6f-a36a-4daf-99d7-27bfde0d4bb1" + * text = "Last result" + * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression + * language = #text/fhirpath + * expression = "iif(%ObsHeartRhythm.entry.resource.value.coding.where(system='http://snomed.info/sct').first().empty() = true, 'Not available', %ObsHeartRhythm.entry.resource.value.coding.where(system='http://snomed.info/sct').first().display + ' (' + %ObsHeartRhythm.entry.resource.effective.toDate().toString() + ')')" + * type = #display + * repeats = false + * readOnly = true * item[+] + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#HeartRhythmTemplate" * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#radio-button - * linkId = "99a8eb6f-a36a-4daf-99d7-27bfde0d4bb1" - * text = "Value" + * linkId = "obs-heartrhythm-newresult" + * text = "New result" * type = #choice * repeats = false * answerOption[+].valueCoding = $SCT#271636001 "Pulse regular" * answerOption[+].valueCoding = $SCT#61086009 "Pulse irregular" * item[+] - * linkId = "eeb56682-0eae-4428-9c37-0e63852026c0" - * text = "Date performed" + * linkId = "obs-heartrhythm-newdate" + * text = "New result date" * type = #date * repeats = false // Blood pressure observations table with dates * item[+] + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression + * language = #text/fhirpath + * expression = "%age > 12" * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control|1.0.0#grid * linkId = "3639c586-9576-48d3-a52b-e91fd2138581" - * type = #group + * type = #group * repeats = false * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression - * language = #text/fhirpath - * expression = "%age > 12" * linkId = "705f6d04-acab-4d14-baab-98f9bfc4808e" * text = "Blood pressure" * type = #group * repeats = false * item[+] - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8480-6')).value.value" + * linkId = "bp-bp-lastresult" + * text = "Last result" + * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression + * language = #text/fhirpath + * expression = "iif(%ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8480-6')).value.value.empty() = true or %ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8462-4')).value.value.empty() = true, 'Not available', %ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8480-6')).value.value.round().toString() + ' / ' + %ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8462-4')).value.value.round().toString() + ' mm Hg (' + %ObsBloodPressure.entry.resource.effective.toDate().toString() + ')')" + * type = #display + * repeats = false + * readOnly = true + * item[+] + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#BloodPressureTemplate" * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#mm[Hg] - * linkId = "e68b660d-cfd2-4b89-957a-c96a4c73a5fd" + * linkId = "bp-newbp-systolic" * text = "Systolic" * type = #integer * repeats = false * item[+] * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit - * linkId = "197d212d-72cc-4c85-91dc-2f030d384391" + * linkId = "bp-newbp-systolic-unit" * text = "mm Hg" * type = #display * item[+] - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8462-4')).value.value" * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#mm[Hg] - * linkId = "867b0022-f812-4f80-b287-79686c972b15" + * linkId = "bp-newbp-diastolic" * text = "Diastolic" * type = #integer * repeats = false * item[+] * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit - * linkId = "416ee494-4fa2-4b29-af0b-3d022f686e39" + * linkId = "bp-newbp-diastolic-unit" * text = "mm Hg" * type = #display * item[+] - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%ObsBloodPressure.entry.resource.effective" - * linkId = "a005050c-ed79-46ed-ac14-2fc1496059a5" + * linkId = "bp-newbp-date" * text = "Date performed" * type = #date * repeats = false @@ -503,6 +568,6 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * item[+] * linkId = "MarkComplete-7" * text = "Mark section as complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" * type = #boolean - * repeats = false + * repeats = false \ No newline at end of file diff --git a/input/fsh/715-Assessment-ExaminationExtract.fsh b/input/fsh/715-Assessment-ExaminationExtract.fsh deleted file mode 100644 index cc398a61..00000000 --- a/input/fsh/715-Assessment-ExaminationExtract.fsh +++ /dev/null @@ -1,573 +0,0 @@ -Alias: $LNC = http://loinc.org -Alias: $SCT = http://snomed.info/sct -Alias: $UCUM = http://unitsofmeasure.org - -Instance: ExaminationExtract -InstanceOf: Questionnaire -Usage: #example -Title: "Aboriginal and Torres Strait Islander Health Check - Examination (Extract)" -Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." - -* contained[+] = BodyHeightTemplate -* contained[+] = BodyHeightLengthTemplate -* contained[+] = BodyWeightTemplate -* contained[+] = WaistCircumferenceTemplate -* contained[+] = HeadCircumferenceTemplate -* contained[+] = HeartRateTemplate -* contained[+] = HeartRhythmTemplate -* contained[+] = BloodPressureTemplate - -//assemble expectation -* extension[+] - * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assemble-expectation" - * valueCode = #assemble-child - -//launch context -* extension[+] - * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" - * extension[+] - * url = "name" - * valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#patient - * extension[+] - * url = "type" - * valueCode = #Patient - * extension[+] - * url = "description" - * valueString = "The patient that is to be used to pre-populate the form" -* extension[+] - * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" - * extension[+] - * url = "name" - * valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#user - * extension[+] - * url = "type" - * valueCode = #Practitioner - * extension[+] - * url = "description" - * valueString = "The practitioner user that is to be used to pre-populate the form" -* extension[+] - * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" - * extension[+] - * url = "name" - * valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#encounter - * extension[+] - * url = "type" - * valueCode = #Encounter - * extension[+] - * url = "description" - * valueString = "The encounter that is to be used to pre-populate the form" - -//assemble context -* extension[+] - * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" - * valueString = "ObsBloodPressure" -* extension[+] - * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" - * valueString = "age" - -//fhir query variables - -* extension[+] - * url = "http://hl7.org/fhir/StructureDefinition/variable" - * valueExpression - * name = "ObsWaistCircumference" - * language = #application/x-fhir-query - * expression = "Observation?code=8280-0&_count=1&_sort=-date&patient={{%patient.id}}" -* extension[+] - * url = "http://hl7.org/fhir/StructureDefinition/variable" - * valueExpression - * name = "ObsHeartRate" - * language = #application/x-fhir-query - * expression = "Observation?code=8867-4&_count=1&_sort=-date&patient={{%patient.id}}" -* extension[+] - * url = "http://hl7.org/fhir/StructureDefinition/variable" - * valueExpression - * name = "ObsHeartRhythm" - * language = #application/x-fhir-query - * expression = "Observation?code=364074009&_count=1&_sort=-date&patient={{%patient.id}}" -* extension[+] - * url = "http://hl7.org/fhir/StructureDefinition/variable" - * valueExpression - * name = "ObsBodyHeight" - * language = #application/x-fhir-query - * expression = "Observation?code=8302-2&_count=1&_sort=-date&patient={{%patient.id}}" -* extension[+] - * url = "http://hl7.org/fhir/StructureDefinition/variable" - * valueExpression - * name = "ObsBodyWeight" - * language = #application/x-fhir-query - * expression = "Observation?code=29463-7&_count=1&_sort=-date&patient={{%patient.id}}" -* extension[+] - * url = "http://hl7.org/fhir/StructureDefinition/variable" - * valueExpression - * name = "ObsHeadCircumference" - * language = #application/x-fhir-query - * expression = "Observation?code=9843-4&_count=1&_sort=-date&patient={{%patient.id}}" - -//fhirpath variables - -* extension[+] - * url = "http://hl7.org/fhir/StructureDefinition/variable" - * valueExpression - * name = "weight" - * language = #text/fhirpath - * expression = "item.where(linkId='c587e3b6-b91a-40dc-9a16-179342d001e9').item.where(linkId='53d5d5a6-3198-4bec-92ac-03fe7d77fb68').item.where(linkId='97ed4c86-8820-4e4d-9234-0e0e8b6ca44a').item.where(linkId='obs-weight-newresult').answer.value" -* extension[+] - * url = "http://hl7.org/fhir/StructureDefinition/variable" - * valueExpression - * name = "height" - * language = #text/fhirpath - * expression = "item.where(linkId='c587e3b6-b91a-40dc-9a16-179342d001e9').item.where(linkId='53d5d5a6-3198-4bec-92ac-03fe7d77fb68').item.where(linkId='6226a5c5-b5c3-4ebb-a689-2b286322cfe0').item.where(linkId='obs-height-newresult').answer.value" - - -* meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" -* meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" -* meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" -* url = "http://www.health.gov.au/assessments/mbs/715/ExaminationExtract" -* name = "ExaminationExtract" -* title = "Aboriginal and Torres Strait Islander Health Check - Examination Extract" -* status = #draft -* experimental = false -* subjectType[+] = #Patient -* date = "2025-03-14" -* jurisdiction.coding = urn:iso:std:iso:3166#AU - - -* item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression - * language = #text/fhirpath - * expression = "%age.exists()" - * linkId = "c587e3b6-b91a-40dc-9a16-179342d001e9" - * text = "Examination" - * type = #group - * repeats = false - * item[+] //in-progress - * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display - * linkId = "CD-in-progress-7" - * text = "In progress" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" - * type = #display - * enableWhen[+] - * question = "MarkComplete-7" // Section complete item - * operator = #!= - * answerBoolean = true - * item[+] //complete - * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display - * linkId = "CD-complete-7" - * text = "Complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\t
\r\n\t\t\r\n\t
\r\n
" - * type = #display - * enableWhen[+] - * question = "MarkComplete-7" // Section complete item - * operator = #= - * answerBoolean = true - - * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression - * language = #text/fhirpath - * expression = "%age <= 12" - * linkId = "d15824f8-eafc-4fa0-80a2-82f0ec7f8728" - * text = "Growth measures recorded on Centers for Disease Control and Prevention (CDC) and World Health Organization (WHO) growth charts for centile and tracking overtime" - * type = #display - -// Examination instruction - * item[+] - * linkId = "examinationinstruction" - * text = "The tabled observations will display the most recent results available from the patient record. If required, new observations can be recorded and added to the tables." - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
The tabled observations will display the most recent results available from the patient record. If required, new observations can be recorded and added to the tables.

-
" - * type = #display - -// Observations table with dates - * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control|1.0.0#grid - * linkId = "53d5d5a6-3198-4bec-92ac-03fe7d77fb68" - * type = #group - * repeats = false - * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression - * language = #text/fhirpath - * expression = "%age <= 5" - * linkId = "4e32e9b2-82e6-41ea-9545-79e928f7d6c2" - * text = "Length/Height" - * type = #group - * repeats = false - * item[+] - * linkId = "837cd0ce-4a9e-4c8b-8679-007ed961f121" - * text = "Last result" - * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression - * language = #text/fhirpath - * expression = "iif(%ObsBodyHeight.entry.resource.value.value.empty() = true, 'Not available', %ObsBodyHeight.entry.resource.value.value.toString() + ' cm' + ' (' + %ObsBodyHeight.entry.resource.effective.toDate().toString() + ')')" - * type = #display - * repeats = false - * readOnly = true - * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#BodyHeightLengthTemplate" - * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#cm - * linkId = "obs-lengthheight-newresult" - * text = "New result" - * type = #decimal - * repeats = false - * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit - * linkId = "obslengthheight-newresult-unit" - * text = "cm" - * type = #display - * item[+] - * linkId = "obs-lengthheight-newdate" - * text = "New result date" - * type = #date - * repeats = false - * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression - * language = #text/fhirpath - * expression = "%age > 5" - * linkId = "6226a5c5-b5c3-4ebb-a689-2b286322cfe0" - * text = "Height" - * type = #group - * repeats = false - * item[+] - * linkId = "7035c7e7-ada3-4c6b-9ea8-f39666f5d4ea" - * text = "Last result" - * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression - * language = #text/fhirpath - * expression = "iif(%ObsBodyHeight.entry.resource.value.value.empty() = true, 'Not available', %ObsBodyHeight.entry.resource.value.value.toString() + ' cm' + ' (' + %ObsBodyHeight.entry.resource.effective.toDate().toString() + ')')" - * type = #display - * repeats = false - * readOnly = true - * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#BodyHeightTemplate" - * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#cm - * linkId = "obs-height-newresult" - * text = "New result" - * type = #decimal - * repeats = false - * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit - * linkId = "obs-height-newresult-unit" - * text = "cm" - * type = #display - * item[+] - * linkId = "obs-height-newdate" - * text = "New result date" - * type = #date - * repeats = false - * item[+] - * linkId = "97ed4c86-8820-4e4d-9234-0e0e8b6ca44a" - * text = "Weight" - * type = #group - * repeats = false - * item[+] - * linkId = "443bd584-684a-449c-ab6e-9d07da4df9fa" - * text = "Last result" - * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression - * language = #text/fhirpath - * expression = "iif(%ObsBodyWeight.entry.resource.value.value.empty() = true, 'Not available', %ObsBodyWeight.entry.resource.value.value.toString() + ' kg' + ' (' + %ObsBodyWeight.entry.resource.effective.toDate().toString() + ')')" - * type = #display - * repeats = false - * readOnly = true - * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#BodyWeightTemplate" - * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#kg - * linkId = "obs-weight-newresult" - * text = "New result" - * type = #decimal - * repeats = false - * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit - * linkId = "obs-weight-newresult-unit" - * text = "kg" - * type = #display - * item[+] - * linkId = "obs-weight-newdate" - * text = "New result date" - * type = #date - * repeats = false - * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression - * language = #text/fhirpath - * expression = "%age > 12" - * linkId = "bc209c5e-ed28-48e3-b1a1-55cb7e435d8b" - * text = "BMI (calculated)" - * type = #group - * repeats = false - * item[+] - * linkId = "2ada6633-03c6-4b05-bc23-18dec84ec150" - * text = "Last result" - * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression - * language = #text/fhirpath - * expression = "iif(%ObsBodyWeight.entry.resource.value.value.empty() = true or %ObsBodyHeight.entry.resource.value.value.empty() = true, 'Not available', (%ObsBodyWeight.entry.resource.value.value/((%ObsBodyHeight.entry.resource.value.value/100).power(2))).round(1).toString() + ' kg/m2')" - * type = #display - * repeats = false - * readOnly = true - * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression].valueExpression - * description = "BMI calculation" - * language = #text/fhirpath - * expression = "(%weight/((%height/100).power(2))).round(1)" - * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#kg/m2 - * linkId = "obs-bmi-newresult" - * text = "New result" - * type = #decimal - * repeats = false - * readOnly = true - * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit - * linkId = "obs-bmi-newresult-unit" - * text = "kg/m2" - * type = #display - * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression - * language = #text/fhirpath - * expression = "%age <= 12" - * linkId = "d3557f55-1abf-401c-aada-2d4380151c56" - * text = "Head circumference" - * type = #group - * repeats = false - * item[+] - * linkId = "7a4a6aac-558e-4bec-86c5-326ae07e37d6" - * text = "Last result" - * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression - * language = #text/fhirpath - * expression = "iif(%ObsHeadCircumference.entry.resource.value.value.empty() = true, 'Not available', %ObsHeadCircumference.entry.resource.value.value.toString() + ' cm' + ' (' + %ObsHeadCircumference.entry.resource.effective.toDate().toString() + ')')" - * type = #display - * repeats = false - * readOnly = true - * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#HeadCircumferenceTemplate" - * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#cm - * linkId = "obs-headcircumference-newresult" - * text = "New result" - * type = #decimal - * repeats = false - * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit - * linkId = "obs-headcircumference-newresult-unit" - * text = "cm" - * type = #display - * item[+] - * linkId = "obs-headcircumference-newdate" - * text = "New result date" - * type = #date - * repeats = false - * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression - * language = #text/fhirpath - * expression = "%age >= 18" - * linkId = "ec884b64-ed8d-485b-930f-e7ac18ad4cc9" - * text = "Waist circumference" - * type = #group - * repeats = false - * item[+] - * linkId = "8df0f5d8-821d-4f71-b3c1-d164616ea2f5" - * text = "Last result" - * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression - * language = #text/fhirpath - * expression = "iif(%ObsWaistCircumference.entry.resource.value.value.empty() = true, 'Not available', %ObsWaistCircumference.entry.resource.value.value.toString() + ' cm' + ' (' + %ObsWaistCircumference.entry.resource.effective.toDate().toString() + ')')" - * type = #display - * repeats = false - * readOnly = true - * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#WaistCircumferenceTemplate" - * linkId = "obs-waistcircumference-newresult" - * text = "New result" - * type = #decimal - * repeats = false - * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit - * linkId = "obs-waistcircumference-newresult-unit" - * text = "cm" - * type = #display - * item[+] - * linkId = "obs-waistcircumference-newdate" - * text = "New result date" - * type = #date - * repeats = false - * item[+] - * linkId = "3d3e1079-d225-447b-959b-4caddc057f7d" - * text = "Heart rate" - * type = #group - * repeats = false - * item[+] - * linkId = "49029ef0-eaa8-44f8-b26a-177820c82dfd" - * text = "Last result" - * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression - * language = #text/fhirpath - * expression = "iif(%ObsHeartRate.entry.resource.value.value.empty() = true, 'Not available', %ObsHeartRate.entry.resource.value.value.round().toString() + ' /min' + ' (' + %ObsHeartRate.entry.resource.effective.toDate().toString() + ')')" - * type = #display - * repeats = false - * readOnly = true - * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#HeartRateTemplate" - * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#/min - * linkId = "obs-heartrate-newresult" - * text = "New result" - * type = #integer - * repeats = false - * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit - * linkId = "obs-heartrate-newresult-unit" - * text = "/min" - * type = #display - * item[+] - * linkId = "obs-heartrate-newdate" - * text = "New result date" - * type = #date - * repeats = false - * item[+] - * linkId = "8d3d05cc-64bc-47ae-b989-060bac838d1c" - * text = "Heart rhythm" - * type = #group - * repeats = false - * item[+] - * linkId = "99a8eb6f-a36a-4daf-99d7-27bfde0d4bb1" - * text = "Last result" - * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression - * language = #text/fhirpath - * expression = "iif(%ObsHeartRhythm.entry.resource.value.coding.where(system='http://snomed.info/sct').first().empty() = true, 'Not available', %ObsHeartRhythm.entry.resource.value.coding.where(system='http://snomed.info/sct').first().display + ' (' + %ObsHeartRhythm.entry.resource.effective.toDate().toString() + ')')" - * type = #display - * repeats = false - * readOnly = true - * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#HeartRhythmTemplate" - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#radio-button - * linkId = "obs-heartrhythm-newresult" - * text = "New result" - * type = #choice - * repeats = false - * answerOption[+].valueCoding = $SCT#271636001 "Pulse regular" - * answerOption[+].valueCoding = $SCT#61086009 "Pulse irregular" - * item[+] - * linkId = "obs-heartrhythm-newdate" - * text = "New result date" - * type = #date - * repeats = false - - -// Blood pressure observations table with dates - * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression - * language = #text/fhirpath - * expression = "%age > 12" - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control|1.0.0#grid - * linkId = "3639c586-9576-48d3-a52b-e91fd2138581" - * type = #group - * repeats = false - * item[+] - * linkId = "705f6d04-acab-4d14-baab-98f9bfc4808e" - * text = "Blood pressure" - * type = #group - * repeats = false - * item[+] - * linkId = "bp-bp-lastresult" - * text = "Last result" - * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression - * language = #text/fhirpath - * expression = "iif(%ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8480-6')).value.value.empty() = true or %ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8462-4')).value.value.empty() = true, 'Not available', %ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8480-6')).value.value.round().toString() + ' / ' + %ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8462-4')).value.value.round().toString() + ' mm Hg (' + %ObsBloodPressure.entry.resource.effective.toDate().toString() + ')')" - * type = #display - * repeats = false - * readOnly = true - * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#BloodPressureTemplate" - * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#mm[Hg] - * linkId = "bp-newbp-systolic" - * text = "Systolic" - * type = #integer - * repeats = false - * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit - * linkId = "bp-newbp-systolic-unit" - * text = "mm Hg" - * type = #display - * item[+] - * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#mm[Hg] - * linkId = "bp-newbp-diastolic" - * text = "Diastolic" - * type = #integer - * repeats = false - * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit - * linkId = "bp-newbp-diastolic-unit" - * text = "mm Hg" - * type = #display - * item[+] - * linkId = "bp-newbp-date" - * text = "Date performed" - * type = #date - * repeats = false - -/* - * item[+] - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%ObsBloodPressure.entry.resource.select(component[0].value.select(value.toString()) + '/' + component[1].value.select(value.toString()) )" - * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#mm[Hg] - * linkId = "15200593-ab79-47ec-babe-4fdcb2327737" - * text = "Blood pressure" - * type = #string - * repeats = false - * enableWhen[+] - * question = "e2a16e4d-2765-4b61-b286-82cfc6356b30" // age item which has initial population from variable - * operator = #> - * answerInteger = 12 - * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit - * linkId = "eb022a99-7bd0-4635-aaad-04ac0d0334c8" - * text = "mm Hg" - * type = #display -*/ - // needs assessment for potentional coded response - * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression - * language = #text/fhirpath - * expression = "%age <= 12" - * linkId = "213a3eac-e530-4e27-859c-407136c7a0a6" - * text = "Cardiac auscultation" - * type = #text - * repeats = false - * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression - * language = #text/fhirpath - * expression = "%age <= 12" - * linkId = "8886f3bb-52de-4294-a5cb-8f960e2a6bbe" - * text = "Abdominal examination" - * type = #text - * repeats = false - * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression - * language = #text/fhirpath - * expression = "%age <= 12" - * linkId = "5e10229c-390d-4968-90d3-f896840f3c50" - * text = "Gait examination (musculoskeletal structure, balance, coordination)" - * type = #text - * repeats = false - * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression - * language = #text/fhirpath - * expression = "%age < 1" - * linkId = "6c69ee91-f777-494c-bf09-d963773cd4ae" - * text = "Newborn examination (if indicated, infant aged <=6 weeks)" - * type = #text - * repeats = false -// needs assessment for what is being recorded. Actual measurement result or result interpretation? - * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression - * language = #text/fhirpath - * expression = "%age <= 12" - * linkId = "7a431d03-1726-4905-aae7-49f62a10ce5e" - * text = "Haemoglobin (children at risk of iron deficiency anaemia)" - * type = #string - * repeats = false - * item[+] - * linkId = "fcbfa6e1-c101-4675-969d-aa11027859c2" - * text = "Health priorities, actions and follow-up" - * type = #text - * repeats = false - - - * item[+] - * linkId = "MarkComplete-7" - * text = "Mark section as complete" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" - * type = #boolean - * repeats = false \ No newline at end of file From d2d7c4f45e55814e2282d45a85d6018826fa70be Mon Sep 17 00:00:00 2001 From: liambarnes Date: Wed, 18 Jun 2025 11:02:20 +1000 Subject: [PATCH 090/177] Review instruction text --- ...estionnaire-AllergiesAdverseReactions.json | 2 +- .../resources/Questionnaire-Examination.json | 22 ++++++++----------- .../resources/Questionnaire-Immunisation.json | 8 +++---- ...onnaire-MedicalHistoryCurrentProblems.json | 2 +- .../Questionnaire-RegularMedications.json | 2 +- ...5-Assessment-AllergiesAdverseReactions.fsh | 2 +- input/fsh/715-Assessment-Examination.fsh | 12 +++------- input/fsh/715-Assessment-Immunisation.fsh | 8 +++---- ...sessment-MedicalHistoryCurrentProblems.fsh | 4 ++-- .../fsh/715-Assessment-RegularMedications.fsh | 2 +- 10 files changed, 27 insertions(+), 37 deletions(-) diff --git a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json index f2cd1771..7667711c 100644 --- a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json +++ b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json @@ -328,7 +328,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n

Adverse reaction risk summary

\r\n

This section includes a list of existing items from the patient record. To update existing items, update the patient record and repopulate this form. To enter new items, add them at the bottom.

\r\n
" + "valueString": "
\r\n

Adverse reaction risk summary

\r\n

This section includes a list of existing items from the patient record.
Update these items here or update the patient record and repopulate the form.
Add new items at the bottom.

\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-Examination.json b/fsh-generated/resources/Questionnaire-Examination.json index 48560550..50b47250 100644 --- a/fsh-generated/resources/Questionnaire-Examination.json +++ b/fsh-generated/resources/Questionnaire-Examination.json @@ -100,19 +100,6 @@ "text": "Growth measures recorded on Centers for Disease Control and Prevention (CDC) and World Health Organization (WHO) growth charts for centile and tracking overtime", "type": "display" }, - { - "linkId": "examinationinstruction", - "text": "The tabled observations will display the most recent results available from the patient record. If required, new observations can be recorded and added to the tables.", - "_text": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
The tabled observations will display the most recent results available from the patient record. If required, new observations can be recorded and added to the tables.

\r\n
" - } - ] - }, - "type": "display" - }, { "extension": [ { @@ -785,6 +772,15 @@ } ], "linkId": "53d5d5a6-3198-4bec-92ac-03fe7d77fb68", + "text": "The tabled observations will display the most recent results available from the patient record. New observations may be added.", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "

The tabled observations will display the most recent results available from the patient record. New observations may be added.

" + } + ] + }, "type": "group", "repeats": false }, diff --git a/fsh-generated/resources/Questionnaire-Immunisation.json b/fsh-generated/resources/Questionnaire-Immunisation.json index d5a37b10..7e151c9b 100644 --- a/fsh-generated/resources/Questionnaire-Immunisation.json +++ b/fsh-generated/resources/Questionnaire-Immunisation.json @@ -102,7 +102,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n

Check Child Health Record/Book and Australian Immunisation Register

\r\n
" + "valueString": "
\r\n

Check Child Health Record/Book and Australian Immunisation Register

\r\n
" } ] }, @@ -124,7 +124,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n

Eligibility for funded vaccines may vary across jurisdictions

\r\n
" + "valueString": "
\r\n

Eligibility for funded vaccines may vary across jurisdictions

\r\n
" } ] }, @@ -146,7 +146,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n

Check Australian Immunisation Register

\r\n
" + "valueString": "
\r\n

Check Australian Immunisation Register

\r\n
" } ] }, @@ -168,7 +168,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n

Check recommended primary vaccinations completed and provide catch-up if required

\r\n
" + "valueString": "
\r\n

Check recommended primary vaccinations completed and provide catch-up if required

\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json index 6f4bc6b7..2939b8f7 100644 --- a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json +++ b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json @@ -388,7 +388,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n

Medical history summary

\r\n

This section includes a list of existing items from the patient record. To update existing items, update the patient record and repopulate this form. To enter new items, add them at the bottom.

\r\n
" + "valueString": "
\r\n

Medical history summary

\r\n

This section includes a list of existing items from the patient record.
Update these items here or update the patient record and repopulate the form.
Add new items at the bottom.

\r\n
" } ] }, diff --git a/fsh-generated/resources/Questionnaire-RegularMedications.json b/fsh-generated/resources/Questionnaire-RegularMedications.json index 9a660f56..6db92722 100644 --- a/fsh-generated/resources/Questionnaire-RegularMedications.json +++ b/fsh-generated/resources/Questionnaire-RegularMedications.json @@ -356,7 +356,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n

Medication summary

\r\n

This section includes a list of existing items from the patient record. To update existing items, update the patient record and repopulate this form. To enter new items, add them at the bottom.

\r\n
" + "valueString": "
\r\n

Medication summary

\r\n

This section includes a list of existing items from the patient record.
Update these items here or update the patient record and repopulate the form.
Add new items at the bottom.

\r\n
" } ] }, diff --git a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh index d3121f2b..0cabf46f 100644 --- a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh +++ b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh @@ -113,7 +113,7 @@ Description: "Allergies/Adverse Reactions sub-questionnaire for Aboriginal and T * text = "Adverse reaction risk summary" * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "

Adverse reaction risk summary

-

This section includes a list of existing items from the patient record. To update existing items, update the patient record and repopulate this form. To enter new items, add them at the bottom.

+

This section includes a list of existing items from the patient record.
Update these items here or update the patient record and repopulate the form.
Add new items at the bottom.

" * type = #group //existing adverse reactions diff --git a/input/fsh/715-Assessment-Examination.fsh b/input/fsh/715-Assessment-Examination.fsh index fa7795b9..9227d216 100644 --- a/input/fsh/715-Assessment-Examination.fsh +++ b/input/fsh/715-Assessment-Examination.fsh @@ -170,18 +170,12 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * text = "Growth measures recorded on Centers for Disease Control and Prevention (CDC) and World Health Organization (WHO) growth charts for centile and tracking overtime" * type = #display -// Examination instruction - * item[+] - * linkId = "examinationinstruction" - * text = "The tabled observations will display the most recent results available from the patient record. If required, new observations can be recorded and added to the tables." - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
The tabled observations will display the most recent results available from the patient record. If required, new observations can be recorded and added to the tables.

-
" - * type = #display - // Observations table with dates * item[+] * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control|1.0.0#grid - * linkId = "53d5d5a6-3198-4bec-92ac-03fe7d77fb68" + * linkId = "53d5d5a6-3198-4bec-92ac-03fe7d77fb68" + * text = "The tabled observations will display the most recent results available from the patient record. New observations may be added." + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "

The tabled observations will display the most recent results available from the patient record. New observations may be added.

" * type = #group * repeats = false * item[+] diff --git a/input/fsh/715-Assessment-Immunisation.fsh b/input/fsh/715-Assessment-Immunisation.fsh index 7bfc5d9b..b92c833e 100644 --- a/input/fsh/715-Assessment-Immunisation.fsh +++ b/input/fsh/715-Assessment-Immunisation.fsh @@ -113,7 +113,7 @@ Description: "Immunisation sub-questionnaire for Aboriginal and Torres Strait Is * linkId = "54de7714-b917-4426-acb4-29d48648a2d8" * text = "Check Child Health Record/Book and Australian Immunisation Register" * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
-

Check Child Health Record/Book and Australian Immunisation Register

+

Check Child Health Record/Book and Australian Immunisation Register

" * type = #display * item[+] @@ -123,7 +123,7 @@ Description: "Immunisation sub-questionnaire for Aboriginal and Torres Strait Is * linkId = "d77c527d-6fde-4ed7-97b9-c71acf817f39" * text = "Eligibility for funded vaccines may vary across jurisdictions" * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
-

Eligibility for funded vaccines may vary across jurisdictions

+

Eligibility for funded vaccines may vary across jurisdictions

" * type = #display * item[+] @@ -133,7 +133,7 @@ Description: "Immunisation sub-questionnaire for Aboriginal and Torres Strait Is * linkId = "77d87581-d4d7-4267-9f3c-ad6541ad0f46" * text = "Check Australian Immunisation Register" * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
-

Check Australian Immunisation Register

+

Check Australian Immunisation Register

" * type = #display * item[+] @@ -143,7 +143,7 @@ Description: "Immunisation sub-questionnaire for Aboriginal and Torres Strait Is * linkId = "a2631d2c-2b5c-4147-9aca-05ae655a56a5" * text = "Check recommended primary vaccinations completed and provide catch-up if required" * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
-

Check recommended primary vaccinations completed and provide catch-up if required

+

Check recommended primary vaccinations completed and provide catch-up if required

" * type = #display diff --git a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh index 4b9d86cf..20edfee1 100644 --- a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh +++ b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh @@ -148,8 +148,8 @@ Description: "Medical History sub-questionnaire for Aboriginal and Torres Strait * text = "Medical history summary" * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "

Medical history summary

-

This section includes a list of existing items from the patient record. To update existing items, update the patient record and repopulate this form. To enter new items, add them at the bottom.

-
" +

This section includes a list of existing items from the patient record.
Update these items here or update the patient record and repopulate the form.
Add new items at the bottom.

+
" * type = #group * item[+] * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl][+].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#gtable diff --git a/input/fsh/715-Assessment-RegularMedications.fsh b/input/fsh/715-Assessment-RegularMedications.fsh index 5f95f8d5..83b68516 100644 --- a/input/fsh/715-Assessment-RegularMedications.fsh +++ b/input/fsh/715-Assessment-RegularMedications.fsh @@ -148,7 +148,7 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * item.item[=].text = "Medication summary" * item.item[=].text.extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "

Medication summary

-

This section includes a list of existing items from the patient record. To update existing items, update the patient record and repopulate this form. To enter new items, add them at the bottom.

+

This section includes a list of existing items from the patient record.
Update these items here or update the patient record and repopulate the form.
Add new items at the bottom.

" * item.item[=].type = #group * item.item[=].repeats = false From e39ddff370403ca09177452ef1494c3938576b35 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Wed, 18 Jun 2025 11:49:55 +1000 Subject: [PATCH 091/177] Add system wide transaction interaction to capability statement --- ...rAboriginalTorresStraitIslanderHealthCheck.json | 14 ++++++++++++++ input/fsh/capability.fsh | 5 +++++ 2 files changed, 19 insertions(+) diff --git a/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json b/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json index 49a20d5a..41843080 100644 --- a/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json +++ b/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json @@ -985,6 +985,20 @@ } ] } + ], + "interaction": [ + { + "code": "transaction", + "_code": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + "documentation": "The server **SHALL** support the transaction interaction for all resources." + } ] } ] diff --git a/input/fsh/capability.fsh b/input/fsh/capability.fsh index 177ec55e..3b93f2f9 100644 --- a/input/fsh/capability.fsh +++ b/input/fsh/capability.fsh @@ -511,6 +511,11 @@ The server **SHALL** support both." * rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL +* rest.interaction[+].code = #transaction +* rest.interaction[=].code.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.interaction[=].code.extension[0].valueCode = #SHALL +* rest.interaction[=].documentation = "The server **SHALL** support the transaction interaction for all resources." + Instance: SmartFormsServer From 0c2bafb25a4877d880a91bc8d7b04ddea7991bed Mon Sep 17 00:00:00 2001 From: liambarnes Date: Wed, 18 Jun 2025 11:52:02 +1000 Subject: [PATCH 092/177] Update assembled Questionnaire --- ...esStraitIslanderHealthCheck-assembled.json | 3410 +++++++++++++---- 1 file changed, 2692 insertions(+), 718 deletions(-) diff --git a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json index 59d0022d..118a002d 100644 --- a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json +++ b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json @@ -3,8 +3,7 @@ "id": "AboriginalTorresStraitIslanderHealthCheck", "meta": { "profile": [ - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" ] }, "contained": [ @@ -1134,6 +1133,556 @@ ] } }, + { + "resourceType": "Condition", + "id": "ConditionTemplate", + "meta": { + "profile": [ + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-condition" + ] + }, + "clinicalStatus": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", + "code": "active" + } + ] + }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/condition-category", + "code": "problem-list-item" + } + ] + } + ], + "code": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext", + "valueString": "item.where(linkId='2da85994-2d5e-42f1-8a81-abf44f397468').answer.value" + } + ], + "coding": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "ofType(Coding)" + } + ] + } + ], + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "ofType(string)" + } + ] + } + }, + "_onsetDateTime": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "item.where(linkId='4d55bffb-3286-4a23-a785-3b9c346d464d').answer.value.toDateTime()" + } + ] + }, + "note": [ + { + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "item.where(linkId='newdiagnosis-comment').answer.value" + } + ] + } + } + ] + }, + { + "resourceType": "Parameters", + "id": "ConditionPatchTemplate", + "parameter": [ + { + "name": "operation", + "part": [ + { + "name": "type", + "valueCode": "replace" + }, + { + "name": "path", + "valueString": "Condition.clinicalStatus" + }, + { + "name": "name", + "valueString": "clinicalStatus" + }, + { + "name": "value", + "valueCodeableConcept": { + "coding": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "item.where(linkId='88bcfad7-386b-4d87-b34b-2e50482e4d2c').answer.value.first()" + } + ] + } + ] + } + } + ] + }, + { + "name": "operation", + "part": [ + { + "name": "type", + "valueCode": "replace" + }, + { + "name": "path", + "valueString": "Condition.abatement" + }, + { + "name": "name", + "valueString": "abatement" + }, + { + "name": "value", + "_valueDateTime": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "item.where(linkId='e4524654-f6de-4717-b288-34919394d46b').answer.value.toDateTime()" + } + ] + } + } + ] + } + ] + }, + { + "resourceType": "ValueSet", + "id": "smarthealthchecks-medication", + "meta": { + "profile": [ + "http://hl7.org/fhir/StructureDefinition/shareablevalueset", + "https://healthterminologies.gov.au/fhir/StructureDefinition/composed-value-set-4" + ] + }, + "url": "https://smartforms.csiro.au/ig/ValueSet/smarthealthchecks-medication", + "name": "SmartHealthChecksMedication", + "title": "Smart Health Checks Medication", + "status": "draft", + "experimental": false, + "description": "The Smart Health Checks Medication value set includes Australian Medicines Terminology (AMT) product concepts that may be used for the identification of a medicine with form, ingredient and unit of measure details.", + "compose": { + "include": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107", + "filter": [ + { + "property": "constraint", + "op": "=", + "value": "^ 929360081000036101|Medicinal product pack reference set| OR ^ 929360071000036103|Medicinal product unit of use reference set| OR ^ 929360041000036105|Trade product pack reference set| OR ^ 929360031000036100|Trade product unit of use reference set| OR ^ 929360051000036108|Containered trade product pack reference set|" + } + ] + } + ] + } + }, + { + "resourceType": "ValueSet", + "id": "medication-reason-taken-1", + "meta": { + "profile": [ + "http://hl7.org/fhir/StructureDefinition/shareablevalueset", + "https://healthterminologies.gov.au/fhir/StructureDefinition/composed-value-set-4" + ] + }, + "url": "https://healthterminologies.gov.au/fhir/ValueSet/medication-reason-taken-1", + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:oid:1.2.36.1.2001.1004.201.10048" + } + ], + "version": "1.1.0", + "name": "MedicationReasonTaken", + "title": "Medication Reason Taken", + "status": "active", + "experimental": false, + "date": "2020-07-31", + "publisher": "Australian Digital Health Agency", + "contact": [ + { + "telecom": [ + { + "system": "email", + "value": "help@digitalhealth.gov.au" + } + ] + } + ], + "description": "The Medication Reason Taken value set includes values that identify a reason why a medication has been or is being taken.", + "copyright": "Copyright © 2020 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\nThis resource includes SNOMED Clinical Terms™ (SNOMED CT®) which is used by permission of the International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. “SNOMED” and “SNOMED CT” are registered trademarks of the IHTSDO. \n\nThe rights to use and implement or implementation of SNOMED CT content are limited to the extent it is necessary to allow for the end use of this material. No further rights are granted in respect of the International Release and no further use of any SNOMED CT content by any other party is permitted.\n\nAll copies of this resource must include this copyright statement and all information contained in this statement.", + "compose": { + "include": [ + { + "system": "http://snomed.info/sct", + "filter": [ + { + "property": "constraint", + "op": "=", + "value": "^ 32570581000036105|Problem/Diagnosis reference set| OR ^ 1184831000168105|Drug prophylaxis reference set| OR << 399097000|Administration of anaesthesia| OR 169443000|Preventive procedure|" + } + ] + } + ] + } + }, + { + "resourceType": "MedicationStatement", + "id": "MedicationStatementTemplate", + "meta": { + "profile": [ + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-medicationstatement" + ] + }, + "status": "completed", + "medicationCodeableConcept": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext", + "valueString": "item.where(linkId='regularmedications-summary-new-medication').answer.value" + } + ], + "coding": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "ofType(Coding)" + } + ] + } + ], + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "ofType(string)" + } + ] + } + }, + "_dateAsserted": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "now()" + } + ] + }, + "reasonCode": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext", + "valueString": "item.where(linkId='regularmedications-summary-new-reasoncode').answer.value.ofType(Coding)" + } + ], + "coding": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "$this" + } + ] + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext", + "valueString": "item.where(linkId='regularmedications-summary-new-reasoncode').answer.value.ofType(string)" + } + ], + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "$this" + } + ] + } + } + ], + "note": [ + { + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "item.where(linkId='regularmedications-summary-new-comment').answer.value" + } + ] + } + } + ], + "dosage": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext", + "valueString": "item.where(linkId='regularmedications-summary-new-dosage').answer.value" + } + ], + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "$this" + } + ] + } + } + ] + }, + { + "resourceType": "Parameters", + "id": "MedicationStatementPatchTemplate", + "parameter": [ + { + "name": "operation", + "part": [ + { + "name": "type", + "valueCode": "replace" + }, + { + "name": "path", + "valueString": "MedicationStatement.status" + }, + { + "name": "name", + "valueString": "status" + }, + { + "name": "value", + "_valueCode": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "item.where(linkId='regularmedications-summary-current-status').answer.value.code" + } + ] + } + } + ] + } + ] + }, + { + "resourceType": "AllergyIntolerance", + "id": "AllergyIntoleranceTemplate", + "meta": { + "profile": [ + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-allergyintolerance" + ] + }, + "clinicalStatus": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical", + "code": "active" + } + ] + }, + "code": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext", + "valueString": "item.where(linkId='allergynew-substance').answer.value" + } + ], + "coding": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "ofType(Coding)" + } + ] + } + ], + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "ofType(string)" + } + ] + } + }, + "note": [ + { + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "item.where(linkId='allergynew-comment').answer.value" + } + ] + } + } + ], + "reaction": [ + { + "manifestation": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext", + "valueString": "item.where(linkId='allergynew-manifestation').answer.value.ofType(Coding)" + } + ], + "coding": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "$this" + } + ] + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext", + "valueString": "item.where(linkId='allergynew-manifestation').answer.value.ofType(string)" + } + ], + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "$this" + } + ] + } + } + ] + } + ] + }, + { + "resourceType": "Parameters", + "id": "AllergyIntolerancePatchTemplate", + "parameter": [ + { + "name": "operation", + "part": [ + { + "name": "type", + "valueCode": "replace" + }, + { + "name": "path", + "valueString": "AllergyIntolerance.clinicalStatus" + }, + { + "name": "name", + "valueString": "clinicalStatus" + }, + { + "name": "value", + "valueCodeableConcept": { + "coding": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "item.where(linkId='allergysummary-status').answer.value.first()" + } + ] + } + ] + } + } + ] + } + ] + }, + { + "resourceType": "Observation", + "id": "SmokingStatusTemplate", + "meta": { + "profile": [ + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-smokingstatus" + ] + }, + "status": "final", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "social-history" + } + ] + } + ], + "code": { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "1747861000168109" + }, + { + "system": "http://loinc.org", + "code": "72166-2" + } + ], + "text": "Smoking status" + }, + "_effectiveDateTime": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.repeat(item).where(linkId='substanceuse-smoking-smokingstatus-group-newdate').answer.value.toDateTime()" + } + ] + }, + "valueCodeableConcept": { + "coding": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "$this.answer.value" + } + ] + } + ] + } + }, { "resourceType": "ValueSet", "id": "SmokingQuitStatus-1", @@ -1310,209 +1859,795 @@ { "system": "http://snomed.info/sct", "version": "http://snomed.info/sct/32506021000036107/version/20250430", - "code": "394872000", - "display": "Wants to quit" + "code": "394872000", + "display": "Wants to quit" + }, + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", + "code": "713914004", + "display": "Other tobacco use" + } + ] + } + }, + { + "resourceType": "ValueSet", + "id": "YesNoNotAskedDeclined", + "url": "https://smartforms.csiro.au/ig/ValueSet/YesNoNotAskedDeclined", + "name": "YesNoNotAskedDeclined", + "title": "Yes/No/Not Asked/Asked But Declined", + "status": "draft", + "experimental": false, + "description": "Concepts for Yes, No, Not Asked and Asked But Declined", + "compose": { + "include": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0532", + "concept": [ + { + "code": "Y", + "display": "Yes" + }, + { + "code": "N", + "display": "No" + }, + { + "code": "NASK", + "display": "Not Asked" + } + ] + }, + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "concept": [ + { + "code": "asked-declined", + "display": "Asked But Declined" + } + ] + } + ] + }, + "expansion": { + "identifier": "urn:uuid:20552db7-8def-4e55-a0d2-cb446651929c", + "timestamp": "2025-05-01T10:00:51+10:00", + "total": 4, + "offset": 0, + "parameter": [ + { + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false + }, + { + "name": "used-codesystem", + "valueUri": "http://terminology.hl7.org/CodeSystem/v2-0532|2.1.0" + }, + { + "name": "used-codesystem", + "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|1.0.0" + } + ], + "contains": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0532", + "code": "Y", + "display": "Yes" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0532", + "code": "N", + "display": "No" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0532", + "code": "NASK", + "display": "Not Asked" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "code": "asked-declined", + "display": "Asked But Declined" + } + ] + } + }, + { + "resourceType": "ValueSet", + "id": "CervicalScreeningStatus-1", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/valueset-supplement", + "valueCanonical": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement|0.3.0" + } + ], + "url": "https://smartforms.csiro.au/ig/ValueSet/CervicalScreeningStatus-1", + "name": "CervicalScreeningStatus", + "title": "Cervical Screening Status", + "status": "draft", + "experimental": false, + "description": "The Cervical Screening Status value set includes values that can be used to represent the status of an individual's participation in a cervical screening program.", + "compose": { + "include": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", + "concept": [ + { + "code": "736595007", + "display": "Declined" + }, + { + "code": "410527000", + "display": "Offered" + }, + { + "code": "171154002", + "display": "Not required" + }, + { + "code": "171155001", + "display": "Up to date" + } + ] + } + ] + }, + "expansion": { + "identifier": "urn:uuid:3657ae6f-b206-482f-a745-0ff9c99358ef", + "timestamp": "2025-06-05T13:50:47+10:00", + "parameter": [ + { + "name": "used-supplement", + "valueUri": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement|0.3.0" + }, + { + "name": "used-codesystem", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" + }, + { + "name": "version", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" + }, + { + "name": "warning-draft", + "valueUri": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement|0.3.0" + }, + { + "name": "warning-draft", + "valueUri": "https://smartforms.csiro.au/ig/ValueSet/CervicalScreeningStatus-1|0.3.0" + } + ], + "contains": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", + "code": "736595007", + "display": "Declined" + }, + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", + "code": "410527000", + "display": "Offered" + }, + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/32506021000036107/version/20250430", + "code": "171154002", + "display": "Not required" }, { "system": "http://snomed.info/sct", "version": "http://snomed.info/sct/32506021000036107/version/20250430", - "code": "713914004", - "display": "Other tobacco use" + "code": "171155001", + "display": "Up to date" } ] } }, { "resourceType": "ValueSet", - "id": "YesNoNotAskedDeclined", - "url": "https://smartforms.csiro.au/ig/ValueSet/YesNoNotAskedDeclined", - "name": "YesNoNotAskedDeclined", - "title": "Yes/No/Not Asked/Asked But Declined", - "status": "draft", + "id": "amt-vaccine-1", + "meta": { + "profile": [ + "http://hl7.org/fhir/StructureDefinition/shareablevalueset", + "https://healthterminologies.gov.au/fhir/StructureDefinition/composed-value-set-4" + ] + }, + "url": "https://healthterminologies.gov.au/fhir/ValueSet/amt-vaccine-1", + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:oid:1.2.36.1.2001.1004.201.10042" + } + ], + "version": "1.0.2", + "name": "AustralianMedicinesTerminologyVaccine", + "title": "Australian Medicines Terminology Vaccine", + "status": "active", "experimental": false, - "description": "Concepts for Yes, No, Not Asked and Asked But Declined", + "date": "2020-05-31", + "publisher": "Australian Digital Health Agency", + "contact": [ + { + "telecom": [ + { + "system": "email", + "value": "help@digitalhealth.gov.au" + } + ] + } + ], + "description": "The Australian Medicines Terminology (AMT) Vaccine value set includes AMT product concepts that may be used to record a vaccine product.", + "copyright": "Copyright © 2018 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\n This resource includes SNOMED Clinical Terms™ (SNOMED CT®) which is used by permission of the International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. “SNOMED” and “SNOMED CT” are registered trademarks of the IHTSDO. \n\nThe rights to use and implement or implementation of SNOMED CT content are limited to the extent it is necessary to allow for the end use of this material. No further rights are granted in respect of the International Release and no further use of any SNOMED CT content by any other party is permitted. \n\nAll copies of this resource must include this copyright statement and all information contained in this statement.", "compose": { "include": [ { - "system": "http://terminology.hl7.org/CodeSystem/v2-0532", - "concept": [ - { - "code": "Y", - "display": "Yes" - }, + "system": "http://snomed.info/sct", + "filter": [ { - "code": "N", - "display": "No" - }, + "property": "concept", + "op": "in", + "value": "1156291000168106" + } + ] + } + ] + } + }, + { + "resourceType": "Immunization", + "id": "ImmunizationTemplate", + "meta": { + "profile": [ + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-immunization" + ] + }, + "status": "completed", + "vaccineCode": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext", + "valueString": "item.where(linkId='vaccinestoday-vaccine').answer.value" + } + ], + "coding": [ + { + "extension": [ { - "code": "NASK", - "display": "Not Asked" + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "ofType(Coding)" } ] - }, + } + ], + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "ofType(string)" + } + ] + } + }, + "_occurrenceDateTime": { + "extension": [ { - "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", - "concept": [ + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "item.where(linkId='vaccinestoday-date').answer.value.toDateTime()" + } + ] + }, + "_lotNumber": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "item.where(linkId='vaccinestoday-batch').answer.value" + } + ] + }, + "note": [ + { + "_text": { + "extension": [ { - "code": "asked-declined", - "display": "Asked But Declined" + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "item.where(linkId='vaccinestoday-comment').answer.value" } ] } + } + ] + }, + { + "resourceType": "Observation", + "id": "BodyHeightTemplate", + "meta": { + "profile": [ + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyheight" ] }, - "expansion": { - "identifier": "urn:uuid:20552db7-8def-4e55-a0d2-cb446651929c", - "timestamp": "2025-05-01T10:00:51+10:00", - "total": 4, - "offset": 0, - "parameter": [ + "status": "final", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs" + } + ] + } + ], + "code": { + "coding": [ { - "name": "displayLanguage", - "valueCode": "en-US" + "system": "http://loinc.org", + "code": "8302-2" }, { - "name": "count", - "valueInteger": 1000 - }, + "system": "http://snomed.info/sct", + "code": "50373000" + } + ], + "text": "Height" + }, + "_effectiveDateTime": { + "extension": [ { - "name": "offset", - "valueInteger": 0 + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.repeat(item).where(linkId='obs-height-newdate').answer.value.toDateTime()" + } + ] + }, + "valueQuantity": { + "_value": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "$this.answer.value" + } + ] + }, + "unit": "cm", + "system": "http://unitsofmeasure.org", + "code": "cm" + } + }, + { + "resourceType": "Observation", + "id": "BodyHeightLengthTemplate", + "meta": { + "profile": [ + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyheight" + ] + }, + "status": "final", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs" + } + ] + } + ], + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "8302-2" }, { - "name": "excludeNested", - "valueBoolean": false + "system": "http://snomed.info/sct", + "code": "50373000" + } + ], + "text": "Height" + }, + "_effectiveDateTime": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.repeat(item).where(linkId='obs-lengthheight-newdate').answer.value.toDateTime()" + } + ] + }, + "valueQuantity": { + "_value": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "$this.answer.value" + } + ] + }, + "unit": "cm", + "system": "http://unitsofmeasure.org", + "code": "cm" + } + }, + { + "resourceType": "Observation", + "id": "BodyWeightTemplate", + "meta": { + "profile": [ + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyweight" + ] + }, + "status": "final", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs" + } + ] + } + ], + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "29463-7" }, { - "name": "used-codesystem", - "valueUri": "http://terminology.hl7.org/CodeSystem/v2-0532|2.1.0" + "system": "http://snomed.info/sct", + "code": "27113001" + } + ], + "text": "Weight" + }, + "_effectiveDateTime": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.repeat(item).where(linkId='obs-weight-newdate').answer.value.toDateTime()" + } + ] + }, + "valueQuantity": { + "_value": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "$this.answer.value" + } + ] + }, + "unit": "kg", + "system": "http://unitsofmeasure.org", + "code": "kg" + } + }, + { + "resourceType": "Observation", + "id": "WaistCircumferenceTemplate", + "meta": { + "profile": [ + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-waistcircum" + ] + }, + "status": "final", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs" + } + ] + } + ], + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "8280-0" }, { - "name": "used-codesystem", - "valueUri": "http://terminology.hl7.org/CodeSystem/data-absent-reason|1.0.0" + "system": "http://snomed.info/sct", + "code": "276361009" } ], - "contains": [ + "text": "Waist circumference" + }, + "_effectiveDateTime": { + "extension": [ { - "system": "http://terminology.hl7.org/CodeSystem/v2-0532", - "code": "Y", - "display": "Yes" + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.repeat(item).where(linkId='obs-waistcircumference-newdate').answer.value.toDateTime()" + } + ] + }, + "valueQuantity": { + "_value": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "$this.answer.value" + } + ] + }, + "unit": "cm", + "system": "http://unitsofmeasure.org", + "code": "cm" + } + }, + { + "resourceType": "Observation", + "id": "HeadCircumferenceTemplate", + "meta": { + "profile": [ + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum" + ] + }, + "status": "final", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs" + } + ] + } + ], + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "9843-4" }, { - "system": "http://terminology.hl7.org/CodeSystem/v2-0532", - "code": "N", - "display": "No" + "system": "http://snomed.info/sct", + "code": "363812007" + } + ], + "text": "Head circumference" + }, + "_effectiveDateTime": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.repeat(item).where(linkId='obs-headcircumference-newdate').answer.value.toDateTime()" + } + ] + }, + "valueQuantity": { + "_value": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "$this.answer.value" + } + ] + }, + "unit": "cm", + "system": "http://unitsofmeasure.org", + "code": "cm" + } + }, + { + "resourceType": "Observation", + "id": "HeartRateTemplate", + "meta": { + "profile": [ + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-heartrate" + ] + }, + "status": "final", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs" + } + ] + } + ], + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "8867-4" }, { - "system": "http://terminology.hl7.org/CodeSystem/v2-0532", - "code": "NASK", - "display": "Not Asked" - }, + "system": "http://snomed.info/sct", + "code": "364075005" + } + ], + "text": "Heart rate" + }, + "_effectiveDateTime": { + "extension": [ { - "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", - "code": "asked-declined", - "display": "Asked But Declined" + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.repeat(item).where(linkId='obs-heartrate-newdate').answer.value.toDateTime()" } ] + }, + "valueQuantity": { + "_value": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "$this.answer.value.toDecimal()" + } + ] + }, + "unit": "/min", + "system": "http://unitsofmeasure.org", + "code": "/min" } }, { - "resourceType": "ValueSet", - "id": "CervicalScreeningStatus-1", - "extension": [ + "resourceType": "Observation", + "id": "HeartRhythmTemplate", + "meta": { + "profile": [ + "https://smartforms.csiro.au/ig/StructureDefinition/SmartHealthCheckHeartRhythm" + ] + }, + "status": "final", + "category": [ { - "url": "http://hl7.org/fhir/StructureDefinition/valueset-supplement", - "valueCanonical": "https://smartforms.csiro.au/ig/CodeSystem/HealthChecksSCTSupplement" + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs" + } + ] } ], - "url": "https://smartforms.csiro.au/ig/ValueSet/CervicalScreeningStatus-1", - "name": "CervicalScreeningStatus", - "title": "Cervical Screening Status", - "status": "draft", - "experimental": false, - "description": "The Cervical Screening Status value set includes values that can be used to represent the status of an individual's participation in a cervical screening program.", - "compose": { - "include": [ + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "8884-9" + }, { "system": "http://snomed.info/sct", - "concept": [ - { - "code": "736595007", - "display": "Declined" - }, - { - "code": "410527000", - "display": "Offered" - }, - { - "code": "171154002", - "display": "Not required" - }, + "code": "364074009" + } + ], + "text": "Heart rhythm" + }, + "_effectiveDateTime": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.repeat(item).where(linkId='obs-heartrhythm-newdate').answer.value.toDateTime()" + } + ] + }, + "valueCodeableConcept": { + "coding": [ + { + "extension": [ { - "code": "171155001", - "display": "Up to date" + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "$this.answer.value" } ] } ] + } + }, + { + "resourceType": "Observation", + "id": "BloodPressureTemplate", + "meta": { + "profile": [ + "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bloodpressure" + ] }, - "expansion": { - "identifier": "urn:uuid:4d42d172-e817-40be-a265-56aebe2f4f10", - "timestamp": "2025-05-01T10:01:02+10:00", - "offset": 0, - "parameter": [ - { - "name": "displayLanguage", - "valueCode": "en-US" - }, - { - "name": "count", - "valueInteger": 1000 - }, - { - "name": "offset", - "valueInteger": 0 - }, - { - "name": "excludeNested", - "valueBoolean": false - }, - { - "name": "used-valueset", - "valueUri": "null" - }, + "status": "final", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs" + } + ] + } + ], + "code": { + "coding": [ { - "name": "used-codesystem", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" + "system": "http://loinc.org", + "code": "85354-9" }, { - "name": "version", - "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250430" + "system": "http://snomed.info/sct", + "code": "75367002" } ], - "contains": [ - { - "system": "http://snomed.info/sct", - "code": "736595007", - "display": "Cervical cancer screening refused" - }, + "text": "Blood pressure" + }, + "_effectiveDateTime": { + "extension": [ { - "system": "http://snomed.info/sct", - "code": "410527000", - "display": "Offered" + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "item.where(linkId='bp-newbp-date').answer.value.toDateTime()" + } + ] + }, + "component": [ + { + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "8480-6" + }, + { + "system": "http://snomed.info/sct", + "code": "271649006" + } + ], + "text": "Systolic" }, - { - "system": "http://snomed.info/sct", - "code": "171154002", - "display": "Cancer cervix screening - not needed" + "valueQuantity": { + "_value": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "$this.answer.value.toDecimal()" + } + ] + }, + "unit": "mm[Hg]", + "system": "http://unitsofmeasure.org", + "code": "mm[Hg]" + } + }, + { + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "8462-4" + }, + { + "system": "http://snomed.info/sct", + "code": "271650006" + } + ], + "text": "Diastolic" }, - { - "system": "http://snomed.info/sct", - "code": "171155001", - "display": "Cancer cervix screening - up-to-date" + "valueQuantity": { + "_value": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.repeat(item).where(linkId='bp-newbp-diastolic').answer.value.toDecimal()" + } + ] + }, + "unit": "mm[Hg]", + "system": "http://unitsofmeasure.org", + "code": "mm[Hg]" } - ] - } + } + ] } ], "extension": [ @@ -1874,7 +3009,7 @@ "valueExpression": { "name": "smoker", "language": "text/fhirpath", - "expression": "item.where(linkId='14a9fb5f-5b0e-4862-b143-08a11cd3ebf0').item.where(linkId='515eda6e-973a-4b10-910a-0d4bf4f2efff').item.where(linkId='b639a3a8-f476-4cc8-b5c7-f5d2abb23511').answer.value" + "expression": "repeat(item).where(linkId='b639a3a8-f476-4cc8-b5c7-f5d2abb23511').answer.value" } }, { @@ -2152,17 +3287,33 @@ { "url": "http://hl7.org/fhir/StructureDefinition/variable", "valueExpression": { - "name": "ObsSex", + "name": "PostalAddress", + "language": "text/fhirpath", + "expression": "%patient.address.where(type='postal')" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "Condition", "language": "application/x-fhir-query", - "expression": "Observation?code=1515311000168102&status=final&_count=1&_sort=-date&patient={{%patient.id}}" + "expression": "Condition?patient={{%patient.id}}" } }, { "url": "http://hl7.org/fhir/StructureDefinition/variable", "valueExpression": { - "name": "PostalAddress", - "language": "text/fhirpath", - "expression": "%patient.address.where(type='postal')" + "name": "MedicationStatement", + "language": "application/x-fhir-query", + "expression": "MedicationStatement?patient={{%patient.id}}" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "AllergyIntolerance", + "language": "application/x-fhir-query", + "expression": "AllergyIntolerance?patient={{%patient.id}}" } }, { @@ -2173,6 +3324,14 @@ "expression": "Observation?code=72166-2&_count=1&_sort=-date&patient={{%patient.id}}" } }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "Immunization", + "language": "application/x-fhir-query", + "expression": "Immunization?patient={{%patient.id}}" + } + }, { "url": "http://hl7.org/fhir/StructureDefinition/variable", "valueExpression": { @@ -2189,6 +3348,14 @@ "expression": "Observation?code=8867-4&_count=1&_sort=-date&patient={{%patient.id}}" } }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsHeartRhythm", + "language": "application/x-fhir-query", + "expression": "Observation?code=364074009&_count=1&_sort=-date&patient={{%patient.id}}" + } + }, { "url": "http://hl7.org/fhir/StructureDefinition/variable", "valueExpression": { @@ -2218,7 +3385,7 @@ "valueExpression": { "name": "weight", "language": "text/fhirpath", - "expression": "item.where(linkId='c587e3b6-b91a-40dc-9a16-179342d001e9').item.where(linkId='53d5d5a6-3198-4bec-92ac-03fe7d77fb68').item.where(linkId='97ed4c86-8820-4e4d-9234-0e0e8b6ca44a').item.where(linkId='443bd584-684a-449c-ab6e-9d07da4df9fa').answer.value" + "expression": "item.where(linkId='c587e3b6-b91a-40dc-9a16-179342d001e9').item.where(linkId='53d5d5a6-3198-4bec-92ac-03fe7d77fb68').item.where(linkId='97ed4c86-8820-4e4d-9234-0e0e8b6ca44a').item.where(linkId='obs-weight-newresult').answer.value" } }, { @@ -2226,7 +3393,7 @@ "valueExpression": { "name": "height", "language": "text/fhirpath", - "expression": "item.where(linkId='c587e3b6-b91a-40dc-9a16-179342d001e9').item.where(linkId='53d5d5a6-3198-4bec-92ac-03fe7d77fb68').item.where(linkId='6226a5c5-b5c3-4ebb-a689-2b286322cfe0').item.where(linkId='7035c7e7-ada3-4c6b-9ea8-f39666f5d4ea').answer.value" + "expression": "item.where(linkId='c587e3b6-b91a-40dc-9a16-179342d001e9').item.where(linkId='53d5d5a6-3198-4bec-92ac-03fe7d77fb68').item.where(linkId='6226a5c5-b5c3-4ebb-a689-2b286322cfe0').item.where(linkId='obs-height-newresult').answer.value" } }, { @@ -2330,19 +3497,6 @@ } ] }, - { - "linkId": "RecordUpdate-About", - "text": "Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there first.", - "_text": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there first.\r\n
" - } - ] - }, - "type": "display" - }, { "extension": [ { @@ -2409,7 +3563,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%QuestionnaireResponseLatestCompleted.entry.resource.authored" + "expression": "%QuestionnaireResponseLatestCompleted.entry.resource.authored.toDate()" } } ], @@ -2924,19 +4078,6 @@ } ] }, - { - "linkId": "RecordUpdate-Patient", - "text": "Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there first.", - "_text": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there first.\r\n
" - } - ] - }, - "type": "display" - }, { "extension": [ { @@ -3277,7 +4418,7 @@ "valueExpression": { "name": "HomeAddressRepeat", "language": "text/fhirpath", - "expression": "%patient.address.where(use='home' and (type.empty() or type!='postal'))" + "expression": "%patient.address.where(all(use='home' and (type.empty() or type!='postal')))" } } ], @@ -4628,19 +5769,6 @@ } ] }, - { - "linkId": "RecordUpdate-MedHistory", - "text": "Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there first.", - "_text": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there first.\r\n
" - } - ] - }, - "type": "display" - }, { "extension": [ { @@ -4649,116 +5777,97 @@ "language": "text/fhirpath", "expression": "%age <= 5" } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", - "valueCoding": { - "system": "http://unitsofmeasure.org", - "code": "wk" - } } ], - "linkId": "a10a7375-e9d3-4e71-a47a-282e9ba38ec1", - "text": "Gestation at birth", - "type": "decimal", + "linkId": "b9de2b58-55e2-436d-95ab-49600508cdf7", + "text": "Birth history", + "type": "group", "repeats": false, "item": [ { "extension": [ { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "system": "http://hl7.org/fhir/questionnaire-item-control", - "code": "unit" - } - ] + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", + "valueCoding": { + "system": "http://unitsofmeasure.org", + "code": "wk" } } ], - "linkId": "f3899852-36c4-441f-9a7d-544ef1617f08", - "text": "weeks", - "type": "display" - } - ] - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%age <= 5" - } + "linkId": "a10a7375-e9d3-4e71-a47a-282e9ba38ec1", + "text": "Gestation at birth", + "type": "decimal", + "repeats": false, + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://hl7.org/fhir/questionnaire-item-control", + "code": "unit" + } + ] + } + } + ], + "linkId": "f3899852-36c4-441f-9a7d-544ef1617f08", + "text": "weeks", + "type": "display" + } + ] }, - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", - "valueCoding": { - "system": "http://unitsofmeasure.org", - "code": "kg" - } - } - ], - "linkId": "29b6d8ea-23b2-4a69-98d9-899198692de7", - "text": "Birth weight", - "type": "decimal", - "repeats": false, - "item": [ { "extension": [ { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "system": "http://hl7.org/fhir/questionnaire-item-control", - "code": "unit" - } - ] + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", + "valueCoding": { + "system": "http://unitsofmeasure.org", + "code": "kg" } } ], - "linkId": "87cf1ecd-6d1b-4de1-894d-58bd77dcfde1", - "text": "kg", - "type": "display" + "linkId": "29b6d8ea-23b2-4a69-98d9-899198692de7", + "text": "Birth weight", + "type": "decimal", + "repeats": false, + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://hl7.org/fhir/questionnaire-item-control", + "code": "unit" + } + ] + } + } + ], + "linkId": "87cf1ecd-6d1b-4de1-894d-58bd77dcfde1", + "text": "kg", + "type": "display" + } + ] } ] }, { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "system": "http://hl7.org/fhir/questionnaire-item-control", - "code": "gtable" - } - ] - } - }, - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemPopulationContext", - "valueExpression": { - "name": "ConditionRepeat", - "language": "text/fhirpath", - "expression": "%Condition.entry.resource.where(category.coding.exists(code='problem-list-item'))" - } - } - ], - "linkId": "92bd7d05-9b5e-4cf9-900b-703f361dad9d", - "text": "Medical history and current problems list", + "linkId": "medicalhistorysummary", + "text": "Medical history summary", "_text": { "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n

Medical history and current problems list

\r\n

This list includes items from the clinical record. If you wish to enter additional diagnoses, either update the clinical record and repopulate this form or add them to the \"New diagnoses list\" below and later update the clinical record as required.

\r\n
" + "valueString": "
\r\n

Medical history summary

\r\n

This section includes a list of existing items from the patient record.
Update these items here or update the patient record and repopulate the form.
Add new items at the bottom.

\r\n
" } ] }, "type": "group", - "repeats": true, "item": [ { "extension": [ @@ -4768,117 +5877,143 @@ "coding": [ { "system": "http://hl7.org/fhir/questionnaire-item-control", - "code": "autocomplete" + "code": "gtable" } ] } }, { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemPopulationContext", "valueExpression": { + "name": "ConditionRepeat", "language": "text/fhirpath", - "expression": "%ConditionRepeat.code.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first())" + "expression": "%Condition.entry.resource.where(category.coding.exists(code='problem-list-item')).where(verificationStatus.coding.all(code.empty() or code='confirmed'))" } + }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract", + "extension": [ + { + "url": "template", + "valueReference": { + "reference": "#ConditionPatchTemplate" + } + }, + { + "url": "resourceId", + "valueString": "item.where(linkId='conditionId').answer.value" + }, + { + "url": "type", + "valueCode": "Condition" + } + ] } ], - "linkId": "59b1900a-4f85-4a8c-b9cd-3fe2fd76f27e", - "text": "Condition", - "type": "open-choice", - "answerValueSet": "#clinical-condition-1" - }, - { - "extension": [ + "linkId": "92bd7d05-9b5e-4cf9-900b-703f361dad9d", + "type": "group", + "repeats": true, + "item": [ { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "system": "http://hl7.org/fhir/questionnaire-item-control", - "code": "drop-down" + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-hidden", + "valueBoolean": true + }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%ConditionRepeat.id" } - ] - } + } + ], + "linkId": "conditionId", + "type": "string" }, { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ConditionRepeat.clinicalStatus.coding" - } - } - ], - "linkId": "88bcfad7-386b-4d87-b34b-2e50482e4d2c", - "text": "Clinical Status", - "type": "choice", - "answerValueSet": "#condition-clinical" - }, - { - "extension": [ + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://hl7.org/fhir/questionnaire-item-control", + "code": "autocomplete" + } + ] + } + }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%ConditionRepeat.code.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first())" + } + } + ], + "linkId": "59b1900a-4f85-4a8c-b9cd-3fe2fd76f27e", + "text": "Condition", + "type": "open-choice", + "readOnly": true, + "answerValueSet": "#clinical-condition-1" + }, { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ConditionRepeat.onset.ofType(dateTime)" - } - } - ], - "linkId": "6ae641ad-95bb-4cdc-8910-5a52077e492c", - "text": "Onset Date", - "type": "date" - }, - { - "extension": [ + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://hl7.org/fhir/questionnaire-item-control", + "code": "drop-down" + } + ] + } + }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%ConditionRepeat.clinicalStatus.coding" + } + } + ], + "linkId": "88bcfad7-386b-4d87-b34b-2e50482e4d2c", + "text": "Clinical status", + "type": "choice", + "answerValueSet": "#condition-clinical" + }, { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ConditionRepeat.recordedDate" - } - } - ], - "linkId": "18b9e159-2ed7-4047-82b7-deb2a171de4f", - "text": "Recorded Date", - "type": "date" - } - ] - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "system": "http://hl7.org/fhir/questionnaire-item-control", - "code": "gtable" - } - ] - } - } - ], - "linkId": "4484cacd-a260-4e5f-83c1-168ca2396c04", - "text": "New diagnoses list", - "type": "group", - "repeats": true, - "item": [ - { - "extension": [ + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%ConditionRepeat.onset.ofType(dateTime).toDate()" + } + } + ], + "linkId": "6ae641ad-95bb-4cdc-8910-5a52077e492c", + "text": "Onset date", + "type": "date", + "readOnly": true + }, { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "system": "http://hl7.org/fhir/questionnaire-item-control", - "code": "autocomplete" + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%ConditionRepeat.abatement.ofType(dateTime).toDate()" } - ] - } + } + ], + "linkId": "e4524654-f6de-4717-b288-34919394d46b", + "text": "Abatement date", + "type": "date" } - ], - "linkId": "2da85994-2d5e-42f1-8a81-abf44f397468", - "text": "Condition", - "type": "open-choice", - "answerValueSet": "#clinical-condition-1" + ] }, { "extension": [ @@ -4888,26 +6023,57 @@ "coding": [ { "system": "http://hl7.org/fhir/questionnaire-item-control", - "code": "drop-down" + "code": "gtable" } ] } + }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract", + "extension": [ + { + "url": "template", + "valueReference": { + "reference": "#ConditionTemplate" + } + } + ] } ], - "linkId": "a7e056be-fb6f-4f7f-b04d-5b809e1e18e3", - "text": "Clinical Status", - "type": "choice", - "answerValueSet": "#condition-clinical" - }, - { - "linkId": "e4524654-f6de-4717-b288-34919394d46b", - "text": "Onset Date", - "type": "date" - }, - { - "linkId": "5bc1d8f4-6e8c-4695-916c-1ef767306e46", - "text": "Recorded Date", - "type": "date" + "linkId": "newdiagnosis", + "type": "group", + "repeats": true, + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://hl7.org/fhir/questionnaire-item-control", + "code": "autocomplete" + } + ] + } + } + ], + "linkId": "2da85994-2d5e-42f1-8a81-abf44f397468", + "text": "Condition", + "type": "open-choice", + "answerValueSet": "#clinical-condition-1" + }, + { + "linkId": "4d55bffb-3286-4a23-a785-3b9c346d464d", + "text": "Onset date", + "type": "date" + }, + { + "linkId": "newdiagnosis-comment", + "text": "Comment", + "type": "string" + } + ] } ] }, @@ -4934,21 +6100,19 @@ ] }, { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%age.exists()" - } - }, - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-shortText", - "valueString": "Regular medications" - } - ], "linkId": "7dfe7c6a-ca7f-4ddf-9241-a7b918a9695a", - "text": "Regular medications: check if still required, appropriate dose, understanding of medication and adherence", + "_linkId": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%age.exists()" + } + } + ] + }, + "text": "Regular medications", "type": "group", "repeats": false, "item": [ @@ -5018,6 +6182,292 @@ } ] }, + { + "linkId": "regularmedications-instruction", + "text": "Check medications are still required, appropriate dose, understanding of medication and adherence", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
\r\n Check medications are still required, appropriate dose, understanding of medication and adherence\r\n
" + } + ] + }, + "type": "display" + }, + { + "linkId": "regularmedications-summary", + "text": "Medication summary", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
\r\n

Medication summary

\r\n

This section includes a list of existing items from the patient record.
Update these items here or update the patient record and repopulate the form.
Add new items at the bottom.

\r\n
" + } + ] + }, + "type": "group", + "repeats": false, + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemPopulationContext", + "valueExpression": { + "name": "MedicationStatementRepeat", + "language": "text/fhirpath", + "expression": "%MedicationStatement.entry.resource.where(status='active')" + } + }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract", + "extension": [ + { + "url": "template", + "valueReference": { + "reference": "#MedicationStatementPatchTemplate" + } + }, + { + "url": "resourceId", + "valueString": "item.where(linkId='medicationStatementId').answer.value" + }, + { + "url": "type", + "valueCode": "MedicationStatement" + } + ] + } + ], + "linkId": "regularmedications-summary-current", + "type": "group", + "repeats": true, + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-hidden", + "valueBoolean": true + }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%MedicationStatementRepeat.id" + } + } + ], + "linkId": "medicationStatementId", + "type": "string" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://hl7.org/fhir/questionnaire-item-control", + "code": "autocomplete" + } + ] + } + }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%MedicationStatementRepeat.medication.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first())" + } + } + ], + "linkId": "regularmedications-summary-current-medication", + "text": "Medication", + "type": "open-choice", + "repeats": false, + "readOnly": true, + "answerValueSet": "#smarthealthchecks-medication" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%MedicationStatementRepeat.status" + } + } + ], + "linkId": "regularmedications-summary-current-status", + "text": "Status", + "type": "choice", + "repeats": false, + "answerValueSet": "#smarthealthchecks-medication", + "answerOption": [ + { + "valueCoding": { + "system": "http://terminology.hl7.org/CodeSystem/medication-statement-status", + "code": "active", + "display": "Active" + } + }, + { + "valueCoding": { + "system": "http://terminology.hl7.org/CodeSystem/medication-statement-status", + "code": "completed", + "display": "Completed" + } + }, + { + "valueCoding": { + "system": "http://terminology.hl7.org/CodeSystem/medication-statement-status", + "code": "stopped", + "display": "Stopped" + } + }, + { + "valueCoding": { + "system": "http://terminology.hl7.org/CodeSystem/medication-statement-status", + "code": "on-hold", + "display": "On Hold" + } + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%MedicationStatementRepeat.dosage.text" + } + } + ], + "linkId": "regularmedications-summary-current-dosage", + "text": "Dosage", + "type": "string", + "repeats": true + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://hl7.org/fhir/questionnaire-item-control", + "code": "autocomplete" + } + ] + } + }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%MedicationStatementRepeat.reasonCode.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first())" + } + } + ], + "linkId": "regularmedications-summary-current-reasoncode", + "text": "Clinical indication", + "type": "open-choice", + "repeats": true, + "readOnly": true, + "answerValueSet": "#medication-reason-taken-1" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%MedicationStatementRepeat.note.text" + } + } + ], + "linkId": "regularmedications-summary-current-comment", + "text": "Comment", + "type": "string", + "repeats": true + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract", + "extension": [ + { + "url": "template", + "valueReference": { + "reference": "#MedicationStatementTemplate" + } + } + ] + } + ], + "linkId": "regularmedications-summary-new", + "type": "group", + "repeats": true, + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://hl7.org/fhir/questionnaire-item-control", + "code": "autocomplete" + } + ] + } + } + ], + "linkId": "regularmedications-summary-new-medication", + "text": "Medication", + "type": "open-choice", + "repeats": false, + "answerValueSet": "#smarthealthchecks-medication" + }, + { + "linkId": "regularmedications-summary-new-dosage", + "text": "Dosage", + "type": "string", + "repeats": true + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://hl7.org/fhir/questionnaire-item-control", + "code": "autocomplete" + } + ] + } + } + ], + "linkId": "regularmedications-summary-new-reasoncode", + "text": "Clinical indication", + "type": "open-choice", + "repeats": true, + "answerValueSet": "#medication-reason-taken-1" + }, + { + "linkId": "regularmedications-summary-new-comment", + "text": "Comment", + "type": "string", + "repeats": false + } + ] + } + ] + }, { "extension": [ { @@ -5085,32 +6535,13 @@ "linkId": "3a2d27b6-e918-4df5-aca9-b374fcf9faad", "text": "Do you take any regular medications (prescribed, over-the-counter, traditional, complementary and alternative)?", "type": "choice", - "repeats": false, - "answerValueSet": "#YesNo" - }, - { - "linkId": "874ec8db-95c9-4cc0-95db-e45edaa3cd12", - "text": "Up to date in the health record?", - "type": "boolean", - "enableWhen": [ - { - "question": "6eb59145-ed9a-4184-af83-3506d47e4d4e", - "operator": "=", - "answerCoding": { - "system": "http://terminology.hl7.org/CodeSystem/v2-0136", - "code": "Y" - } - }, - { - "question": "3a2d27b6-e918-4df5-aca9-b374fcf9faad", - "operator": "=", - "answerCoding": { - "system": "http://terminology.hl7.org/CodeSystem/v2-0136", - "code": "Y" - } - } - ], - "enableBehavior": "any", + "repeats": false, + "answerValueSet": "#YesNo" + }, + { + "linkId": "874ec8db-95c9-4cc0-95db-e45edaa3cd12", + "text": "Check the health record is up to date", + "type": "boolean", "repeats": false }, { @@ -5121,7 +6552,7 @@ } ], "linkId": "36290837-ad70-48b2-9c66-31533fec918b", - "text": "Medication understanding and adherence has been checked with patient", + "text": "Check medication understanding and adherence with patient", "type": "boolean", "enableWhen": [ { @@ -5176,7 +6607,7 @@ } } ], - "linkId": "d4e4db07-a795-4a30-bd0f-9c109f96a22b", + "linkId": "allergy", "text": "Allergies/adverse reactions", "type": "group", "repeats": false, @@ -5248,23 +6679,252 @@ ] }, { - "extension": [ + "linkId": "allergyinstruction", + "text": "Adverse reaction risk summary", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
\r\n

Adverse reaction risk summary

\r\n

This section includes a list of existing items from the patient record.
Update these items here or update the patient record and repopulate the form.
Add new items at the bottom.

\r\n
" + } + ] + }, + "type": "group", + "item": [ { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "system": "http://hl7.org/fhir/questionnaire-item-control", - "code": "check-box" + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemPopulationContext", + "valueExpression": { + "name": "AllergyIntoleranceRepeat", + "language": "text/fhirpath", + "expression": "%AllergyIntolerance.entry.resource.where(clinicalStatus.coding.exists(code='active')).where(verificationStatus.coding.all(code.empty() or code='confirmed'))" } - ] - } + }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract", + "extension": [ + { + "url": "template", + "valueReference": { + "reference": "#AllergyIntolerancePatchTemplate" + } + }, + { + "url": "resourceId", + "valueString": "item.where(linkId='allergyIntoleranceId').answer.value" + }, + { + "url": "type", + "valueCode": "AllergyIntolerance" + } + ] + } + ], + "linkId": "allergysummary", + "type": "group", + "repeats": true, + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-hidden", + "valueBoolean": true + }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%AllergyIntoleranceRepeat.id" + } + } + ], + "linkId": "allergyIntoleranceId", + "type": "string" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%AllergyIntoleranceRepeat.code.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first())" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://hl7.org/fhir/questionnaire-item-control", + "code": "autocomplete" + } + ] + } + } + ], + "linkId": "allergysummary-substance", + "text": "Substance", + "type": "open-choice", + "repeats": false, + "readOnly": true, + "answerValueSet": "https://healthterminologies.gov.au/fhir/ValueSet/adverse-reaction-agent-1" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%AllergyIntoleranceRepeat.clinicalStatus.coding" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://hl7.org/fhir/questionnaire-item-control", + "code": "drop-down" + } + ] + } + } + ], + "linkId": "allergysummary-status", + "text": "Status", + "type": "choice", + "repeats": false, + "answerOption": [ + { + "valueCoding": { + "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical", + "code": "active", + "display": "Active" + } + }, + { + "valueCoding": { + "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical", + "code": "inactive", + "display": "Inactive" + } + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%AllergyIntoleranceRepeat.reaction.manifestation.coding" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://hl7.org/fhir/questionnaire-item-control", + "code": "autocomplete" + } + ] + } + } + ], + "linkId": "allergysummary-manifestation", + "text": "Manifestation", + "type": "open-choice", + "repeats": true, + "readOnly": true, + "answerValueSet": "https://healthterminologies.gov.au/fhir/ValueSet/clinical-finding-1" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%AllergyIntoleranceRepeat.note.text" + } + } + ], + "linkId": "allergysummary-comment", + "text": "Comment", + "type": "string", + "repeats": false + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract", + "extension": [ + { + "url": "template", + "valueReference": { + "reference": "#AllergyIntoleranceTemplate" + } + } + ] + } + ], + "linkId": "allergynew", + "type": "group", + "repeats": true, + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://hl7.org/fhir/questionnaire-item-control", + "code": "autocomplete" + } + ] + } + } + ], + "linkId": "allergynew-substance", + "text": "Substance", + "type": "open-choice", + "required": true, + "repeats": false, + "answerValueSet": "https://healthterminologies.gov.au/fhir/ValueSet/adverse-reaction-agent-1" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://hl7.org/fhir/questionnaire-item-control", + "code": "autocomplete" + } + ] + } + } + ], + "linkId": "allergynew-manifestation", + "text": "Manifestation", + "type": "open-choice", + "repeats": true, + "answerValueSet": "https://healthterminologies.gov.au/fhir/ValueSet/clinical-finding-1" + }, + { + "linkId": "allergynew-comment", + "text": "Comment", + "type": "string", + "repeats": false + } + ] } - ], - "linkId": "8a1d70bf-a68b-4b7b-be73-ba6956fccc78", - "text": "Up to date in the health record?", - "type": "boolean", - "repeats": false + ] }, { "linkId": "3e689aeb-69a1-4a9b-93bd-50377511dd9b", @@ -7565,19 +9225,6 @@ } ] }, - { - "linkId": "RecordUpdate-ScreeningPrograms", - "text": "Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there first.", - "_text": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there first.\r\n
" - } - ] - }, - "type": "display" - }, { "linkId": "ed15e82b-803a-4d21-9344-9110b57b2313", "text": "Cervical screening (age <=74 years)", @@ -10166,50 +11813,93 @@ ] }, { - "linkId": "RecordUpdate-SubstanceUse", - "text": "Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there first.", - "_text": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there first.\r\n
" - } - ] - }, - "type": "display" - }, - { - "linkId": "515eda6e-973a-4b10-910a-0d4bf4f2efff", + "linkId": "substanceuse-smoking", "text": "Smoking", "type": "group", "repeats": false, "item": [ { "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsTobaccoSmokingStatus.entry.resource.value.coding.where(system='http://snomed.info/sct')" - } - }, { "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", "valueCodeableConcept": { "coding": [ { "system": "http://hl7.org/fhir/questionnaire-item-control", - "code": "radio-button" + "version": "1.0.0", + "code": "grid" } ] } } - ], - "linkId": "b639a3a8-f476-4cc8-b5c7-f5d2abb23511", - "text": "Smoking status", - "type": "choice", - "repeats": false, - "answerValueSet": "#TobaccoUseStatus-1" + ], + "linkId": "substanceuse-smoking-smokingstatus", + "type": "group", + "repeats": false, + "item": [ + { + "linkId": "substanceuse-smoking-smokingstatus-group", + "text": "Smoking status", + "type": "group", + "repeats": false, + "item": [ + { + "linkId": "substanceuse-smoking-smokingstatus-group-laststatus", + "text": "Last status", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%ObsTobaccoSmokingStatus.entry.resource.value.coding.where(system='http://snomed.info/sct').empty() = true, 'Not available', %ObsTobaccoSmokingStatus.entry.resource.value.coding.where(system='http://snomed.info/sct').first().display + ' (' + %ObsTobaccoSmokingStatus.entry.resource.effective.toDate().toString() + ')')" + } + } + ] + }, + "type": "display", + "repeats": false + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract", + "extension": [ + { + "url": "template", + "valueReference": { + "reference": "#SmokingStatusTemplate" + } + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://hl7.org/fhir/questionnaire-item-control", + "code": "drop-down" + } + ] + } + } + ], + "linkId": "b639a3a8-f476-4cc8-b5c7-f5d2abb23511", + "text": "New status", + "type": "choice", + "repeats": false, + "answerValueSet": "#TobaccoUseStatus-1" + }, + { + "linkId": "substanceuse-smoking-smokingstatus-group-newdate", + "text": "New date", + "type": "date", + "repeats": false + } + ] + } + ] }, { "extension": [ @@ -11877,7 +13567,7 @@ } ], "linkId": "fe96046a-a202-4c22-ad3e-00419e717185", - "text": "Video otoscopy procedure recommended where possible as it allows for parental education and for images to be saved for tracking over time", + "text": "Video otoscopy procedure recommended where possible as it allows for parental education and for images to be saved for tracking over time.", "type": "display" }, { @@ -12794,6 +14484,14 @@ ], "linkId": "54de7714-b917-4426-acb4-29d48648a2d8", "text": "Check Child Health Record/Book and Australian Immunisation Register", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
\r\n

Check Child Health Record/Book and Australian Immunisation Register

\r\n
" + } + ] + }, "type": "display" }, { @@ -12808,6 +14506,14 @@ ], "linkId": "d77c527d-6fde-4ed7-97b9-c71acf817f39", "text": "Eligibility for funded vaccines may vary across jurisdictions", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
\r\n

Eligibility for funded vaccines may vary across jurisdictions

\r\n
" + } + ] + }, "type": "display" }, { @@ -12822,6 +14528,14 @@ ], "linkId": "77d87581-d4d7-4267-9f3c-ad6541ad0f46", "text": "Check Australian Immunisation Register", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
\r\n

Check Australian Immunisation Register

\r\n
" + } + ] + }, "type": "display" }, { @@ -12836,8 +14550,114 @@ ], "linkId": "a2631d2c-2b5c-4147-9aca-05ae655a56a5", "text": "Check recommended primary vaccinations completed and provide catch-up if required", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
\r\n

Check recommended primary vaccinations completed and provide catch-up if required

\r\n
" + } + ] + }, "type": "display" }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://hl7.org/fhir/questionnaire-item-control", + "code": "gtable" + } + ] + } + }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemPopulationContext", + "valueExpression": { + "name": "ImmunizationRepeat", + "language": "text/fhirpath", + "expression": "%Immunization.entry.resource.where(status='completed')" + } + } + ], + "linkId": "vaccinesprevious", + "text": "Vaccines previously given", + "type": "group", + "repeats": true, + "readOnly": true, + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://hl7.org/fhir/questionnaire-item-control", + "code": "autocomplete" + } + ] + } + }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%ImmunizationRepeat.vaccineCode.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first())" + } + } + ], + "linkId": "vaccinesprevious-vaccine", + "text": "Vaccine", + "type": "open-choice", + "answerValueSet": "#amt-vaccine-1" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%ImmunizationRepeat.lotNumber" + } + } + ], + "linkId": "vaccinesprevious-batch", + "text": "Batch number", + "type": "string" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%ImmunizationRepeat.occurrence.ofType(dateTime).toDate()" + } + } + ], + "linkId": "vaccinesprevious-date", + "text": "Administration date", + "type": "date" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%ImmunizationRepeat.note.text.first()" + } + } + ], + "linkId": "vaccinesprevious-comment", + "text": "Comment", + "type": "string" + } + ] + }, { "extension": [ { @@ -12856,23 +14676,61 @@ "valueCode": "horizontal" } ], - "linkId": "69a4a459-196b-4931-8336-ea76ab3fccd1", - "text": "Immunisations up to date and recorded on Australian Immunisation Register (as per Australian immunisation handbook)?", + "linkId": "vaccinesair", + "text": "Immunisations are up to date?", "type": "choice", "repeats": false, "answerValueSet": "#YesNo" }, { - "linkId": "08e8ca54-9af8-4028-be83-aab20bccecc3", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://hl7.org/fhir/questionnaire-item-control", + "code": "autocomplete" + } + ] + } + } + ], + "linkId": "vaccinesdue", "text": "Immunisations due", - "type": "string", - "repeats": true + "type": "open-choice", + "repeats": true, + "answerValueSet": "#amt-vaccine-1" }, { - "linkId": "cc522cb1-b553-48c7-9028-61d15dd60845", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://hl7.org/fhir/questionnaire-item-control", + "code": "gtable" + } + ] + } + }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract", + "extension": [ + { + "url": "template", + "valueReference": { + "reference": "#ImmunizationTemplate" + } + } + ] + } + ], + "linkId": "vaccinestoday", "text": "Vaccines given today", "type": "group", - "repeats": false, + "repeats": true, "item": [ { "extension": [ @@ -12882,40 +14740,58 @@ "coding": [ { "system": "http://hl7.org/fhir/questionnaire-item-control", - "code": "radio-button" + "code": "autocomplete" } ] } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-choiceOrientation", - "valueCode": "horizontal" } ], - "linkId": "9f5787e6-8ece-46a4-8d67-e7c3e14daf18", - "text": "Vaccines recorded on Australian Immunisation Register?", - "type": "choice", - "repeats": false, - "answerValueSet": "#YesNo" + "linkId": "vaccinestoday-vaccine", + "text": "Vaccine", + "type": "open-choice", + "answerValueSet": "#amt-vaccine-1" }, { - "linkId": "c8da01ec-de58-46e3-81a1-2c49aed8c28e", - "text": "Details", - "type": "text", - "enableWhen": [ - { - "question": "9f5787e6-8ece-46a4-8d67-e7c3e14daf18", - "operator": "=", - "answerCoding": { - "system": "http://terminology.hl7.org/CodeSystem/v2-0136", - "code": "Y" - } - } - ], - "repeats": false + "linkId": "vaccinestoday-batch", + "text": "Batch number", + "type": "string" + }, + { + "linkId": "vaccinestoday-date", + "text": "Administration date", + "type": "date" + }, + { + "linkId": "vaccinestoday-comment", + "text": "Comment", + "type": "string" } ] }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://hl7.org/fhir/questionnaire-item-control", + "code": "radio-button" + } + ] + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-choiceOrientation", + "valueCode": "horizontal" + } + ], + "linkId": "vaccinesrecorded", + "text": "Have all vaccines been recorded on the Australian Immunisation Register?", + "type": "choice", + "repeats": false, + "answerValueSet": "#YesNo" + }, { "linkId": "bcd1c9f2-889e-41e5-8c2b-a70221c5cec5", "text": "Health priorities, actions and follow-up", @@ -13019,19 +14895,6 @@ } ] }, - { - "linkId": "RecordUpdate-Exam", - "text": "Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there first.", - "_text": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there first.\r\n
" - } - ] - }, - "type": "display" - }, { "extension": [ { @@ -13062,6 +14925,15 @@ } ], "linkId": "53d5d5a6-3198-4bec-92ac-03fe7d77fb68", + "text": "The tabled observations will display the most recent results available from the patient record. New observations may be added.", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "

The tabled observations will display the most recent results available from the patient record. New observations may be added.

" + } + ] + }, "type": "group", "repeats": false, "item": [ @@ -13080,14 +14952,36 @@ "type": "group", "repeats": false, "item": [ + { + "linkId": "837cd0ce-4a9e-4c8b-8679-007ed961f121", + "text": "Last result", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%ObsBodyHeight.entry.resource.value.value.empty() = true, 'Not available', %ObsBodyHeight.entry.resource.value.value.toString() + ' cm' + ' (' + %ObsBodyHeight.entry.resource.effective.toDate().toString() + ')')" + } + } + ] + }, + "type": "display", + "repeats": false, + "readOnly": true + }, { "extension": [ { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsBodyHeight.entry.resource.value.value" - } + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract", + "extension": [ + { + "url": "template", + "valueReference": { + "reference": "#BodyHeightLengthTemplate" + } + } + ] }, { "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", @@ -13097,8 +14991,8 @@ } } ], - "linkId": "837cd0ce-4a9e-4c8b-8679-007ed961f121", - "text": "Value", + "linkId": "obs-lengthheight-newresult", + "text": "New result", "type": "decimal", "repeats": false, "item": [ @@ -13116,24 +15010,15 @@ } } ], - "linkId": "e73c3643-8898-4ef8-8bc9-b4b3826ab790", + "linkId": "obslengthheight-newresult-unit", "text": "cm", "type": "display" } ] }, { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsBodyHeight.entry.resource.effective" - } - } - ], - "linkId": "b9faf79e-b5f7-443a-9203-67532e3a381f", - "text": "Date performed", + "linkId": "obs-lengthheight-newdate", + "text": "New result date", "type": "date", "repeats": false } @@ -13154,14 +15039,36 @@ "type": "group", "repeats": false, "item": [ + { + "linkId": "7035c7e7-ada3-4c6b-9ea8-f39666f5d4ea", + "text": "Last result", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%ObsBodyHeight.entry.resource.value.value.empty() = true, 'Not available', %ObsBodyHeight.entry.resource.value.value.toString() + ' cm' + ' (' + %ObsBodyHeight.entry.resource.effective.toDate().toString() + ')')" + } + } + ] + }, + "type": "display", + "repeats": false, + "readOnly": true + }, { "extension": [ { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsBodyHeight.entry.resource.value.value" - } + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract", + "extension": [ + { + "url": "template", + "valueReference": { + "reference": "#BodyHeightTemplate" + } + } + ] }, { "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", @@ -13171,8 +15078,8 @@ } } ], - "linkId": "7035c7e7-ada3-4c6b-9ea8-f39666f5d4ea", - "text": "Value", + "linkId": "obs-height-newresult", + "text": "New result", "type": "decimal", "repeats": false, "item": [ @@ -13190,24 +15097,15 @@ } } ], - "linkId": "387c95f0-8b54-4ad7-992d-8ab26a34fd77", + "linkId": "obs-height-newresult-unit", "text": "cm", "type": "display" } ] }, { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsBodyHeight.entry.resource.effective" - } - } - ], - "linkId": "c666ac96-1e64-40e2-8e0b-7d0187bb3e50", - "text": "Date performed", + "linkId": "obs-height-newdate", + "text": "New result date", "type": "date", "repeats": false } @@ -13219,14 +15117,36 @@ "type": "group", "repeats": false, "item": [ + { + "linkId": "443bd584-684a-449c-ab6e-9d07da4df9fa", + "text": "Last result", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%ObsBodyWeight.entry.resource.value.value.empty() = true, 'Not available', %ObsBodyWeight.entry.resource.value.value.toString() + ' kg' + ' (' + %ObsBodyWeight.entry.resource.effective.toDate().toString() + ')')" + } + } + ] + }, + "type": "display", + "repeats": false, + "readOnly": true + }, { "extension": [ { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsBodyWeight.entry.resource.value.value" - } + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract", + "extension": [ + { + "url": "template", + "valueReference": { + "reference": "#BodyWeightTemplate" + } + } + ] }, { "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", @@ -13236,8 +15156,8 @@ } } ], - "linkId": "443bd584-684a-449c-ab6e-9d07da4df9fa", - "text": "Value", + "linkId": "obs-weight-newresult", + "text": "New result", "type": "decimal", "repeats": false, "item": [ @@ -13255,24 +15175,15 @@ } } ], - "linkId": "5ba0d699-bc2a-45d0-8f40-f53cb21dc911", + "linkId": "obs-weight-newresult-unit", "text": "kg", "type": "display" } ] }, { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsBodyWeight.entry.resource.effective" - } - } - ], - "linkId": "92cdc1c7-eb6c-4f6d-9bd9-ae726a0e0d3d", - "text": "Date performed", + "linkId": "obs-weight-newdate", + "text": "New result date", "type": "date", "repeats": false } @@ -13289,10 +15200,28 @@ } ], "linkId": "bc209c5e-ed28-48e3-b1a1-55cb7e435d8b", - "text": "BMI", + "text": "BMI (calculated)", "type": "group", "repeats": false, "item": [ + { + "linkId": "2ada6633-03c6-4b05-bc23-18dec84ec150", + "text": "Last result", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%ObsBodyWeight.entry.resource.value.value.empty() = true or %ObsBodyHeight.entry.resource.value.value.empty() = true, 'Not available', (%ObsBodyWeight.entry.resource.value.value/((%ObsBodyHeight.entry.resource.value.value/100).power(2))).round(1).toString() + ' kg/m2')" + } + } + ] + }, + "type": "display", + "repeats": false, + "readOnly": true + }, { "extension": [ { @@ -13311,8 +15240,8 @@ } } ], - "linkId": "2ada6633-03c6-4b05-bc23-18dec84ec150", - "text": "Value", + "linkId": "obs-bmi-newresult", + "text": "New result", "type": "decimal", "repeats": false, "readOnly": true, @@ -13331,7 +15260,7 @@ } } ], - "linkId": "a709b8ec-9e65-40f0-a781-500cb3e56f3c", + "linkId": "obs-bmi-newresult-unit", "text": "kg/m2", "type": "display" } @@ -13354,14 +15283,36 @@ "type": "group", "repeats": false, "item": [ + { + "linkId": "7a4a6aac-558e-4bec-86c5-326ae07e37d6", + "text": "Last result", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%ObsHeadCircumference.entry.resource.value.value.empty() = true, 'Not available', %ObsHeadCircumference.entry.resource.value.value.toString() + ' cm' + ' (' + %ObsHeadCircumference.entry.resource.effective.toDate().toString() + ')')" + } + } + ] + }, + "type": "display", + "repeats": false, + "readOnly": true + }, { "extension": [ { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsHeadCircumference.entry.resource.value.value" - } + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract", + "extension": [ + { + "url": "template", + "valueReference": { + "reference": "#HeadCircumferenceTemplate" + } + } + ] }, { "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", @@ -13371,8 +15322,8 @@ } } ], - "linkId": "7a4a6aac-558e-4bec-86c5-326ae07e37d6", - "text": "Value", + "linkId": "obs-headcircumference-newresult", + "text": "New result", "type": "decimal", "repeats": false, "item": [ @@ -13390,24 +15341,15 @@ } } ], - "linkId": "73937983-65a0-4d40-8600-de7ca3277d5e", + "linkId": "obs-headcircumference-newresult-unit", "text": "cm", "type": "display" } ] }, { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsHeadCircumference.entry.resource.effective" - } - } - ], - "linkId": "b8da15e7-8648-492b-9e82-ad5ab7cad179", - "text": "Date performed", + "linkId": "obs-headcircumference-newdate", + "text": "New result date", "type": "date", "repeats": false } @@ -13429,24 +15371,39 @@ "repeats": false, "item": [ { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsWaistCircumference.entry.resource.value.value" + "linkId": "8df0f5d8-821d-4f71-b3c1-d164616ea2f5", + "text": "Last result", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%ObsWaistCircumference.entry.resource.value.value.empty() = true, 'Not available', %ObsWaistCircumference.entry.resource.value.value.toString() + ' cm' + ' (' + %ObsWaistCircumference.entry.resource.effective.toDate().toString() + ')')" + } } - }, + ] + }, + "type": "display", + "repeats": false, + "readOnly": true + }, + { + "extension": [ { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", - "valueCoding": { - "system": "http://unitsofmeasure.org", - "code": "cm" - } + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract", + "extension": [ + { + "url": "template", + "valueReference": { + "reference": "#WaistCircumferenceTemplate" + } + } + ] } ], - "linkId": "8df0f5d8-821d-4f71-b3c1-d164616ea2f5", - "text": "Value", + "linkId": "obs-waistcircumference-newresult", + "text": "New result", "type": "decimal", "repeats": false, "item": [ @@ -13464,24 +15421,15 @@ } } ], - "linkId": "19aeb0ab-7494-4bac-8b2d-d7d2527c1f4a", + "linkId": "obs-waistcircumference-newresult-unit", "text": "cm", "type": "display" } ] }, { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsWaistCircumference.entry.resource.effective" - } - } - ], - "linkId": "3eb3b929-e67a-4331-8949-b8447b66a4c7", - "text": "Date performed", + "linkId": "obs-waistcircumference-newdate", + "text": "New result date", "type": "date", "repeats": false } @@ -13493,14 +15441,36 @@ "type": "group", "repeats": false, "item": [ + { + "linkId": "49029ef0-eaa8-44f8-b26a-177820c82dfd", + "text": "Last result", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%ObsHeartRate.entry.resource.value.value.empty() = true, 'Not available', %ObsHeartRate.entry.resource.value.value.round().toString() + ' /min' + ' (' + %ObsHeartRate.entry.resource.effective.toDate().toString() + ')')" + } + } + ] + }, + "type": "display", + "repeats": false, + "readOnly": true + }, { "extension": [ { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsHeartRate.entry.resource.value.value" - } + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract", + "extension": [ + { + "url": "template", + "valueReference": { + "reference": "#HeartRateTemplate" + } + } + ] }, { "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", @@ -13510,8 +15480,8 @@ } } ], - "linkId": "49029ef0-eaa8-44f8-b26a-177820c82dfd", - "text": "Value", + "linkId": "obs-heartrate-newresult", + "text": "New result", "type": "integer", "repeats": false, "item": [ @@ -13529,24 +15499,15 @@ } } ], - "linkId": "090964b9-be33-438b-8465-2a2a09632fde", + "linkId": "obs-heartrate-newresult-unit", "text": "/min", "type": "display" } ] }, { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsHeartRate.entry.resource.effective" - } - } - ], - "linkId": "feeac08f-2ba6-4048-80a2-10b3f90cf5e3", - "text": "Date performed", + "linkId": "obs-heartrate-newdate", + "text": "New result date", "type": "date", "repeats": false } @@ -13558,8 +15519,37 @@ "type": "group", "repeats": false, "item": [ + { + "linkId": "99a8eb6f-a36a-4daf-99d7-27bfde0d4bb1", + "text": "Last result", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%ObsHeartRhythm.entry.resource.value.coding.where(system='http://snomed.info/sct').first().empty() = true, 'Not available', %ObsHeartRhythm.entry.resource.value.coding.where(system='http://snomed.info/sct').first().display + ' (' + %ObsHeartRhythm.entry.resource.effective.toDate().toString() + ')')" + } + } + ] + }, + "type": "display", + "repeats": false, + "readOnly": true + }, { "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract", + "extension": [ + { + "url": "template", + "valueReference": { + "reference": "#HeartRhythmTemplate" + } + } + ] + }, { "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", "valueCodeableConcept": { @@ -13572,8 +15562,8 @@ } } ], - "linkId": "99a8eb6f-a36a-4daf-99d7-27bfde0d4bb1", - "text": "Value", + "linkId": "obs-heartrhythm-newresult", + "text": "New result", "type": "choice", "repeats": false, "answerOption": [ @@ -13594,8 +15584,8 @@ ] }, { - "linkId": "eeb56682-0eae-4428-9c37-0e63852026c0", - "text": "Date performed", + "linkId": "obs-heartrhythm-newdate", + "text": "New result date", "type": "date", "repeats": false } @@ -13605,6 +15595,13 @@ }, { "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%age > 12" + } + }, { "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", "valueCodeableConcept": { @@ -13623,28 +15620,41 @@ "repeats": false, "item": [ { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%age > 12" - } - } - ], "linkId": "705f6d04-acab-4d14-baab-98f9bfc4808e", "text": "Blood pressure", "type": "group", "repeats": false, "item": [ + { + "linkId": "bp-bp-lastresult", + "text": "Last result", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8480-6')).value.value.empty() = true or %ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8462-4')).value.value.empty() = true, 'Not available', %ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8480-6')).value.value.round().toString() + ' / ' + %ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8462-4')).value.value.round().toString() + ' mm Hg (' + %ObsBloodPressure.entry.resource.effective.toDate().toString() + ')')" + } + } + ] + }, + "type": "display", + "repeats": false, + "readOnly": true + }, { "extension": [ { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8480-6')).value.value" - } + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract", + "extension": [ + { + "url": "template", + "valueReference": { + "reference": "#BloodPressureTemplate" + } + } + ] }, { "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", @@ -13654,7 +15664,7 @@ } } ], - "linkId": "e68b660d-cfd2-4b89-957a-c96a4c73a5fd", + "linkId": "bp-newbp-systolic", "text": "Systolic", "type": "integer", "repeats": false, @@ -13673,7 +15683,7 @@ } } ], - "linkId": "197d212d-72cc-4c85-91dc-2f030d384391", + "linkId": "bp-newbp-systolic-unit", "text": "mm Hg", "type": "display" } @@ -13681,13 +15691,6 @@ }, { "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8462-4')).value.value" - } - }, { "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", "valueCoding": { @@ -13696,7 +15699,7 @@ } } ], - "linkId": "867b0022-f812-4f80-b287-79686c972b15", + "linkId": "bp-newbp-diastolic", "text": "Diastolic", "type": "integer", "repeats": false, @@ -13715,23 +15718,14 @@ } } ], - "linkId": "416ee494-4fa2-4b29-af0b-3d022f686e39", + "linkId": "bp-newbp-diastolic-unit", "text": "mm Hg", "type": "display" } ] }, { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%ObsBloodPressure.entry.resource.effective" - } - } - ], - "linkId": "a005050c-ed79-46ed-ac14-2fc1496059a5", + "linkId": "bp-newbp-date", "text": "Date performed", "type": "date", "repeats": false @@ -13828,7 +15822,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" + "valueString": "
\r\n\r\n \r\n\r\n\r\n
Mark section as complete
\r\n\r\n
" } ] }, @@ -15861,10 +17855,6 @@ } ] } - }, - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-openLabel", - "valueString": "Other" } ], "linkId": "4044d0b4-94b2-4a89-b826-a14614298511", @@ -15929,10 +17919,6 @@ } ] } - }, - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-openLabel", - "valueString": "Other" } ], "linkId": "f97f211a-ef2a-49a3-aef7-c4e9cd08aa2a", @@ -15991,10 +17977,6 @@ } ] } - }, - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-openLabel", - "valueString": "Other" } ], "linkId": "07cfe077-ba93-4f93-b2a5-027023faa33b", @@ -16056,10 +18038,6 @@ } ] } - }, - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-openLabel", - "valueString": "Other" } ], "linkId": "a525c370-d8c3-4764-ab3a-bf62081725e0", @@ -16127,10 +18105,6 @@ } ] } - }, - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-openLabel", - "valueString": "Other" } ], "linkId": "d68d9693-48d3-4663-9dbb-dd3a7aec5278", @@ -16228,33 +18202,33 @@ }, { "linkId": "a400fe69-c99f-47ed-bee1-083c3e4be467", - "text": "Recalls entered (eg clinical review, investigations, influenza vaccination, asthma plan/cycle of care, diabetes cycle of care, care plan review, cervical screening, investigations)", + "text": "Recalls", "type": "group", - "repeats": true, + "repeats": false, "item": [ { "extension": [ { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-hidden", - "valueBoolean": true - }, - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%patient.id" + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-displayCategory", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://hl7.org/fhir/questionnaire-display-category", + "code": "instructions" + } + ] } } ], - "linkId": "40e3933d-77bb-40f3-8609-0c38ebb4421e", - "text": "recall-subject", - "type": "string" + "linkId": "b0c69e16-5dc3-481f-8e8f-fc0a93627184", + "text": "e.g. clinical review, investigations, influenza vaccination, asthma plan/cycle of care, diabetes cycle of care, care plan review, cervical screening, investigations", + "type": "display" }, { "linkId": "fece6a3c-f8f1-4592-a166-5ea5a3c60c8e", - "text": "Recall", - "type": "text", - "repeats": false + "text": "Recall entered", + "type": "string", + "repeats": true } ] }, @@ -16356,4 +18330,4 @@ ] } ] -} +} \ No newline at end of file From bdee3dfca06367d06e55dfd1c3ff18282fadeccd Mon Sep 17 00:00:00 2001 From: liambarnes Date: Fri, 20 Jun 2025 11:04:06 +1000 Subject: [PATCH 093/177] Add profiles with SHC obligations, remove forms server capability statement --- .../CapabilityStatement-SmartFormsServer.json | 123 ---- ...ntationGuide-csiro.fhir.au.smartforms.json | 86 ++- ...ctureDefinition-SHCAllergyIntolerance.json | 365 +++++++++++ .../StructureDefinition-SHCBloodPressure.json | 442 ++++++++++++++ .../StructureDefinition-SHCBodyHeight.json | 566 ++++++++++++++++++ .../StructureDefinition-SHCBodyWeight.json | 566 ++++++++++++++++++ .../StructureDefinition-SHCCondition.json | 511 ++++++++++++++++ ...uctureDefinition-SHCHeadCircumference.json | 438 ++++++++++++++ .../StructureDefinition-SHCHeartRate.json | 566 ++++++++++++++++++ .../StructureDefinition-SHCImmunization.json | 401 +++++++++++++ ...tureDefinition-SHCMedicationStatement.json | 397 ++++++++++++ .../StructureDefinition-SHCSmokingStatus.json | 353 +++++++++++ ...ctureDefinition-SHCWaistCircumference.json | 506 ++++++++++++++++ ...efinition-SmartHealthCheckHeartRhythm.json | 257 ++++++++ input/fsh/capability.fsh | 4 +- input/fsh/profiles.fsh | 442 +++++++++++++- input/pagecontent/profiles-and-extensions.md | 12 +- 17 files changed, 5888 insertions(+), 147 deletions(-) delete mode 100644 fsh-generated/resources/CapabilityStatement-SmartFormsServer.json create mode 100644 fsh-generated/resources/StructureDefinition-SHCAllergyIntolerance.json create mode 100644 fsh-generated/resources/StructureDefinition-SHCBloodPressure.json create mode 100644 fsh-generated/resources/StructureDefinition-SHCBodyHeight.json create mode 100644 fsh-generated/resources/StructureDefinition-SHCBodyWeight.json create mode 100644 fsh-generated/resources/StructureDefinition-SHCCondition.json create mode 100644 fsh-generated/resources/StructureDefinition-SHCHeadCircumference.json create mode 100644 fsh-generated/resources/StructureDefinition-SHCHeartRate.json create mode 100644 fsh-generated/resources/StructureDefinition-SHCImmunization.json create mode 100644 fsh-generated/resources/StructureDefinition-SHCMedicationStatement.json create mode 100644 fsh-generated/resources/StructureDefinition-SHCSmokingStatus.json create mode 100644 fsh-generated/resources/StructureDefinition-SHCWaistCircumference.json diff --git a/fsh-generated/resources/CapabilityStatement-SmartFormsServer.json b/fsh-generated/resources/CapabilityStatement-SmartFormsServer.json deleted file mode 100644 index 223abec7..00000000 --- a/fsh-generated/resources/CapabilityStatement-SmartFormsServer.json +++ /dev/null @@ -1,123 +0,0 @@ -{ - "resourceType": "CapabilityStatement", - "id": "SmartFormsServer", - "url": "https://smartforms.csiro.au/ig/CapabilityStatement/SmartFormsServer", - "name": "SmartFormsServer", - "title": "Smart Forms Server", - "description": "This CapabilityStatement describes the capabilities of the Smart Forms Server. The Smart Forms Server provides a definitional repository of resources that a client application can retrieve for use in a Smart Forms context. The capabilities listed include supported FHIR profiles, RESTful operations, and search parameters.", - "status": "draft", - "experimental": false, - "date": "2025-04-16", - "publisher": "AEHRC CSIRO", - "kind": "capability", - "instantiates": [ - "http://hl7.org/fhir/uv/sdc/CapabilityStatement/sdc-form-manager" - ], - "software": { - "name": "Smart Forms Server" - }, - "fhirVersion": "4.0.1", - "format": [ - "json", - "xml" - ], - "rest": [ - { - "mode": "server", - "documentation": "The Smart Forms Server provides interactions for hosting Questionnaire resources and the assembly of modular Questionnaires.", - "resource": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", - "extension": [ - { - "url": "required", - "valueString": "url" - }, - { - "url": "required", - "valueString": "version" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", - "extension": [ - { - "url": "required", - "valueString": "_count" - }, - { - "url": "required", - "valueString": "_sort" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", - "extension": [ - { - "url": "required", - "valueString": "title" - }, - { - "url": "required", - "valueString": "_count" - }, - { - "url": "required", - "valueString": "_sort" - } - ] - } - ], - "type": "Questionnaire", - "profile": "http://hl7.org/fhir/StructureDefinition/Questionnaire", - "supportedProfile": [ - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" - ], - "interaction": [ - { - "code": "search-type" - } - ], - "searchParam": [ - { - "name": "url", - "definition": "http://hl7.org/fhir/SearchParameter/Questionnaire-url", - "type": "uri" - }, - { - "name": "version", - "definition": "http://hl7.org/fhir/SearchParameter/Questionnaire-version", - "type": "token" - }, - { - "name": "title", - "definition": "http://hl7.org/fhir/SearchParameter/Questionnaire-title", - "type": "string", - "documentation": "The client supports search using the :contains modifier." - }, - { - "name": "_count", - "type": "number", - "documentation": "The server supports search result limiting." - }, - { - "name": "_sort", - "type": "string", - "documentation": "The server supports search result sorting by date and **MAY** support other values." - } - ], - "operation": [ - { - "name": "assemble", - "definition": "http://hl7.org/fhir/uv/sdc/OperationDefinition/Questionnaire-assemble" - } - ] - } - ] - } - ] -} diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index a62d3ae5..230e9287 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -511,10 +511,58 @@ }, { "reference": { - "reference": "CapabilityStatement/SmartFormsServer" + "reference": "StructureDefinition/SHCAllergyIntolerance" }, - "name": "Smart Forms Server", - "description": "This CapabilityStatement describes the capabilities of the Smart Forms Server. The Smart Forms Server provides a definitional repository of resources that a client application can retrieve for use in a Smart Forms context. The capabilities listed include supported FHIR profiles, RESTful operations, and search parameters.", + "name": "Smart Health Check Allergy Intolerance", + "description": "This profile sets the minimum expectations for an AllergyIntolerance resource to record, search and save allergy or intolerance information when used within Smart Health Checks.", + "exampleBoolean": false + }, + { + "reference": { + "reference": "StructureDefinition/SHCBloodPressure" + }, + "name": "Smart Health Check Blood Pressure", + "description": "This profile sets the minimum expectations for a Blood Pressure resource to record, search and save blood pressure information when used within Smart Health Checks.", + "exampleBoolean": false + }, + { + "reference": { + "reference": "StructureDefinition/SHCBodyHeight" + }, + "name": "Smart Health Check Body Height", + "description": "This profile sets the minimum expectations for a Body Height resource to record, search and save body height information when used within Smart Health Checks.", + "exampleBoolean": false + }, + { + "reference": { + "reference": "StructureDefinition/SHCBodyWeight" + }, + "name": "Smart Health Check Body Weight", + "description": "This profile sets the minimum expectations for a Body Weight resource to record, search and save body weight information when used within Smart Health Checks.", + "exampleBoolean": false + }, + { + "reference": { + "reference": "StructureDefinition/SHCCondition" + }, + "name": "Smart Health Check Condition", + "description": "This profile sets the minimum expectations for a Condition resource to record, search and save condition information when used within Smart Health Checks.", + "exampleBoolean": false + }, + { + "reference": { + "reference": "StructureDefinition/SHCHeadCircumference" + }, + "name": "Smart Health Check Head Circumference", + "description": "This profile sets the minimum expectations for a Head Circumference resource to record, search and save head circumference information when used within Smart Health Checks.", + "exampleBoolean": false + }, + { + "reference": { + "reference": "StructureDefinition/SHCHeartRate" + }, + "name": "Smart Health Check Heart Rate", + "description": "This profile sets the minimum expectations for a Heart Rate resource to record, search and save heart rate information when used within Smart Health Checks.", "exampleBoolean": false }, { @@ -525,6 +573,38 @@ "description": "This profile sets the minimum expectations for an Observation resource to record heart rhythm observations. It is used to represent heart rhythm data captured during a First Nations Health Check that can be used to record the observation in a clinical record.", "exampleBoolean": false }, + { + "reference": { + "reference": "StructureDefinition/SHCImmunization" + }, + "name": "Smart Health Check Immunization", + "description": "This profile sets the minimum expectations for an Immunization resource to record, search and save immunization information when used within Smart Health Checks.", + "exampleBoolean": false + }, + { + "reference": { + "reference": "StructureDefinition/SHCMedicationStatement" + }, + "name": "Smart Health Check Medication Statement", + "description": "This profile sets the minimum expectations for a MedicationStatement resource to record, search and save medication information when used within Smart Health Checks.", + "exampleBoolean": false + }, + { + "reference": { + "reference": "StructureDefinition/SHCSmokingStatus" + }, + "name": "Smart Health Check Smoking Status", + "description": "This profile sets the minimum expectations for a Smoking Status resource to record, search and save smoking status information when used within Smart Health Checks.", + "exampleBoolean": false + }, + { + "reference": { + "reference": "StructureDefinition/SHCWaistCircumference" + }, + "name": "Smart Health Check Waist Circumference", + "description": "This profile sets the minimum expectations for a Waist Circumference resource to record, search and save waist circumference information when used within Smart Health Checks.", + "exampleBoolean": false + }, { "reference": { "reference": "ValueSet/smarthealthchecks-medication" diff --git a/fsh-generated/resources/StructureDefinition-SHCAllergyIntolerance.json b/fsh-generated/resources/StructureDefinition-SHCAllergyIntolerance.json new file mode 100644 index 00000000..c3bfe20a --- /dev/null +++ b/fsh-generated/resources/StructureDefinition-SHCAllergyIntolerance.json @@ -0,0 +1,365 @@ +{ + "resourceType": "StructureDefinition", + "id": "SHCAllergyIntolerance", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCAllergyIntolerance", + "name": "SmartHealthCheckAllergyIntolerance", + "title": "Smart Health Check Allergy Intolerance", + "status": "draft", + "description": "This profile sets the minimum expectations for an AllergyIntolerance resource to record, search and save allergy or intolerance information when used within Smart Health Checks.", + "fhirVersion": "4.0.1", + "kind": "resource", + "abstract": false, + "type": "AllergyIntolerance", + "baseDefinition": "http://hl7.org.au/fhir/core/StructureDefinition/au-core-allergyintolerance", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "AllergyIntolerance.id", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "AllergyIntolerance.id", + "mustSupport": true + }, + { + "id": "AllergyIntolerance.clinicalStatus", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "AllergyIntolerance.clinicalStatus" + }, + { + "id": "AllergyIntolerance.verificationStatus", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "AllergyIntolerance.verificationStatus" + }, + { + "id": "AllergyIntolerance.code", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "AllergyIntolerance.code" + }, + { + "id": "AllergyIntolerance.patient", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "AllergyIntolerance.patient" + }, + { + "id": "AllergyIntolerance.note.text", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "AllergyIntolerance.note.text", + "mustSupport": true + }, + { + "id": "AllergyIntolerance.reaction.manifestation", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "AllergyIntolerance.reaction.manifestation" + } + ] + } +} diff --git a/fsh-generated/resources/StructureDefinition-SHCBloodPressure.json b/fsh-generated/resources/StructureDefinition-SHCBloodPressure.json new file mode 100644 index 00000000..f7f1d34f --- /dev/null +++ b/fsh-generated/resources/StructureDefinition-SHCBloodPressure.json @@ -0,0 +1,442 @@ +{ + "resourceType": "StructureDefinition", + "id": "SHCBloodPressure", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCBloodPressure", + "name": "SmartHealthCheckBloodPressure", + "title": "Smart Health Check Blood Pressure", + "status": "draft", + "description": "This profile sets the minimum expectations for a Blood Pressure resource to record, search and save blood pressure information when used within Smart Health Checks.", + "fhirVersion": "4.0.1", + "kind": "resource", + "abstract": false, + "type": "Observation", + "baseDefinition": "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bloodpressure", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Observation.status", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint", + "valueString": "default: final" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.status" + }, + { + "id": "Observation.category:VSCat", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.category", + "sliceName": "VSCat" + }, + { + "id": "Observation.code.coding:BPCode", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.code.coding", + "sliceName": "BPCode", + "mustSupport": true + }, + { + "id": "Observation.code.coding:snomedBPCode", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.code.coding", + "sliceName": "snomedBPCode", + "mustSupport": true + }, + { + "id": "Observation.code.text", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", + "valueBoolean": true + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Observation.code.text", + "mustSupport": true + }, + { + "id": "Observation.subject", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.subject" + }, + { + "id": "Observation.effective[x]", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.effective[x]" + }, + { + "id": "Observation.component:SystolicBP", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.component", + "sliceName": "SystolicBP" + }, + { + "id": "Observation.component:DiastolicBP", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.component", + "sliceName": "DiastolicBP" + } + ] + } +} diff --git a/fsh-generated/resources/StructureDefinition-SHCBodyHeight.json b/fsh-generated/resources/StructureDefinition-SHCBodyHeight.json new file mode 100644 index 00000000..8c8689e7 --- /dev/null +++ b/fsh-generated/resources/StructureDefinition-SHCBodyHeight.json @@ -0,0 +1,566 @@ +{ + "resourceType": "StructureDefinition", + "id": "SHCBodyHeight", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCBodyHeight", + "name": "SmartHealthCheckBodyHeight", + "title": "Smart Health Check Body Height", + "status": "draft", + "description": "This profile sets the minimum expectations for a Body Height resource to record, search and save body height information when used within Smart Health Checks.", + "fhirVersion": "4.0.1", + "kind": "resource", + "abstract": false, + "type": "Observation", + "baseDefinition": "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyheight", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Observation.status", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint", + "valueString": "default: final" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.status" + }, + { + "id": "Observation.category:VSCat", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.category", + "sliceName": "VSCat" + }, + { + "id": "Observation.code.coding:BodyHeightCode", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.code.coding", + "sliceName": "BodyHeightCode", + "mustSupport": true + }, + { + "id": "Observation.code.coding:snomedBodyHeightCode", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.code.coding", + "sliceName": "snomedBodyHeightCode", + "mustSupport": true + }, + { + "id": "Observation.code.text", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", + "valueBoolean": true + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Observation.code.text", + "mustSupport": true + }, + { + "id": "Observation.subject", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.subject" + }, + { + "id": "Observation.effective[x]", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.effective[x]" + }, + { + "id": "Observation.value[x]:valueQuantity", + "path": "Observation.value[x]", + "sliceName": "valueQuantity", + "type": [ + { + "code": "Quantity" + } + ] + }, + { + "id": "Observation.value[x]:valueQuantity.value", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.value[x].value" + }, + { + "id": "Observation.value[x]:valueQuantity.unit", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", + "valueBoolean": true + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.value[x].unit" + }, + { + "id": "Observation.value[x]:valueQuantity.system", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.value[x].system" + }, + { + "id": "Observation.value[x]:valueQuantity.code", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.value[x].code" + } + ] + } +} diff --git a/fsh-generated/resources/StructureDefinition-SHCBodyWeight.json b/fsh-generated/resources/StructureDefinition-SHCBodyWeight.json new file mode 100644 index 00000000..459adbbe --- /dev/null +++ b/fsh-generated/resources/StructureDefinition-SHCBodyWeight.json @@ -0,0 +1,566 @@ +{ + "resourceType": "StructureDefinition", + "id": "SHCBodyWeight", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCBodyWeight", + "name": "SmartHealthCheckBodyWeight", + "title": "Smart Health Check Body Weight", + "status": "draft", + "description": "This profile sets the minimum expectations for a Body Weight resource to record, search and save body weight information when used within Smart Health Checks.", + "fhirVersion": "4.0.1", + "kind": "resource", + "abstract": false, + "type": "Observation", + "baseDefinition": "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyweight", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Observation.status", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint", + "valueString": "default: final" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.status" + }, + { + "id": "Observation.category:VSCat", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.category", + "sliceName": "VSCat" + }, + { + "id": "Observation.code.coding:BodyWeightCode", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.code.coding", + "sliceName": "BodyWeightCode", + "mustSupport": true + }, + { + "id": "Observation.code.coding:snomedBodyWeightCode", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.code.coding", + "sliceName": "snomedBodyWeightCode", + "mustSupport": true + }, + { + "id": "Observation.code.text", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", + "valueBoolean": true + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Observation.code.text", + "mustSupport": true + }, + { + "id": "Observation.subject", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.subject" + }, + { + "id": "Observation.effective[x]", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.effective[x]" + }, + { + "id": "Observation.value[x]:valueQuantity", + "path": "Observation.value[x]", + "sliceName": "valueQuantity", + "type": [ + { + "code": "Quantity" + } + ] + }, + { + "id": "Observation.value[x]:valueQuantity.value", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.value[x].value" + }, + { + "id": "Observation.value[x]:valueQuantity.unit", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", + "valueBoolean": true + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.value[x].unit" + }, + { + "id": "Observation.value[x]:valueQuantity.system", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.value[x].system" + }, + { + "id": "Observation.value[x]:valueQuantity.code", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.value[x].code" + } + ] + } +} diff --git a/fsh-generated/resources/StructureDefinition-SHCCondition.json b/fsh-generated/resources/StructureDefinition-SHCCondition.json new file mode 100644 index 00000000..b80012e3 --- /dev/null +++ b/fsh-generated/resources/StructureDefinition-SHCCondition.json @@ -0,0 +1,511 @@ +{ + "resourceType": "StructureDefinition", + "id": "SHCCondition", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCCondition", + "name": "SmartHealthCheckCondition", + "title": "Smart Health Check Condition", + "status": "draft", + "description": "This profile sets the minimum expectations for a Condition resource to record, search and save condition information when used within Smart Health Checks.", + "fhirVersion": "4.0.1", + "kind": "resource", + "abstract": false, + "type": "Condition", + "baseDefinition": "http://hl7.org.au/fhir/core/StructureDefinition/au-core-condition", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Condition.id", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Condition.id", + "mustSupport": true + }, + { + "id": "Condition.clinicalStatus", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Condition.clinicalStatus" + }, + { + "id": "Condition.verificationStatus", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Condition.verificationStatus" + }, + { + "id": "Condition.category", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Condition.category" + }, + { + "id": "Condition.code", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Condition.code" + }, + { + "id": "Condition.subject", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Condition.subject" + }, + { + "id": "Condition.onset[x]", + "path": "Condition.onset[x]", + "slicing": { + "discriminator": [ + { + "type": "type", + "path": "$this" + } + ], + "ordered": false, + "rules": "open" + } + }, + { + "id": "Condition.onset[x]:onsetDateTime", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Condition.onset[x]", + "sliceName": "onsetDateTime", + "min": 0, + "max": "1", + "type": [ + { + "code": "dateTime" + } + ], + "mustSupport": true + }, + { + "id": "Condition.abatement[x]", + "path": "Condition.abatement[x]", + "slicing": { + "discriminator": [ + { + "type": "type", + "path": "$this" + } + ], + "ordered": false, + "rules": "open" + } + }, + { + "id": "Condition.abatement[x]:abatementDateTime", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Condition.abatement[x]", + "sliceName": "abatementDateTime", + "min": 0, + "max": "1", + "type": [ + { + "code": "dateTime" + } + ], + "mustSupport": true + }, + { + "id": "Condition.note.text", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Condition.note.text", + "mustSupport": true + } + ] + } +} diff --git a/fsh-generated/resources/StructureDefinition-SHCHeadCircumference.json b/fsh-generated/resources/StructureDefinition-SHCHeadCircumference.json new file mode 100644 index 00000000..018b1e5b --- /dev/null +++ b/fsh-generated/resources/StructureDefinition-SHCHeadCircumference.json @@ -0,0 +1,438 @@ +{ + "resourceType": "StructureDefinition", + "id": "SHCHeadCircumference", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCHeadCircumference", + "name": "SmartHealthCheckHeadCircumference", + "title": "Smart Health Check Head Circumference", + "status": "draft", + "description": "This profile sets the minimum expectations for a Head Circumference resource to record, search and save head circumference information when used within Smart Health Checks.", + "fhirVersion": "4.0.1", + "kind": "resource", + "abstract": false, + "type": "Observation", + "baseDefinition": "http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Observation.status", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint", + "valueString": "default: final" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Observation.status" + }, + { + "id": "Observation.category:VSCat", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.category", + "sliceName": "VSCat" + }, + { + "id": "Observation.code.coding:HeadCircumCode", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.code.coding", + "sliceName": "HeadCircumCode", + "mustSupport": true + }, + { + "id": "Observation.code.coding:snomedHeadCircumCode", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.code.coding", + "sliceName": "snomedHeadCircumCode", + "mustSupport": true + }, + { + "id": "Observation.code.text", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", + "valueBoolean": true + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Observation.code.text", + "mustSupport": true + }, + { + "id": "Observation.subject", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.subject" + }, + { + "id": "Observation.effective[x]", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Observation.effective[x]" + }, + { + "id": "Observation.value[x]:valueQuantity", + "path": "Observation.value[x]", + "sliceName": "valueQuantity", + "type": [ + { + "code": "Quantity" + } + ] + }, + { + "id": "Observation.value[x]:valueQuantity.value", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Observation.value[x].value" + }, + { + "id": "Observation.value[x]:valueQuantity.unit", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", + "valueBoolean": true + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Observation.value[x].unit" + }, + { + "id": "Observation.value[x]:valueQuantity.system", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Observation.value[x].system" + }, + { + "id": "Observation.value[x]:valueQuantity.code", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Observation.value[x].code" + } + ] + } +} diff --git a/fsh-generated/resources/StructureDefinition-SHCHeartRate.json b/fsh-generated/resources/StructureDefinition-SHCHeartRate.json new file mode 100644 index 00000000..909b771e --- /dev/null +++ b/fsh-generated/resources/StructureDefinition-SHCHeartRate.json @@ -0,0 +1,566 @@ +{ + "resourceType": "StructureDefinition", + "id": "SHCHeartRate", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCHeartRate", + "name": "SmartHealthCheckHeartRate", + "title": "Smart Health Check Heart Rate", + "status": "draft", + "description": "This profile sets the minimum expectations for a Heart Rate resource to record, search and save heart rate information when used within Smart Health Checks.", + "fhirVersion": "4.0.1", + "kind": "resource", + "abstract": false, + "type": "Observation", + "baseDefinition": "http://hl7.org.au/fhir/core/StructureDefinition/au-core-heartrate", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Observation.status", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint", + "valueString": "default: final" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.status" + }, + { + "id": "Observation.category:VSCat", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.category", + "sliceName": "VSCat" + }, + { + "id": "Observation.code.coding:HeartRateCode", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.code.coding", + "sliceName": "HeartRateCode", + "mustSupport": true + }, + { + "id": "Observation.code.coding:snomedHeartRateCode", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.code.coding", + "sliceName": "snomedHeartRateCode", + "mustSupport": true + }, + { + "id": "Observation.code.text", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", + "valueBoolean": true + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Observation.code.text", + "mustSupport": true + }, + { + "id": "Observation.subject", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.subject" + }, + { + "id": "Observation.effective[x]", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.effective[x]" + }, + { + "id": "Observation.value[x]:valueQuantity", + "path": "Observation.value[x]", + "sliceName": "valueQuantity", + "type": [ + { + "code": "Quantity" + } + ] + }, + { + "id": "Observation.value[x]:valueQuantity.value", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.value[x].value" + }, + { + "id": "Observation.value[x]:valueQuantity.unit", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", + "valueBoolean": true + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.value[x].unit" + }, + { + "id": "Observation.value[x]:valueQuantity.system", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.value[x].system" + }, + { + "id": "Observation.value[x]:valueQuantity.code", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.value[x].code" + } + ] + } +} diff --git a/fsh-generated/resources/StructureDefinition-SHCImmunization.json b/fsh-generated/resources/StructureDefinition-SHCImmunization.json new file mode 100644 index 00000000..b90ce4aa --- /dev/null +++ b/fsh-generated/resources/StructureDefinition-SHCImmunization.json @@ -0,0 +1,401 @@ +{ + "resourceType": "StructureDefinition", + "id": "SHCImmunization", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCImmunization", + "name": "SmartHealthCheckImmunization", + "title": "Smart Health Check Immunization", + "status": "draft", + "description": "This profile sets the minimum expectations for an Immunization resource to record, search and save immunization information when used within Smart Health Checks.", + "fhirVersion": "4.0.1", + "kind": "resource", + "abstract": false, + "type": "Immunization", + "baseDefinition": "http://hl7.org.au/fhir/core/StructureDefinition/au-core-immunization", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Immunization.status", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Immunization.status" + }, + { + "id": "Immunization.vaccineCode", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Immunization.vaccineCode" + }, + { + "id": "Immunization.vaccineCode.coding:amtVaccineCode", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Immunization.vaccineCode.coding", + "sliceName": "amtVaccineCode" + }, + { + "id": "Immunization.patient", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Immunization.patient" + }, + { + "id": "Immunization.occurrence[x]", + "path": "Immunization.occurrence[x]", + "slicing": { + "discriminator": [ + { + "type": "type", + "path": "$this" + } + ], + "ordered": false, + "rules": "open" + } + }, + { + "id": "Immunization.occurrence[x]:occurrenceDateTime", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Immunization.occurrence[x]", + "sliceName": "occurrenceDateTime", + "min": 0, + "max": "1", + "type": [ + { + "code": "dateTime" + } + ], + "mustSupport": true + }, + { + "id": "Immunization.lotNumber", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Immunization.lotNumber", + "mustSupport": true + }, + { + "id": "Immunization.note.text", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Immunization.note.text", + "mustSupport": true + } + ] + } +} diff --git a/fsh-generated/resources/StructureDefinition-SHCMedicationStatement.json b/fsh-generated/resources/StructureDefinition-SHCMedicationStatement.json new file mode 100644 index 00000000..cac3ed1f --- /dev/null +++ b/fsh-generated/resources/StructureDefinition-SHCMedicationStatement.json @@ -0,0 +1,397 @@ +{ + "resourceType": "StructureDefinition", + "id": "SHCMedicationStatement", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCMedicationStatement", + "name": "SmartHealthCheckMedicationStatement", + "title": "Smart Health Check Medication Statement", + "status": "draft", + "description": "This profile sets the minimum expectations for a MedicationStatement resource to record, search and save medication information when used within Smart Health Checks.", + "fhirVersion": "4.0.1", + "kind": "resource", + "abstract": false, + "type": "MedicationStatement", + "baseDefinition": "http://hl7.org.au/fhir/core/StructureDefinition/au-core-medicationstatement", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "MedicationStatement.id", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "MedicationStatement.id", + "mustSupport": true + }, + { + "id": "MedicationStatement.status", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "MedicationStatement.status" + }, + { + "id": "MedicationStatement.medication[x]:medicationCodeableConcept", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "MedicationStatement.medication[x]", + "sliceName": "medicationCodeableConcept", + "type": [ + { + "code": "CodeableConcept" + } + ], + "mustSupport": true + }, + { + "id": "MedicationStatement.subject", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "MedicationStatement.subject" + }, + { + "id": "MedicationStatement.dateAsserted", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "MedicationStatement.dateAsserted" + }, + { + "id": "MedicationStatement.reasonCode", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "MedicationStatement.reasonCode" + }, + { + "id": "MedicationStatement.note.text", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "MedicationStatement.note.text", + "mustSupport": true + }, + { + "id": "MedicationStatement.dosage.text", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "MedicationStatement.dosage.text", + "mustSupport": true + } + ] + } +} diff --git a/fsh-generated/resources/StructureDefinition-SHCSmokingStatus.json b/fsh-generated/resources/StructureDefinition-SHCSmokingStatus.json new file mode 100644 index 00000000..3dd53473 --- /dev/null +++ b/fsh-generated/resources/StructureDefinition-SHCSmokingStatus.json @@ -0,0 +1,353 @@ +{ + "resourceType": "StructureDefinition", + "id": "SHCSmokingStatus", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCSmokingStatus", + "name": "SmartHealthCheckSmokingStatus", + "title": "Smart Health Check Smoking Status", + "status": "draft", + "description": "This profile sets the minimum expectations for a Smoking Status resource to record, search and save smoking status information when used within Smart Health Checks.", + "fhirVersion": "4.0.1", + "kind": "resource", + "abstract": false, + "type": "Observation", + "baseDefinition": "http://hl7.org.au/fhir/core/StructureDefinition/au-core-smokingstatus", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Observation.status", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint", + "valueString": "default: final" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.status" + }, + { + "id": "Observation.category:socialHistory", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.category", + "sliceName": "socialHistory", + "mustSupport": true + }, + { + "id": "Observation.code.coding", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.code.coding", + "mustSupport": true + }, + { + "id": "Observation.code.coding:loincSmokingStatus", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.code.coding", + "sliceName": "loincSmokingStatus", + "mustSupport": true + }, + { + "id": "Observation.code.text", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", + "valueBoolean": true + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Observation.code.text", + "mustSupport": true + }, + { + "id": "Observation.subject", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.subject" + }, + { + "id": "Observation.effective[x]", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.effective[x]" + }, + { + "id": "Observation.value[x].coding", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Observation.value[x].coding", + "mustSupport": true + } + ] + } +} diff --git a/fsh-generated/resources/StructureDefinition-SHCWaistCircumference.json b/fsh-generated/resources/StructureDefinition-SHCWaistCircumference.json new file mode 100644 index 00000000..01304c88 --- /dev/null +++ b/fsh-generated/resources/StructureDefinition-SHCWaistCircumference.json @@ -0,0 +1,506 @@ +{ + "resourceType": "StructureDefinition", + "id": "SHCWaistCircumference", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCWaistCircumference", + "name": "SmartHealthCheckWaistCircumference", + "title": "Smart Health Check Waist Circumference", + "status": "draft", + "description": "This profile sets the minimum expectations for a Waist Circumference resource to record, search and save waist circumference information when used within Smart Health Checks.", + "fhirVersion": "4.0.1", + "kind": "resource", + "abstract": false, + "type": "Observation", + "baseDefinition": "http://hl7.org.au/fhir/core/StructureDefinition/au-core-waistcircum", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Observation.status", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint", + "valueString": "default: final" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.status" + }, + { + "id": "Observation.category:VSCat", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.category", + "sliceName": "VSCat" + }, + { + "id": "Observation.code.coding:loincWaistCircumCode", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.code.coding", + "sliceName": "loincWaistCircumCode", + "mustSupport": true + }, + { + "id": "Observation.code.coding:snomedWaistCircumCode", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.code.coding", + "sliceName": "snomedWaistCircumCode", + "mustSupport": true + }, + { + "id": "Observation.code.text", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", + "valueBoolean": true + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Observation.code.text", + "mustSupport": true + }, + { + "id": "Observation.subject", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.subject" + }, + { + "id": "Observation.effective[x]", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.effective[x]" + }, + { + "id": "Observation.value[x]:valueQuantity", + "path": "Observation.value[x]", + "sliceName": "valueQuantity", + "type": [ + { + "code": "Quantity" + } + ] + }, + { + "id": "Observation.value[x]:valueQuantity.value", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Observation.value[x].value", + "mustSupport": true + }, + { + "id": "Observation.value[x]:valueQuantity.unit", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", + "valueBoolean": true + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Observation.value[x].unit", + "mustSupport": true + }, + { + "id": "Observation.value[x]:valueQuantity.system", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Observation.value[x].system", + "mustSupport": true + }, + { + "id": "Observation.value[x]:valueQuantity.code", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Observation.value[x].code", + "mustSupport": true + } + ] + } +} diff --git a/fsh-generated/resources/StructureDefinition-SmartHealthCheckHeartRhythm.json b/fsh-generated/resources/StructureDefinition-SmartHealthCheckHeartRhythm.json index 7e487f99..c0fca7d6 100644 --- a/fsh-generated/resources/StructureDefinition-SmartHealthCheckHeartRhythm.json +++ b/fsh-generated/resources/StructureDefinition-SmartHealthCheckHeartRhythm.json @@ -33,6 +33,46 @@ }, { "id": "Observation.status", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint", + "valueString": "default: final" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], "path": "Observation.status", "mustSupport": true }, @@ -58,6 +98,34 @@ }, { "id": "Observation.category:vitalSignsCategory", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], "path": "Observation.category", "sliceName": "vitalSignsCategory", "min": 1, @@ -101,6 +169,34 @@ }, { "id": "Observation.code.coding:loincHeartRhythmCode", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], "path": "Observation.code.coding", "sliceName": "loincHeartRhythmCode", "min": 1, @@ -121,6 +217,34 @@ }, { "id": "Observation.code.coding:snomedHeartRhythmCode", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], "path": "Observation.code.coding", "sliceName": "snomedHeartRhythmCode", "min": 1, @@ -139,8 +263,64 @@ "min": 1, "fixedCode": "364074009" }, + { + "id": "Observation.code.text", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", + "valueBoolean": true + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Observation.code.text", + "mustSupport": true + }, { "id": "Observation.subject", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], "path": "Observation.subject", "min": 1, "type": [ @@ -155,6 +335,42 @@ }, { "id": "Observation.effective[x]", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], "path": "Observation.effective[x]", "short": "Date, and optionally time, the observation was performed", "definition": "Date, and optionally time, the observation was performed.", @@ -196,6 +412,47 @@ "valueSet": "https://smartforms.csiro.au/ig/ValueSet/heart-rhythm-1" } }, + { + "id": "Observation.value[x].coding", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Observation.value[x].coding", + "mustSupport": true + }, { "id": "Observation.dataAbsentReason", "path": "Observation.dataAbsentReason", diff --git a/input/fsh/capability.fsh b/input/fsh/capability.fsh index 3b93f2f9..1915088c 100644 --- a/input/fsh/capability.fsh +++ b/input/fsh/capability.fsh @@ -517,7 +517,7 @@ The server **SHALL** support both." * rest.interaction[=].documentation = "The server **SHALL** support the transaction interaction for all resources." - +/* Instance: SmartFormsServer InstanceOf: CapabilityStatement Usage: #definition @@ -581,7 +581,7 @@ Usage: #definition * rest.resource[=].searchParam[=].documentation = "The server supports search result sorting by date and **MAY** support other values." * rest.resource[=].operation[0].name = "assemble" * rest.resource[=].operation[0].definition = "http://hl7.org/fhir/uv/sdc/OperationDefinition/Questionnaire-assemble" - +*/ Instance: SmartFormsApplication InstanceOf: CapabilityStatement diff --git a/input/fsh/profiles.fsh b/input/fsh/profiles.fsh index 85e33a86..c8eb8a78 100644 --- a/input/fsh/profiles.fsh +++ b/input/fsh/profiles.fsh @@ -4,22 +4,41 @@ Alias: $SCT = http://snomed.info/sct Alias: $UCUM = http://unitsofmeasure.org Alias: $obligation = http://hl7.org/fhir/StructureDefinition/obligation +Alias: $au-core-allergyintolerance = http://hl7.org.au/fhir/core/StructureDefinition/au-core-allergyintolerance +Alias: $au-core-condition = http://hl7.org.au/fhir/core/StructureDefinition/au-core-condition +Alias: $au-core-encounter = http://hl7.org.au/fhir/core/StructureDefinition/au-core-encounter +Alias: $au-core-immunization = http://hl7.org.au/fhir/core/StructureDefinition/au-core-immunization +Alias: $au-core-medication = http://hl7.org.au/fhir/core/StructureDefinition/au-core-medication +Alias: $au-core-medicationstatement = http://hl7.org.au/fhir/core/StructureDefinition/au-core-medicationstatement +Alias: $au-core-bloodpressure = http://hl7.org.au/fhir/core/StructureDefinition/au-core-bloodpressure +Alias: $au-core-bodyheight = http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyheight +Alias: $au-core-bodyweight = http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyweight +Alias: $au-core-diagnosticresult-path = http://hl7.org.au/fhir/core/StructureDefinition/au-core-diagnosticresult-path +Alias: $au-core-headcircum = http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum +Alias: $au-core-heartrate = http://hl7.org.au/fhir/core/StructureDefinition/au-core-heartrate +Alias: $au-core-waistcircum = http://hl7.org.au/fhir/core/StructureDefinition/au-core-waistcircum +Alias: $au-core-smokingstatus = http://hl7.org.au/fhir/core/StructureDefinition/au-core-smokingstatus Alias: $au-core-patient = http://hl7.org.au/fhir/core/StructureDefinition/au-core-patient +Alias: $au-core-practitioner = http://hl7.org.au/fhir/core/StructureDefinition/au-core-practitioner +Alias: $sdc-questionnaireresponse = http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaireresponse +RuleSet: obligationApp(appCode) +* ^extension[$obligation][+].extension[code].valueCode = #"{appCode}" +* ^extension[$obligation][=].extension[actor].valueCanonical = "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" -RuleSet: obligation(producerCode, consumerCode) -* ^extension[$obligation][+].extension[code].valueCode = #"{producerCode}" -* ^extension[$obligation][=].extension[actor].valueCanonical = "https://smartforms.csiro.au/ig/ActorDefinition/SmartHealthCheckProducer" -* ^extension[$obligation][+].extension[code].valueCode = #"{consumerCode}" -* ^extension[$obligation][=].extension[actor].valueCanonical = "https://smartforms.csiro.au/ig//ActorDefinition/SmartHealthCheckConsumer" +RuleSet: obligation2App(appCode1, appCode2) +* ^extension[$obligation][+].extension[code][+].valueCode = #"{appCode1}" +* ^extension[$obligation][=].extension[code][+].valueCode = #"{appCode2}" +* ^extension[$obligation][=].extension[actor].valueCanonical = "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" -RuleSet: obligationConsumer(consumerCode) -* ^extension[$obligation][+].extension[code].valueCode = #"{consumerCode}" -* ^extension[$obligation][=].extension[actor].valueCanonical = "https://smartforms.csiro.au/ig//ActorDefinition/SmartHealthCheckConsumer" +RuleSet: obligationServer(serverCode) +* ^extension[$obligation][+].extension[code].valueCode = #"{serverCode}" +* ^extension[$obligation][=].extension[actor].valueCanonical = "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" -RuleSet: obligationProducer(producerCode) -* ^extension[$obligation][+].extension[code].valueCode = #"{producerCode}" -* ^extension[$obligation][=].extension[actor].valueCanonical = "https://smartforms.csiro.au/ig//ActorDefinition/SmartHealthCheckConsumer" +RuleSet: obligation2Server(serverCode1, serverCode2) +* ^extension[$obligation][+].extension[code][+].valueCode = #"{serverCode1}" +* ^extension[$obligation][=].extension[code][+].valueCode = #"{serverCode2}" +* ^extension[$obligation][=].extension[actor].valueCanonical = "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" Invariant: shc-heartrhythm-01 @@ -46,6 +65,8 @@ Description: "This profile sets the minimum expectations for an Observation reso * . ^comment = "Heart rhythm observation using a LOINC code, a SNOMED CT code and a metric UCUM unit of measure." * obeys shc-heartrhythm-01 * status MS +* status insert obligation2Server (SHALL:populate, SHALL:process) +* status insert obligation2App (SHALL:populate, SHALL:process) * category MS * category ^slicing.discriminator[0].type = #value * category ^slicing.discriminator[=].path = "coding.code" @@ -55,6 +76,8 @@ Description: "This profile sets the minimum expectations for an Observation reso * category ^slicing.rules = #open * category contains vitalSignsCategory 1..1 MS * category[vitalSignsCategory] = http://terminology.hl7.org/CodeSystem/observation-category#vital-signs (exactly) +* category[vitalSignsCategory] insert obligationServer (SHALL:process) +* category[vitalSignsCategory] insert obligationApp (SHALL:populate) * code MS * code ^short = "Heart Rhythm" * code ^definition = "Heart Rhythm." @@ -66,26 +89,40 @@ Description: "This profile sets the minimum expectations for an Observation reso * code.coding ^slicing.ordered = false * code.coding ^slicing.rules = #open * code.coding contains loincHeartRhythmCode 1..1 MS and snomedHeartRhythmCode 1..1 MS +* code.coding[loincHeartRhythmCode] insert obligationServer (SHALL:process) +* code.coding[loincHeartRhythmCode] insert obligationApp (SHALL:populate) * code.coding[loincHeartRhythmCode].system 1..1 * code.coding[loincHeartRhythmCode].system = "http://loinc.org" (exactly) * code.coding[loincHeartRhythmCode].code 1..1 * code.coding[loincHeartRhythmCode].code = #8884-9 (exactly) +* code.coding[snomedHeartRhythmCode] insert obligationServer (SHALL:process) +* code.coding[snomedHeartRhythmCode] insert obligationApp (SHALL:populate) * code.coding[snomedHeartRhythmCode].system 1..1 * code.coding[snomedHeartRhythmCode].system = "http://snomed.info/sct" (exactly) * code.coding[snomedHeartRhythmCode].code 1..1 * code.coding[snomedHeartRhythmCode].code = #364074009 (exactly) +* code.text MS +* code.text insert obligationApp (SHALL:populate) * subject 1.. MS * subject only Reference($au-core-patient) +* subject insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* subject insert obligationApp (SHALL:populate) * effective[x] 1.. MS * effective[x] only dateTime * effective[x] obeys shc-heartrhythm-02 * effective[x] ^short = "Date, and optionally time, the observation was performed" * effective[x] ^definition = "Date, and optionally time, the observation was performed." * effective[x] ^condition = "shc-heartrhythm-02" +* effectiveDateTime MS +* effectiveDateTime insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* effectiveDateTime insert obligation2App (SHALL:populate-if-known, SHALL:process) * value[x] only CodeableConcept * value[x] MS * value[x] from HeartRythym (extensible) * value[x] ^condition = "shc-heartrhythm-01" +* valueCodeableConcept.coding MS +* valueCodeableConcept.coding insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* valueCodeableConcept.coding insert obligation2App (SHALL:populate, SHALL:process) * dataAbsentReason MS * dataAbsentReason ^condition = "shc-heartrhythm-01" @@ -100,4 +137,385 @@ Description: "This extension is used to extend the Template Extract Extension to * extension[type] ^definition = "When templating a Parameters resource, this is the kind of resource to be patched. It is used to help populate the request url." * extension[type].value[x] 1.. * extension[type].value[x] only code -* extension[type].value[x] from ResourceType (required) \ No newline at end of file +* extension[type].value[x] from ResourceType (required) + + +Profile: SmartHealthCheckAllergyIntolerance +Parent: $au-core-allergyintolerance +Id: SHCAllergyIntolerance +Title: "Smart Health Check Allergy Intolerance" +Description: "This profile sets the minimum expectations for an AllergyIntolerance resource to record, search and save allergy or intolerance information when used within Smart Health Checks." + +* id MS +* id insert obligation2Server (SHALL:populate, SHALL:process) +* id insert obligationApp (SHALL:process) +* patient MS +* patient insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* patient insert obligationApp (SHALL:populate) +* clinicalStatus MS +* clinicalStatus insert obligation2Server (SHALL:populate, SHALL:process) +* clinicalStatus insert obligation2App (SHALL:populate-if-known, SHALL:process) +* verificationStatus MS +* verificationStatus insert obligationServer (SHALL:populate-if-known) +* verificationStatus insert obligationApp (SHALL:process) +* code MS +* code insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* code insert obligation2App (SHALL:populate-if-known, SHALL:process) +* note.text MS +* note.text insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* note.text insert obligation2App (SHALL:populate-if-known, SHALL:process) +* reaction.manifestation MS +* reaction.manifestation insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* reaction.manifestation insert obligation2App (SHALL:populate-if-known, SHALL:process) + +Profile: SmartHealthCheckCondition +Parent: $au-core-condition +Id: SHCCondition +Title: "Smart Health Check Condition" +Description: "This profile sets the minimum expectations for a Condition resource to record, search and save condition information when used within Smart Health Checks." + +* id MS +* id insert obligation2Server (SHALL:populate, SHALL:process) +* id insert obligationApp (SHALL:process) +* clinicalStatus MS +* clinicalStatus insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* clinicalStatus insert obligation2App (SHALL:populate, SHALL:process) +* verificationStatus MS +* verificationStatus insert obligationServer (SHALL:populate-if-known) +* verificationStatus insert obligationApp (SHALL:process) +* category MS +* category insert obligation2Server (SHALL:populate, SHALL:process) +* category insert obligation2App (SHALL:populate, SHALL:process) +* code MS +* code insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* code insert obligation2App (SHALL:populate-if-known, SHALL:process) +* subject MS +* subject insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* subject insert obligationApp (SHALL:populate) +* onsetDateTime MS +* onsetDateTime insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* onsetDateTime insert obligation2App (SHALL:populate-if-known, SHALL:process) +* abatementDateTime MS +* abatementDateTime insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* abatementDateTime insert obligationApp (SHALL:process) +* note.text MS +* note.text insert obligationServer (SHALL:process) +* note.text insert obligationApp (SHALL:populate-if-known) + +Profile: SmartHealthCheckMedicationStatement +Parent: $au-core-medicationstatement +Id: SHCMedicationStatement +Title: "Smart Health Check Medication Statement" +Description: "This profile sets the minimum expectations for a MedicationStatement resource to record, search and save medication information when used within Smart Health Checks." + +* id MS +* id insert obligation2Server (SHALL:populate, SHALL:process) +* id insert obligationApp (SHALL:process) +* status MS +* status insert obligation2Server (SHALL:populate, SHALL:process) +* status insert obligation2App (SHALL:populate, SHALL:process) +* medication[x][medicationCodeableConcept] MS +* medication[x][medicationCodeableConcept] insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* medication[x][medicationCodeableConcept] insert obligation2App (SHALL:populate-if-known, SHALL:process) +* subject MS +* subject insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* subject insert obligationApp (SHALL:populate) +* dateAsserted MS +* dateAsserted insert obligationServer (SHALL:process) +* dateAsserted insert obligationApp (SHALL:populate-if-known) +* reasonCode MS +* reasonCode insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* reasonCode insert obligation2App (SHALL:populate-if-known, SHALL:process) +* note.text MS +* note.text insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* note.text insert obligation2App (SHALL:populate-if-known, SHALL:process) +* dosage.text MS +* dosage.text insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* dosage.text insert obligation2App (SHALL:populate-if-known, SHALL:process) + +Profile: SmartHealthCheckImmunization +Parent: $au-core-immunization +Id: SHCImmunization +Title: "Smart Health Check Immunization" +Description: "This profile sets the minimum expectations for an Immunization resource to record, search and save immunization information when used within Smart Health Checks." + +* status MS +* status insert obligation2Server (SHALL:populate, SHALL:process) +* status insert obligation2App (SHALL:populate, SHALL:process) +* vaccineCode MS +* vaccineCode insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* vaccineCode insert obligation2App (SHALL:populate-if-known, SHALL:process) +* vaccineCode.coding[amtVaccineCode] MS +* vaccineCode.coding[amtVaccineCode] insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* vaccineCode.coding[amtVaccineCode] insert obligation2App (SHALL:populate-if-known, SHALL:process) +* patient MS +* patient insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* patient insert obligationApp (SHALL:populate) +* occurrenceDateTime MS +* occurrenceDateTime insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* occurrenceDateTime insert obligation2App (SHALL:populate-if-known, SHALL:process) +* lotNumber MS +* lotNumber insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* lotNumber insert obligation2App (SHALL:populate-if-known, SHALL:process) +* note.text MS +* note.text insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* note.text insert obligation2App (SHALL:populate-if-known, SHALL:process) + +Profile: SmartHealthCheckBloodPressure +Parent: $au-core-bloodpressure +Id: SHCBloodPressure +Title: "Smart Health Check Blood Pressure" +Description: "This profile sets the minimum expectations for a Blood Pressure resource to record, search and save blood pressure information when used within Smart Health Checks." + +* status MS +* status insert obligation2Server (SHALL:populate, SHALL:process) +* status insert obligation2App (SHALL:populate, SHALL:process) +* category[VSCat] MS +* category[VSCat] insert obligationServer (SHALL:process) +* category[VSCat] insert obligationApp (SHALL:populate) +* code.coding[BPCode] MS +* code.coding[BPCode] insert obligationServer (SHALL:process) +* code.coding[BPCode] insert obligationApp (SHALL:populate) +* code.coding[snomedBPCode] MS +* code.coding[snomedBPCode] insert obligationServer (SHALL:process) +* code.coding[snomedBPCode] insert obligationApp (SHALL:populate) +* code.text MS +* code.text insert obligationApp (SHALL:populate) +* subject MS +* subject insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* subject insert obligationApp (SHALL:populate) +* effectiveDateTime MS +* effectiveDateTime insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* effectiveDateTime insert obligation2App (SHALL:populate-if-known, SHALL:process) +* component[SystolicBP] MS +* component[SystolicBP] insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* component[SystolicBP] insert obligation2App (SHALL:populate, SHALL:process) +* component[DiastolicBP] MS +* component[DiastolicBP] insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* component[DiastolicBP] insert obligation2App (SHALL:populate-if-known, SHALL:process) + +Profile: SmartHealthCheckSmokingStatus +Parent: $au-core-smokingstatus +Id: SHCSmokingStatus +Title: "Smart Health Check Smoking Status" +Description: "This profile sets the minimum expectations for a Smoking Status resource to record, search and save smoking status information when used within Smart Health Checks." + +* status MS +* status insert obligation2Server (SHALL:populate, SHALL:process) +* status insert obligation2App (SHALL:populate, SHALL:process) +* category[socialHistory] MS +* category[socialHistory] insert obligationServer (SHALL:process) +* category[socialHistory] insert obligationApp (SHALL:populate) +* code.coding MS +* code.coding insert obligationServer (SHALL:process) +* code.coding insert obligationApp (SHALL:populate) +* code.coding[loincSmokingStatus] MS +* code.coding[loincSmokingStatus] insert obligationServer (SHALL:process) +* code.coding[loincSmokingStatus] insert obligationApp (SHALL:populate) +* code.text MS +* code.text insert obligationApp (SHALL:populate) +* subject MS +* subject insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* subject insert obligationApp (SHALL:populate) +* effectiveDateTime MS +* effectiveDateTime insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* effectiveDateTime insert obligation2App (SHALL:populate-if-known, SHALL:process) +* valueCodeableConcept.coding MS +* valueCodeableConcept.coding insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* valueCodeableConcept.coding insert obligation2App (SHALL:populate, SHALL:process) + +Profile: SmartHealthCheckBodyHeight +Parent: $au-core-bodyheight +Id: SHCBodyHeight +Title: "Smart Health Check Body Height" +Description: "This profile sets the minimum expectations for a Body Height resource to record, search and save body height information when used within Smart Health Checks." + +* status MS +* status insert obligation2Server (SHALL:populate, SHALL:process) +* status insert obligation2App (SHALL:populate, SHALL:process) +* category[VSCat] MS +* category[VSCat] insert obligationServer (SHALL:process) +* category[VSCat] insert obligationApp (SHALL:populate) +* code.coding[BodyHeightCode] MS +* code.coding[BodyHeightCode] insert obligationServer (SHALL:process) +* code.coding[BodyHeightCode] insert obligationApp (SHALL:populate) +* code.coding[snomedBodyHeightCode] MS +* code.coding[snomedBodyHeightCode] insert obligationServer (SHALL:process) +* code.coding[snomedBodyHeightCode] insert obligationApp (SHALL:populate) +* code.text MS +* code.text insert obligationApp (SHALL:populate) +* subject MS +* subject insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* subject insert obligationApp (SHALL:populate) +* effectiveDateTime MS +* effectiveDateTime insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* effectiveDateTime insert obligation2App (SHALL:populate-if-known, SHALL:process) +* valueQuantity.value MS +* valueQuantity.value insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* valueQuantity.value insert obligation2App (SHALL:populate, SHALL:process) +* valueQuantity.unit MS +* valueQuantity.unit insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* valueQuantity.unit insert obligation2App (SHALL:populate, SHALL:process) +* valueQuantity.system MS +* valueQuantity.system insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* valueQuantity.system insert obligation2App (SHALL:populate, SHALL:process) +* valueQuantity.code MS +* valueQuantity.code insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* valueQuantity.code insert obligation2App (SHALL:populate, SHALL:process) + +Profile: SmartHealthCheckBodyWeight +Parent: $au-core-bodyweight +Id: SHCBodyWeight +Title: "Smart Health Check Body Weight" +Description: "This profile sets the minimum expectations for a Body Weight resource to record, search and save body weight information when used within Smart Health Checks." + +* status MS +* status insert obligation2Server (SHALL:populate, SHALL:process) +* status insert obligation2App (SHALL:populate, SHALL:process) +* category[VSCat] MS +* category[VSCat] insert obligationServer (SHALL:process) +* category[VSCat] insert obligationApp (SHALL:populate) +* code.coding[BodyWeightCode] MS +* code.coding[BodyWeightCode] insert obligationServer (SHALL:process) +* code.coding[BodyWeightCode] insert obligationApp (SHALL:populate) +* code.coding[snomedBodyWeightCode] MS +* code.coding[snomedBodyWeightCode] insert obligationServer (SHALL:process) +* code.coding[snomedBodyWeightCode] insert obligationApp (SHALL:populate) +* code.text MS +* code.text insert obligationApp (SHALL:populate) +* subject MS +* subject insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* subject insert obligationApp (SHALL:populate) +* effectiveDateTime MS +* effectiveDateTime insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* effectiveDateTime insert obligation2App (SHALL:populate-if-known, SHALL:process) +* valueQuantity.value MS +* valueQuantity.value insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* valueQuantity.value insert obligation2App (SHALL:populate, SHALL:process) +* valueQuantity.unit MS +* valueQuantity.unit insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* valueQuantity.unit insert obligation2App (SHALL:populate, SHALL:process) +* valueQuantity.system MS +* valueQuantity.system insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* valueQuantity.system insert obligation2App (SHALL:populate, SHALL:process) +* valueQuantity.code MS +* valueQuantity.code insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* valueQuantity.code insert obligation2App (SHALL:populate, SHALL:process) + +Profile: SmartHealthCheckHeadCircumference +Parent: $au-core-headcircum +Id: SHCHeadCircumference +Title: "Smart Health Check Head Circumference" +Description: "This profile sets the minimum expectations for a Head Circumference resource to record, search and save head circumference information when used within Smart Health Checks." + +* status MS +* status insert obligation2Server (SHALL:populate, SHALL:process) +* status insert obligation2App (SHALL:populate, SHALL:process) +* category[VSCat] MS +* category[VSCat] insert obligationServer (SHALL:process) +* category[VSCat] insert obligationApp (SHALL:populate) +* code.coding[HeadCircumCode] MS +* code.coding[HeadCircumCode] insert obligationServer (SHALL:process) +* code.coding[HeadCircumCode] insert obligationApp (SHALL:populate) +* code.coding[snomedHeadCircumCode] MS +* code.coding[snomedHeadCircumCode] insert obligationServer (SHALL:process) +* code.coding[snomedHeadCircumCode] insert obligationApp (SHALL:populate) +* code.text MS +* code.text insert obligationApp (SHALL:populate) +* subject MS +* subject insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* subject insert obligationApp (SHALL:populate) +* effectiveDateTime MS +* effectiveDateTime insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* effectiveDateTime insert obligation2App (SHALL:populate-if-known, SHALL:process) +* valueQuantity.value MS +* valueQuantity.value insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* valueQuantity.value insert obligation2App (SHALL:populate, SHALL:process) +* valueQuantity.unit MS +* valueQuantity.unit insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* valueQuantity.unit insert obligation2App (SHALL:populate, SHALL:process) +* valueQuantity.system MS +* valueQuantity.system insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* valueQuantity.system insert obligation2App (SHALL:populate, SHALL:process) +* valueQuantity.code MS +* valueQuantity.code insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* valueQuantity.code insert obligation2App (SHALL:populate, SHALL:process) + +Profile: SmartHealthCheckWaistCircumference +Parent: $au-core-waistcircum +Id: SHCWaistCircumference +Title: "Smart Health Check Waist Circumference" +Description: "This profile sets the minimum expectations for a Waist Circumference resource to record, search and save waist circumference information when used within Smart Health Checks." + +* status MS +* status insert obligation2Server (SHALL:populate, SHALL:process) +* status insert obligation2App (SHALL:populate, SHALL:process) +* category[VSCat] MS +* category[VSCat] insert obligationServer (SHALL:process) +* category[VSCat] insert obligationApp (SHALL:populate) +* code.coding[loincWaistCircumCode] MS +* code.coding[loincWaistCircumCode] insert obligationServer (SHALL:process) +* code.coding[loincWaistCircumCode] insert obligationApp (SHALL:populate) +* code.coding[snomedWaistCircumCode] MS +* code.coding[snomedWaistCircumCode] insert obligationServer (SHALL:process) +* code.coding[snomedWaistCircumCode] insert obligationApp (SHALL:populate) +* code.text MS +* code.text insert obligationApp (SHALL:populate) +* subject MS +* subject insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* subject insert obligationApp (SHALL:populate) +* effectiveDateTime MS +* effectiveDateTime insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* effectiveDateTime insert obligation2App (SHALL:populate-if-known, SHALL:process) +* valueQuantity.value MS +* valueQuantity.value insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* valueQuantity.value insert obligation2App (SHALL:populate, SHALL:process) +* valueQuantity.unit MS +* valueQuantity.unit insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* valueQuantity.unit insert obligation2App (SHALL:populate, SHALL:process) +* valueQuantity.system MS +* valueQuantity.system insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* valueQuantity.system insert obligation2App (SHALL:populate, SHALL:process) +* valueQuantity.code MS +* valueQuantity.code insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* valueQuantity.code insert obligation2App (SHALL:populate, SHALL:process) + +Profile: SmartHealthCheckHeartRate +Parent: $au-core-heartrate +Id: SHCHeartRate +Title: "Smart Health Check Heart Rate" +Description: "This profile sets the minimum expectations for a Heart Rate resource to record, search and save heart rate information when used within Smart Health Checks." + +* status MS +* status insert obligation2Server (SHALL:populate, SHALL:process) +* status insert obligation2App (SHALL:populate, SHALL:process) +* category[VSCat] MS +* category[VSCat] insert obligationServer (SHALL:process) +* category[VSCat] insert obligationApp (SHALL:populate) +* code.coding[HeartRateCode] MS +* code.coding[HeartRateCode] insert obligationServer (SHALL:process) +* code.coding[HeartRateCode] insert obligationApp (SHALL:populate) +* code.coding[snomedHeartRateCode] MS +* code.coding[snomedHeartRateCode] insert obligationServer (SHALL:process) +* code.coding[snomedHeartRateCode] insert obligationApp (SHALL:populate) +* code.text MS +* code.text insert obligationApp (SHALL:populate) +* subject MS +* subject insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* subject insert obligationApp (SHALL:populate) +* effectiveDateTime MS +* effectiveDateTime insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* effectiveDateTime insert obligation2App (SHALL:populate-if-known, SHALL:process) +* valueQuantity.value MS +* valueQuantity.value insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* valueQuantity.value insert obligation2App (SHALL:populate, SHALL:process) +* valueQuantity.unit MS +* valueQuantity.unit insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* valueQuantity.unit insert obligation2App (SHALL:populate, SHALL:process) +* valueQuantity.system MS +* valueQuantity.system insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* valueQuantity.system insert obligation2App (SHALL:populate, SHALL:process) +* valueQuantity.code MS +* valueQuantity.code insert obligation2Server (SHALL:populate-if-known, SHALL:process) +* valueQuantity.code insert obligation2App (SHALL:populate, SHALL:process) + diff --git a/input/pagecontent/profiles-and-extensions.md b/input/pagecontent/profiles-and-extensions.md index 02cb0242..056fd517 100644 --- a/input/pagecontent/profiles-and-extensions.md +++ b/input/pagecontent/profiles-and-extensions.md @@ -2,19 +2,17 @@ ### Profiles -The profiles used in this guide are defined in [AU Core](https://build.fhir.org/ig/hl7au/au-fhir-core/). - -No additional profiles have been defined for this implementation guide. - - - +The following profiles and have been defined for this implementation guide. - +{% include sd-list-generator.md %} +There are additional profiles used in this guide defined in [AU Core](https://build.fhir.org/ig/hl7au/au-fhir-core/). + +
### Extensions From a20c9564183a276812b36ecd773517b3bdd568be Mon Sep 17 00:00:00 2001 From: liambarnes Date: Fri, 20 Jun 2025 12:24:07 +1000 Subject: [PATCH 094/177] Remove locally saved AU Core profiles --- ...ntationGuide-csiro.fhir.au.smartforms.json | 16 - ...efinition-au-core-medicationstatement.json | 3067 ----------------- ...ctureDefinition-au-core-relatedperson.json | 2025 ----------- sushi-config.yaml | 4 +- 4 files changed, 2 insertions(+), 5110 deletions(-) delete mode 100644 input/resources/StructureDefinition-au-core-medicationstatement.json delete mode 100644 input/resources/StructureDefinition-au-core-relatedperson.json diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index a62d3ae5..bf5b4edd 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -357,22 +357,6 @@ "exampleBoolean": false, "name": "AU Core Head Circumference" }, - { - "reference": { - "reference": "StructureDefinition/au-core-medicationstatement" - }, - "description": "This profile sets minimum expectations for a MedicationStatement resource to record, search, and fetch summary statements of medication use associated with a patient. It is based on the [AU Base Medication Statement](http://build.fhir.org/ig/hl7au/au-fhir-base/StructureDefinition-au-medicationstatement.html) profile and identifies the *additional* mandatory core elements, extensions, vocabularies and value sets that **SHALL** be present in the MedicationStatement when conforming to this profile. It provides the floor for standards development for specific uses cases in an Australian context.", - "exampleBoolean": false, - "name": "AU Core MedicationStatement" - }, - { - "reference": { - "reference": "StructureDefinition/au-core-relatedperson" - }, - "description": "This profile sets minimum expectations for a RelatedPerson resource to record, search, and fetch basic demographics and other administrative information about individual related persons associated with a patient. It is based on the [AU Base Related Person](http://build.fhir.org/ig/hl7au/au-fhir-base/StructureDefinition-au-relatedperson.html) profile and identifies the *additional* mandatory core elements, extensions, vocabularies and value sets that **SHALL** be present in the RelatedPerson resource when conforming to this profile. It provides the floor for standards development for specific uses cases in an Australian context.", - "exampleBoolean": false, - "name": "AU Core RelatedPerson" - }, { "reference": { "reference": "ValueSet/amt-vaccine-1" diff --git a/input/resources/StructureDefinition-au-core-medicationstatement.json b/input/resources/StructureDefinition-au-core-medicationstatement.json deleted file mode 100644 index 9710b3d4..00000000 --- a/input/resources/StructureDefinition-au-core-medicationstatement.json +++ /dev/null @@ -1,3067 +0,0 @@ -{ - "resourceType" : "StructureDefinition", - "id" : "au-core-medicationstatement", - "extension" : [{ - "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm", - "valueInteger" : 0 - }, - { - "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", - "valueCode" : "trial-use", - "_valueCode" : { - "extension" : [{ - "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom", - "valueCanonical" : "http://hl7.org.au/fhir/core/ImplementationGuide/hl7.fhir.au.core" - }] - } - }], - "url" : "http://hl7.org.au/fhir/core/StructureDefinition/au-core-medicationstatement", - "version" : "1.1.0-preview", - "name" : "AUCoreMedicationStatement", - "title" : "AU Core MedicationStatement", - "status" : "draft", - "date" : "2025-03-06T07:19:11+00:00", - "publisher" : "HL7 Australia", - "contact" : [{ - "name" : "HL7 Australia FHIR Work Group", - "telecom" : [{ - "system" : "url", - "value" : "https://confluence.hl7.org/display/HAFWG", - "use" : "work" - }] - }], - "description" : "This profile sets minimum expectations for a MedicationStatement resource to record, search, and fetch summary statements of medication use associated with a patient. It is based on the [AU Base Medication Statement](http://build.fhir.org/ig/hl7au/au-fhir-base/StructureDefinition-au-medicationstatement.html) profile and identifies the *additional* mandatory core elements, extensions, vocabularies and value sets that **SHALL** be present in the MedicationStatement when conforming to this profile. It provides the floor for standards development for specific uses cases in an Australian context.", - "jurisdiction" : [{ - "coding" : [{ - "system" : "urn:iso:std:iso:3166", - "code" : "AU" - }] - }], - "copyright" : "Used by permission of HL7 International, all rights reserved Creative Commons License. HL7 Australia© 2022+; Licensed Under Creative Commons No Rights Reserved.", - "fhirVersion" : "4.0.1", - "mapping" : [{ - "identity" : "workflow", - "uri" : "http://hl7.org/fhir/workflow", - "name" : "Workflow Pattern" - }, - { - "identity" : "rim", - "uri" : "http://hl7.org/v3", - "name" : "RIM Mapping" - }, - { - "identity" : "w5", - "uri" : "http://hl7.org/fhir/fivews", - "name" : "FiveWs Pattern Mapping" - }, - { - "identity" : "v2", - "uri" : "http://hl7.org/v2", - "name" : "HL7 v2 Mapping" - }], - "kind" : "resource", - "abstract" : false, - "type" : "MedicationStatement", - "baseDefinition" : "http://hl7.org.au/fhir/StructureDefinition/au-medicationstatement", - "derivation" : "constraint", - "snapshot" : { - "extension" : [{ - "url" : "http://hl7.org/fhir/tools/StructureDefinition/snapshot-base-version", - "valueString" : "5.1.0-preview" - }], - "element" : [{ - "id" : "MedicationStatement", - "path" : "MedicationStatement", - "short" : "A record of medication being taken by a patient in an Australian healthcare context", - "definition" : "A record of a medication that is being consumed by a patient. A MedicationStatement may indicate that the patient may be taking the medication now or has taken the medication in the past or will be taking the medication in the future. The source of this information can be the patient, significant other (such as a family member or spouse), or a clinician. A common scenario where this information is captured is during the history taking process during a patient visit or stay. The medication information may come from sources such as the patient's memory, from a prescription bottle, or from a list of medications the patient, clinician or other party maintains. \n\nThe primary difference between a medication statement and a medication administration is that the medication administration has complete administration information and is based on actual administration information from the person who administered the medication. A medication statement is often, if not always, less specific. There is no required date/time when the medication was administered, in fact we only know that a source has reported the patient is taking this medication, where details such as time, quantity, or rate or even medication product may be incomplete or missing or less precise. As stated earlier, the medication statement information may come from the patient's memory, from a prescription bottle or from a list of medications the patient, clinician or other party maintains. Medication administration is more formal and is not missing detailed information.", - "comment" : "When interpreting a medicationStatement, the value of the status and NotTaken needed to be considered:\rMedicationStatement.status + MedicationStatement.wasNotTaken\rStatus=Active + NotTaken=T = Not currently taking\rStatus=Completed + NotTaken=T = Not taken in the past\rStatus=Intended + NotTaken=T = No intention of taking\rStatus=Active + NotTaken=F = Taking, but not as prescribed\rStatus=Active + NotTaken=F = Taking\rStatus=Intended +NotTaken= F = Will be taking (not started)\rStatus=Completed + NotTaken=F = Taken in past\rStatus=In Error + NotTaken=N/A = In Error.", - "min" : 0, - "max" : "*", - "base" : { - "path" : "MedicationStatement", - "min" : 0, - "max" : "*" - }, - "constraint" : [{ - "key" : "dom-2", - "severity" : "error", - "human" : "If the resource is contained in another resource, it SHALL NOT contain nested Resources", - "expression" : "contained.contained.empty()", - "xpath" : "not(parent::f:contained and f:contained)", - "source" : "http://hl7.org/fhir/StructureDefinition/DomainResource" - }, - { - "key" : "dom-3", - "severity" : "error", - "human" : "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource", - "expression" : "contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()", - "xpath" : "not(exists(for $id in f:contained/*/f:id/@value return $contained[not(parent::*/descendant::f:reference/@value=concat('#', $contained/*/id/@value) or descendant::f:reference[@value='#'])]))", - "source" : "http://hl7.org/fhir/StructureDefinition/DomainResource" - }, - { - "key" : "dom-4", - "severity" : "error", - "human" : "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated", - "expression" : "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()", - "xpath" : "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))", - "source" : "http://hl7.org/fhir/StructureDefinition/DomainResource" - }, - { - "key" : "dom-5", - "severity" : "error", - "human" : "If a resource is contained in another resource, it SHALL NOT have a security label", - "expression" : "contained.meta.security.empty()", - "xpath" : "not(exists(f:contained/*/f:meta/f:security))", - "source" : "http://hl7.org/fhir/StructureDefinition/DomainResource" - }, - { - "extension" : [{ - "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice", - "valueBoolean" : true - }, - { - "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice-explanation", - "valueMarkdown" : "When a resource has no narrative, only systems that fully understand the data can display the resource to a human safely. Including a human readable representation in the resource makes for a much more robust eco-system and cheaper handling of resources by intermediary systems. Some ecosystems restrict distribution of resources to only those systems that do fully understand the resources, and as a consequence implementers may believe that the narrative is superfluous. However experience shows that such eco-systems often open up to new participants over time." - }], - "key" : "dom-6", - "severity" : "warning", - "human" : "A resource should have narrative for robust management", - "expression" : "text.`div`.exists()", - "xpath" : "exists(f:text/h:div)", - "source" : "http://hl7.org/fhir/StructureDefinition/DomainResource" - }], - "isModifier" : false, - "isSummary" : false, - "mapping" : [{ - "identity" : "rim", - "map" : "Entity. Role, or Act" - }, - { - "identity" : "workflow", - "map" : "Event" - }, - { - "identity" : "rim", - "map" : "SubstanceAdministration" - }] - }, - { - "id" : "MedicationStatement.id", - "path" : "MedicationStatement.id", - "short" : "Logical id of this artifact", - "definition" : "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.", - "comment" : "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "Resource.id", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "extension" : [{ - "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", - "valueUrl" : "id" - }], - "code" : "http://hl7.org/fhirpath/System.String" - }], - "isModifier" : false, - "isSummary" : true - }, - { - "id" : "MedicationStatement.meta", - "path" : "MedicationStatement.meta", - "short" : "Metadata about the resource", - "definition" : "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "Resource.meta", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "code" : "Meta" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : false, - "isSummary" : true - }, - { - "id" : "MedicationStatement.implicitRules", - "path" : "MedicationStatement.implicitRules", - "short" : "A set of rules under which this content was created", - "definition" : "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.", - "comment" : "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "Resource.implicitRules", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "code" : "uri" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : true, - "isModifierReason" : "This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation", - "isSummary" : true - }, - { - "id" : "MedicationStatement.language", - "path" : "MedicationStatement.language", - "short" : "Language of the resource content", - "definition" : "The base language in which the resource is written.", - "comment" : "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).", - "min" : 0, - "max" : "1", - "base" : { - "path" : "Resource.language", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "code" : "code" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : false, - "isSummary" : false, - "binding" : { - "extension" : [{ - "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet", - "valueCanonical" : "http://hl7.org/fhir/ValueSet/all-languages" - }, - { - "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString" : "Language" - }], - "strength" : "preferred", - "description" : "A human language.", - "valueSet" : "http://hl7.org/fhir/ValueSet/languages" - } - }, - { - "id" : "MedicationStatement.text", - "path" : "MedicationStatement.text", - "short" : "Text summary of the resource, for human interpretation", - "definition" : "A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.", - "comment" : "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded information is added later.", - "alias" : ["narrative", - "html", - "xhtml", - "display"], - "min" : 0, - "max" : "1", - "base" : { - "path" : "DomainResource.text", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "code" : "Narrative" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : false, - "isSummary" : false, - "mapping" : [{ - "identity" : "rim", - "map" : "Act.text?" - }] - }, - { - "id" : "MedicationStatement.contained", - "path" : "MedicationStatement.contained", - "short" : "Contained, inline Resources", - "definition" : "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.", - "comment" : "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.", - "alias" : ["inline resources", - "anonymous resources", - "contained resources"], - "min" : 0, - "max" : "*", - "base" : { - "path" : "DomainResource.contained", - "min" : 0, - "max" : "*" - }, - "type" : [{ - "code" : "Resource" - }], - "isModifier" : false, - "isSummary" : false, - "mapping" : [{ - "identity" : "rim", - "map" : "N/A" - }] - }, - { - "id" : "MedicationStatement.extension", - "path" : "MedicationStatement.extension", - "slicing" : { - "discriminator" : [{ - "type" : "value", - "path" : "url" - }], - "rules" : "open" - }, - "short" : "Extension", - "definition" : "An Extension", - "min" : 0, - "max" : "*", - "base" : { - "path" : "DomainResource.extension", - "min" : 0, - "max" : "*" - }, - "type" : [{ - "code" : "Extension" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key" : "ext-1", - "severity" : "error", - "human" : "Must have either extensions or value[x], not both", - "expression" : "extension.exists() != value.exists()", - "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source" : "http://hl7.org/fhir/StructureDefinition/Extension" - }], - "isModifier" : false, - "isSummary" : false - }, - { - "id" : "MedicationStatement.extension:longTerm", - "path" : "MedicationStatement.extension", - "sliceName" : "longTerm", - "short" : "Medication Long Term Indicator", - "definition" : "Indicator of long term use of a medication.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "DomainResource.extension", - "min" : 0, - "max" : "*" - }, - "type" : [{ - "code" : "Extension", - "profile" : ["http://hl7.org.au/fhir/StructureDefinition/medication-long-term"] - }], - "condition" : ["ele-1"], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key" : "ext-1", - "severity" : "error", - "human" : "Must have either extensions or value[x], not both", - "expression" : "extension.exists() != value.exists()", - "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])", - "source" : "http://hl7.org/fhir/StructureDefinition/Extension" - }], - "isModifier" : false - }, - { - "id" : "MedicationStatement.modifierExtension", - "path" : "MedicationStatement.modifierExtension", - "short" : "Extensions that cannot be ignored", - "definition" : "May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", - "comment" : "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", - "requirements" : "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).", - "alias" : ["extensions", - "user content"], - "min" : 0, - "max" : "*", - "base" : { - "path" : "DomainResource.modifierExtension", - "min" : 0, - "max" : "*" - }, - "type" : [{ - "code" : "Extension" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key" : "ext-1", - "severity" : "error", - "human" : "Must have either extensions or value[x], not both", - "expression" : "extension.exists() != value.exists()", - "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source" : "http://hl7.org/fhir/StructureDefinition/Extension" - }], - "isModifier" : true, - "isModifierReason" : "Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them", - "isSummary" : false, - "mapping" : [{ - "identity" : "rim", - "map" : "N/A" - }] - }, - { - "id" : "MedicationStatement.identifier", - "path" : "MedicationStatement.identifier", - "short" : "External identifier", - "definition" : "Identifiers associated with this Medication Statement that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate. They are business identifiers assigned to this resource by the performer or other systems and remain constant as the resource is updated and propagates from server to server.", - "comment" : "This is a business identifier, not a resource identifier.", - "min" : 0, - "max" : "*", - "base" : { - "path" : "MedicationStatement.identifier", - "min" : 0, - "max" : "*" - }, - "type" : [{ - "code" : "Identifier" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : false, - "isSummary" : true, - "mapping" : [{ - "identity" : "workflow", - "map" : "Event.identifier" - }, - { - "identity" : "w5", - "map" : "FiveWs.identifier" - }, - { - "identity" : "rim", - "map" : ".id" - }] - }, - { - "id" : "MedicationStatement.basedOn", - "path" : "MedicationStatement.basedOn", - "short" : "Fulfils plan, proposal or order", - "definition" : "A plan, proposal or order that is fulfilled in whole or in part by this event.", - "requirements" : "Allows tracing of authorization for the event and tracking whether proposals/recommendations were acted upon.", - "min" : 0, - "max" : "*", - "base" : { - "path" : "MedicationStatement.basedOn", - "min" : 0, - "max" : "*" - }, - "type" : [{ - "code" : "Reference", - "targetProfile" : ["http://hl7.org/fhir/StructureDefinition/MedicationRequest", - "http://hl7.org/fhir/StructureDefinition/CarePlan", - "http://hl7.org/fhir/StructureDefinition/ServiceRequest"] - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : false, - "isSummary" : true, - "mapping" : [{ - "identity" : "workflow", - "map" : "Event.basedOn" - }, - { - "identity" : "rim", - "map" : ".outboundRelationship[typeCode=FLFS].target[classCode=SBADM or PROC or PCPR or OBS, moodCode=RQO orPLAN or PRP]" - }] - }, - { - "id" : "MedicationStatement.partOf", - "path" : "MedicationStatement.partOf", - "short" : "Part of referenced event", - "definition" : "A larger event of which this particular event is a component or step.", - "requirements" : "This should not be used when indicating which resource a MedicationStatement has been derived from. If that is the use case, then MedicationStatement.derivedFrom should be used.", - "min" : 0, - "max" : "*", - "base" : { - "path" : "MedicationStatement.partOf", - "min" : 0, - "max" : "*" - }, - "type" : [{ - "code" : "Reference", - "targetProfile" : ["http://hl7.org/fhir/StructureDefinition/MedicationAdministration", - "http://hl7.org/fhir/StructureDefinition/MedicationDispense", - "http://hl7.org/fhir/StructureDefinition/MedicationStatement", - "http://hl7.org/fhir/StructureDefinition/Procedure", - "http://hl7.org/fhir/StructureDefinition/Observation"] - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : false, - "isSummary" : true, - "mapping" : [{ - "identity" : "workflow", - "map" : "Event.partOf" - }, - { - "identity" : "rim", - "map" : ".outboundRelationship[typeCode=COMP]/target[classCode=SPLY or SBADM or PROC or OBS,moodCode=EVN]" - }] - }, - { - "id" : "MedicationStatement.status", - "extension" : [{ - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:populate-if-known" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }, - { - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:no-error" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }], - "path" : "MedicationStatement.status", - "short" : "active | completed | entered-in-error | intended | stopped | on-hold | unknown | not-taken", - "definition" : "A code representing the patient or other source's judgment about the state of the medication used that this statement is about. Generally, this will be active or completed.", - "comment" : "MedicationStatement is a statement at a point in time. The status is only representative at the point when it was asserted. The value set for MedicationStatement.status contains codes that assert the status of the use of the medication by the patient (for example, stopped or on hold) as well as codes that assert the status of the medication statement itself (for example, entered in error).\r\rThis element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.", - "min" : 1, - "max" : "1", - "base" : { - "path" : "MedicationStatement.status", - "min" : 1, - "max" : "1" - }, - "type" : [{ - "code" : "code" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "mustSupport" : true, - "isModifier" : true, - "isModifierReason" : "This element is labelled as a modifier because it is a status element that contains status entered-in-error which means that the resource should not be treated as valid", - "isSummary" : true, - "binding" : { - "extension" : [{ - "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString" : "MedicationStatementStatus" - }], - "strength" : "required", - "description" : "A coded concept indicating the current status of a MedicationStatement.", - "valueSet" : "http://hl7.org/fhir/ValueSet/medication-statement-status|4.0.1" - }, - "mapping" : [{ - "identity" : "workflow", - "map" : "Event.status" - }, - { - "identity" : "w5", - "map" : "FiveWs.status" - }, - { - "identity" : "rim", - "map" : ".statusCode" - }] - }, - { - "id" : "MedicationStatement.statusReason", - "path" : "MedicationStatement.statusReason", - "short" : "Reason for current status", - "definition" : "Captures the reason for the current state of the MedicationStatement.", - "comment" : "This is generally only used for \"exception\" statuses such as \"not-taken\", \"on-hold\", \"cancelled\" or \"entered-in-error\". The reason for performing the event at all is captured in reasonCode, not here.", - "min" : 0, - "max" : "*", - "base" : { - "path" : "MedicationStatement.statusReason", - "min" : 0, - "max" : "*" - }, - "type" : [{ - "code" : "CodeableConcept" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : false, - "isSummary" : false, - "binding" : { - "extension" : [{ - "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString" : "MedicationStatementStatusReason" - }], - "strength" : "example", - "description" : "A coded concept indicating the reason for the status of the statement.", - "valueSet" : "http://hl7.org/fhir/ValueSet/reason-medication-status-codes" - }, - "mapping" : [{ - "identity" : "workflow", - "map" : "Event.statusReason" - }, - { - "identity" : "rim", - "map" : ".inboundRelationship[typeCode=SUBJ].source[classCode=CACT, moodCode=EVN].reasonCOde" - }] - }, - { - "id" : "MedicationStatement.category", - "path" : "MedicationStatement.category", - "short" : "Type of medication usage", - "definition" : "Indicates where the medication is expected to be consumed or administered.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "MedicationStatement.category", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "code" : "CodeableConcept" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : false, - "isSummary" : true, - "binding" : { - "extension" : [{ - "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString" : "MedicationStatementCategory" - }], - "strength" : "preferred", - "description" : "A coded concept identifying where the medication included in the MedicationStatement is expected to be consumed or administered.", - "valueSet" : "http://hl7.org/fhir/ValueSet/medication-statement-category" - }, - "mapping" : [{ - "identity" : "w5", - "map" : "FiveWs.class" - }, - { - "identity" : "rim", - "map" : ".inboundRelationship[typeCode=COMP].source[classCode=OBS, moodCode=EVN, code=\"type of medication usage\"].value" - }] - }, - { - "id" : "MedicationStatement.medication[x]", - "extension" : [{ - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:populate-if-known" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }, - { - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:no-error" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }], - "path" : "MedicationStatement.medication[x]", - "slicing" : { - "discriminator" : [{ - "type" : "type", - "path" : "$this" - }], - "ordered" : false, - "rules" : "closed" - }, - "short" : "Medication Detail", - "definition" : "Identifies the medication being administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications.", - "comment" : "If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended. For example, if you require form or lot number, then you must reference the Medication resource.", - "min" : 1, - "max" : "1", - "base" : { - "path" : "MedicationStatement.medication[x]", - "min" : 1, - "max" : "1" - }, - "type" : [{ - "code" : "CodeableConcept" - }, - { - "code" : "Reference", - "targetProfile" : ["http://hl7.org/fhir/StructureDefinition/Medication"] - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "mustSupport" : true, - "isModifier" : false, - "isSummary" : true, - "binding" : { - "extension" : [{ - "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString" : "MedicationCode" - }], - "strength" : "example", - "description" : "A coded concept identifying the substance or product being taken.", - "valueSet" : "http://hl7.org/fhir/ValueSet/medication-codes" - }, - "mapping" : [{ - "identity" : "workflow", - "map" : "Event.code" - }, - { - "identity" : "w5", - "map" : "FiveWs.what[x]" - }, - { - "identity" : "rim", - "map" : ".participation[typeCode=CSM].role[classCode=ADMM or MANU]" - }] - }, - { - "id" : "MedicationStatement.medication[x]:medicationCodeableConcept", - "path" : "MedicationStatement.medication[x]", - "sliceName" : "medicationCodeableConcept", - "short" : "Coded Medication", - "definition" : "Identifies the medication being administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications.", - "comment" : "If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended. For example, if you require form or lot number, then you must reference the Medication resource.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "MedicationStatement.medication[x]", - "min" : 1, - "max" : "1" - }, - "type" : [{ - "code" : "CodeableConcept" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : false, - "isSummary" : true, - "binding" : { - "extension" : [{ - "extension" : [{ - "url" : "purpose", - "valueCode" : "preferred" - }, - { - "url" : "valueSet", - "valueCanonical" : "https://healthterminologies.gov.au/fhir/ValueSet/australian-medication-1" - }, - { - "url" : "documentation", - "valueMarkdown" : "This value set is for use when AMT (Australian Medicines Terminology) codes are preferred." - }], - "url" : "http://hl7.org/fhir/tools/StructureDefinition/additional-binding" - }, - { - "extension" : [{ - "url" : "purpose", - "valueCode" : "preferred" - }, - { - "url" : "valueSet", - "valueCanonical" : "http://terminology.hl7.org.au/ValueSet/pbs-item" - }, - { - "url" : "documentation", - "valueMarkdown" : "This value set is for use when PBS (Pharmaceutical Benefits Scheme) item codes are preferred." - }], - "url" : "http://hl7.org/fhir/tools/StructureDefinition/additional-binding" - }, - { - "extension" : [{ - "url" : "purpose", - "valueCode" : "preferred" - }, - { - "url" : "valueSet", - "valueCanonical" : "http://terminology.hl7.org.au/ValueSet/mims" - }, - { - "url" : "documentation", - "valueMarkdown" : "This value set is for use when MIMS (Monthly Index of Medical Specialties) codes are preferred." - }], - "url" : "http://hl7.org/fhir/tools/StructureDefinition/additional-binding" - }, - { - "extension" : [{ - "url" : "purpose", - "valueCode" : "preferred" - }, - { - "url" : "valueSet", - "valueCanonical" : "http://terminology.hl7.org/ValueSet/v3-GTIN" - }, - { - "url" : "documentation", - "valueMarkdown" : "This value set is for use when GTIN (Global Trade Item Number) codes are preferred." - }], - "url" : "http://hl7.org/fhir/tools/StructureDefinition/additional-binding" - }], - "strength" : "example", - "valueSet" : "http://hl7.org/fhir/ValueSet/medication-codes" - }, - "mapping" : [{ - "identity" : "workflow", - "map" : "Event.code" - }, - { - "identity" : "w5", - "map" : "FiveWs.what[x]" - }, - { - "identity" : "rim", - "map" : ".participation[typeCode=CSM].role[classCode=ADMM or MANU]" - }] - }, - { - "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.id", - "path" : "MedicationStatement.medication[x].id", - "representation" : ["xmlAttr"], - "short" : "Unique id for inter-element referencing", - "definition" : "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "Element.id", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "extension" : [{ - "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", - "valueUrl" : "string" - }], - "code" : "http://hl7.org/fhirpath/System.String" - }], - "isModifier" : false, - "isSummary" : false, - "mapping" : [{ - "identity" : "rim", - "map" : "n/a" - }] - }, - { - "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.extension", - "path" : "MedicationStatement.medication[x].extension", - "slicing" : { - "discriminator" : [{ - "type" : "value", - "path" : "url" - }], - "description" : "Extensions are always sliced by (at least) url", - "rules" : "open" - }, - "short" : "Additional content defined by implementations", - "definition" : "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", - "comment" : "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", - "alias" : ["extensions", - "user content"], - "min" : 0, - "max" : "*", - "base" : { - "path" : "Element.extension", - "min" : 0, - "max" : "*" - }, - "type" : [{ - "code" : "Extension" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key" : "ext-1", - "severity" : "error", - "human" : "Must have either extensions or value[x], not both", - "expression" : "extension.exists() != value.exists()", - "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source" : "http://hl7.org/fhir/StructureDefinition/Extension" - }], - "isModifier" : false, - "isSummary" : false, - "mapping" : [{ - "identity" : "rim", - "map" : "n/a" - }] - }, - { - "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding", - "path" : "MedicationStatement.medication[x].coding", - "slicing" : { - "discriminator" : [{ - "type" : "pattern", - "path" : "$this" - }], - "rules" : "open" - }, - "short" : "Code defined by a terminology system", - "definition" : "A reference to a code defined by a terminology system.", - "comment" : "Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.", - "requirements" : "Allows for alternative encodings within a code system, and translations to other code systems.", - "min" : 0, - "max" : "*", - "base" : { - "path" : "CodeableConcept.coding", - "min" : 0, - "max" : "*" - }, - "type" : [{ - "code" : "Coding" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : false, - "isSummary" : true, - "mapping" : [{ - "identity" : "v2", - "map" : "C*E.1-8, C*E.10-22" - }, - { - "identity" : "rim", - "map" : "union(., ./translation)" - }, - { - "identity" : "orim", - "map" : "fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding" - }] - }, - { - "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding.id", - "path" : "MedicationStatement.medication[x].coding.id", - "representation" : ["xmlAttr"], - "short" : "Unique id for inter-element referencing", - "definition" : "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "Element.id", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "extension" : [{ - "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", - "valueUrl" : "string" - }], - "code" : "http://hl7.org/fhirpath/System.String" - }], - "isModifier" : false, - "isSummary" : false, - "mapping" : [{ - "identity" : "rim", - "map" : "n/a" - }] - }, - { - "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding.extension", - "path" : "MedicationStatement.medication[x].coding.extension", - "slicing" : { - "discriminator" : [{ - "type" : "value", - "path" : "url" - }], - "description" : "Extensions are always sliced by (at least) url", - "rules" : "open" - }, - "short" : "Extension", - "definition" : "An Extension", - "min" : 0, - "max" : "*", - "base" : { - "path" : "Element.extension", - "min" : 0, - "max" : "*" - }, - "type" : [{ - "code" : "Extension" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key" : "ext-1", - "severity" : "error", - "human" : "Must have either extensions or value[x], not both", - "expression" : "extension.exists() != value.exists()", - "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source" : "http://hl7.org/fhir/StructureDefinition/Extension" - }], - "isModifier" : false, - "isSummary" : false - }, - { - "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding.extension:medicationClass", - "path" : "MedicationStatement.medication[x].coding.extension", - "sliceName" : "medicationClass", - "short" : "Medication type", - "definition" : "The type of information covered by the medication coding, e.g. branded product with no strength or form.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "Element.extension", - "min" : 0, - "max" : "*" - }, - "type" : [{ - "code" : "Extension", - "profile" : ["http://hl7.org.au/fhir/StructureDefinition/medication-type"] - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key" : "ext-1", - "severity" : "error", - "human" : "Must have either extensions or value[x], not both", - "expression" : "extension.exists() != value.exists()", - "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source" : "http://hl7.org/fhir/StructureDefinition/Extension" - }], - "isModifier" : false, - "isSummary" : false - }, - { - "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding.system", - "path" : "MedicationStatement.medication[x].coding.system", - "short" : "Identity of the terminology system", - "definition" : "The identification of the code system that defines the meaning of the symbol in the code.", - "comment" : "The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should reference to some definition that establishes the system clearly and unambiguously.", - "requirements" : "Need to be unambiguous about the source of the definition of the symbol.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "Coding.system", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "code" : "uri" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : false, - "isSummary" : true, - "mapping" : [{ - "identity" : "v2", - "map" : "C*E.3" - }, - { - "identity" : "rim", - "map" : "./codeSystem" - }, - { - "identity" : "orim", - "map" : "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem" - }] - }, - { - "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding.version", - "path" : "MedicationStatement.medication[x].coding.version", - "short" : "Version of the system - if relevant", - "definition" : "The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.", - "comment" : "Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "Coding.version", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "code" : "string" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : false, - "isSummary" : true, - "mapping" : [{ - "identity" : "v2", - "map" : "C*E.7" - }, - { - "identity" : "rim", - "map" : "./codeSystemVersion" - }, - { - "identity" : "orim", - "map" : "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion" - }] - }, - { - "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding.code", - "path" : "MedicationStatement.medication[x].coding.code", - "short" : "Symbol in syntax defined by the system", - "definition" : "A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).", - "requirements" : "Need to refer to a particular code in the system.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "Coding.code", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "code" : "code" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : false, - "isSummary" : true, - "mapping" : [{ - "identity" : "v2", - "map" : "C*E.1" - }, - { - "identity" : "rim", - "map" : "./code" - }, - { - "identity" : "orim", - "map" : "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code" - }] - }, - { - "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding.display", - "extension" : [{ - "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", - "valueBoolean" : true - }], - "path" : "MedicationStatement.medication[x].coding.display", - "short" : "Representation defined by the system", - "definition" : "A representation of the meaning of the code in the system, following the rules of the system.", - "requirements" : "Need to be able to carry a human-readable meaning of the code for readers that do not know the system.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "Coding.display", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "code" : "string" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : false, - "isSummary" : true, - "mapping" : [{ - "identity" : "v2", - "map" : "C*E.2 - but note this is not well followed" - }, - { - "identity" : "rim", - "map" : "CV.displayName" - }, - { - "identity" : "orim", - "map" : "fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName" - }] - }, - { - "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding.userSelected", - "path" : "MedicationStatement.medication[x].coding.userSelected", - "short" : "If this coding was chosen directly by the user", - "definition" : "Indicates that this coding was chosen by a user directly - e.g. off a pick list of available items (codes or displays).", - "comment" : "Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.", - "requirements" : "This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "Coding.userSelected", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "code" : "boolean" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : false, - "isSummary" : true, - "mapping" : [{ - "identity" : "v2", - "map" : "Sometimes implied by being first" - }, - { - "identity" : "rim", - "map" : "CD.codingRationale" - }, - { - "identity" : "orim", - "map" : "fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\\#true a [ fhir:source \"true\"; fhir:target dt:CDCoding.codingRationale\\#O ]" - }] - }, - { - "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding:pbs", - "extension" : [{ - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:populate-if-known" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }, - { - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:no-error" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }], - "path" : "MedicationStatement.medication[x].coding", - "sliceName" : "pbs", - "short" : "Code defined by a terminology system", - "definition" : "A reference to a code defined by a terminology system.", - "comment" : "Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.", - "requirements" : "Allows for alternative encodings within a code system, and translations to other code systems.", - "min" : 0, - "max" : "*", - "base" : { - "path" : "CodeableConcept.coding", - "min" : 0, - "max" : "*" - }, - "type" : [{ - "code" : "Coding" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "mustSupport" : true, - "isModifier" : false, - "isSummary" : true, - "binding" : { - "strength" : "required", - "valueSet" : "http://terminology.hl7.org.au/ValueSet/pbs-item" - }, - "mapping" : [{ - "identity" : "v2", - "map" : "C*E.1-8, C*E.10-22" - }, - { - "identity" : "rim", - "map" : "union(., ./translation)" - }, - { - "identity" : "orim", - "map" : "fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding" - }] - }, - { - "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding:pbs.id", - "path" : "MedicationStatement.medication[x].coding.id", - "representation" : ["xmlAttr"], - "short" : "Unique id for inter-element referencing", - "definition" : "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "Element.id", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "extension" : [{ - "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", - "valueUrl" : "string" - }], - "code" : "http://hl7.org/fhirpath/System.String" - }], - "isModifier" : false, - "isSummary" : false, - "mapping" : [{ - "identity" : "rim", - "map" : "n/a" - }] - }, - { - "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding:pbs.extension", - "path" : "MedicationStatement.medication[x].coding.extension", - "slicing" : { - "discriminator" : [{ - "type" : "value", - "path" : "url" - }], - "description" : "Extensions are always sliced by (at least) url", - "rules" : "open" - }, - "short" : "Extension", - "definition" : "An Extension", - "min" : 0, - "max" : "*", - "base" : { - "path" : "Element.extension", - "min" : 0, - "max" : "*" - }, - "type" : [{ - "code" : "Extension" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key" : "ext-1", - "severity" : "error", - "human" : "Must have either extensions or value[x], not both", - "expression" : "extension.exists() != value.exists()", - "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source" : "http://hl7.org/fhir/StructureDefinition/Extension" - }], - "isModifier" : false, - "isSummary" : false - }, - { - "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding:pbs.extension:medicationClass", - "path" : "MedicationStatement.medication[x].coding.extension", - "sliceName" : "medicationClass", - "short" : "Medication type", - "definition" : "The type of information covered by the medication coding, e.g. branded product with no strength or form.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "Element.extension", - "min" : 0, - "max" : "*" - }, - "type" : [{ - "code" : "Extension", - "profile" : ["http://hl7.org.au/fhir/StructureDefinition/medication-type"] - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key" : "ext-1", - "severity" : "error", - "human" : "Must have either extensions or value[x], not both", - "expression" : "extension.exists() != value.exists()", - "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source" : "http://hl7.org/fhir/StructureDefinition/Extension" - }], - "isModifier" : false, - "isSummary" : false - }, - { - "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding:pbs.system", - "path" : "MedicationStatement.medication[x].coding.system", - "short" : "Identity of the terminology system", - "definition" : "The identification of the code system that defines the meaning of the symbol in the code.", - "comment" : "The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should reference to some definition that establishes the system clearly and unambiguously.", - "requirements" : "Need to be unambiguous about the source of the definition of the symbol.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "Coding.system", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "code" : "uri" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : false, - "isSummary" : true, - "mapping" : [{ - "identity" : "v2", - "map" : "C*E.3" - }, - { - "identity" : "rim", - "map" : "./codeSystem" - }, - { - "identity" : "orim", - "map" : "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem" - }] - }, - { - "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding:pbs.version", - "path" : "MedicationStatement.medication[x].coding.version", - "short" : "Version of the system - if relevant", - "definition" : "The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.", - "comment" : "Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "Coding.version", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "code" : "string" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : false, - "isSummary" : true, - "mapping" : [{ - "identity" : "v2", - "map" : "C*E.7" - }, - { - "identity" : "rim", - "map" : "./codeSystemVersion" - }, - { - "identity" : "orim", - "map" : "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion" - }] - }, - { - "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding:pbs.code", - "path" : "MedicationStatement.medication[x].coding.code", - "short" : "Symbol in syntax defined by the system", - "definition" : "A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).", - "requirements" : "Need to refer to a particular code in the system.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "Coding.code", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "code" : "code" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : false, - "isSummary" : true, - "mapping" : [{ - "identity" : "v2", - "map" : "C*E.1" - }, - { - "identity" : "rim", - "map" : "./code" - }, - { - "identity" : "orim", - "map" : "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code" - }] - }, - { - "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding:pbs.display", - "extension" : [{ - "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", - "valueBoolean" : true - }], - "path" : "MedicationStatement.medication[x].coding.display", - "short" : "Representation defined by the system", - "definition" : "A representation of the meaning of the code in the system, following the rules of the system.", - "requirements" : "Need to be able to carry a human-readable meaning of the code for readers that do not know the system.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "Coding.display", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "code" : "string" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : false, - "isSummary" : true, - "mapping" : [{ - "identity" : "v2", - "map" : "C*E.2 - but note this is not well followed" - }, - { - "identity" : "rim", - "map" : "CV.displayName" - }, - { - "identity" : "orim", - "map" : "fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName" - }] - }, - { - "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding:pbs.userSelected", - "path" : "MedicationStatement.medication[x].coding.userSelected", - "short" : "If this coding was chosen directly by the user", - "definition" : "Indicates that this coding was chosen by a user directly - e.g. off a pick list of available items (codes or displays).", - "comment" : "Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.", - "requirements" : "This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "Coding.userSelected", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "code" : "boolean" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : false, - "isSummary" : true, - "mapping" : [{ - "identity" : "v2", - "map" : "Sometimes implied by being first" - }, - { - "identity" : "rim", - "map" : "CD.codingRationale" - }, - { - "identity" : "orim", - "map" : "fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\\#true a [ fhir:source \"true\"; fhir:target dt:CDCoding.codingRationale\\#O ]" - }] - }, - { - "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding:amt", - "extension" : [{ - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:populate-if-known" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }, - { - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:no-error" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }], - "path" : "MedicationStatement.medication[x].coding", - "sliceName" : "amt", - "short" : "Code defined by a terminology system", - "definition" : "A reference to a code defined by a terminology system.", - "comment" : "Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.", - "requirements" : "Allows for alternative encodings within a code system, and translations to other code systems.", - "min" : 0, - "max" : "*", - "base" : { - "path" : "CodeableConcept.coding", - "min" : 0, - "max" : "*" - }, - "type" : [{ - "code" : "Coding" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "mustSupport" : true, - "isModifier" : false, - "isSummary" : true, - "binding" : { - "strength" : "required", - "valueSet" : "https://healthterminologies.gov.au/fhir/ValueSet/australian-medication-1" - }, - "mapping" : [{ - "identity" : "v2", - "map" : "C*E.1-8, C*E.10-22" - }, - { - "identity" : "rim", - "map" : "union(., ./translation)" - }, - { - "identity" : "orim", - "map" : "fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding" - }] - }, - { - "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding:amt.id", - "path" : "MedicationStatement.medication[x].coding.id", - "representation" : ["xmlAttr"], - "short" : "Unique id for inter-element referencing", - "definition" : "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "Element.id", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "extension" : [{ - "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", - "valueUrl" : "string" - }], - "code" : "http://hl7.org/fhirpath/System.String" - }], - "isModifier" : false, - "isSummary" : false, - "mapping" : [{ - "identity" : "rim", - "map" : "n/a" - }] - }, - { - "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding:amt.extension", - "path" : "MedicationStatement.medication[x].coding.extension", - "slicing" : { - "discriminator" : [{ - "type" : "value", - "path" : "url" - }], - "description" : "Extensions are always sliced by (at least) url", - "rules" : "open" - }, - "short" : "Extension", - "definition" : "An Extension", - "min" : 0, - "max" : "*", - "base" : { - "path" : "Element.extension", - "min" : 0, - "max" : "*" - }, - "type" : [{ - "code" : "Extension" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key" : "ext-1", - "severity" : "error", - "human" : "Must have either extensions or value[x], not both", - "expression" : "extension.exists() != value.exists()", - "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source" : "http://hl7.org/fhir/StructureDefinition/Extension" - }], - "isModifier" : false, - "isSummary" : false - }, - { - "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding:amt.extension:medicationClass", - "path" : "MedicationStatement.medication[x].coding.extension", - "sliceName" : "medicationClass", - "short" : "Medication type", - "definition" : "The type of information covered by the medication coding, e.g. branded product with no strength or form.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "Element.extension", - "min" : 0, - "max" : "*" - }, - "type" : [{ - "code" : "Extension", - "profile" : ["http://hl7.org.au/fhir/StructureDefinition/medication-type"] - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key" : "ext-1", - "severity" : "error", - "human" : "Must have either extensions or value[x], not both", - "expression" : "extension.exists() != value.exists()", - "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source" : "http://hl7.org/fhir/StructureDefinition/Extension" - }], - "isModifier" : false, - "isSummary" : false - }, - { - "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding:amt.system", - "path" : "MedicationStatement.medication[x].coding.system", - "short" : "Identity of the terminology system", - "definition" : "The identification of the code system that defines the meaning of the symbol in the code.", - "comment" : "The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should reference to some definition that establishes the system clearly and unambiguously.", - "requirements" : "Need to be unambiguous about the source of the definition of the symbol.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "Coding.system", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "code" : "uri" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : false, - "isSummary" : true, - "mapping" : [{ - "identity" : "v2", - "map" : "C*E.3" - }, - { - "identity" : "rim", - "map" : "./codeSystem" - }, - { - "identity" : "orim", - "map" : "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem" - }] - }, - { - "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding:amt.version", - "path" : "MedicationStatement.medication[x].coding.version", - "short" : "Version of the system - if relevant", - "definition" : "The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.", - "comment" : "Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "Coding.version", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "code" : "string" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : false, - "isSummary" : true, - "mapping" : [{ - "identity" : "v2", - "map" : "C*E.7" - }, - { - "identity" : "rim", - "map" : "./codeSystemVersion" - }, - { - "identity" : "orim", - "map" : "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion" - }] - }, - { - "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding:amt.code", - "path" : "MedicationStatement.medication[x].coding.code", - "short" : "Symbol in syntax defined by the system", - "definition" : "A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).", - "requirements" : "Need to refer to a particular code in the system.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "Coding.code", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "code" : "code" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : false, - "isSummary" : true, - "mapping" : [{ - "identity" : "v2", - "map" : "C*E.1" - }, - { - "identity" : "rim", - "map" : "./code" - }, - { - "identity" : "orim", - "map" : "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code" - }] - }, - { - "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding:amt.display", - "extension" : [{ - "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", - "valueBoolean" : true - }], - "path" : "MedicationStatement.medication[x].coding.display", - "short" : "Representation defined by the system", - "definition" : "A representation of the meaning of the code in the system, following the rules of the system.", - "requirements" : "Need to be able to carry a human-readable meaning of the code for readers that do not know the system.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "Coding.display", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "code" : "string" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : false, - "isSummary" : true, - "mapping" : [{ - "identity" : "v2", - "map" : "C*E.2 - but note this is not well followed" - }, - { - "identity" : "rim", - "map" : "CV.displayName" - }, - { - "identity" : "orim", - "map" : "fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName" - }] - }, - { - "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding:amt.userSelected", - "path" : "MedicationStatement.medication[x].coding.userSelected", - "short" : "If this coding was chosen directly by the user", - "definition" : "Indicates that this coding was chosen by a user directly - e.g. off a pick list of available items (codes or displays).", - "comment" : "Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.", - "requirements" : "This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "Coding.userSelected", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "code" : "boolean" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : false, - "isSummary" : true, - "mapping" : [{ - "identity" : "v2", - "map" : "Sometimes implied by being first" - }, - { - "identity" : "rim", - "map" : "CD.codingRationale" - }, - { - "identity" : "orim", - "map" : "fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\\#true a [ fhir:source \"true\"; fhir:target dt:CDCoding.codingRationale\\#O ]" - }] - }, - { - "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.text", - "extension" : [{ - "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", - "valueBoolean" : true - }], - "path" : "MedicationStatement.medication[x].text", - "short" : "Medication primary text", - "definition" : "A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.\r\n\r\nThis may be a brand or generic name as suitable for the intent of the entry.", - "comment" : "Very often the text is the same as a displayName of one of the codings.", - "requirements" : "The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "CodeableConcept.text", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "code" : "string" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : false, - "isSummary" : true, - "mapping" : [{ - "identity" : "v2", - "map" : "C*E.9. But note many systems use C*E.2 for this" - }, - { - "identity" : "rim", - "map" : "./originalText[mediaType/code=\"text/plain\"]/data" - }, - { - "identity" : "orim", - "map" : "fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText" - }] - }, - { - "id" : "MedicationStatement.medication[x]:medicationReference", - "extension" : [{ - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:populate-if-known" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }, - { - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:no-error" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }], - "path" : "MedicationStatement.medication[x]", - "sliceName" : "medicationReference", - "short" : "Medication Reference", - "definition" : "Identifies the medication being administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications.", - "comment" : "If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended. For example, if you require form or lot number, then you must reference the Medication resource.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "MedicationStatement.medication[x]", - "min" : 1, - "max" : "1" - }, - "type" : [{ - "code" : "Reference", - "targetProfile" : ["http://hl7.org.au/fhir/core/StructureDefinition/au-core-medication"] - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : false, - "isSummary" : true, - "mapping" : [{ - "identity" : "workflow", - "map" : "Event.code" - }, - { - "identity" : "w5", - "map" : "FiveWs.what[x]" - }, - { - "identity" : "rim", - "map" : ".participation[typeCode=CSM].role[classCode=ADMM or MANU]" - }] - }, - { - "id" : "MedicationStatement.subject", - "extension" : [{ - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:populate-if-known" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }, - { - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:no-error" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }], - "path" : "MedicationStatement.subject", - "short" : "Who is/was taking the medication", - "definition" : "The person, animal or group who is/was taking the medication.", - "min" : 1, - "max" : "1", - "base" : { - "path" : "MedicationStatement.subject", - "min" : 1, - "max" : "1" - }, - "type" : [{ - "code" : "Reference", - "targetProfile" : ["http://hl7.org.au/fhir/core/StructureDefinition/au-core-patient"] - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "mustSupport" : true, - "isModifier" : false, - "isSummary" : true, - "mapping" : [{ - "identity" : "workflow", - "map" : "Event.subject" - }, - { - "identity" : "w5", - "map" : "FiveWs.subject[x]" - }, - { - "identity" : "v2", - "map" : "PID-3-Patient ID List" - }, - { - "identity" : "rim", - "map" : ".participation[typeCode=SBJ].role[classCode=PAT]" - }, - { - "identity" : "w5", - "map" : "FiveWs.subject" - }] - }, - { - "id" : "MedicationStatement.context", - "path" : "MedicationStatement.context", - "short" : "Encounter / Episode associated with MedicationStatement", - "definition" : "The encounter or episode of care that establishes the context for this MedicationStatement.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "MedicationStatement.context", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "code" : "Reference", - "targetProfile" : ["http://hl7.org/fhir/StructureDefinition/Encounter", - "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"] - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : false, - "isSummary" : true, - "mapping" : [{ - "identity" : "workflow", - "map" : "Event.context" - }, - { - "identity" : "rim", - "map" : ".inboundRelationship[typeCode=COMP].source[classCode=ENC, moodCode=EVN, code=\"type of encounter or episode\"]" - }] - }, - { - "id" : "MedicationStatement.effective[x]", - "extension" : [{ - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:populate-if-known" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }, - { - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:no-error" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }], - "path" : "MedicationStatement.effective[x]", - "short" : "The date/time or interval when the medication is/was/will be taken", - "definition" : "The interval of time during which it is being asserted that the patient is/was/will be taking the medication (or was not taking, when the MedicationStatement.taken element is No).", - "comment" : "This attribute reflects the period over which the patient consumed the medication and is expected to be populated on the majority of Medication Statements. If the medication is still being taken at the time the statement is recorded, the \"end\" date will be omitted. The date/time attribute supports a variety of dates - year, year/month and exact date. If something more than this is required, this should be conveyed as text.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "MedicationStatement.effective[x]", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "code" : "dateTime" - }, - { - "code" : "Period" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "mustSupport" : true, - "isModifier" : false, - "isSummary" : true, - "mapping" : [{ - "identity" : "workflow", - "map" : "Event.occurrence[x]" - }, - { - "identity" : "w5", - "map" : "FiveWs.done[x]" - }, - { - "identity" : "rim", - "map" : ".effectiveTime" - }] - }, - { - "id" : "MedicationStatement.dateAsserted", - "extension" : [{ - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:populate-if-known" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }, - { - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:no-error" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }], - "path" : "MedicationStatement.dateAsserted", - "short" : "When the statement was asserted?", - "definition" : "The date when the medication statement was asserted by the information source.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "MedicationStatement.dateAsserted", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "code" : "dateTime" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "mustSupport" : true, - "isModifier" : false, - "isSummary" : true, - "mapping" : [{ - "identity" : "w5", - "map" : "FiveWs.recorded" - }, - { - "identity" : "rim", - "map" : ".participation[typeCode=AUT].time" - }] - }, - { - "id" : "MedicationStatement.informationSource", - "path" : "MedicationStatement.informationSource", - "short" : "Person or organization that provided the information about the taking of this medication", - "definition" : "The person or organization that provided the information about the taking of this medication. Note: Use derivedFrom when a MedicationStatement is derived from other resources, e.g. Claim or MedicationRequest.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "MedicationStatement.informationSource", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "code" : "Reference", - "targetProfile" : ["http://hl7.org/fhir/StructureDefinition/Patient", - "http://hl7.org/fhir/StructureDefinition/Practitioner", - "http://hl7.org/fhir/StructureDefinition/PractitionerRole", - "http://hl7.org/fhir/StructureDefinition/RelatedPerson", - "http://hl7.org/fhir/StructureDefinition/Organization"] - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : false, - "isSummary" : false, - "mapping" : [{ - "identity" : "w5", - "map" : "FiveWs.source" - }, - { - "identity" : "rim", - "map" : ".participation[typeCode=INF].role[classCode=PAT, or codes for Practioner or Related Person (if PAT is the informer, then syntax for self-reported =true)" - }] - }, - { - "id" : "MedicationStatement.derivedFrom", - "path" : "MedicationStatement.derivedFrom", - "short" : "Additional supporting information", - "definition" : "Allows linking the MedicationStatement to the underlying MedicationRequest, or to other information that supports or is used to derive the MedicationStatement.", - "comment" : "Likely references would be to MedicationRequest, MedicationDispense, Claim, Observation or QuestionnaireAnswers. The most common use cases for deriving a MedicationStatement comes from creating a MedicationStatement from a MedicationRequest or from a lab observation or a claim. it should be noted that the amount of information that is available varies from the type resource that you derive the MedicationStatement from.", - "min" : 0, - "max" : "*", - "base" : { - "path" : "MedicationStatement.derivedFrom", - "min" : 0, - "max" : "*" - }, - "type" : [{ - "code" : "Reference", - "targetProfile" : ["http://hl7.org/fhir/StructureDefinition/Resource"] - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : false, - "isSummary" : false, - "mapping" : [{ - "identity" : "rim", - "map" : ".outboundRelationship[typeCode=SPRT]/target[classCode=ACT,moodCode=EVN]" - }] - }, - { - "id" : "MedicationStatement.reasonCode", - "extension" : [{ - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:populate-if-known" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }, - { - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:no-error" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }], - "path" : "MedicationStatement.reasonCode", - "short" : "Reason for why the medication is being/was taken", - "definition" : "A reason for why the medication is being/was taken.", - "comment" : "This could be a diagnosis code. If a full condition record exists or additional detail is needed, use reasonForUseReference.", - "min" : 0, - "max" : "*", - "base" : { - "path" : "MedicationStatement.reasonCode", - "min" : 0, - "max" : "*" - }, - "type" : [{ - "code" : "CodeableConcept" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "mustSupport" : true, - "isModifier" : false, - "isSummary" : false, - "binding" : { - "strength" : "preferred", - "valueSet" : "https://healthterminologies.gov.au/fhir/ValueSet/medication-reason-taken-1" - }, - "mapping" : [{ - "identity" : "workflow", - "map" : "Event.reasonCode" - }, - { - "identity" : "w5", - "map" : "FiveWs.why[x]" - }, - { - "identity" : "rim", - "map" : ".reasonCode" - }] - }, - { - "id" : "MedicationStatement.reasonReference", - "extension" : [{ - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:populate-if-known" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }, - { - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:no-error" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }], - "path" : "MedicationStatement.reasonReference", - "short" : "Condition or observation that supports why the medication is being/was taken", - "definition" : "Condition or observation that supports why the medication is being/was taken.", - "comment" : "This is a reference to a condition that is the reason why the medication is being/was taken. If only a code exists, use reasonForUseCode.", - "min" : 0, - "max" : "*", - "base" : { - "path" : "MedicationStatement.reasonReference", - "min" : 0, - "max" : "*" - }, - "type" : [{ - "code" : "Reference", - "targetProfile" : ["http://hl7.org.au/fhir/core/StructureDefinition/au-core-condition", - "http://hl7.org/fhir/StructureDefinition/Observation", - "http://hl7.org.au/fhir/StructureDefinition/au-diagnosticreport"] - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "mustSupport" : true, - "isModifier" : false, - "isSummary" : false, - "mapping" : [{ - "identity" : "workflow", - "map" : "Event.reasonReference" - }, - { - "identity" : "w5", - "map" : "FiveWs.why[x]" - }, - { - "identity" : "rim", - "map" : ".outboundRelationship[typeCode=RSON]/target[classCode=OBS,moodCode=EVN, code=\"reason for use\"].value" - }] - }, - { - "id" : "MedicationStatement.note", - "path" : "MedicationStatement.note", - "short" : "Further information about the statement", - "definition" : "Provides extra information about the medication statement that is not conveyed by the other attributes.", - "min" : 0, - "max" : "*", - "base" : { - "path" : "MedicationStatement.note", - "min" : 0, - "max" : "*" - }, - "type" : [{ - "code" : "Annotation" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : false, - "isSummary" : false, - "mapping" : [{ - "identity" : "workflow", - "map" : "Event.note" - }, - { - "identity" : "rim", - "map" : ".inboundRelationship[typeCode=SUBJ]/source[classCode=OBS,moodCode=EVN,code=\"annotation\"].value" - }] - }, - { - "id" : "MedicationStatement.dosage", - "extension" : [{ - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:populate-if-known" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }, - { - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:no-error" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }], - "path" : "MedicationStatement.dosage", - "short" : "Details of how medication is/was taken or should be taken", - "definition" : "Indicates how the medication is/was or should be taken by the patient.", - "comment" : "The dates included in the dosage on a Medication Statement reflect the dates for a given dose. For example, \"from November 1, 2016 to November 3, 2016, take one tablet daily and from November 4, 2016 to November 7, 2016, take two tablets daily.\" It is expected that this specificity may only be populated where the patient brings in their labeled container or where the Medication Statement is derived from a MedicationRequest.", - "min" : 0, - "max" : "*", - "base" : { - "path" : "MedicationStatement.dosage", - "min" : 0, - "max" : "*" - }, - "type" : [{ - "code" : "Dosage", - "profile" : ["http://hl7.org.au/fhir/StructureDefinition/au-dosage"] - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "mustSupport" : true, - "isModifier" : false, - "isSummary" : false, - "mapping" : [{ - "identity" : "rim", - "map" : "refer dosageInstruction mapping" - }] - }] - }, - "differential" : { - "element" : [{ - "id" : "MedicationStatement", - "path" : "MedicationStatement" - }, - { - "id" : "MedicationStatement.status", - "extension" : [{ - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:populate-if-known" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }, - { - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:no-error" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }], - "path" : "MedicationStatement.status", - "mustSupport" : true - }, - { - "id" : "MedicationStatement.medication[x]", - "extension" : [{ - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:populate-if-known" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }, - { - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:no-error" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }], - "path" : "MedicationStatement.medication[x]", - "slicing" : { - "discriminator" : [{ - "type" : "type", - "path" : "$this" - }], - "rules" : "closed" - }, - "mustSupport" : true - }, - { - "id" : "MedicationStatement.medication[x]:medicationCodeableConcept", - "path" : "MedicationStatement.medication[x]", - "sliceName" : "medicationCodeableConcept", - "type" : [{ - "code" : "CodeableConcept" - }] - }, - { - "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding", - "path" : "MedicationStatement.medication[x].coding", - "slicing" : { - "discriminator" : [{ - "type" : "pattern", - "path" : "$this" - }], - "rules" : "open" - } - }, - { - "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding:pbs", - "extension" : [{ - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:populate-if-known" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }, - { - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:no-error" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }], - "path" : "MedicationStatement.medication[x].coding", - "sliceName" : "pbs", - "mustSupport" : true, - "binding" : { - "strength" : "required", - "valueSet" : "http://terminology.hl7.org.au/ValueSet/pbs-item" - } - }, - { - "id" : "MedicationStatement.medication[x]:medicationCodeableConcept.coding:amt", - "extension" : [{ - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:populate-if-known" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }, - { - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:no-error" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }], - "path" : "MedicationStatement.medication[x].coding", - "sliceName" : "amt", - "mustSupport" : true, - "binding" : { - "strength" : "required", - "valueSet" : "https://healthterminologies.gov.au/fhir/ValueSet/australian-medication-1" - } - }, - { - "id" : "MedicationStatement.medication[x]:medicationReference", - "extension" : [{ - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:populate-if-known" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }, - { - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:no-error" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }], - "path" : "MedicationStatement.medication[x]", - "sliceName" : "medicationReference", - "type" : [{ - "code" : "Reference", - "targetProfile" : ["http://hl7.org.au/fhir/core/StructureDefinition/au-core-medication"] - }] - }, - { - "id" : "MedicationStatement.subject", - "extension" : [{ - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:populate-if-known" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }, - { - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:no-error" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }], - "path" : "MedicationStatement.subject", - "min" : 1, - "type" : [{ - "code" : "Reference", - "targetProfile" : ["http://hl7.org.au/fhir/core/StructureDefinition/au-core-patient"] - }], - "mustSupport" : true - }, - { - "id" : "MedicationStatement.effective[x]", - "extension" : [{ - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:populate-if-known" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }, - { - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:no-error" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }], - "path" : "MedicationStatement.effective[x]", - "mustSupport" : true - }, - { - "id" : "MedicationStatement.dateAsserted", - "extension" : [{ - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:populate-if-known" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }, - { - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:no-error" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }], - "path" : "MedicationStatement.dateAsserted", - "mustSupport" : true - }, - { - "id" : "MedicationStatement.reasonCode", - "extension" : [{ - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:populate-if-known" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }, - { - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:no-error" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }], - "path" : "MedicationStatement.reasonCode", - "mustSupport" : true - }, - { - "id" : "MedicationStatement.reasonReference", - "extension" : [{ - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:populate-if-known" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }, - { - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:no-error" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }], - "path" : "MedicationStatement.reasonReference", - "type" : [{ - "code" : "Reference", - "targetProfile" : ["http://hl7.org.au/fhir/core/StructureDefinition/au-core-condition", - "http://hl7.org/fhir/StructureDefinition/Observation", - "http://hl7.org.au/fhir/StructureDefinition/au-diagnosticreport"] - }], - "mustSupport" : true - }, - { - "id" : "MedicationStatement.dosage", - "extension" : [{ - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:populate-if-known" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }, - { - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:no-error" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }], - "path" : "MedicationStatement.dosage", - "mustSupport" : true - }] - } -} \ No newline at end of file diff --git a/input/resources/StructureDefinition-au-core-relatedperson.json b/input/resources/StructureDefinition-au-core-relatedperson.json deleted file mode 100644 index db861e62..00000000 --- a/input/resources/StructureDefinition-au-core-relatedperson.json +++ /dev/null @@ -1,2025 +0,0 @@ -{ - "resourceType" : "StructureDefinition", - "id" : "au-core-relatedperson", - "extension" : [{ - "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm", - "valueInteger" : 0 - }, - { - "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", - "valueCode" : "trial-use", - "_valueCode" : { - "extension" : [{ - "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom", - "valueCanonical" : "http://hl7.org.au/fhir/core/ImplementationGuide/hl7.fhir.au.core" - }] - } - }], - "url" : "http://hl7.org.au/fhir/core/StructureDefinition/au-core-relatedperson", - "version" : "1.1.0-preview", - "name" : "AUCoreRelatedPerson", - "title" : "AU Core RelatedPerson", - "status" : "draft", - "date" : "2025-03-06T07:19:11+00:00", - "publisher" : "HL7 Australia", - "contact" : [{ - "name" : "HL7 Australia FHIR Work Group", - "telecom" : [{ - "system" : "url", - "value" : "https://confluence.hl7.org/display/HAFWG", - "use" : "work" - }] - }], - "description" : "This profile sets minimum expectations for a RelatedPerson resource to record, search, and fetch basic demographics and other administrative information about individual related persons associated with a patient. It is based on the [AU Base Related Person](http://build.fhir.org/ig/hl7au/au-fhir-base/StructureDefinition-au-relatedperson.html) profile and identifies the *additional* mandatory core elements, extensions, vocabularies and value sets that **SHALL** be present in the RelatedPerson resource when conforming to this profile. It provides the floor for standards development for specific uses cases in an Australian context.", - "jurisdiction" : [{ - "coding" : [{ - "system" : "urn:iso:std:iso:3166", - "code" : "AU" - }] - }], - "copyright" : "Used by permission of HL7 International, all rights reserved Creative Commons License. HL7 Australia© 2022+; Licensed Under Creative Commons No Rights Reserved.", - "fhirVersion" : "4.0.1", - "mapping" : [{ - "identity" : "rim", - "uri" : "http://hl7.org/v3", - "name" : "RIM Mapping" - }, - { - "identity" : "w5", - "uri" : "http://hl7.org/fhir/fivews", - "name" : "FiveWs Pattern Mapping" - }, - { - "identity" : "v2", - "uri" : "http://hl7.org/v2", - "name" : "HL7 v2 Mapping" - }], - "kind" : "resource", - "abstract" : false, - "type" : "RelatedPerson", - "baseDefinition" : "http://hl7.org.au/fhir/StructureDefinition/au-relatedperson", - "derivation" : "constraint", - "snapshot" : { - "extension" : [{ - "url" : "http://hl7.org/fhir/tools/StructureDefinition/snapshot-base-version", - "valueString" : "5.1.0-preview" - }], - "element" : [{ - "id" : "RelatedPerson", - "path" : "RelatedPerson", - "short" : "A person related to a patient in an Australian healthcare context", - "definition" : "Information about a person that is involved in the care for a patient, but who is not the target of healthcare, nor has a formal responsibility in the care process.", - "min" : 0, - "max" : "*", - "base" : { - "path" : "RelatedPerson", - "min" : 0, - "max" : "*" - }, - "constraint" : [{ - "key" : "dom-2", - "severity" : "error", - "human" : "If the resource is contained in another resource, it SHALL NOT contain nested Resources", - "expression" : "contained.contained.empty()", - "xpath" : "not(parent::f:contained and f:contained)", - "source" : "http://hl7.org/fhir/StructureDefinition/DomainResource" - }, - { - "key" : "dom-3", - "severity" : "error", - "human" : "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource", - "expression" : "contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()", - "xpath" : "not(exists(for $id in f:contained/*/f:id/@value return $contained[not(parent::*/descendant::f:reference/@value=concat('#', $contained/*/id/@value) or descendant::f:reference[@value='#'])]))", - "source" : "http://hl7.org/fhir/StructureDefinition/DomainResource" - }, - { - "key" : "dom-4", - "severity" : "error", - "human" : "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated", - "expression" : "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()", - "xpath" : "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))", - "source" : "http://hl7.org/fhir/StructureDefinition/DomainResource" - }, - { - "key" : "dom-5", - "severity" : "error", - "human" : "If a resource is contained in another resource, it SHALL NOT have a security label", - "expression" : "contained.meta.security.empty()", - "xpath" : "not(exists(f:contained/*/f:meta/f:security))", - "source" : "http://hl7.org/fhir/StructureDefinition/DomainResource" - }, - { - "extension" : [{ - "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice", - "valueBoolean" : true - }, - { - "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice-explanation", - "valueMarkdown" : "When a resource has no narrative, only systems that fully understand the data can display the resource to a human safely. Including a human readable representation in the resource makes for a much more robust eco-system and cheaper handling of resources by intermediary systems. Some ecosystems restrict distribution of resources to only those systems that do fully understand the resources, and as a consequence implementers may believe that the narrative is superfluous. However experience shows that such eco-systems often open up to new participants over time." - }], - "key" : "dom-6", - "severity" : "warning", - "human" : "A resource should have narrative for robust management", - "expression" : "text.`div`.exists()", - "xpath" : "exists(f:text/h:div)", - "source" : "http://hl7.org/fhir/StructureDefinition/DomainResource" - }, - { - "key" : "inv-relper-0", - "severity" : "warning", - "human" : "Individual gender identity shall be a member of the Gender Identity Response value set if any codes within that value set can apply", - "expression" : "extension('http://hl7.org/fhir/StructureDefinition/individual-genderIdentity').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-genderIdentity').all(extension('value').value.memberOf('https://healthterminologies.gov.au/fhir/ValueSet/gender-identity-response-1'))", - "source" : "http://hl7.org.au/fhir/StructureDefinition/au-relatedperson" - }, - { - "key" : "inv-relper-1", - "severity" : "warning", - "human" : "Individual pronouns shall be a member of the Australian Pronouns value set if any codes within that value set can apply", - "expression" : "extension('http://hl7.org/fhir/StructureDefinition/individual-pronouns').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-pronouns').all(extension('value').value.memberOf('https://healthterminologies.gov.au/fhir/ValueSet/australian-pronouns-1'))", - "source" : "http://hl7.org.au/fhir/StructureDefinition/au-relatedperson" - }, - { - "key" : "inv-relper-2", - "severity" : "warning", - "human" : "Recorded sex or gender type shall be a member of the AU Recorded Sex or Gender Type value set if any codes within that value set can apply", - "expression" : "extension('http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender').extension('type').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender').all(extension('type').value.memberOf('http://terminology.hl7.org.au/ValueSet/rsg-type'))", - "source" : "http://hl7.org.au/fhir/StructureDefinition/au-relatedperson" - }, - { - "key" : "inv-relper-3", - "severity" : "warning", - "human" : "Recorded sex or gender source document type shall be a member of the AU Recorded Sex or Gender (RSG) Source Document Type value set if any codes within that value set can apply", - "expression" : "extension('http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender').extension('sourceDocument').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender').all(extension('sourceDocument').value.memberOf('http://terminology.hl7.org.au/ValueSet/rsg-source-document-type'))", - "source" : "http://hl7.org.au/fhir/StructureDefinition/au-relatedperson" - }, - { - "key" : "inv-relper-4", - "severity" : "warning", - "human" : "Recorded sex or gender jurisdiction shall be a member of the Jurisdiction ValueSet - AU Extended if any codes within that value set can apply", - "expression" : "extension('http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender').extension('jurisdiction').empty() or extension('http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender').all(extension('jurisdiction').value.memberOf('http://terminology.hl7.org.au/ValueSet/jurisdiction-extended'))", - "source" : "http://hl7.org.au/fhir/StructureDefinition/au-relatedperson" - }, - { - "key" : "au-core-relper-01", - "severity" : "error", - "human" : "Either a name or a relationship shall be provided (or both)", - "expression" : "name.exists() or relationship.exists()", - "source" : "http://hl7.org.au/fhir/core/StructureDefinition/au-core-relatedperson" - }, - { - "key" : "au-core-relper-02", - "severity" : "error", - "human" : "Names shall have at least text, family name, or given name present, or if neither is available, the Data Absent Reason extension shall be present", - "expression" : "name.exists() implies name.extension('http://hl7.org/fhir/StructureDefinition/data-absent-reason').exists() xor name.all(text.exists() or family.exists() or given.exists())", - "source" : "http://hl7.org.au/fhir/core/StructureDefinition/au-core-relatedperson" - }], - "isModifier" : false, - "isSummary" : false, - "mapping" : [{ - "identity" : "rim", - "map" : "Entity. Role, or Act" - }, - { - "identity" : "rim", - "map" : "role" - }] - }, - { - "id" : "RelatedPerson.id", - "path" : "RelatedPerson.id", - "short" : "Logical id of this artifact", - "definition" : "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.", - "comment" : "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "Resource.id", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "extension" : [{ - "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", - "valueUrl" : "id" - }], - "code" : "http://hl7.org/fhirpath/System.String" - }], - "isModifier" : false, - "isSummary" : true - }, - { - "id" : "RelatedPerson.meta", - "path" : "RelatedPerson.meta", - "short" : "Metadata about the resource", - "definition" : "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "Resource.meta", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "code" : "Meta" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : false, - "isSummary" : true - }, - { - "id" : "RelatedPerson.implicitRules", - "path" : "RelatedPerson.implicitRules", - "short" : "A set of rules under which this content was created", - "definition" : "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.", - "comment" : "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "Resource.implicitRules", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "code" : "uri" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : true, - "isModifierReason" : "This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation", - "isSummary" : true - }, - { - "id" : "RelatedPerson.language", - "path" : "RelatedPerson.language", - "short" : "Language of the resource content", - "definition" : "The base language in which the resource is written.", - "comment" : "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).", - "min" : 0, - "max" : "1", - "base" : { - "path" : "Resource.language", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "code" : "code" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : false, - "isSummary" : false, - "binding" : { - "extension" : [{ - "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet", - "valueCanonical" : "http://hl7.org/fhir/ValueSet/all-languages" - }, - { - "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString" : "Language" - }], - "strength" : "preferred", - "description" : "A human language.", - "valueSet" : "http://hl7.org/fhir/ValueSet/languages" - } - }, - { - "id" : "RelatedPerson.text", - "path" : "RelatedPerson.text", - "short" : "Text summary of the resource, for human interpretation", - "definition" : "A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.", - "comment" : "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded information is added later.", - "alias" : ["narrative", - "html", - "xhtml", - "display"], - "min" : 0, - "max" : "1", - "base" : { - "path" : "DomainResource.text", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "code" : "Narrative" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : false, - "isSummary" : false, - "mapping" : [{ - "identity" : "rim", - "map" : "Act.text?" - }] - }, - { - "id" : "RelatedPerson.contained", - "path" : "RelatedPerson.contained", - "short" : "Contained, inline Resources", - "definition" : "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.", - "comment" : "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.", - "alias" : ["inline resources", - "anonymous resources", - "contained resources"], - "min" : 0, - "max" : "*", - "base" : { - "path" : "DomainResource.contained", - "min" : 0, - "max" : "*" - }, - "type" : [{ - "code" : "Resource" - }], - "isModifier" : false, - "isSummary" : false, - "mapping" : [{ - "identity" : "rim", - "map" : "N/A" - }] - }, - { - "id" : "RelatedPerson.extension", - "path" : "RelatedPerson.extension", - "slicing" : { - "discriminator" : [{ - "type" : "value", - "path" : "url" - }], - "rules" : "open" - }, - "short" : "Extension", - "definition" : "An Extension", - "min" : 0, - "max" : "*", - "base" : { - "path" : "DomainResource.extension", - "min" : 0, - "max" : "*" - }, - "type" : [{ - "code" : "Extension" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key" : "ext-1", - "severity" : "error", - "human" : "Must have either extensions or value[x], not both", - "expression" : "extension.exists() != value.exists()", - "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source" : "http://hl7.org/fhir/StructureDefinition/Extension" - }], - "isModifier" : false, - "isSummary" : false - }, - { - "id" : "RelatedPerson.extension:genderIdentity", - "path" : "RelatedPerson.extension", - "sliceName" : "genderIdentity", - "short" : "Gender identity shall be a member of the Gender Identity Response value set if any codes within that value set can apply", - "definition" : "An individual's personal sense of being a man, woman, boy, girl, nonbinary, or something else.", - "comment" : "The individual's gender identity is populated in the `extension:value.value[x]` of the [Individual Gender Identity](http://hl7.org/fhir/StructureDefinition/individual-genderIdentity) extension and shall contain one of the codes from the [Gender Identity Response](https://healthterminologies.gov.au/fhir/ValueSet/gender-identity-response-1) value set if any of the codes within the value set can apply.\n\nSee [Australian Bureau of Statics (ABS) Standard for Sex, Gender, Variations of Sex Characteristics and Sexual Orientation Variables, 2020](https://www.abs.gov.au/statistics/standards/standard-sex-gender-variations-sex-characteristics-and-sexual-orientation-variables/latest-release#gender) for further materials.", - "min" : 0, - "max" : "*", - "base" : { - "path" : "DomainResource.extension", - "min" : 0, - "max" : "*" - }, - "type" : [{ - "code" : "Extension", - "profile" : ["http://hl7.org/fhir/StructureDefinition/individual-genderIdentity"] - }], - "condition" : ["inv-relper-0"], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key" : "ext-1", - "severity" : "error", - "human" : "Must have either extensions or value[x], not both", - "expression" : "extension.exists() != value.exists()", - "source" : "http://hl7.org/fhir/StructureDefinition/Extension" - }], - "isModifier" : false - }, - { - "id" : "RelatedPerson.extension:individualPronouns", - "path" : "RelatedPerson.extension", - "sliceName" : "individualPronouns", - "short" : "Pronouns shall be a member of the Australian Pronouns value set if any codes within that value set can apply", - "definition" : "The pronouns to use when referring to an individual in verbal or written communication.", - "comment" : "The individual's pronouns are populated in the `extension:value.value[x]` of the [Individual Pronouns](http://hl7.org/fhir/StructureDefinition/individual-pronouns) extension and shall contain one of the codes from the [Australian Pronouns](https://healthterminologies.gov.au/fhir/ValueSet/australian-pronouns-1) value set if any of the codes within the value set can apply.", - "min" : 0, - "max" : "*", - "base" : { - "path" : "DomainResource.extension", - "min" : 0, - "max" : "*" - }, - "type" : [{ - "code" : "Extension", - "profile" : ["http://hl7.org/fhir/StructureDefinition/individual-pronouns"] - }], - "condition" : ["inv-relper-1"], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key" : "ext-1", - "severity" : "error", - "human" : "Must have either extensions or value[x], not both", - "expression" : "extension.exists() != value.exists()", - "source" : "http://hl7.org/fhir/StructureDefinition/Extension" - }], - "isModifier" : false - }, - { - "id" : "RelatedPerson.extension:recordedSexOrGender", - "path" : "RelatedPerson.extension", - "sliceName" : "recordedSexOrGender", - "short" : "Recorded sex or gender type shall be a member of the AU Recorded Sex or Gender Type value set if any codes within that value set can apply. Recorded sex or gender source document type shall be a member of the AU Recorded Sex or Gender (RSG) Source Document Type value set if any codes within that value set can apply. Recorded sex or gender jurisdiction shall be a member of the Jurisdiction ValueSet - AU Extended if any codes within that value set can apply", - "definition" : "A sex or gender property for the individual from a document or other record", - "comment" : "The type of recorded sex or gender is populated in the `extension:type.value[x]` of the [Person Recorded Sex or Gender](http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender) extension and shall contain one of the codes from the [AU Recorded Sex or Gender Type](https://build.fhir.org/ig/hl7au/au-fhir-base/ValueSet-rsg-type.html) value set if any of the codes within the value set can apply.\n\nThe document from which the sex or gender property was acquired is populated in the `extension:sourceDocument.value[x]` of the [Person Recorded Sex or Gender](http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender) extension and shall contain one of the codes from the [AU Recorded Sex or Gender (RSG) Source Document Type](https://build.fhir.org/ig/hl7au/au-fhir-base/ValueSet-rsg-source-document-type.html) value set if any of the codes within the value set can apply.\n\nThe jurisdiction that issued the document where the sex or gender was acquired is populated in the `extension:jurisdiction.value[x]` of the [Person Recorded Sex or Gender](http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender) extension and shall contain one of the codes from the [Jurisdiction ValueSet - AU Extended](https://build.fhir.org/ig/hl7au/au-fhir-base/ValueSet-au-jurisdiction-extended.html) value set if any of the codes within the value set can apply.", - "min" : 0, - "max" : "*", - "base" : { - "path" : "DomainResource.extension", - "min" : 0, - "max" : "*" - }, - "type" : [{ - "code" : "Extension", - "profile" : ["http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender"] - }], - "condition" : ["inv-relper-2", - "inv-relper-3", - "inv-relper-4"], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key" : "ext-1", - "severity" : "error", - "human" : "Must have either extensions or value[x], not both", - "expression" : "extension.exists() != value.exists()", - "source" : "http://hl7.org/fhir/StructureDefinition/Extension" - }], - "isModifier" : false - }, - { - "id" : "RelatedPerson.modifierExtension", - "path" : "RelatedPerson.modifierExtension", - "short" : "Extensions that cannot be ignored", - "definition" : "May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", - "comment" : "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", - "requirements" : "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).", - "alias" : ["extensions", - "user content"], - "min" : 0, - "max" : "*", - "base" : { - "path" : "DomainResource.modifierExtension", - "min" : 0, - "max" : "*" - }, - "type" : [{ - "code" : "Extension" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key" : "ext-1", - "severity" : "error", - "human" : "Must have either extensions or value[x], not both", - "expression" : "extension.exists() != value.exists()", - "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source" : "http://hl7.org/fhir/StructureDefinition/Extension" - }], - "isModifier" : true, - "isModifierReason" : "Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them", - "isSummary" : false, - "mapping" : [{ - "identity" : "rim", - "map" : "N/A" - }] - }, - { - "id" : "RelatedPerson.identifier", - "path" : "RelatedPerson.identifier", - "short" : "A human identifier for this person", - "definition" : "Identifier for a person within a particular scope.", - "requirements" : "People are known by a variety of ids. Some institutions maintain several, and most collect identifiers for exchange with other organizations concerning the patient. Examples are national person identifier and local identifier.", - "min" : 0, - "max" : "*", - "base" : { - "path" : "RelatedPerson.identifier", - "min" : 0, - "max" : "*" - }, - "type" : [{ - "code" : "Identifier", - "profile" : ["http://hl7.org/fhir/StructureDefinition/Identifier", - "http://hl7.org.au/fhir/StructureDefinition/au-ihi", - "http://hl7.org.au/fhir/StructureDefinition/au-medicarecardnumber", - "http://hl7.org.au/fhir/StructureDefinition/au-dvanumber", - "http://hl7.org.au/fhir/StructureDefinition/au-healthcarecardnumber", - "http://hl7.org.au/fhir/StructureDefinition/au-pensionerconcessioncardnumber", - "http://hl7.org.au/fhir/StructureDefinition/au-cwlthseniorshealthcardnumber", - "http://hl7.org.au/fhir/StructureDefinition/au-medicalrecordnumber", - "http://hl7.org.au/fhir/StructureDefinition/au-insurancemembernumber"] - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : false, - "isSummary" : true, - "mapping" : [{ - "identity" : "w5", - "map" : "FiveWs.identifier" - }, - { - "identity" : "v2", - "map" : "NK1-33" - }, - { - "identity" : "rim", - "map" : ".id" - }] - }, - { - "id" : "RelatedPerson.active", - "path" : "RelatedPerson.active", - "short" : "Whether this related person's record is in active use", - "definition" : "Whether this related person record is in active use.", - "comment" : "This element is labeled as a modifier because it may be used to mark that the resource was created in error.", - "requirements" : "Need to be able to mark a related person record as not to be used, such as if it was created in error.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "RelatedPerson.active", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "code" : "boolean" - }], - "meaningWhenMissing" : "This resource is generally assumed to be active if no value is provided for the active element", - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : true, - "isModifierReason" : "This element is labelled as a modifier because it is a status element that can indicate that a record should not be treated as valid", - "isSummary" : true, - "mapping" : [{ - "identity" : "w5", - "map" : "FiveWs.status" - }, - { - "identity" : "rim", - "map" : ".statusCode" - }] - }, - { - "id" : "RelatedPerson.patient", - "extension" : [{ - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:populate-if-known" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }, - { - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:no-error" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }], - "path" : "RelatedPerson.patient", - "short" : "The patient this person is related to", - "definition" : "The patient this person is related to.", - "requirements" : "We need to know which patient this RelatedPerson is related to.", - "min" : 1, - "max" : "1", - "base" : { - "path" : "RelatedPerson.patient", - "min" : 1, - "max" : "1" - }, - "type" : [{ - "code" : "Reference", - "targetProfile" : ["http://hl7.org.au/fhir/core/StructureDefinition/au-core-patient"] - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "mustSupport" : true, - "isModifier" : false, - "isSummary" : true, - "mapping" : [{ - "identity" : "v2", - "map" : "PID-3" - }, - { - "identity" : "rim", - "map" : "scoper[classCode=PSN|ANM and determinerCode='INSTANCE']/playedRole[classCode='PAT']/id" - }] - }, - { - "id" : "RelatedPerson.relationship", - "extension" : [{ - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:populate-if-known" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }, - { - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:no-error" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }], - "path" : "RelatedPerson.relationship", - "short" : "The nature of the relationship", - "definition" : "The nature of the relationship between a patient and the related person.", - "requirements" : "We need to know the relationship with the patient since it influences the interpretation of the information attributed to this person.", - "min" : 0, - "max" : "*", - "base" : { - "path" : "RelatedPerson.relationship", - "min" : 0, - "max" : "*" - }, - "type" : [{ - "code" : "CodeableConcept" - }], - "condition" : ["au-core-relper-01"], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "mustSupport" : true, - "isModifier" : false, - "isSummary" : true, - "binding" : { - "extension" : [{ - "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString" : "PatientRelationshipType" - }], - "strength" : "extensible", - "valueSet" : "https://healthterminologies.gov.au/fhir/ValueSet/related-person-relationship-type-1" - }, - "mapping" : [{ - "identity" : "w5", - "map" : "FiveWs.class" - }, - { - "identity" : "v2", - "map" : "NK1-3" - }, - { - "identity" : "rim", - "map" : "code" - }] - }, - { - "id" : "RelatedPerson.name", - "extension" : [{ - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:populate-if-known" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }, - { - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:no-error" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }], - "path" : "RelatedPerson.name", - "short" : "A name associated with the person", - "definition" : "A name associated with the person.", - "requirements" : "Related persons need to be identified by name, but it is uncommon to need details about multiple other names for that person.", - "min" : 0, - "max" : "*", - "base" : { - "path" : "RelatedPerson.name", - "min" : 0, - "max" : "*" - }, - "type" : [{ - "code" : "HumanName" - }], - "condition" : ["au-core-relper-01"], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "mustSupport" : true, - "isModifier" : false, - "isSummary" : true, - "mapping" : [{ - "identity" : "v2", - "map" : "NK1-2" - }, - { - "identity" : "rim", - "map" : "name" - }] - }, - { - "id" : "RelatedPerson.name.id", - "path" : "RelatedPerson.name.id", - "representation" : ["xmlAttr"], - "short" : "Unique id for inter-element referencing", - "definition" : "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "Element.id", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "extension" : [{ - "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", - "valueUrl" : "string" - }], - "code" : "http://hl7.org/fhirpath/System.String" - }], - "isModifier" : false, - "isSummary" : false, - "mapping" : [{ - "identity" : "rim", - "map" : "n/a" - }] - }, - { - "id" : "RelatedPerson.name.extension", - "path" : "RelatedPerson.name.extension", - "slicing" : { - "discriminator" : [{ - "type" : "value", - "path" : "url" - }], - "description" : "Extensions are always sliced by (at least) url", - "rules" : "open" - }, - "short" : "Additional content defined by implementations", - "definition" : "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", - "comment" : "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", - "alias" : ["extensions", - "user content"], - "min" : 0, - "max" : "*", - "base" : { - "path" : "Element.extension", - "min" : 0, - "max" : "*" - }, - "type" : [{ - "code" : "Extension" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key" : "ext-1", - "severity" : "error", - "human" : "Must have either extensions or value[x], not both", - "expression" : "extension.exists() != value.exists()", - "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source" : "http://hl7.org/fhir/StructureDefinition/Extension" - }], - "isModifier" : false, - "isSummary" : false, - "mapping" : [{ - "identity" : "rim", - "map" : "n/a" - }] - }, - { - "id" : "RelatedPerson.name.use", - "extension" : [{ - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:populate-if-known" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }, - { - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:no-error" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }], - "path" : "RelatedPerson.name.use", - "short" : "usual | official | temp | nickname | anonymous | old | maiden", - "definition" : "Identifies the purpose for this name.", - "comment" : "Applications can assume that a name is current unless it explicitly says that it is temporary or old.", - "requirements" : "Allows the appropriate name for a particular context of use to be selected from among a set of names.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "HumanName.use", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "code" : "code" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "mustSupport" : true, - "isModifier" : true, - "isModifierReason" : "This is labeled as \"Is Modifier\" because applications should not mistake a temporary or old name etc.for a current/permanent one", - "isSummary" : true, - "binding" : { - "extension" : [{ - "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString" : "NameUse" - }], - "strength" : "required", - "description" : "The use of a human name.", - "valueSet" : "http://hl7.org/fhir/ValueSet/name-use|4.0.1" - }, - "mapping" : [{ - "identity" : "v2", - "map" : "XPN.7, but often indicated by which field contains the name" - }, - { - "identity" : "rim", - "map" : "unique(./use)" - }, - { - "identity" : "servd", - "map" : "./NamePurpose" - }] - }, - { - "id" : "RelatedPerson.name.text", - "extension" : [{ - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:populate-if-known" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }, - { - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:no-error" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }], - "path" : "RelatedPerson.name.text", - "short" : "Text representation of the full name", - "definition" : "Specifies the entire name as it should be displayed e.g. on an application UI. This may be provided instead of or as well as the specific parts.", - "comment" : "Can provide both a text representation and parts. Applications updating a name SHALL ensure that when both text and parts are present, no content is included in the text that isn't found in a part.", - "requirements" : "A renderable, unencoded form.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "HumanName.text", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "code" : "string" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "mustSupport" : true, - "isModifier" : false, - "isSummary" : true, - "mapping" : [{ - "identity" : "v2", - "map" : "implied by XPN.11" - }, - { - "identity" : "rim", - "map" : "./formatted" - }] - }, - { - "id" : "RelatedPerson.name.family", - "extension" : [{ - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:populate-if-known" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }, - { - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:no-error" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }], - "path" : "RelatedPerson.name.family", - "short" : "Family name (often called 'Surname')", - "definition" : "The part of a name that links to the genealogy. In some cultures (e.g. Eritrea) the family name of a son is the first name of his father.", - "comment" : "Family Name may be decomposed into specific parts using extensions (de, nl, es related cultures).", - "alias" : ["surname"], - "min" : 0, - "max" : "1", - "base" : { - "path" : "HumanName.family", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "code" : "string" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "mustSupport" : true, - "isModifier" : false, - "isSummary" : true, - "mapping" : [{ - "identity" : "v2", - "map" : "XPN.1/FN.1" - }, - { - "identity" : "rim", - "map" : "./part[partType = FAM]" - }, - { - "identity" : "servd", - "map" : "./FamilyName" - }] - }, - { - "id" : "RelatedPerson.name.given", - "extension" : [{ - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:populate-if-known" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }, - { - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:no-error" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }], - "path" : "RelatedPerson.name.given", - "short" : "Given names (not always 'first'). Includes middle names", - "definition" : "Given name.", - "comment" : "If only initials are recorded, they may be used in place of the full name parts. Initials may be separated into multiple given names but often aren't due to paractical limitations. This element is not called \"first name\" since given names do not always come first.", - "alias" : ["first name", - "middle name"], - "min" : 0, - "max" : "*", - "base" : { - "path" : "HumanName.given", - "min" : 0, - "max" : "*" - }, - "type" : [{ - "code" : "string" - }], - "orderMeaning" : "Given Names appear in the correct order for presenting the name", - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "mustSupport" : true, - "isModifier" : false, - "isSummary" : true, - "mapping" : [{ - "identity" : "v2", - "map" : "XPN.2 + XPN.3" - }, - { - "identity" : "rim", - "map" : "./part[partType = GIV]" - }, - { - "identity" : "servd", - "map" : "./GivenNames" - }] - }, - { - "id" : "RelatedPerson.name.prefix", - "path" : "RelatedPerson.name.prefix", - "short" : "Parts that come before the name", - "definition" : "Part of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the start of the name.", - "min" : 0, - "max" : "*", - "base" : { - "path" : "HumanName.prefix", - "min" : 0, - "max" : "*" - }, - "type" : [{ - "code" : "string" - }], - "orderMeaning" : "Prefixes appear in the correct order for presenting the name", - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : false, - "isSummary" : true, - "mapping" : [{ - "identity" : "v2", - "map" : "XPN.5" - }, - { - "identity" : "rim", - "map" : "./part[partType = PFX]" - }, - { - "identity" : "servd", - "map" : "./TitleCode" - }] - }, - { - "id" : "RelatedPerson.name.suffix", - "path" : "RelatedPerson.name.suffix", - "short" : "Parts that come after the name", - "definition" : "Part of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the end of the name.", - "min" : 0, - "max" : "*", - "base" : { - "path" : "HumanName.suffix", - "min" : 0, - "max" : "*" - }, - "type" : [{ - "code" : "string" - }], - "orderMeaning" : "Suffixes appear in the correct order for presenting the name", - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : false, - "isSummary" : true, - "mapping" : [{ - "identity" : "v2", - "map" : "XPN/4" - }, - { - "identity" : "rim", - "map" : "./part[partType = SFX]" - }] - }, - { - "id" : "RelatedPerson.name.period", - "path" : "RelatedPerson.name.period", - "short" : "Time period when name was/is in use", - "definition" : "Indicates the period of time when this name was valid for the named person.", - "requirements" : "Allows names to be placed in historical context.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "HumanName.period", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "code" : "Period" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : false, - "isSummary" : true, - "mapping" : [{ - "identity" : "v2", - "map" : "XPN.13 + XPN.14" - }, - { - "identity" : "rim", - "map" : "./usablePeriod[type=\"IVL\"]" - }, - { - "identity" : "servd", - "map" : "./StartDate and ./EndDate" - }] - }, - { - "id" : "RelatedPerson.telecom", - "extension" : [{ - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:populate-if-known" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }, - { - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:no-error" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }], - "path" : "RelatedPerson.telecom", - "short" : "A contact detail for the person", - "definition" : "A contact detail for the person, e.g. a telephone number or an email address.", - "comment" : "Person may have multiple ways to be contacted with different uses or applicable periods. May need to have options for contacting the person urgently, and also to help with identification.", - "requirements" : "People have (primary) ways to contact them in some way such as phone, email.", - "min" : 0, - "max" : "*", - "base" : { - "path" : "RelatedPerson.telecom", - "min" : 0, - "max" : "*" - }, - "type" : [{ - "code" : "ContactPoint" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "mustSupport" : true, - "isModifier" : false, - "isSummary" : true, - "mapping" : [{ - "identity" : "v2", - "map" : "NK1-5 / NK1-6 / NK1-40" - }, - { - "identity" : "rim", - "map" : "telecom" - }] - }, - { - "id" : "RelatedPerson.gender", - "path" : "RelatedPerson.gender", - "short" : "male | female | other | unknown", - "definition" : "Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes.", - "requirements" : "Needed for identification of the person, in combination with (at least) name and birth date.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "RelatedPerson.gender", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "code" : "code" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : false, - "isSummary" : true, - "binding" : { - "extension" : [{ - "url" : "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", - "valueString" : "AdministrativeGender" - }], - "strength" : "required", - "description" : "The gender of a person used for administrative purposes.", - "valueSet" : "http://hl7.org/fhir/ValueSet/administrative-gender|4.0.1" - }, - "mapping" : [{ - "identity" : "v2", - "map" : "NK1-15" - }, - { - "identity" : "rim", - "map" : "administrativeGender" - }] - }, - { - "id" : "RelatedPerson.birthDate", - "path" : "RelatedPerson.birthDate", - "short" : "The date on which the related person was born", - "definition" : "The date on which the related person was born.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "RelatedPerson.birthDate", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "code" : "date" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : false, - "isSummary" : true, - "mapping" : [{ - "identity" : "rim", - "map" : "player.birthTime" - }] - }, - { - "id" : "RelatedPerson.address", - "extension" : [{ - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:populate-if-known" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }, - { - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:no-error" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }], - "path" : "RelatedPerson.address", - "short" : "Address where the related person can be contacted or visited", - "definition" : "Address where the related person can be contacted or visited.", - "comment" : "The address is intended to describe postal addresses for administrative purposes, not to describe absolute geographical coordinates. Postal addresses are often used as proxies for physical locations (also see the Location resource).", - "requirements" : "Need to keep track where the related person can be contacted per postal mail or visited.", - "min" : 0, - "max" : "*", - "base" : { - "path" : "RelatedPerson.address", - "min" : 0, - "max" : "*" - }, - "type" : [{ - "code" : "Address", - "profile" : ["http://hl7.org/fhir/StructureDefinition/Address", - "http://hl7.org.au/fhir/StructureDefinition/au-address"] - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "mustSupport" : true, - "isModifier" : false, - "isSummary" : true, - "mapping" : [{ - "identity" : "v2", - "map" : "NK1-4" - }, - { - "identity" : "rim", - "map" : "addr" - }] - }, - { - "id" : "RelatedPerson.photo", - "path" : "RelatedPerson.photo", - "short" : "Image of the person", - "definition" : "Image of the person.", - "requirements" : "Many EHR systems have the capability to capture an image of persons. Fits with newer social media usage too.", - "min" : 0, - "max" : "*", - "base" : { - "path" : "RelatedPerson.photo", - "min" : 0, - "max" : "*" - }, - "type" : [{ - "code" : "Attachment" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : false, - "isSummary" : false, - "mapping" : [{ - "identity" : "v2", - "map" : "OBX-5 - needs a profile" - }, - { - "identity" : "rim", - "map" : "player[classCode='PSN' and determinerCode='INSTANCE']/desc" - }] - }, - { - "id" : "RelatedPerson.period", - "path" : "RelatedPerson.period", - "short" : "Period of time that this relationship is considered valid", - "definition" : "The period of time during which this relationship is or was active. If there are no dates defined, then the interval is unknown.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "RelatedPerson.period", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "code" : "Period" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : false, - "isSummary" : false, - "mapping" : [{ - "identity" : "w5", - "map" : "FiveWs.done[x]" - }, - { - "identity" : "rim", - "map" : ".effectiveTime" - }] - }, - { - "id" : "RelatedPerson.communication", - "path" : "RelatedPerson.communication", - "short" : "A language which may be used to communicate with about the patient's health", - "definition" : "A language which may be used to communicate with about the patient's health.", - "comment" : "If no language is specified, this *implies* that the default local language is spoken. If you need to convey proficiency for multiple modes, then you need multiple RelatedPerson.Communication associations. If the RelatedPerson does not speak the default local language, then the Interpreter Required Standard can be used to explicitly declare that an interpreter is required.", - "requirements" : "If a related person does not speak the local language, interpreters may be required, so languages spoken and proficiency is an important things to keep track of both for patient and other persons of interest.", - "min" : 0, - "max" : "*", - "base" : { - "path" : "RelatedPerson.communication", - "min" : 0, - "max" : "*" - }, - "type" : [{ - "code" : "BackboneElement" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : false, - "isSummary" : false, - "mapping" : [{ - "identity" : "rim", - "map" : "LanguageCommunication" - }] - }, - { - "id" : "RelatedPerson.communication.id", - "path" : "RelatedPerson.communication.id", - "representation" : ["xmlAttr"], - "short" : "Unique id for inter-element referencing", - "definition" : "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "Element.id", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "extension" : [{ - "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", - "valueUrl" : "string" - }], - "code" : "http://hl7.org/fhirpath/System.String" - }], - "isModifier" : false, - "isSummary" : false, - "mapping" : [{ - "identity" : "rim", - "map" : "n/a" - }] - }, - { - "id" : "RelatedPerson.communication.extension", - "path" : "RelatedPerson.communication.extension", - "short" : "Additional content defined by implementations", - "definition" : "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", - "comment" : "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", - "alias" : ["extensions", - "user content"], - "min" : 0, - "max" : "*", - "base" : { - "path" : "Element.extension", - "min" : 0, - "max" : "*" - }, - "type" : [{ - "code" : "Extension" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key" : "ext-1", - "severity" : "error", - "human" : "Must have either extensions or value[x], not both", - "expression" : "extension.exists() != value.exists()", - "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source" : "http://hl7.org/fhir/StructureDefinition/Extension" - }], - "isModifier" : false, - "isSummary" : false, - "mapping" : [{ - "identity" : "rim", - "map" : "n/a" - }] - }, - { - "id" : "RelatedPerson.communication.modifierExtension", - "path" : "RelatedPerson.communication.modifierExtension", - "short" : "Extensions that cannot be ignored even if unrecognized", - "definition" : "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", - "comment" : "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.", - "requirements" : "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).", - "alias" : ["extensions", - "user content", - "modifiers"], - "min" : 0, - "max" : "*", - "base" : { - "path" : "BackboneElement.modifierExtension", - "min" : 0, - "max" : "*" - }, - "type" : [{ - "code" : "Extension" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }, - { - "key" : "ext-1", - "severity" : "error", - "human" : "Must have either extensions or value[x], not both", - "expression" : "extension.exists() != value.exists()", - "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])", - "source" : "http://hl7.org/fhir/StructureDefinition/Extension" - }], - "isModifier" : true, - "isModifierReason" : "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them", - "isSummary" : true, - "mapping" : [{ - "identity" : "rim", - "map" : "N/A" - }] - }, - { - "id" : "RelatedPerson.communication.language", - "path" : "RelatedPerson.communication.language", - "short" : "The language which can be used to communicate with the patient about his or her health", - "definition" : "A language which can be used to communicate with about the patient's health. The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. \"en\" for English, or \"en-US\" for American English versus \"en-EN\" for England English.", - "comment" : "The structure aa-BB with this exact casing is one the most widely used notations for locale. However not all systems actually code this but instead have it as free text. Hence CodeableConcept instead of code as the data type.", - "requirements" : "Most systems in multilingual countries will want to convey language. Not all systems actually need the regional dialect.", - "min" : 1, - "max" : "1", - "base" : { - "path" : "RelatedPerson.communication.language", - "min" : 1, - "max" : "1" - }, - "type" : [{ - "code" : "CodeableConcept" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : false, - "isSummary" : false, - "binding" : { - "strength" : "extensible", - "valueSet" : "https://healthterminologies.gov.au/fhir/ValueSet/common-languages-australia-2" - }, - "mapping" : [{ - "identity" : "rim", - "map" : "player[classCode=PSN|ANM and determinerCode=INSTANCE]/languageCommunication/code" - }] - }, - { - "id" : "RelatedPerson.communication.preferred", - "path" : "RelatedPerson.communication.preferred", - "short" : "Language preference indicator", - "definition" : "Indicates whether or not the patient prefers this language (over other languages he masters up a certain level).", - "comment" : "This language is specifically identified for communicating healthcare information.", - "requirements" : "People that master multiple languages up to certain level may prefer one or more, i.e. feel more confident in communicating in a particular language making other languages sort of a fall back method.", - "min" : 0, - "max" : "1", - "base" : { - "path" : "RelatedPerson.communication.preferred", - "min" : 0, - "max" : "1" - }, - "type" : [{ - "code" : "boolean" - }], - "constraint" : [{ - "key" : "ele-1", - "severity" : "error", - "human" : "All FHIR elements must have a @value or children", - "expression" : "hasValue() or (children().count() > id.count())", - "xpath" : "@value|f:*|h:div", - "source" : "http://hl7.org/fhir/StructureDefinition/Element" - }], - "isModifier" : false, - "isSummary" : false, - "mapping" : [{ - "identity" : "rim", - "map" : "preferenceInd" - }] - }] - }, - "differential" : { - "element" : [{ - "id" : "RelatedPerson", - "path" : "RelatedPerson", - "constraint" : [{ - "key" : "au-core-relper-01", - "severity" : "error", - "human" : "Either a name or a relationship shall be provided (or both)", - "expression" : "name.exists() or relationship.exists()", - "source" : "http://hl7.org.au/fhir/core/StructureDefinition/au-core-relatedperson" - }, - { - "key" : "au-core-relper-02", - "severity" : "error", - "human" : "Names shall have at least text, family name, or given name present, or if neither is available, the Data Absent Reason extension shall be present", - "expression" : "name.exists() implies name.extension('http://hl7.org/fhir/StructureDefinition/data-absent-reason').exists() xor name.all(text.exists() or family.exists() or given.exists())", - "source" : "http://hl7.org.au/fhir/core/StructureDefinition/au-core-relatedperson" - }] - }, - { - "id" : "RelatedPerson.patient", - "extension" : [{ - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:populate-if-known" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }, - { - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:no-error" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }], - "path" : "RelatedPerson.patient", - "type" : [{ - "code" : "Reference", - "targetProfile" : ["http://hl7.org.au/fhir/core/StructureDefinition/au-core-patient"] - }], - "mustSupport" : true - }, - { - "id" : "RelatedPerson.relationship", - "extension" : [{ - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:populate-if-known" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }, - { - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:no-error" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }], - "path" : "RelatedPerson.relationship", - "condition" : ["au-core-relper-01"], - "mustSupport" : true - }, - { - "id" : "RelatedPerson.name", - "extension" : [{ - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:populate-if-known" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }, - { - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:no-error" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }], - "path" : "RelatedPerson.name", - "condition" : ["au-core-relper-01"], - "mustSupport" : true - }, - { - "id" : "RelatedPerson.name.use", - "extension" : [{ - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:populate-if-known" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }, - { - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:no-error" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }], - "path" : "RelatedPerson.name.use", - "mustSupport" : true - }, - { - "id" : "RelatedPerson.name.text", - "extension" : [{ - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:populate-if-known" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }, - { - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:no-error" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }], - "path" : "RelatedPerson.name.text", - "mustSupport" : true - }, - { - "id" : "RelatedPerson.name.family", - "extension" : [{ - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:populate-if-known" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }, - { - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:no-error" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }], - "path" : "RelatedPerson.name.family", - "mustSupport" : true - }, - { - "id" : "RelatedPerson.name.given", - "extension" : [{ - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:populate-if-known" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }, - { - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:no-error" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }], - "path" : "RelatedPerson.name.given", - "mustSupport" : true - }, - { - "id" : "RelatedPerson.telecom", - "extension" : [{ - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:populate-if-known" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }, - { - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:no-error" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }], - "path" : "RelatedPerson.telecom", - "mustSupport" : true - }, - { - "id" : "RelatedPerson.address", - "extension" : [{ - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:populate-if-known" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }, - { - "extension" : [{ - "url" : "code", - "valueCode" : "SHALL:no-error" - }, - { - "url" : "actor", - "valueCanonical" : "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }], - "url" : "http://hl7.org/fhir/StructureDefinition/obligation" - }], - "path" : "RelatedPerson.address", - "mustSupport" : true - }] - } -} \ No newline at end of file diff --git a/sushi-config.yaml b/sushi-config.yaml index a2d34c79..bf545194 100644 --- a/sushi-config.yaml +++ b/sushi-config.yaml @@ -108,8 +108,8 @@ parameters: - 'https://healthterminologies.gov.au/fhir/ValueSet/australian-pronouns-1' - 'https://healthterminologies.gov.au/fhir/ValueSet/australian-states-territories-2' - 'https://healthterminologies.gov.au/fhir/ValueSet/clinical-condition-1' - - 'http://hl7.org.au/fhir/core/StructureDefinition/au-core-medicationstatement' - - 'http://hl7.org.au/fhir/core/StructureDefinition/au-core-relatedperson' + - 'https://healthterminologies.gov.au/fhir/ValueSet/amt-vaccine-1' + - 'https://healthterminologies.gov.au/fhir/ValueSet/medication-reason-taken-1' - 'http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum' apply-publisher: false From 662944cc2e41f5f4ed6afb9ec9b7ee794046d4d5 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Fri, 20 Jun 2025 13:16:42 +1000 Subject: [PATCH 095/177] Update observation prepop queries --- ...entationGuide-csiro.fhir.au.smartforms.json | 4 ++-- .../resources/Questionnaire-Examination.json | 18 +++++++++--------- .../resources/Questionnaire-SubstanceUse.json | 2 +- input/fsh/715-Assessment-Examination.fsh | 18 +++++++++--------- input/fsh/715-Assessment-SubstanceUse.fsh | 2 +- 5 files changed, 22 insertions(+), 22 deletions(-) diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index bf5b4edd..5558892d 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -817,11 +817,11 @@ }, { "code": "special-url", - "value": "http://hl7.org.au/fhir/core/StructureDefinition/au-core-medicationstatement" + "value": "https://healthterminologies.gov.au/fhir/ValueSet/amt-vaccine-1" }, { "code": "special-url", - "value": "http://hl7.org.au/fhir/core/StructureDefinition/au-core-relatedperson" + "value": "https://healthterminologies.gov.au/fhir/ValueSet/medication-reason-taken-1" }, { "code": "special-url", diff --git a/fsh-generated/resources/Questionnaire-Examination.json b/fsh-generated/resources/Questionnaire-Examination.json index 50b47250..ae7cddfc 100644 --- a/fsh-generated/resources/Questionnaire-Examination.json +++ b/fsh-generated/resources/Questionnaire-Examination.json @@ -136,7 +136,7 @@ "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(%ObsBodyHeight.entry.resource.value.value.empty() = true, 'Not available', %ObsBodyHeight.entry.resource.value.value.toString() + ' cm' + ' (' + %ObsBodyHeight.entry.resource.effective.toDate().toString() + ')')" + "expression": "iif(%ObsBodyHeight.entry.resource.where(status='final').value.value.empty(), 'Not available', %ObsBodyHeight.entry.resource.where(status='final').value.value.toString() + ' cm' + ' (' + %ObsBodyHeight.entry.resource.where(status='final').effective.toDate().toString() + ')')" } } ] @@ -223,7 +223,7 @@ "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(%ObsBodyHeight.entry.resource.value.value.empty() = true, 'Not available', %ObsBodyHeight.entry.resource.value.value.toString() + ' cm' + ' (' + %ObsBodyHeight.entry.resource.effective.toDate().toString() + ')')" + "expression": "iif(%ObsBodyHeight.entry.resource.where(status='final').value.value.empty(), 'Not available', %ObsBodyHeight.entry.resource.where(status='final').value.value.toString() + ' cm' + ' (' + %ObsBodyHeight.entry.resource.where(status='final').effective.toDate().toString() + ')')" } } ] @@ -301,7 +301,7 @@ "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(%ObsBodyWeight.entry.resource.value.value.empty() = true, 'Not available', %ObsBodyWeight.entry.resource.value.value.toString() + ' kg' + ' (' + %ObsBodyWeight.entry.resource.effective.toDate().toString() + ')')" + "expression": "iif(%ObsBodyWeight.entry.resource.where(status='final').value.value.empty(), 'Not available', %ObsBodyWeight.entry.resource.where(status='final').value.value.toString() + ' kg' + ' (' + %ObsBodyWeight.entry.resource.where(status='final').effective.toDate().toString() + ')')" } } ] @@ -388,7 +388,7 @@ "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(%ObsBodyWeight.entry.resource.value.value.empty() = true or %ObsBodyHeight.entry.resource.value.value.empty() = true, 'Not available', (%ObsBodyWeight.entry.resource.value.value/((%ObsBodyHeight.entry.resource.value.value/100).power(2))).round(1).toString() + ' kg/m2')" + "expression": "iif(%ObsBodyWeight.entry.resource.where(status='final').value.value.empty() or %ObsBodyHeight.entry.resource.where(status='final').value.value.empty(), 'Not available', (%ObsBodyWeight.entry.resource.where(status='final').value.value/((%ObsBodyHeight.entry.resource.where(status='final').value.value/100).power(2))).round(1).toString() + ' kg/m2')" } } ] @@ -467,7 +467,7 @@ "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(%ObsHeadCircumference.entry.resource.value.value.empty() = true, 'Not available', %ObsHeadCircumference.entry.resource.value.value.toString() + ' cm' + ' (' + %ObsHeadCircumference.entry.resource.effective.toDate().toString() + ')')" + "expression": "iif(%ObsHeadCircumference.entry.resource.where(status='final').value.value.empty(), 'Not available', %ObsHeadCircumference.entry.resource.where(status='final').value.value.toString() + ' cm' + ' (' + %ObsHeadCircumference.entry.resource.where(status='final').effective.toDate().toString() + ')')" } } ] @@ -554,7 +554,7 @@ "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(%ObsWaistCircumference.entry.resource.value.value.empty() = true, 'Not available', %ObsWaistCircumference.entry.resource.value.value.toString() + ' cm' + ' (' + %ObsWaistCircumference.entry.resource.effective.toDate().toString() + ')')" + "expression": "iif(%ObsWaistCircumference.entry.resource.where(status='final').value.value.empty(), 'Not available', %ObsWaistCircumference.entry.resource.where(status='final').value.value.toString() + ' cm' + ' (' + %ObsWaistCircumference.entry.resource.where(status='final').effective.toDate().toString() + ')')" } } ] @@ -625,7 +625,7 @@ "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(%ObsHeartRate.entry.resource.value.value.empty() = true, 'Not available', %ObsHeartRate.entry.resource.value.value.round().toString() + ' /min' + ' (' + %ObsHeartRate.entry.resource.effective.toDate().toString() + ')')" + "expression": "iif(%ObsHeartRate.entry.resource.where(status='final').value.value.empty(), 'Not available', %ObsHeartRate.entry.resource.where(status='final').value.value.round().toString() + ' /min' + ' (' + %ObsHeartRate.entry.resource.where(status='final').effective.toDate().toString() + ')')" } } ] @@ -703,7 +703,7 @@ "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(%ObsHeartRhythm.entry.resource.value.coding.where(system='http://snomed.info/sct').first().empty() = true, 'Not available', %ObsHeartRhythm.entry.resource.value.coding.where(system='http://snomed.info/sct').first().display + ' (' + %ObsHeartRhythm.entry.resource.effective.toDate().toString() + ')')" + "expression": "iif(%ObsHeartRhythm.entry.resource.where(status='final').value.coding.where(system='http://snomed.info/sct').first().empty(), 'Not available', %ObsHeartRhythm.entry.resource.where(status='final').value.coding.where(system='http://snomed.info/sct').first().display + ' (' + %ObsHeartRhythm.entry.resource.where(status='final').effective.toDate().toString() + ')')" } } ] @@ -818,7 +818,7 @@ "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(%ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8480-6')).value.value.empty() = true or %ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8462-4')).value.value.empty() = true, 'Not available', %ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8480-6')).value.value.round().toString() + ' / ' + %ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8462-4')).value.value.round().toString() + ' mm Hg (' + %ObsBloodPressure.entry.resource.effective.toDate().toString() + ')')" + "expression": "iif(%ObsBloodPressure.entry.resource.where(status='final').component.where(code.coding.exists(code='8480-6')).value.value.empty() or %ObsBloodPressure.entry.resource.where(status='final').component.where(code.coding.exists(code='8462-4')).value.value.empty(), 'Not available', %ObsBloodPressure.entry.resource.where(status='final').component.where(code.coding.exists(code='8480-6')).value.value.round().toString() + ' / ' + %ObsBloodPressure.entry.resource.where(status='final').component.where(code.coding.exists(code='8462-4')).value.value.round().toString() + ' mm Hg (' + %ObsBloodPressure.entry.resource.where(status='final').effective.toDate().toString() + ')')" } } ] diff --git a/fsh-generated/resources/Questionnaire-SubstanceUse.json b/fsh-generated/resources/Questionnaire-SubstanceUse.json index f7730992..c1c757cb 100644 --- a/fsh-generated/resources/Questionnaire-SubstanceUse.json +++ b/fsh-generated/resources/Questionnaire-SubstanceUse.json @@ -115,7 +115,7 @@ "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(%ObsTobaccoSmokingStatus.entry.resource.value.coding.where(system='http://snomed.info/sct').empty() = true, 'Not available', %ObsTobaccoSmokingStatus.entry.resource.value.coding.where(system='http://snomed.info/sct').first().display + ' (' + %ObsTobaccoSmokingStatus.entry.resource.effective.toDate().toString() + ')')" + "expression": "iif(%ObsTobaccoSmokingStatus.entry.resource.where(status='final').value.coding.where(system='http://snomed.info/sct').empty(), 'Not available', %ObsTobaccoSmokingStatus.entry.resource.where(status='final').value.coding.where(system='http://snomed.info/sct').first().display + ' (' + %ObsTobaccoSmokingStatus.entry.resource.where(status='final').effective.toDate().toString() + ')')" } } ] diff --git a/input/fsh/715-Assessment-Examination.fsh b/input/fsh/715-Assessment-Examination.fsh index 9227d216..c827421a 100644 --- a/input/fsh/715-Assessment-Examination.fsh +++ b/input/fsh/715-Assessment-Examination.fsh @@ -191,7 +191,7 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * text = "Last result" * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression * language = #text/fhirpath - * expression = "iif(%ObsBodyHeight.entry.resource.value.value.empty() = true, 'Not available', %ObsBodyHeight.entry.resource.value.value.toString() + ' cm' + ' (' + %ObsBodyHeight.entry.resource.effective.toDate().toString() + ')')" + * expression = "iif(%ObsBodyHeight.entry.resource.where(status='final').value.value.empty(), 'Not available', %ObsBodyHeight.entry.resource.where(status='final').value.value.toString() + ' cm' + ' (' + %ObsBodyHeight.entry.resource.where(status='final').effective.toDate().toString() + ')')" * type = #display * repeats = false * readOnly = true @@ -225,7 +225,7 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * text = "Last result" * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression * language = #text/fhirpath - * expression = "iif(%ObsBodyHeight.entry.resource.value.value.empty() = true, 'Not available', %ObsBodyHeight.entry.resource.value.value.toString() + ' cm' + ' (' + %ObsBodyHeight.entry.resource.effective.toDate().toString() + ')')" + * expression = "iif(%ObsBodyHeight.entry.resource.where(status='final').value.value.empty(), 'Not available', %ObsBodyHeight.entry.resource.where(status='final').value.value.toString() + ' cm' + ' (' + %ObsBodyHeight.entry.resource.where(status='final').effective.toDate().toString() + ')')" * type = #display * repeats = false * readOnly = true @@ -256,7 +256,7 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * text = "Last result" * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression * language = #text/fhirpath - * expression = "iif(%ObsBodyWeight.entry.resource.value.value.empty() = true, 'Not available', %ObsBodyWeight.entry.resource.value.value.toString() + ' kg' + ' (' + %ObsBodyWeight.entry.resource.effective.toDate().toString() + ')')" + * expression = "iif(%ObsBodyWeight.entry.resource.where(status='final').value.value.empty(), 'Not available', %ObsBodyWeight.entry.resource.where(status='final').value.value.toString() + ' kg' + ' (' + %ObsBodyWeight.entry.resource.where(status='final').effective.toDate().toString() + ')')" * type = #display * repeats = false * readOnly = true @@ -290,7 +290,7 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * text = "Last result" * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression * language = #text/fhirpath - * expression = "iif(%ObsBodyWeight.entry.resource.value.value.empty() = true or %ObsBodyHeight.entry.resource.value.value.empty() = true, 'Not available', (%ObsBodyWeight.entry.resource.value.value/((%ObsBodyHeight.entry.resource.value.value/100).power(2))).round(1).toString() + ' kg/m2')" + * expression = "iif(%ObsBodyWeight.entry.resource.where(status='final').value.value.empty() or %ObsBodyHeight.entry.resource.where(status='final').value.value.empty(), 'Not available', (%ObsBodyWeight.entry.resource.where(status='final').value.value/((%ObsBodyHeight.entry.resource.where(status='final').value.value/100).power(2))).round(1).toString() + ' kg/m2')" * type = #display * repeats = false * readOnly = true @@ -323,7 +323,7 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * text = "Last result" * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression * language = #text/fhirpath - * expression = "iif(%ObsHeadCircumference.entry.resource.value.value.empty() = true, 'Not available', %ObsHeadCircumference.entry.resource.value.value.toString() + ' cm' + ' (' + %ObsHeadCircumference.entry.resource.effective.toDate().toString() + ')')" + * expression = "iif(%ObsHeadCircumference.entry.resource.where(status='final').value.value.empty(), 'Not available', %ObsHeadCircumference.entry.resource.where(status='final').value.value.toString() + ' cm' + ' (' + %ObsHeadCircumference.entry.resource.where(status='final').effective.toDate().toString() + ')')" * type = #display * repeats = false * readOnly = true @@ -357,7 +357,7 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * text = "Last result" * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression * language = #text/fhirpath - * expression = "iif(%ObsWaistCircumference.entry.resource.value.value.empty() = true, 'Not available', %ObsWaistCircumference.entry.resource.value.value.toString() + ' cm' + ' (' + %ObsWaistCircumference.entry.resource.effective.toDate().toString() + ')')" + * expression = "iif(%ObsWaistCircumference.entry.resource.where(status='final').value.value.empty(), 'Not available', %ObsWaistCircumference.entry.resource.where(status='final').value.value.toString() + ' cm' + ' (' + %ObsWaistCircumference.entry.resource.where(status='final').effective.toDate().toString() + ')')" * type = #display * repeats = false * readOnly = true @@ -387,7 +387,7 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * text = "Last result" * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression * language = #text/fhirpath - * expression = "iif(%ObsHeartRate.entry.resource.value.value.empty() = true, 'Not available', %ObsHeartRate.entry.resource.value.value.round().toString() + ' /min' + ' (' + %ObsHeartRate.entry.resource.effective.toDate().toString() + ')')" + * expression = "iif(%ObsHeartRate.entry.resource.where(status='final').value.value.empty(), 'Not available', %ObsHeartRate.entry.resource.where(status='final').value.value.round().toString() + ' /min' + ' (' + %ObsHeartRate.entry.resource.where(status='final').effective.toDate().toString() + ')')" * type = #display * repeats = false * readOnly = true @@ -418,7 +418,7 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * text = "Last result" * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression * language = #text/fhirpath - * expression = "iif(%ObsHeartRhythm.entry.resource.value.coding.where(system='http://snomed.info/sct').first().empty() = true, 'Not available', %ObsHeartRhythm.entry.resource.value.coding.where(system='http://snomed.info/sct').first().display + ' (' + %ObsHeartRhythm.entry.resource.effective.toDate().toString() + ')')" + * expression = "iif(%ObsHeartRhythm.entry.resource.where(status='final').value.coding.where(system='http://snomed.info/sct').first().empty(), 'Not available', %ObsHeartRhythm.entry.resource.where(status='final').value.coding.where(system='http://snomed.info/sct').first().display + ' (' + %ObsHeartRhythm.entry.resource.where(status='final').effective.toDate().toString() + ')')" * type = #display * repeats = false * readOnly = true @@ -457,7 +457,7 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * text = "Last result" * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression * language = #text/fhirpath - * expression = "iif(%ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8480-6')).value.value.empty() = true or %ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8462-4')).value.value.empty() = true, 'Not available', %ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8480-6')).value.value.round().toString() + ' / ' + %ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8462-4')).value.value.round().toString() + ' mm Hg (' + %ObsBloodPressure.entry.resource.effective.toDate().toString() + ')')" + * expression = "iif(%ObsBloodPressure.entry.resource.where(status='final').component.where(code.coding.exists(code='8480-6')).value.value.empty() or %ObsBloodPressure.entry.resource.where(status='final').component.where(code.coding.exists(code='8462-4')).value.value.empty(), 'Not available', %ObsBloodPressure.entry.resource.where(status='final').component.where(code.coding.exists(code='8480-6')).value.value.round().toString() + ' / ' + %ObsBloodPressure.entry.resource.where(status='final').component.where(code.coding.exists(code='8462-4')).value.value.round().toString() + ' mm Hg (' + %ObsBloodPressure.entry.resource.where(status='final').effective.toDate().toString() + ')')" * type = #display * repeats = false * readOnly = true diff --git a/input/fsh/715-Assessment-SubstanceUse.fsh b/input/fsh/715-Assessment-SubstanceUse.fsh index aa2bf295..1ecc18be 100644 --- a/input/fsh/715-Assessment-SubstanceUse.fsh +++ b/input/fsh/715-Assessment-SubstanceUse.fsh @@ -126,7 +126,7 @@ Description: "Substance Use sub-questionnaire for Aboriginal and Torres Strait I * text = "Last status" * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression * language = #text/fhirpath - * expression = "iif(%ObsTobaccoSmokingStatus.entry.resource.value.coding.where(system='http://snomed.info/sct').empty() = true, 'Not available', %ObsTobaccoSmokingStatus.entry.resource.value.coding.where(system='http://snomed.info/sct').first().display + ' (' + %ObsTobaccoSmokingStatus.entry.resource.effective.toDate().toString() + ')')" + * expression = "iif(%ObsTobaccoSmokingStatus.entry.resource.where(status='final').value.coding.where(system='http://snomed.info/sct').empty(), 'Not available', %ObsTobaccoSmokingStatus.entry.resource.where(status='final').value.coding.where(system='http://snomed.info/sct').first().display + ' (' + %ObsTobaccoSmokingStatus.entry.resource.where(status='final').effective.toDate().toString() + ')')" * type = #display * repeats = false * item[+] From dc8a4f99eb90fd590a3ad7e4c3b80cb26f45c4c9 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Fri, 20 Jun 2025 14:52:28 +1000 Subject: [PATCH 096/177] Update templates to derive from SHC profles --- ...ntationGuide-csiro.fhir.au.smartforms.json | 2 +- ...estionnaire-AllergiesAdverseReactions.json | 2 +- .../resources/Questionnaire-Examination.json | 16 ++++++------ .../resources/Questionnaire-Immunisation.json | 2 +- ...onnaire-MedicalHistoryCurrentProblems.json | 2 +- .../Questionnaire-RegularMedications.json | 2 +- .../resources/Questionnaire-SubstanceUse.json | 2 +- ...> StructureDefinition-SHCHeartRhythm.json} | 8 +++--- input/fsh/extract-templates.fsh | 26 +++++++++---------- input/fsh/profiles.fsh | 2 +- 10 files changed, 32 insertions(+), 32 deletions(-) rename fsh-generated/resources/{StructureDefinition-SmartHealthCheckHeartRhythm.json => StructureDefinition-SHCHeartRhythm.json} (98%) diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index 230e9287..fcec3c8b 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -567,7 +567,7 @@ }, { "reference": { - "reference": "StructureDefinition/SmartHealthCheckHeartRhythm" + "reference": "StructureDefinition/SHCHeartRhythm" }, "name": "Smart Health Check Heart Rhythm", "description": "This profile sets the minimum expectations for an Observation resource to record heart rhythm observations. It is used to represent heart rhythm data captured during a First Nations Health Check that can be used to record the observation in a clinical record.", diff --git a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json index 7667711c..0d83e4b9 100644 --- a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json +++ b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json @@ -367,7 +367,7 @@ "id": "AllergyIntoleranceTemplate", "meta": { "profile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-allergyintolerance" + "https://smartforms.csiro.au/ig/StructureDefinition/SHCAllergyIntolerance" ] }, "clinicalStatus": { diff --git a/fsh-generated/resources/Questionnaire-Examination.json b/fsh-generated/resources/Questionnaire-Examination.json index 50b47250..5db91b42 100644 --- a/fsh-generated/resources/Questionnaire-Examination.json +++ b/fsh-generated/resources/Questionnaire-Examination.json @@ -1033,7 +1033,7 @@ "id": "BodyHeightTemplate", "meta": { "profile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyheight" + "https://smartforms.csiro.au/ig/StructureDefinition/SHCBodyHeight" ] }, "category": [ @@ -1097,7 +1097,7 @@ "id": "BodyHeightLengthTemplate", "meta": { "profile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyheight" + "https://smartforms.csiro.au/ig/StructureDefinition/SHCBodyHeight" ] }, "category": [ @@ -1161,7 +1161,7 @@ "id": "BodyWeightTemplate", "meta": { "profile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyweight" + "https://smartforms.csiro.au/ig/StructureDefinition/SHCBodyWeight" ] }, "category": [ @@ -1225,7 +1225,7 @@ "id": "WaistCircumferenceTemplate", "meta": { "profile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-waistcircum" + "https://smartforms.csiro.au/ig/StructureDefinition/SHCWaistCircumference" ] }, "category": [ @@ -1289,7 +1289,7 @@ "id": "HeadCircumferenceTemplate", "meta": { "profile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum" + "https://smartforms.csiro.au/ig/StructureDefinition/SHCHeadCircumference" ] }, "status": "final", @@ -1353,7 +1353,7 @@ "id": "HeartRateTemplate", "meta": { "profile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-heartrate" + "https://smartforms.csiro.au/ig/StructureDefinition/SHCHeartRate" ] }, "category": [ @@ -1417,7 +1417,7 @@ "id": "HeartRhythmTemplate", "meta": { "profile": [ - "https://smartforms.csiro.au/ig/StructureDefinition/SmartHealthCheckHeartRhythm" + "https://smartforms.csiro.au/ig/StructureDefinition/SHCHeartRhythm" ] }, "category": [ @@ -1480,7 +1480,7 @@ "id": "BloodPressureTemplate", "meta": { "profile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bloodpressure" + "https://smartforms.csiro.au/ig/StructureDefinition/SHCBloodPressure" ] }, "category": [ diff --git a/fsh-generated/resources/Questionnaire-Immunisation.json b/fsh-generated/resources/Questionnaire-Immunisation.json index 7e151c9b..90bb0e7d 100644 --- a/fsh-generated/resources/Questionnaire-Immunisation.json +++ b/fsh-generated/resources/Questionnaire-Immunisation.json @@ -556,7 +556,7 @@ "id": "ImmunizationTemplate", "meta": { "profile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-immunization" + "https://smartforms.csiro.au/ig/StructureDefinition/SHCImmunization" ] }, "status": "completed", diff --git a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json index 2939b8f7..fb0c04e1 100644 --- a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json +++ b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json @@ -597,7 +597,7 @@ "id": "ConditionTemplate", "meta": { "profile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-condition" + "https://smartforms.csiro.au/ig/StructureDefinition/SHCCondition" ] }, "clinicalStatus": { diff --git a/fsh-generated/resources/Questionnaire-RegularMedications.json b/fsh-generated/resources/Questionnaire-RegularMedications.json index 6db92722..8eb4dba8 100644 --- a/fsh-generated/resources/Questionnaire-RegularMedications.json +++ b/fsh-generated/resources/Questionnaire-RegularMedications.json @@ -662,7 +662,7 @@ "id": "MedicationStatementTemplate", "meta": { "profile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-medicationstatement" + "https://smartforms.csiro.au/ig/StructureDefinition/SHCMedicationStatement" ] }, "status": "active", diff --git a/fsh-generated/resources/Questionnaire-SubstanceUse.json b/fsh-generated/resources/Questionnaire-SubstanceUse.json index f7730992..a841cafd 100644 --- a/fsh-generated/resources/Questionnaire-SubstanceUse.json +++ b/fsh-generated/resources/Questionnaire-SubstanceUse.json @@ -353,7 +353,7 @@ "id": "SmokingStatusTemplate", "meta": { "profile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-smokingstatus" + "https://smartforms.csiro.au/ig/StructureDefinition/SHCSmokingStatus" ] }, "category": [ diff --git a/fsh-generated/resources/StructureDefinition-SmartHealthCheckHeartRhythm.json b/fsh-generated/resources/StructureDefinition-SHCHeartRhythm.json similarity index 98% rename from fsh-generated/resources/StructureDefinition-SmartHealthCheckHeartRhythm.json rename to fsh-generated/resources/StructureDefinition-SHCHeartRhythm.json index c0fca7d6..9b4e4c72 100644 --- a/fsh-generated/resources/StructureDefinition-SmartHealthCheckHeartRhythm.json +++ b/fsh-generated/resources/StructureDefinition-SHCHeartRhythm.json @@ -1,7 +1,7 @@ { "resourceType": "StructureDefinition", - "id": "SmartHealthCheckHeartRhythm", - "url": "https://smartforms.csiro.au/ig/StructureDefinition/SmartHealthCheckHeartRhythm", + "id": "SHCHeartRhythm", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCHeartRhythm", "name": "SmartHealthCheckHeartRhythm", "title": "Smart Health Check Heart Rhythm", "status": "draft", @@ -24,7 +24,7 @@ { "key": "shc-heartrhythm-01", "human": "At least value or data absent reason shall be present", - "source": "https://smartforms.csiro.au/ig/StructureDefinition/SmartHealthCheckHeartRhythm", + "source": "https://smartforms.csiro.au/ig/StructureDefinition/SHCHeartRhythm", "severity": "error", "expression": "dataAbsentReason.exists() or value.exists()", "xpath": "exists(f:*[starts-with(local-name(.), 'value')]) or exists(f:dataAbsentReason)" @@ -387,7 +387,7 @@ { "key": "shc-heartrhythm-02", "human": "Date shall be at least to day or, if not available, the Data Absent Reason extension shall be present", - "source": "https://smartforms.csiro.au/ig/StructureDefinition/SmartHealthCheckHeartRhythm", + "source": "https://smartforms.csiro.au/ig/StructureDefinition/SHCHeartRhythm", "severity": "error", "expression": "(($this is dateTime implies $this.toString().length() >= 10) and extension('http://hl7.org/fhir/StructureDefinition/data-absent-reason').value.exists().not()) xor ($this is dateTime implies ($this.hasValue().not() and extension('http://hl7.org/fhir/StructureDefinition/data-absent-reason').value.exists()))", "xpath": "((self::dateTime and string-length(.) >= 10 and not(extension[@url='http://hl7.org/fhir/StructureDefinition/data-absent-reason'])) xor (self::dateTime and not(.) and extension[@url='http://hl7.org/fhir/StructureDefinition/data-absent-reason']))" diff --git a/input/fsh/extract-templates.fsh b/input/fsh/extract-templates.fsh index 582b1aa6..d1d8d3c0 100644 --- a/input/fsh/extract-templates.fsh +++ b/input/fsh/extract-templates.fsh @@ -24,7 +24,7 @@ Alias: $au-core-medicationstatement = http://hl7.org.au/fhir/core/StructureDefin Alias: $observation-category = http://terminology.hl7.org/CodeSystem/observation-category Instance: SmokingStatusTemplate -InstanceOf: $au-core-smokingstatus +InstanceOf: SHCSmokingStatus Usage: #inline * status = #final * category[socialHistory] = $observation-category#social-history @@ -39,7 +39,7 @@ Usage: #inline * valueCodeableConcept.coding.extension[=].valueString = "$this.answer.value" Instance: BodyHeightLengthTemplate -InstanceOf: $au-core-bodyheight +InstanceOf: SHCBodyHeight Usage: #inline * status = #final * category[VSCat] = $observation-category#vital-signs @@ -57,7 +57,7 @@ Usage: #inline * valueQuantity.code = #cm Instance: BodyHeightTemplate -InstanceOf: $au-core-bodyheight +InstanceOf: SHCBodyHeight Usage: #inline * status = #final * category[VSCat] = $observation-category#vital-signs @@ -76,7 +76,7 @@ Usage: #inline * valueQuantity.code = #cm Instance: BodyWeightTemplate -InstanceOf: $au-core-bodyweight +InstanceOf: SHCBodyWeight Usage: #inline * status = #final * category[VSCat] = $observation-category#vital-signs @@ -94,7 +94,7 @@ Usage: #inline * valueQuantity.code = #kg Instance: HeadCircumferenceTemplate -InstanceOf: $au-core-au-core-headcircum +InstanceOf: SHCHeadCircumference Usage: #inline * status = #final * category[VSCat] = $observation-category#vital-signs @@ -112,7 +112,7 @@ Usage: #inline * valueQuantity.code = #cm Instance: WaistCircumferenceTemplate -InstanceOf: $au-core-waistcircum +InstanceOf: SHCWaistCircumference Usage: #inline * status = #final * category[VSCat] = $observation-category#vital-signs @@ -130,7 +130,7 @@ Usage: #inline * valueQuantity.code = #cm Instance: HeartRateTemplate -InstanceOf: $au-core-heartrate +InstanceOf: SHCHeartRate Usage: #inline * status = #final * category[VSCat] = $observation-category#vital-signs @@ -148,7 +148,7 @@ Usage: #inline * valueQuantity.code = #/min Instance: HeartRhythmTemplate -InstanceOf: SmartHealthCheckHeartRhythm +InstanceOf: SHCHeartRhythm Usage: #inline * status = #final * category[vitalSignsCategory] = $observation-category#vital-signs @@ -163,7 +163,7 @@ Usage: #inline * valueCodeableConcept.coding.extension[=].valueString = "$this.answer.value" Instance: BloodPressureTemplate -InstanceOf: $au-core-bloodpressure +InstanceOf: SHCBloodPressure Usage: #inline * status = #final * category[VSCat] = $observation-category#vital-signs @@ -194,7 +194,7 @@ Usage: #inline Instance: AllergyIntoleranceTemplate -InstanceOf: $au-core-allergyintolerance +InstanceOf: SHCAllergyIntolerance Usage: #inline * clinicalStatus.coding = $allergyintolerance-clinical#active * code.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext" @@ -233,7 +233,7 @@ Usage: #inline * parameter[=].part[=].valueCodeableConcept.coding.extension[=].valueString = "item.where(linkId='allergysummary-status').answer.value.first()" Instance: ImmunizationTemplate -InstanceOf: $au-core-immunization +InstanceOf: SHCImmunization Usage: #inline * status = #completed * vaccineCode.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext" @@ -252,7 +252,7 @@ Usage: #inline * note.text.extension[=].valueString = "item.where(linkId='vaccinestoday-comment').answer.value" Instance: ConditionTemplate -InstanceOf: $au-core-condition +InstanceOf: SHCCondition Usage: #inline * clinicalStatus.coding = $condition-clinical#active * category.coding = $condition-category#problem-list-item @@ -296,7 +296,7 @@ Usage: #inline Instance: MedicationStatementTemplate -InstanceOf: $au-core-medicationstatement +InstanceOf: SHCMedicationStatement Usage: #inline * status = #active * medicationCodeableConcept.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext" diff --git a/input/fsh/profiles.fsh b/input/fsh/profiles.fsh index c8eb8a78..1fd6bb44 100644 --- a/input/fsh/profiles.fsh +++ b/input/fsh/profiles.fsh @@ -56,7 +56,7 @@ Description: "Date shall be at least to day or, if not available, the Data Absen Profile: SmartHealthCheckHeartRhythm Parent: Observation -Id: SmartHealthCheckHeartRhythm +Id: SHCHeartRhythm Title: "Smart Health Check Heart Rhythm" Description: "This profile sets the minimum expectations for an Observation resource to record heart rhythm observations. It is used to represent heart rhythm data captured during a First Nations Health Check that can be used to record the observation in a clinical record." From d5c5b34e393dae93b11fe910d60e6f84a90da308 Mon Sep 17 00:00:00 2001 From: Heath Frankel Date: Sat, 21 Jun 2025 13:29:46 +0930 Subject: [PATCH 097/177] Update Index.md with Health Checks IG overview --- input/images/launchinteractions.png | Bin 0 -> 190135 bytes input/images/overviewactors.png | Bin 0 -> 106009 bytes input/images/writebackdraftqr.png | Bin 0 -> 56898 bytes input/images/writebackqrextract.png | Bin 0 -> 76627 bytes input/pagecontent/index.md | 51 ++++++++++++++++++++++++++-- 5 files changed, 48 insertions(+), 3 deletions(-) create mode 100644 input/images/launchinteractions.png create mode 100644 input/images/overviewactors.png create mode 100644 input/images/writebackdraftqr.png create mode 100644 input/images/writebackqrextract.png diff --git a/input/images/launchinteractions.png b/input/images/launchinteractions.png new file mode 100644 index 0000000000000000000000000000000000000000..92ff7cad3cd6a7b7e94ab38f70a87b94c244b303 GIT binary patch literal 190135 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 z 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 C9Osk( literal 0 HcmV?d00001 diff --git a/input/images/overviewactors.png b/input/images/overviewactors.png new file mode 100644 index 0000000000000000000000000000000000000000..295c1bd2953461beb57dbb76efe573d6da827d35 GIT binary patch literal 106009 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 S$ZX^rj~qUBsNkU6wf_SB)3yTu literal 0 HcmV?d00001 diff --git a/input/images/writebackdraftqr.png b/input/images/writebackdraftqr.png new file mode 100644 index 0000000000000000000000000000000000000000..46167c09e6855c27ee7833cd8b7738f2be882cc9 GIT binary patch literal 56898 zcmd?RXIPV4v^A=t(g`*ow9o}9LO?p9HvuUs(py3=0@4YfQiVY1O#u;U8xTToihzcW zB1lKTP((nQ^mbQtpK{One&6Tb=l2hU_AEE8(JU*rA8X2OSKqun_q5S) z#dbCNO_7lvF89q_-wOg($_ml0A2+M4*500b71da@7?O>&pkf#Gt>5jR%$PewBi0s` zc(%DRG_#xiKb>AtB4ZDu{r}UCsLH{9^}ukYTs_{a6yZwxp1sR?DUiR5U>DrBTG+Nf&M<|NAk~j|NofHSrY0 z-=YGppjJ+gr%zSW(*8aeAC10izkH^=M>1^E%zZpg4@O!hM{&rh-RTgR z&Vc(Dm8%l5O>6I(0=K_D$YW1I9{gVVRhSce!}vUeS@QF0MLUgKVU~|41hHpTza)rH z(nT!MNX^mKP5DeTFuB#UyR;PPNE+Jh=AP{!UHl~aNtO^Nw=?Sg&ciJWz1ihrlvc;X=t-|E~_z&kETvg z)0T0YlpLwD*Ol;`>vZ@5J0ieN$(A=pkyusb8zcsMiCRJ)*R#A55BCVzyxfo0$HouN zIUWzF!&Gx#KN`|kZ&>Ji9=QRLKXR9_?N0u2MPF+a*LEVXZM45VVi{Ut>00yEtjT9} za`Mrq)rBnIZ|-gz4`u3D{pS*d-SYkBQy#RDq@Nxw$`8=8tE9$buKkHbYE`&l6dbo& zJ8@BSwCG_9$J zpDm+im-9@@dE?>YyM>==azal0#i}KFkX`O5(|D(Fcm&LE=4{=NfmTB}y~Sva)7Nem zug{8!xLXvJUQaI2xtqGy+}G@&$fx4fdXH4TVm=2cA$Y=L7N^l3Wk+2ADmn$2+N!#CzYz{G9N!KH- zd$Aj1aY~!d_ubK>xIM5Z;oCZGvc@1l$8%1r(Br%fR43T_7a=G6Qvu6m^l{f}Tfj*Z z(G4<+y9T$R^jOUDji7Rl<9EJ09&!9a){c6iZ!uY`qSjXa%MMjx+33R~`FA1LbuzDx z`(x#H$d<#;6vTdCr5^ftJQE6;jJf$vGEe6nSkoVa^479(_v4iNrN)y8qjB^y!;V^U zBr^CImJ+3?h<2&#fAat9s%KaT8ofqBeu%uvV|#sHa-ib{;`{H-4SCq{eC_s=-}CARGO$w85b~r-*uiMOI*!VWz57pOyt)Sk$?-5^fAnY`ujnm=rke%t&nst~c^S;z{@s=$ zUi-x^Y7pLXf!<8`{At0K!0Wqao3V_yZuD+_xT5Rzz|14u)GgayKt#2SzmJbTQUHE*eK~^-T?%K3u&cIU6QyVSwkj zP^{QpTZML39`^0xPNRAy^lfYmWFy${K8PA0`)q$Zh8!!Cf?Te1mxX8!XLcqYLdx4X zBcRjc2|*tlxj!-tRy^!ttaUWPTLi9N+gXP92wW+MsgwVbLN~_(Vlox z&&lbPa^KK{-rP&y=;6cz?UsJ&<@5en$=B3`91mGG6G8>6SA2@BAwvk*cpA9GyEma1 zsVOE@nZ9{+u*{BPZX!W7qGlO^R@brcGq<};TSv0c?O3w!^~R-uU=8BoV~q5fO()b> zkTP_@LeQf*E1_aWFogW#i$`szQuG-S-Y6zI6NlW2xTBoJ^E|KD8kgV17x&>h1N5&1 zG|Z{UgJs`6Dyn{Q~tAM6pdudM$fiY0+nf;sF+$#e6MOOT*L1@FW*ULY zQrb>>rt*-}lUW`JF5FM~4*QDsmn;uF)Qu1;L30a!=|w0hgl22zh(*%fswklgO{}-R zTYVCrevoxZuSbtq=HKN!PqRsRDa=nv$+dbw&6?pm=~;W>lgnBHm(E{4x4sr~8px0n zP#Nyxu-E&Eu`4ZfF$u`Fo`L44!S2;3b;|a#5_O18wup2;Z)aAVp z24S`+$=8xw;}2Vol_Fj}`HW<&O|m$Go`T9seVBYFfAqmd+>22fyfx!%DD*wq-G!!3 zj+pZz9gXY>I_`;6jo?Be9cgRSS^ZIxtPYkRte%Uzwgsej5^lod_CKqk7^%K=pxD*7BYVo7iLG}eSXzW zxKU2@S2{}I2}agZ%#_UhUT%@;=izc=4?26U85*@7A5NdrY|6i*(JW;dyB>9S=aOdz z)!l-ao>?wtQkO+=P}bgo(hKm1JNk=H?{0SBFY=z*<~g(}$h+J5WKJnjmn?>xZM=>hME4-Y4$QAj7jPFs(h>S9}1nywXlbsp8p5lN6=S zRB9&}3Yyk>wMS4>4sIMsE0H>eda2N|2X=09QbNc((3d>l$FgsYyHxc(O;%~-$kYB1 z4}E6FC}N|sC!dkoDU6?wxIETTf4)chS3RL^PeY2|_`Ph`CbA*w{_E@I2~~HR8{=Ng zi&pA9@n?6ZH+8{Ppe?BDw)rBujB1%QBiA_&;e35XkRE9cKVu#P0U@NZW!Trvo|`bZ zkK;pU<=Ph0IyY;n2NwRe46r?k?=k-Db&k%p38h-&asCMz4!8U>=*OB?WOhVWJNM3? zs@Qzotg+`pXajNOsPIL z`^;LzG}WA`%Xh9eQX4f>&(?GW*BcsYfW6jD?k@B>wUoplv-jQ(`Ph%<+MM3o7cB_t zH#iBaFGSu6-ew484zurokhdb$XtG!Hyq8HU2&hWuy;xv3@AY;LS@0Esc zcBBTWHF-4Ss8_DkQabRT7uZrVOq%UM8;MUd^~QXnLF~;y7ddkh?)SUHCkMM>AV4lI zmi-$b$)tWmq{hV>14{AShnWz#13gMXMcGz>CE)GPP}q+=^wnhn7Z2FOgY@r6(TijQ z=Rtzg=jm)F94Q^emqjbQ?&k|h&>$l3&KD{R3FMCDww#8v@?Lu3>$jC6IJdZ!X<9FI z;st9*ImlQlDG2G9nvvs6St2OYGBf4sBL4{yf|XELTS zuDb|N-N|DqUV=vM)G+2(!#?kHTFr6Zl1ZwtSTS`vXF8<^*E4=_-UPmtv}(&_bTK3Q zJ-k$>^M{zWA%}&O&)!k&u+zZR#^)BdB#c z8AHjqgjQYI4HX8pK(Gu9IzBw4FDL~phx0ng-s8U=lq~JQCmXaj;@q6=* z4okG&xI$Ec0?C={5oGb1snMBznDn7d>rv3R$8)>UX1XG5GuKclAe0c9} z^4&Wb>=_JLD!JDQw(l7=q0Z%}rv6VUZ#D~08eMJ{?-TyOPhb-}Ypmvfj!O_4sVQK( z3&2Ng#E}R!Je6wJVEI9&pIB>H^4uwkhB4WS&3V)*m_t7aE`Fz(`cfR37?-){yWU9a zPR|k&rwZNg#!Z^EB?6&VmWi#60M^sAU19orTQ)kHSUhGt|Le#z?dl*)_%KsEj zoqTuZQKcjGl{Z5oI!c=75ix80R#RO{3!?l_tUVJANILJ1%lenvmT*|_ zz1toYh{t~1S6*yI?|U2#4zO;Um2oLuzVg;%K-W|hQkiJnGAGqx`C5EX|J|8*oB;L_ zud&4bn0*elEjKSrB=~3#ln4xygi!L0QLjOr`x0OS*#6>CW%E(ppmomuXl!Uu{Bg8j z)`Yr7#BsKLqOQZtkruGfV9p9{neJ}iY#0ihp~(yORK-rABN zhsqhYOMr8AiKIcOXvxOMm5-eu^t7pOWzyvC3E{3dA+N0+)+s91gHeB*%T;lNCZbo`Uw4v-C<2n`y$ailGQJAEVoKX1N|CU>uQAuWeJFp0rAV zI?pN7^^)g##b9+vV`ZfXN?^7B-GZ#9O-{lT#%OWWYHIE6?l%W2dU#EjifvPAZ2VEF#35YB&5{1L zj{7_JNnx6&X~)`KXZs`fNRq{%F=+dc_%4$omNKM}lQKz5Psy7`C)%Fmx~NdheErM0 z3pSE8S$Tk3(no-v7O+cgE^DAc?EGRGgkB4E`MQYq+Ipg=)1$UJ8yZlq-9By8D(Q88 zc#t&ST8m}W5!+v;+odis)k!vs1cfNMxl3QVQ4narb^;Ei z2bT+(4mmw$ODgi$T)!cG%WCO}G64yF)f_!_6;5|4LR)o@y&?fMRG7aYDA%Q&iLrfK zc9-|5xQY)uUl&*P%4bx@xrme-NMriSq>Pr;>nA#NeC3%*^S2{-S(Gv~z9F%4ZL*2w zSxjC#_(dM%s<+qAZ4PQj^@#_yEk(F)_i+j%UvPT~Mg zzbw(WkKU{{9+y%-#P4!Koa1p`m1_1D9-t$U($blcBrXd5A5Q0$aPpa#LIN58zz+8Y zNTDT1?i_l>g8@m9ZiWvcP%Toc=>vrsItu)=o>4l)uT7Du4h7i9Ze}ul!9T_5CqFVF zCN(@#Tlrjqv14V7#bCz6AX|a*RL+~1TpTmP-}6rZjI@m@ohnGgS!Fb%VhwtdU7y9g z0RfwiGTwev(!lCYKA4hbu47CExH@0;zl9e3`Xic?^~o&JKZeqVu3&ol$!6Zg5Am)7z+Pw zK{*5WitaCf!wBAkRnrbXyL(jgDAYx}MCLY+WhN%p*XIH_Rb2Te{58(SIhkQJjg3C5 zj6d;THfV>`@o;LntwEa9k0$hv@Kn}c{?~F`^t-RI9egjJ?yxO=rq>gJ@eQzL6D$*V zQtrOWw!0^vW&2Ua{hZry!aVwpxIpFAqK)o%3IRMa50vao7D~T{*vgeYss7tSqB zQ<`SLS>$r^4@Vv|k$QYW%s)A+MCTFr0h`8bb=aj{a3Top)D(C$TIt-1ayc4RE`9Uv z;OFeoT&~jPup3$N0~d*19Rm-PU&Z?`&)Z8eR=lj83w_`W=r z(qkY+Efd3?M60Quakett*tevW!Z8C!3PZc6L%wH@=ejWEun*DJbV?ywKqt|@C)@<5 zOX%?&!&|pU^f@R?uXAjrjK9RR0HUow-UiTT`S4797olp`Kz{VTd zhwgPlfxI`!a91v-6jv_VVJ`vo2%%N%XVur9Xif#=v}(+~$_EJ*$;?)=aru&Dk9O#n zwRohq3RcHXK(lzG^yZ+6tF16p3wnP1YFGce>Y#9|dGvQbltr?C1*rh4-xKo~pwO?+ z{z6fH=lz$1Z>|HtSxUL@-vEK5NcSCD$T%?WZSoHpyjvrldVcHNoh{)J1P!&_IuXbFYJ2O75&0%4YtBJEjXv$+o_d< zdboI!ew^>Jf}#%D1v0LeFBj@CMN)m7L%+X$jaIWk=ORb@B{v>qLj2Ixd_jjQ?_uNX zE}RqU_?ua-BGl)GUf(h!reQ%WW)jMf5fF z>A=g$Gjg+oJeZ!wgdol9MqV?hWm`C1Mx-Cg631MbDRq%I;r(ewgh^Fx|4}|cV&TeK zb$11UYYZQy9QatF&y-}T8)w%+QNGD}_R>^RM~U zxZIcmIxPGqufH`1qxNM^-?7uWNlz_?{`RY^CPsn|KhKEXd@VOofoF8?P5v79cwTaL zPt#}S<3{!GFIth?8YjV`5Sa(7hl*qaet*+hRpl!P{BFYQ9?_R%K|y*3XP{s8pw1aJ zWHa_b>m*Yh>Nw0u9KvF|wVrejWHg;8AW&?duBe=!(2-0~(Wjzd1d1|@LrX^J<` zVA3brR1G7i93Vll4^htF@~tFIm{uq>5qN&5;R{OOY5XU?=T;Rri!^Wh2&~$B>l#~D z@^*dCUnOKDDTs4UbR$qxyp$X3?T|=}(YvG!d**KaiheTXpD*ClJxcDT9d;L&<9;I> zhH7+_@Q+NGI4k**-rGZD*A>KmLpsG&13IwR=0ue^GJ-S>1<$>hfBluK;OJsc)X2RW zJAChfP!b1EY;j-!j_&r-L^ zpL{;wIa>4RmW~i5J7dJZr+3IPXp&Suz8$SMaf?qSAv@;KZ;BM|?F{RJUjTWtA_lUs zk%cWo>oKyEb5jXzw+00N%zGnX!ruLd-a01|wJtEEX=omQKT3mxBx(OcKBQctLq-P< zv;{&>&9=t!WAcHpFeLQ+Sb_)6URbc)U$nel7#^=Jz}bMn^c=ZnCFWeWZu){pW*JG0 zb2bFKTpz5UndIugZQD$wi)R-*ZdLi<_PORW^&O`6zEmb2LQBNxV#{$Gtsxk0KE*PaXcm#(i>Bf}lbSP~CORv2{b`o@p;OFw%U zku6-4?{{FT<#yfIq#Yrf@niWeHtJiO^UP+;-prJqpWDVrW&)jVpSx4Q@@4$#>4ZIo zKJrs^7Lj&tl@j;^^Lx9c5s1xJELWCy)-R+Z%&WO33<5Wt-fmqSiip)3!N=n|AMig} z&%-_sDxD!YtL3s18c-z=5{)$vA{)3zJWML#^$VHKN|E|OhdWuS73_1JE(`aMQF0IT zS&R6!B1CGU375^u*eTfmeBf0(bJ*IxLd3}&Nvl(<@Co8)DAkx`)cy0zAwfgj$efK< z$ObFoJDiU9fqMi*njC37l#sPTvVWi~hQW-w25}W$dzJY2V_#~M)VS<_o4*wVmn4Vt z@@Xk%={r$xbvN=tswIr)lh5Ur6|VulD@`p2T&2ff82vpy{C1?t$idzh(#t#iF#1EI zeo}5~puUi39#mlc8T8InTEaFrY9Mga!7wL&80G$q`oSr>0&P=`?F))8=2yAnOpre}46M`P5U{Cjr zuxFL#X#ZU|_S=BA01|e33O*4xls&&igIK_x^e-c6VBzUK>VdG0jX|ejgOb!wMkBQd zhLNZ96#AO~>q;1v@f>Y^HcCLG7+mA#Jonb z!Dz1qI5Ekd4ibbBY3f!b_CgTZ|M?w#b~kFUjtGl&k0k5^^bs?)OrN?lOzi<|?a&Hg zc~C#mp#dW^ENJK;?Sa>BY~*2=5b?E~XjuZm3x?|cKVIeyWI}0Pkgy9UtW$rXtDfmF z{bwjv_bJUr8VRj+L(7}l#BRq(%dJ^vki=OIb zY91a0FS^$B62kuw&^-T;|Bo2fu;+tm7*--5*eXzH7{VPwwl1xi#W-3%YwM=?AT>qG z;xmvy5BHIPb&g_#UdQV0lPr8Xa)Bn|USF^yJG0LXfba?L~$(0pkVDofS!#*Duwvvjx^i5@_KQZUm^i#rK<{ zAh#LUp;=G$k#t;0)mwk-2S{)KT4%zIhdN3Sd%3Tv&a$|(TausX`0#sMJ^Y=pGUpr! zJE~7K)*?0YTG)<z;Zd~ONbC|a++IPr_-{FsZ{Xsw zT*(p)Kz0-r3W4Utz3q&TtqOis~K|IN(PWnkuc{#@8v$%}62;=|?*HKT`FCDF2BStUmZInYH67=Nw@NkacxFCj1R zsw87L2V|g~6j7Ov?fuf$L4oMs-Dtq_37S-=kNJ`=1 z$?jm0_Hw5bs(-mWipw)~$PHIoe;Bc0JTA8NNj`+(A#jgq98W&ou>#Oh%#lF5Z5*j| z$+E6-hm<2Fw*TteLuZaM^yY}{K%y#S)IH3AdZ%~#mFDYdma-4e35t9d=^>hSE3JSz}}FySwJ=p+xpvWwwXz zngi8#Z?#pvc9E--aTRU$ouFR1Q=buVygf1n%rP^;C;RrmJ#+l&7>IsuKZlBc5wP+; zz#-EBw8D=L@s>fD-?%6UyVJAip3#<*?Q(X}mnTuaXC=_0WmRMi0fmP4XlMthK>W+6M! zZMQt+xF=|L%2zaq4tw+6UfU|L4_Hs~zp1w=_~gL9AOp-|6)%9(3SO$bJY1%{{?eCd zoXb;-^&BkFpM{Njh~F?|Tfpz>%hT+-%k=E)SMtwn=_< z%ZX-Z;v>B!bKHK&>EZN%u^zF!flhk+c}XYQ9dozfF*18?))VANmHQQykh(9o`THby zlcq^2R1KdJo-YS}J6Z3Ld-%it4!(buKm{A5vqXFB0t?)Q4HGK2qWGGUvRae9f!&P? z>^?YV{9?~AssTX!k^vs6N}W2lskVnIbhZLDyw2pob^evT{H3eoHI(xPv`Obr?HEpZ zw64uEF8&_Wg-oDrf*o-%kkNADXNb4!bccZyG@p^Wiw)(A{LtK~L6Tp8d= zyJ%dQCF5IQU2rHlKzhqQyy!xvHvS#(3li^;S|aR)y>T**NMVS*7AJO3PtUjxyi)DF zs`3I)D0uGXsU?6@;mud7bu^2}#HiXOnwv(Ix130$rr>S{_+a2lW#94!XUu)MtS&on zEs#gPV2=S7|2R!1`Np-pW;d)I6LuBHGqgp0_ z?k3;Ed`7LUCAZZ<{1+^IwZ>)}?fpp*aTU zHT|_S3Uv|tA6&s5F^^5kX)K_ zBT8(_brWt)!fs}GqIDv-^pbI%xA#KCd9~5a+B@BEK zlhVtjS8j9bA)egv==`D6?R;_y5@bYw104u6VMIBlh3}NNHH&t4Vr;KZ{A!Qq68a@w z&o$yzF@YZmlmOVg>HG(iZ@7Xx;hD7$*el~FdCl+%aaelmvoLH6{)qh_W&qNCWK_^FXE*R+SJDEb zJ!{}o{&t6A3o2}-z>xOxQ6;NfK-g^1!Ef?0oC|+O%?A8JvZ!9h({6Atn?#PO0o>VK zbZPgfKN_vXLwc)^@tg$x?}(Mf-7Lu0*lRV!KE_rJUK=p;^*}#Qt)b<3^dK6e9*k-{u-T88ySH8d+pzg~qchvqED7h5SH?uh-vHMfX+V<9J+pgGaiYw$PMA8Q zB3V+w>h8BErN(f~e%;sD{JC?BXIHiTLrp**_TM8ZwdX3v2?M_X^o54*t5GJ(M2i3? z)bwpUt}FDO#b9ArE8=kFiqp$VSK!*nC*nb|g&cS)M)w2f7ZJgFx>395u5BP{v<&&$ z??}xjJ7^HB;k6ISEpqRcRc~{2Isr|S02IwbKArc%x1p~$fK#*~R(zZ{>L)l}@>F@u z=Zx!lD$p6T)LzG?bJv3V;FOrypMgigPwWMY`=tf&u}{tsTJbM z^;W3md3!`(La7yLf$B}P?sh%|wnW$8T{-X_V3rn?h6tq=wR96>8=$9fYp=>};DS_F zrfhEb5U= zWei`+`72simXu59G_+gQ`(@rF&9DZ4}xy z`tuC#cHfXPjTBc6j|;Q(n9X7Q3veX`Inv%vVqS){WvD1PNR^5D41+W@S z#ge)9SuL)=yI*SYg)lG~zySOZE**}?lnF3vC4Xj}@%6UsT;-$8x zh@WZPM*2806(~i+tvB30EJ+s(Q8Sm zU3=G~8FCv&rce2wWh{)WGI9GGNOx1f=tBD;R_^iq&9+707km^W)ac+h#Y*ldb`ReM z4AZ~pjI7Rnd*zX4=BXK#a$_G%$iIQI9q{L}4y;U(u7v>F>=3I6Xr} z#ItjJm6%{w!vuJG(wt$^yOrYS1Ml*_qe{Zb{*J426l8~*LgVwz9t?gXB2Pa*B{lKI z4>PTy?fbOy_KykJtt98YD|aN>88c}*mH`Z7V)eNyO_xw0>po+BE@MRi6x>DMz_qt^ zfeRV-Z5y&OX2b+Pbq9g$CUzctgO?VJ2zt9T9!&iq>>8!@UcvuBax zz`6X3HR$(%^i7R=V}DRDlw76cSpbxz0qx{9KtAw_CgQ%5%%2@LaV}$1Uh<-Fj7HB( zpgiS<&CIP?-}pb3-l_=C$u6|_F1&0Q8vN!tbr>c zbzcol`zjG;FnzTrjg8KwIJF;plnt>(N=CS#=Ps4c0{7?B+V`T|e~wj7etR3(bUg?C zC1~R#{cIJeqqRrw!7qY##&WO7o#%y+3B*?(slM9OeF^>W51hX0jf7}P+DC7IMZ1W5?>iVP@r{96 zQ2xa!YWc2ACJmW0%YPlPG~DO@j*p1oxwaT8S`@$T`-X%WjszxJxZ_H(-1lLuZr11} zg!De`t3Md*58j(p*$Nr~Lm_NFey-WmfkJM3Jr&%kMs4Q)^C_awjDC!iTgIo5r8J@h z3`m}2@Vu{&dpTuj;+W5t?y?_7&MUp23G%hkw1Gl)r5ozYFgFq_`8}$_ZOAtkblKBk zpIov!&vQM;dXEEdQm8_#J(nj-*paFU_#4_9ea^84;FtbHk(l_(Rix>|`q_vdNdSb@ z9_b~9V!YxMS+$!FewNHGgetsp!+oTi9i4yD3R)<7o$U^P9W{Xoh|KNsNo--E)og8D`?}PhRf) zVt$&1CxH4sfSGu6__L(^Rc;Nj-~0<1WIK%y0eF zlLLa4ogA_aCwV$n@lcQKc43)+NLOm^57&LvmZ4ssjA{GrzgkCh4!eC1l!(PZdLf!f+*g4 zpE&P>D5mB@_E1Vdcit*7J!sF|4QiWlWGO0 zA#R2A>jXCW+m~)(oR{O1<@4J-)8Ac{y4&3-LNj6VPcqJx*A|UOe#@`c0ZgK)g&&!M z+AZT@(9k`L=%?ToVIYM%Ls$U~Zy=vqYW8!8<9dvup#=1shAI5R@+%x_g*bY4JCf}Q zU;g`d+$AYneB{&IsO@hcpmM7zyk8J`g>^h^@ulKLnQgx=H4DGl@F}6DmCM6*Zz83? zV*V>8x{UI`_)^f(*A9I|dnY6Q-N$l?4v034>j1U${`O>Ygs_59mrsY96-A0kHAm(jde3{iiKe#ASf!J=IJ72VCjcu?+^#0NI+ zwg?&)#%@yWY}p2f0-nK4jNHs)k~XpMr=_MUE@pUO)KANe6C1pnnTHdB26nPXzJ8N* z0oo9<-(&ey3_#%oPW8t8RFfOYdZWRItIFz@UTi)f#W!-NnZbt!@{zJVe)FQse%LQJ zKs($R2r9GkA%}%=8nF0?VzipRurnIt%yMu7l|jyekL2S1bJ3f7M!kb7W=9SH_%$Xr zD*!|CtE>Vb865xY_b022%qZh!Hn*nLTFS8^jUJQ~)f~gEq_I2C3-mra!VHq$!9e@I zJ#0!GcJLwcG(S{IaX4h*8}Gc|XD8l%R-)|Nb5o7>>=ijCR)D*B;e4{rbaSHF-e+Kz zfr?dD64L@+ADPH?k-+KR6`bE2x^cAiDKd_-IJ|_W`6m$y{PU;HAYLju9g~%GRta_H zFM#~J(6$QIU!Gkp|Hf%cZjocpWK!qGqVnCbFiZSy)=)i0^|nF8<7Es=m>Ksx88>83 z?3~(lXtHK*iTkVoT2TN7?P*zU@&==gMC-{T0JiD__huv8E4WB5Qju*H3JD0aZa+)| zpy)Fnd&b9&J7@VEY1fjmwrohiNCoWzLP$l~ndqAP3&?72Ad8n9qp@GnUS;Z~KM6Mx zd${BNj<<-;MB8jfLK8TgPIA2?*N7s8!=3zM(56T871&L-N$p>mEU}#;i~c3e`F02{Om+t>cBK7 zeU88kyWz{0$@t%w*q?py8awpU3??*c?ol@b8!{nsC^@_yQ>II5(d(NNv_n3aHQFk z>976?h6VN2S+0TCIpY94api#qo*wT;Ixf}o8}pB7*x?z;+-_ghbKV8`&v&`B>P~zm zrf2Q)WkxQfJ#qT=pZ{1*1B#brSf7FE1AGBco!)kJoExY(2rG+JDJ{Clg)tR)NOQA?7QET$tibtu;wjLLN5O~m264y)Mef`t7Px$Vp_c) z@)4exi>7*J(OE_+LC)IKKey!Dt>ef7EL!ZxagZXN(bcHOv`_`OkN6DfvztoNdoOpG zpkhOXO@Pjw0$A^IFzSmWaVo4HuoZUzps0KhC%dWP`?I)^u9;ma3M9U|U%#5xXqFY$ zx_?J&@AQK6CpRJQNpI$^Sj4^CEBZ-A`HMf8d~WX(l4t}hl$%&JeDs1!*=?(?(ak4b zl0f}XW|9Z6Vc;`99C_0}H;_2YXdA~Y1!pucuGb?HV9Jqlzr!pvC1FXB$3;tHB@fEA zSqMOv?xCC~k@o$?EM4(kg4QGbsDH7(i4Z5#=DZ8S+$H@YsF0Pi1*(+>IVsZ(b2|JG zM0W6j<8EEcv7mr6VCwjn)N0t_soGY-gp6#L$vNLkS=eLX@`Eh9X0!oMHu8r6<`G=# z1XQUxaWFQj_vZb(mV{<6+FH=nG=RZQI8}))sPLT^G7@pJVQ2ux+mzMb;K;u@Fx+yw zx5uK5kMroL-l?TV&_Y z2gVL1X0ubKD;imSqTA-o@oyGGsayIwnUuDig?{lJp?i~OnM#gE)uVDL)swh+v_e3X!fm#Pra?C+`!Ez zW(P0=SwPiD0v;5-0o05?#Y~_?$YUbieXDOdkF2iz-N6k&EQ11%1sxkN^I<7vxzLuv zE0Nh;vT_biO9C_KZLBi@d2cNCx^g{8g}UoD?7<5x8EjlGSOjP#rxik8|0Lfh?o^8@ zy@g+{GhmL5rokxilsTZ!W?w9L2Xvox7wvd>Gv`r~lksdUI}(foTaei#WmacNdsDQ< zM&>mC#J+9@O?#VruqdFRdlJi$j2uX7phe`03Qf2TM>5CNj}N#nx#Vs zTjn3BnI*PdC?$rgH^3x?96=&w)q*%R8f5G?)WCkztIC4ds3uUtIg!P)eWvV_mS1K$ zcKs$FZkT?qbv3Q~9?c&y9X9t|5AC~k24wjWfrHemE%ZdO2C_sXXNJ~%gC*)MZCSqW zrj=4IzgKPsJc%Gc#u z3HVq_552I2?j)DzT_OyRctB|hT9x>( zZT3fORji;8^6p2vCFzKhFB_)aKZy<0w?VKM=sYM5l0A@ z--SAn*;&%XYm0Ww5mm<;sRd_%hx*(!eeB!5k27|U*WSOrr(}Q=ipnnK07zqR>icfY z^MT%^Vhw50^yWK5O%B73pBUQk&G9Va7XI;}xh~E!j7Eca6 z1WIe4UlD#+8d9ejFk5#04eo)t_gD9jF5mi;RFQaG^;yXD&qN#=wt4&wh+M`f0dfi1 zmvgL-!mk;UwZzt+{Ux$5X#Lhm{+kBhJ)uHc+4I$hGa&jTT}ZdCRbf%3fXiV`#Bsle zkjr}=(dxfq8=DY4U3>;qE(hHJ`MA^1WBjqn?7VntiAmabsD_HD9-|LEG%_o+3pmiw zhr6WDl|-WYI4JA&2_4By{RS4xi<;NBbWYx1w+c^gKxR+C?9sFGToW1Ta_!#QtQvrajotbw0ES&U0Ay#J6tZDj{H5AUjEfbY0BBiJ=p1NKC892anrVrFE$hi)ib2 zM`dg67yH)?hGSQeGBJWNkEVzDblP~V(Y0U4D@Lg+%C2we9^Uzf$Xaz?xOEfR5KPcf z|0a23ry|Z-jg>7igYnZ1*CNdPVK(DZZ>R)fB>+zST5uORS(q9i-@eufpr9DC!R$0) zzNfZgg{zc)B*pA-%=_gOzbADMN!OguCR4|r8AMcWYd$lFEdZ_a&GZ~+bD)+}k_Qo^0^R98I+R+}NXR4XBs2f5t+ zl>IP5Tq6mmArL&bj~OxR9G~6RbXwl{Ad&Gz8S;rpb^-H_;{%H5ypC&Jy$Cxtb# zA`9mpZxp3<#M%G`abl0{wEpqjD1)?@gQQ()7NzF(^EWz-#}}J3wORP%wEE@x_rd8G zX7=q(LOv&q^NlEe%iuW zvknsWdp2}aS!-;%#9jvTkqUzy?xQxLm+1R`ysc5=aV&Sc+5U#Ulh?}6-?JY`_3<@-<$w87dIcLd1Ff>u2o1CMdKQd+%Ml>aJC5{cdPOq{av2 zV<|Th-pzzwljuu7RIG$xe5i&15#k?3nN#|G$i59Pwn6_})}rD5OBS2pg!huU*A7j- z45I$q5`pp$JddFlWv`S6-6s*YK-11VnVSMv9Vb()+I-lI;QZT1mRV}IgvJMXy-95c zYoEWj9F>L$7?J_*U>Ez(i@LQ`xs79qgDZAjQjZl2!#jw4|Gse~$pF&}|-fqIlv z6cuzHPj6fdSGw!Rbc3Ss+HqW?r~z*0tKE#extFiTATo3c1l;%^=mlX?{G=B=!4!3Q7-7sYMf7I|>5vPo6T-pGkfp{^&b zO(N`1DvBn?W`qn>4RlM6V%Gh#P>jua5B)T?_s^{*>o^2!3NijgF%On{N4)V9c9C7q zKq<=h#L~jS!w*$U2_)=qq9_On+OcFd&JN1s;b<#)$I3+0Xwg-bRnd8I#m@^7)cuu4 z379v0_vL=9x6@D?Ie8u#VX2xS_Rm(BYR%4!#4Il6JJ`X~)=hUI<_UD%``;|xOZ3jB zHq8!r`g=8KHJ`Ds<}$pMeCo$(B%l_`1vGHb+n=vb`FJ;eEf;J_B*)Rqt>lO1H%*g! zk%at{Exq?-$Pt=BTONpsC#*DMz8jW(E!=DL#+5GfrYu5hgL zOV6I~-Fg?s8C`b7J+t!bj2LwICn$BnJ`&Ggya~43G}Y)b&V;}{7+F`1fkwV1hknX- z(EI6`MED&n>6hrFy-K6&2kmWOJJG2aD8ei#slZ6^E)wmwq(Nz$mFiZ5ie$!GW%`Cv z!4NzYiN3>XBr(pP4fx3-(-X}LU$DIzm~_FV8}@m-_`E|4GirUu51l(Jif+JYvhTq5 zY6CaeW$!dF6-iv~OY;i7tlW{FekLASyx3fs=*d2`6{10@EpM_g_c3qLx44$>{P!BF zQn5}lT-7#GWvCrek^Dw)&%VLRR-}#RSq>BcN=Q5{x4Pw)SNzcVh%d5mb3SwI!0gP2 zIysw)jG5c3Q*tU3U1nhvdmom5xgR`PMLUX-eZA z5VF@A;C*{%4e17SJLsI;Bs>`1bt= zx&f{H>0Y!$cLY8@B439rmj9e^*bP20V*`Zb)?Z&)mGK4mGgpIXy=NQr0P?D76cv7+zEa6|ID4EVGdL>lef z%{fxVT2E6oiSp-!D;r{_{hs6#_Ou_AlJrv70x9(GvbOrZ|8KQiPLsg0tPSzBK5D)S z@}8o&2Z9U!G_5-1G4HHDb#%;-sP(Qj8mM^8)n6_ZzyDBB$C97iCdMdBkYkqeY7!=y zd|Wnb@Jfh&XgF;jDZl9X60)wC9^esxKlb9g7f5{9QyaIVIVMm3mlO|*g;8E^;b8F{ zZ;C>SP~?jhMd3xoPg5TilgvQYPXNuV=MGY=iBI%9?sWe3s+{@p_^er2MpukY6@OIt z&295L2y*~8=+}G9ScFHq$eG;;C%5Txd`j*fYvvQym2|pGIm4oTI!>{m7^2`VxfFhV#VFXBLOn=mf%U#k52_fOCakfI5&W{@o81W zlU14R_l~!FI%_ZWD&nt|cjNh%XL7wMgv{PZ@slB(e|QqIh4c1b@KSNj$NG4F$VOz5 ztOvBO!R@LxV*l(d+fX13n)m$2a zVaA^?7OOQNP^l~$#ZWa1JRADyQ9UTFc3kNFtznfI7A=dibkeZlTzzNHBcxJ7*uCV; zZ*xE877egG@f-4@8s2CuRJ)0`mRRcz+C_%>T6vH3tu~v&Uzh?Ngh=$b9$(|z{q-G# zs~CNnbV~2k!K;%i)`+Z4VR@qGB1q|UDYE%nRu{~S!VOTZcLM9xlSLzU({sarf=4o6 zUOQo-R%ekD#S{EuD~n*y`A}xcyZeql9a?xzt4?!<=uQK4Y9M{;h#GHBT7HaACrkGd z>uTZOvuSwv@ovh!O0Wn>F+cy!76|i8@BZ$0_rVQfPO|xsA|1=Zr!7If{w!>tX7=R6 zya|GFQVz}BV&7f{Wl$KK2oT(t`B-03NKFVh60m+2XXnXAo}XJZ1$EqqFaERM5YkY@ z6Wv9M5o0gd_6qSqVgWdjgjr6~%em-2N~%>~I^N2;yi6Q*!Wh-4KF70#y52`!JgD${ z=`nGB>Nbk;VU^-^Ax2)sCk8F7HQ5mU#Ekdx40E$fhxDi*t+51c`Tiry3bWjUtfVrd zM|wEZf}A8XP0nYj9G1BY^LZ-GDcy}}wd`RZZJc5HSB}>4Q-$%R6-mps6gfnB#^AhF z_j8F5B|8VF?P2S)Uk8b*D;LFEUwszleEgEUs1G^hZUa(Bm2XEE6wW^#BC4?$*9YZG zdKH)FpZ%8Uj7OqK9jU)zBJU`NeUMPn25;xPu9v;Y4<^EVW@(vL5`6Z;MK#%vNw)pp zqr7j$axCAi7*;B1SGrt8P=B)2s2E!2F}ap`@%Hpw9GC6W3$R30KK<<172&Ng1Dp?a zUbHRg?QgffP(S^zn_9Z!iWn0mQ$hRbMG=aVodfCc@B_7kt*BE}pvIWm0*6l8rTwp- z;y}0Q{jQZndxJ&d{=0C^+gs=?@`Qs_UQ;she(I$AVuYiB1;(N*1M3e4KDaoLL)THw z(pNH#W;OrP`{crz(Ue4~uSv|1xg>iZctP*S9+NGr)?=PGtD*Xk8A&%(YB4lR9a)d< z55HADx(R>*R!L@J4>!r#DL5~W-BzUU`u;)Rfxx|oNI`}WPrQ~_0Ydz~c^0orTM3YQPq-RXPTvL6z&zwe}o3q&wLg4FNauc?kO(LIXzEy_{lom zA)S6bH~QxzQsJ3t>>)m#*D`Bhs)qkDuz|TPsXEm9llC;2k`8HUaxCp_%-+EfaU0LV zt|XW80I|+iwkIe%oez~UE7yd`dQ=v#of1=X_r;Ah22R)2-|Kxy(Q>&8yyR-6!t@s; ztGwC5+;U_9P^L$QRi0`n_mx);dBeaq6|wg94LMVsE!vl-`ukzqegD>1Q;yN#_U_%+t=kA{3O0!81(V)4jIxM3GPTV~p!9-Celti^uEy!mF(-5ZWf zqlx|w!C!f+MB-VMXMu&;AyblrI}L7)U8SiZ{ZK<5;{xn=-j%}6*qci|x0w~?RzD^( zWBD}Gu2L+uD?D2cCx~{JhgNrD2fuf=l3R@V3DbogtJ-*)qAYT!!47Rsrd5s zGBt~|uwwXv1a@)iUGeb%>&y5&`` ziPKWzEy{cAi<2FPrLW=6_Afk2J@hKjhI3hQ`;=YrYP;8c@n*DhgAt!l9TKLfM{rr} z!!TOme7oX$V*-L~uHPr5@27aunnrmG?TA$Ymz{`OB%NizFI{P2&pPou;af9rziH|2 z*eVI!x`I$EJ0aG`>ERN<;guy<^GqdhmJ-AI9?I8x9BlKf&!fH4iEybltQmzdU+0;c zZ3csBBoy1yT~Z@W%h$HtK6iipAuk>NCVttV~&H1L{Pr)SoY;zTK#o|Af)#I58K^|9Z7Qhw8$|b|T?b z`Bg?(N8a1Kro20Oai#G2x1}td*|(atEk&^+sH{DQ_fD3g*%@nn$|#m8>7hIFYj&+x zOx0G!+OoL|D;=!8{lTLtLLSJ#{NxRteo;}G^s2qM$9Z7L2iyT{))?P-lGI~EVrr|8 z)FS)_*)%C_2SJ&{GB$o^dyaEJDB{zP1eEgc@QkH`-ORWWgU+8_QH#gCu6d6_n*+?@ z2Q5o``s|`xM?-fp{zI<0rMUvs&{1jRqlZ;*JPDp**3`?58ypfyekfbXq{m~{X&%fo z&V&;_1P-3bB>XtNv7&d@J;H`2yy=G! zp=h{$mCZ4OFJ&;uc|@<7mfJV1aQA1WwAG(1&!qik`>6ito_hJs91_!quE=jJ4LHa5 z0FkKcFg*bd{r;Y?hlr1}y{qHv)!27BHMgSFLbTAY?#IX~dVlJt*9Ad>DVmF<Pj zysaoRe!*~-D%9Y!=KXawp-)4pBF`SIPadSooV2cE`_-E&%eE)$U5R?9Vs}UN#bQu- zsG@SzJ6YhS?K}Wn!p9&9XG;2|_prYzjzhD2J0zO)(-E02YD@F6FcP_@4PjSYgGCJafuVvAO@eVHBiydVP_OK_W=^Dt` zycy|kOkA*QLV~}v(7fD{MSeqhHBa+HT3SS@J=4ytYBtv({%4UArqzmcwA}-rYtMX6w_oFYY{oQdtEppCp!1NeXh^=t8X+r2I#l*a zW5UkMYFC=9Z8^Zhyi#$9V84HTz%29BX~98{U^p1$Ad6cwizk8!uf4_CayM60yuvw7Fch*r| zkbl_qRQQj0z3$dw$a?GRoaT0s&X#91n)4t6rHIxL$B66Dgi0p*qTd^3(#2> zyHX<>Q?5t7SV(&7&7dM9E1JXD!`>sYORP|l(ZjeT0q=NRI@>&!Vh&gcw>~42#R`Hh z^dWA4*tX}hl~;bffBV;ATfUidyW{qu_XpftjfvTb={kiV+W!6N*2>LGEU$+f5qWiW z(qfX2-8E*E>rmmFu!*Ko9oz(*T@p*Bcuga6=Q35!1B!`@_no&E!oPfWZe&9DV#EjQ z_bUlxZ`9vM2R1J$r@&uv4zh?T-hL7y99Y?_p=tx;CC^*nYsj2OdibQhouf#<{#J@w z=7HNTIQ(JjbHn`7+-h`uIq&$)@81nv8_BVUcYaqbO}o@1>lb{BcL#BT#PjA>5{P-b zAFtl*@acXNC9z4Lo(x!2lj9l*Y2hw1g3 zwuS(Q;Abz(8T*MgcuqCUQxXGo-aey^sQYblC)@wYzRa}JT%~u$0}2n>B^jd|iP@&I z-A_6VUPTN@63f`#_>lv&GK#Ny60E&_$(Pp9?W@Pji{WIpA1GeFvO0?iF^;7kGg$#+ z+dVgjKW83qVbh)DxSoK6{6AJ0Iaux;Oe-HstbQR9P^^ItS`72Iul{#054oU$z6{4ej-dQbJUFJTTAh8f0eg?m#4z5IAUO_)=ZDVn^I`y7A4P7xa+ocov~mz0+EZGf>l1H%|!^}I7YRswDr>cgsfxtao-bMV@*b6$OV z^T9s>id=CJ)7hM91V>-&`wpXVPx1`&CZ7{GjmMG@GE!4>koIIda%o6 z&joKkv@f80Uw=X{12gXMg%E6=}UnQ&vInijwOhwXcc1{&K3W^ve zX}`EsWF_P+p%dqC5Jj_W0shf1Y}j%4JviT2J2o}TO4)(ZUYY_eR`lpm+}eQYO1OQk z(+C&dn*dZnyOY801W8kGvhiM$MkBCnLnVk`5-!g6NCbk4Aytc}u7BkSf zKjjg@w2S{CpF#G5^wjOB%3!RQ`K@9>EyaiQf1dq9(}Q(n-wx0GSwX_K{>&xYN2a0A zU2_!sr?f(vm!gsj)=?U8$b4~{kNDf(_DgLi&H4Vo(sgwYzQ6}6>=gW#QbtxdE-7*? z5Ycq7#F;)0UqlC|U+r7_NmxWc(@c78!WsApsXHVdCtEOPGOK>wQR>~JiX7__R*My! zRyifQcf%`Fk^BhrF+^nGUcuYmtlC_ojH>sI{^TdA8Z9>wmeaVv7RwdG-gCuEVkXKR zp|1qwFwrbaom2|Kq*g+%TOjd9q-JohiXG_Me{8+YeNzp=iVIPcCzpR7rKb)7Q>s6B zw2<*!eH>^9dnB;LBr9M5?fk)6Yj{X?pQK`cHzAZYqYAI>p?x4zgJ*93Sa(b9G{kOyOo10`txMiQ8QsXG6Hp3UDzKda48hB)b6 z@4VFc;O1|r>+l~3PiO^hUVaTiuh0|;5-$HdLBNI`7l1;lQH2J?6(9L;y_bPC0R>%4 zW7JuP#3mkzwFzP?Sdh9mli+6gX?s0DQ|pHCuKszed+!U}kS>cNAY^KL2*sPTV+YKl zMLIt#z5>*FPSj-N8lOi8{&I1s2ruOs?>@=H#fWXDlOQJ6;6 zU?@28ltS(4A#>(=RkSEDpsPinwaZ?HK;DZdq!#28IqNf^V*sCDrai38zZa=`j2KcQ zVY^V?LQ@Vk5O9)-LJ*GQmzk4?nrKpbmor+9!8{VPe2y(p7wi(xk7%C8GWlWphY?31 zl~vrq1FPIatja%sF8F@Mi!N%!pC-J3{WjMSL$5>TqRz)%_QLP#EGTOVEHbMA@=PXr zazE|WucIH-bmdIJ9zDIWEFMhJuAH%yEDZ9k>IoLVZX#~w)ZP2>%>%UkutnybI{&a* z&0L{CTRZx>R?$>$-P8yoFv{o_#BZQ)FopaifrlPEodwKxb= zc_8m&n~eY~Y>booX&N&zNvr1fED6icBI-W6!idU{E|R6>?X<*3N-p1jX7Oqgn9HP< zuVKlNPKfqh8~)Gt^V|GtG&Xe8*ud;=T-JwV|LgmgG5(}DzZ&_nZq?wK#!?9HUDd;$ zyKGC@`FrPKTeSBn9Xb8sC^5PWkvG(g$MLfGgMj%{4Kextj}mFRXijH311RWEYvpOBoBa#2}8h$lV>(Lx9phSo-*s8%j z51(A60=7gcD9#9?iqe+Da?~ve8RC;zd;LkkN5_cN0TXjfsnl0dI^bmY4SZ*gJ_kx4 zjVt_XmA!nq^}vnJ!)ze~e2YfeDJjJX+fWM;$gm3-2E-5<(95Nq8Q=RnMg9_n3g~_D z?CF;zR=H6TkfpV?isol?zj*Gdw&6P{Gaal_%z+(sxB)gap2q+3-hQ1sdW6+$GEBoLbMd z)5WF6IwwREe~wM|bhPXaGn1 zow9N8&_GF^d@$SNH$cwW*821CD;o5#45?Yr!Q`?ibuRvZUx@ML&?>P#lk|)e_iNDN z;M#Y2tmwZJAle#d8nD0)cU!m(-#rkBaZoM|U0+kqf}$t?lwpGm;}+;y5I|mc!k2C} ziZL3DI}3mRDQZd-)Zcw^6ptPJ$l(xpeVULI=55efv%gu-dcX6SDeg;#diKfgSMmNU zT#SADOBe04+7EODalGe6B>JKIhV7M`kYyiB*;V(lLa znzjGrUI!WKHqiYSBiB`w`6Z;M?^CNU11^66)XfAh&%KmvV1byU5%tEUu(4pbKimIm zCxKJs|H7ER2KT2P^b!)u)KabEBuNK0i60_L9hMD*IH<4Bd(bt5#^$-hbmq+|um^t+ zf@4aF9CjZ{mq3nz4*l4^zkAJd1xiu;Z6Em)a2&s1H1Ot!vNTFn2|3WCpzQQyDWqnL zQ?nL2+61wnK?cV>?<-RQ^5rmK;lSV4@4vunmbAF-hQRKAmc_g1n7Yym_TAw+d7=D# zuawH~d#CFV$R<(Auv$0zk)3RgJdaxgYgfs2{W1faF(bRRUe}qd+I;{6A>QuCLV3a0 zU;la)8?+N9y7hT5-%a@(*?=OZa(uARmy^(=s&oO^82_BHLMdXdSBQYCaK5XlyCXFB z8`DyIl|LV^!6|5-_5HJ+I*=o*d!^k!GzWd|N@O4VLJg?0Hv_v z2jVwyK`aD-jX^zTR2JRXNqLzl&{wq@%Py-2-F!Jr7VMcVx5MDKJlm4fN# zPgMt3s(Btdm8QI2+3|i&y^^?~b#VS_*`Ec8EPufyZ0~6tyARZtDDYi@>HwFOAioz- zfCljCP&BLa&O8W2E<^5ljI|zL8PUl+z`>|Df&M79wvRw;o#>^WU{p=Y8%!;_213_K zJh)W3a~3pVS)r)<3B@3Bml1Xu{jDJBrcP-=2yHuAiUA{e#S^>xxcPtP%eh<;0fzAL z`}rSH7l|dg5)T4rNs|4aP$L{-O0N7j6*e{A z!vk0OiF`<)ehrjerxECNRYz+8Z1#DBFv`G?_5YX!^%ZP}RE~VE+05e%Oix-UT?*#+ zxfTjPgN6X&22n}&bD(#NbmkSED2sC8RfyVm5(W?@op*%Qv-Swlr5h5O!u>j;xkepX zpaYVL-XbX9&yVFKEqi|W-yZr!nErIQc5o#pwbqFkNv4|Yblfkb7>I-b?dk8q$p-Ae z(vwvv?MWa<4s+fR|GB@xGV>XbbEr<*j(7Ssh=t6{Ap?d0rRu6VL%hw`fzcesoVwfg zq$SgjvS8!@BV$(&d-_3my5U8hj~-IAKd~C}yDUPrSAT+7u0Pb^O#Quu{AaEufZ#g$ z-?I4(Xg6~Bi^JR8_$2E&Z8_)FB^$V~XY?u4#qiI->;yaJFIgZVR=EM1iKdQ3p>RcogIBFfK0t1}3OT)uP|RyoBc?N{S|gj-u;9O!m3)@8~^Qu*K=X zt^z6ughFWm1;4b;?TMI07Pra>FmJ3r6Ud6f0DI_n}i)I4g6{r3tKaQ^RGeF^nN=T&Ozd`R=x=Pxy#Ea807 z@U4+{&{WMZ1CJ~`H*K%}iQwKZg+#=gRg;%p06J84Pu$gjzd5q#bMk^ zgwQl|8=qNpfgo}ppa@cwf6=e(f_E>Ls*R?h`-z75rwuT-(^Cpk4*aX=wCgMP2Pi|S^)L(`lGr*^Hiu0+Ds+h z^mi!u0Ev#+-OUHSqf zd~vJdL!ft_*TCdoNo;_W@-;y4f;qYT%}?16K`eBP5T@T#;yi!uyw*gdru2u7-JXy^ z{8Ug#^Ga0d)bkJy$2D>`PjMAO7mcrjqux_8%B}lV%;%z=)B*4f${>iQ&(=88+k{=e z#urH0s1ZlC=>Mta?ZsvClsg~6(vkwGXD@rXZ5@Dl0Y9zv$IM;>Z7OPg{#EMmBTWJ zPEJ7)vFOj|N3sFIZO28JsN~{_!`e%(K?J8Y7Tr7 zGiQ8cb@fBGw7Ufa(o^~M-Rx@s_~W3isc;24S>Sc$4PWrPqe9D&JpI>gD){&I=Ou2! z>q}N}o%UbPY!mv3&8sMb%-ZxMwq#xOQb*NrTQ2^VvnTeX`)zj=S1~ zpJ$qq)7kS?dCSh4i9?eYIoac=T>gC|>onRtmFERS%tmPCf=D~in9u?ne6dLYl##jn z{j*a%&9j+>r@BY`8>cNbDQThPHfb7a<-2zR7%1i7C8R6eL?xuMgn&A^lmpyTBhVJf zgLMuNNuEPrvJeu9z`7N{t(}qt#^7JcJ?!@eYTc$s_dbts|JPG`y9J(7GW3-8f(^cV z=Yz;AG$8(O;}1QT7Q`Q2Vsr&iD`#q)m+tO;z4-4}!&Ln{0>cNU;K6gBK(z)&H@Mag zGJZmsg46I5=(-rbOqAt0M3mxXPpZq1J85%P$23GsGE_-#H3fr zCib^mQ}x00bDAoZ=KsDnDTW@S1eC77Z`piU*kpsRqfEg1)afmIQY=xM4=$YTzrGd! z&o_x1U1vBisgc7sLTYwLlKy!Fm)&P1p~lBh;iCy&s#-h*J^Vigqu}bRzhAOE4LdHI z((4BWP`_hP^Fv*6|0S{luK3?gF8=@i=s^rs^UB`HM4bE<9eBvn{KF9s<$uvW+s~2r z|0`E92%D=Ma`$wQd4>8s_GwLUgFYHBR~E9+Js$C}gvs?Na1wN8`Od-r_izPOp)UmC z1a0FIPv;(pvm$EUSns`r`+M#HDd9P;MB$HAvJ2r(@%ZznGl;~CRQlkB?f^Sz1~~^; zIjHX?nXWobiRO6$|EllO0x>1?1xi}=aV{`7`T{JWFZY$C_|u^Usp$Zq&;(-X+8UZS zzy=w-O=ve2cwp7z)1kVGdX~Bt{AZ{F?Gp5h#&Bw!zD|XXZy%QffVu~GtpFoXv$nl6 zUD|!79vF(W{`1Gyox!W51iebCIHP^*Z&NAG(e;Jf+DMeMa~C(dfOC1 z7}x_~izuj#HS7NQX6s+TA8Qg*|P8j5XvkY1E%+(Wf z@Nd_|&^VxuO+dQSf6tYZBsSm|pV;3qb0Nni(FBjIdB4Vo~AVPodAdO zqn!l)-#@x)ZgG%3sci`#1os-?4F}1_v-2dKO-tB>qD!oyHr9N`kJpO<A&W?BWRrjdhmnWN&t9k zwfbk48U~q84pbZkjP7)d|DTH-lXyq1^B4}2WdG~W8Sh3guC;^d1yZtre@715wYY)P zUX_yH)il=uFD(F+G2nIRMUL>4Zfe+{*PMXvDp;A-F;$n$IG_i_*mq$7q+lAVAsmpQ0KGdM;CSNP2N0GtxcWeS?j0ZLgeGwX}ySQW5_U-r;A*zSS9 z|J0k|IFK6#T4Vhfc~MI=tKM`$Ar3;j&SbeCgIp!x|C|$S54Fn?R?rP*gRq>HzmMI8 z-R|X7uqmuB)kuFtKC@q z9RQD*CqNAS_Xs97;uAC28GIfXNP%Ndrh9r=eUpxWn%L3E1P}S12DXqJb5~g0KiPmi zo0HQrI0120SI7e$YDO?WJF6;z*4TLJO*d7_1B3@#1t3<;06yOi&;;rMscLEv?4WGr zAlVx;#_B89^4(N&0$wSa>t2_04+z3w1dPMMt%BB|)6VQP7m3>Mg1l4{*!;eOrYZ?L zh=~`*2-@zN%pZU@$R&3igvX$5&C_#iE3Y9S%d$vS7hO5%3k%MS0=|KLf9Xr3N&pae zJ1h#(3MA1taLFvISyn#19NLiKj#31UzQZL8WobBi!i5Kcb}$QYk72pG37od(CuT-+ zyv(Ly$cg!r-#;qh&{q1#!?t5y9a~L>&Z!=toq5o7;J|wYpKu0qU;ud1xa9srkM z`$UnyItPy4)GX3o_U_QMLzr9By6dlQKpcvc;=e+{O)VIf24l<@+z?DEgo2Fp|~g-ZlTFo&bHI@4IGPSv@K09IYeLpS9AOE`aFY(MfAEefX&?vU*5SSUr`G8 z!E>sOL;CGEFiB91g#eLEZK1qw#^oaIyBH3Q>;R|u%oSF72$RtntMIL!o7uuT54>Tv z3Sv#`STIQ1l|KNz_q|WQ2xC|CgQ6!xoggx4 z;0j_E@AXOybcHv@C%gy7%JUPiczjbfTOk|+=osI8*3;i1L+VNct@cmOfU&QI7KTDm{&DZSDmlpHerEUli z7f7(L>E~YPbQzneWz%WP-gCaE;_@Kyr- zAcrJu5xhDSv!HvL_tfgd1mDo1N&##eCFwrD71k;w4VwE_iuK;L&z~mN>peb=yR%Xj{ndYCMhb6+rsL=k;8ZQM`f5q1^Azf$lIg5#fP)_L2*zA3 zK3ya`6VL}D)7`qk3?%Qyf}n=|0<7IDs9$8G>rgjkcTLJ0Gq&K!;11|H{>@;XGhRHS zigXA<FRS!zeKJBx&$coHo9?rAnLcpHfSTh$VJ;=<`Z_XE;KY zy{v$Jb_ZqU8zHZcvc4DId}N6qJnQ#o=ow(iSY_KS@vD46y4rm zR9G%~p5g8Dj zlg+y>bWrt1VU7U0yEFNqm%o6u@GW3NFd6>hC)HQhDCZ2Pu^A_^Zyj)jfav}=X#FWP zCLVC14RJQ!-4|`G$Ic!`xj`sKhx95?c9WV%*N7MFtxx-2Vc6lzbwgxae)cPHkfqmt zBRrFLDQlBP^Sfg~2m@g3BEMFqhv?kkqDywy2pzS(IDDg2rE@v}&3Z%@)F148)Tn31 zag}!3Z%&hP%8uj5N7(Cloj#UI;r&jKuciBR089mNn;(w(X$iz*quccEHB)wpG0xKy zz$(V+b}n7+F|U4{^ZG0>SMiS*Y1MIe%LT|%ZQPL-M43||?m~rk0e>*0=L#VUY02_dea?-Pz zzm?`jnajjh8A3ib&^QCVFSDV+@5>qo;VLn^rR4c(APz51ik_fv=xatkG|HE60K%m5 zz$!QuIzLaJ)Km3FgArTwl73L!aMnkW3nU@v@t0P8K0fTH+N|*C&7_uA}dE$@dpg;?MF$r7r?D(f6dKR0`*eckvFcB!oPO%m8kE zdfC{+6kfAksD3hk0@TL!-1^rPwljGr+>79Y#CleN{%Z2#cI;|Fm~#A$8Kr6BQi-+j zflp6~so_Y+I(p|mpR{&WVj0s%sHhNJV0<99cKS~IXyD+yWZ-30V#zgi=?Zs=9>tB$ zMu7EVYpSAx_+3*cHA-vy5FU+EdWwUUMKRkpyNtT${FsS0vuuD|Dy9;DQ;(rCe;uAt zmMKsb)b;e3%)DAL$th_w#|~pXu+RMjqCK2$M%Q7`{t<}syvVmbn()a(@blCCHnK-& zu9W<$;Z`3aC$0!zFdgwIO)*%NB0V{7OC6m~bU#`>94B#tXJ366f|z-OwV*Y?D-6Li zV)!t$SEER%sXEV0R|5kHk$D`29XmQ5A@U4gnAQ!!b$NKEBm8?g3F&t^&!r8#0cd5X zVpZn!-h}a$6F!tX30{5;uUkXm0UL6NGN6-=ndD4TlvCG(|qeLYH!2jmfX{MFfR zH)go0>~zD$X!f4jL2y}$ zFCaE+tnh8L)I9Zaw3}b6D}L+ZG}QYm4fX%6COsKIUMy25El)etHZ+m< zefF5&C!InL`;F#RcqLa;s)4EIg`6Z(ICeAe9V>xDB;9)L5s;nVA~(TGBbucB-bD2b z*Jq~GLyp!1l?WPj)oqyRt8)3LH;Tjkul!X^bT*#u44|R!a}ewPNDVti;daQdTcGgG|%4C6~j zHmwKek0P;Tnf#SE_bBx!DnsI(R}!OnTyy-N;eCMp+?O#n_o@U%q|ioFEW<58@X&gh!ipl|IQ9nTP6oDs-4^6ODQ30IPsim zbia?HWh{tw_Mx{hF}`v(6VU^nS-LsNk_PzddFI`AV`jx{HN^}=(Z5v&pzT7tXhDe^ z*OF>Onm3nB;qHIb0<^~Vc_#$7L3}ZxTBqx1Gp=Bu{FRuF*h(&62L76s`nHSgGs2N8 zb*vnLcqd-+)JG4;X?PRUh0R<%cC29!t8`>}7;BBw6ytT#Y;-$d=AvBMdat+7j<|pG zgB;0{?J^Nfn4irxfMxF1W9HB-J15q!r!^zamebz5+%rkgOI`z)l5!@I7px9YMPpkA z`ajtgff+^2oWb9Eqx<)&>}4_+(AZhK&V_X)W=aF+6U;$$DAPk~{w`)FDI`^~&`fFq z4!gz3hmzxS;-1O=b=^hV7?|loEZ&<%EAE-4y<+V=wpV&N(uc^VT67tfCN*c5Hu)IY zhEC;H6(qZAfKS&QtZI)UOo`$ly*}iM&4~z6W1BoUwBK`GLL+A5| z!bY)qd~xJWOxhLF^hSh+e$3=Ht%Ak{3p04UwMMbJ*ldqk(J*%p~QH9jjle=62qP6SPE<0R^AnP_JG(WeI zNL1#g3R-v?uM3Me(Lw^s{Jq`-O{yIXN5j06HV#xG4w)>se|-V2cRj^n(Iow1fhALw z2evhWvl`~nfzwIq7y6Qxvo&gbD0WQ3A9dGlt`iUfw}8DhQY=NSj{0S9BL`BB+DU=_ zyR(UJ)-R)d*^M-?(ZXgg*CE((q0FktPL}`5QMfbBRNz3t>n0s5E zREr>D1WjO^mI9TAWbv{y=W^mQHNDcxoY^qlRq}uNgRb!|41d99X<+30KNUusF`u7x zogK~EUZ3L1XaJ$!d&3NP(;1PnmNfBrBeXOJMek?LE&lF8dsO=15pXvT;oTs{Bb&1J z)K%0&6pzhXEzJ!HX>+=WB~mqAxwBs{^H<$%16)U|Q!LDPx(2zz)8L;x2n9ss~G~Vq>!LU2?ztE zBj{l=+Icm|3JN%mUmLi54=fp>W(lz*kT5^Pd{r18{YOeh{Sx%zMcD}Fa;I8 zu~e`A#7A@_6c}Ci75bl}q>CLt9D^pfA$UhpcTJTG=~d`*2~n>6y()Kv><7V4)nDdW zod5en;PKK(tXWbZ4Kky^a;6D1yWCY##7F~C_h^r|jP@NizH?tfx$jlZk8MG0ap6dD+QwS-;RQr6jzjJhsI zcfba=pel@Z)s6q-gLUJml$V%%A)pco@2RJK0umJ^oB!4G1ehSSxo>G@$oLJdLN2i! zmD-?}?e0gphzslb6Zhru<5nAh-jn^`IeW|*PRfc#&BZxfK>@`!B6=@1TkEDBI zu*}q39m5pc6mxbz6Nm6$gD2Ak0|kpoiJHZ&!ack_ibr725v0a~1%BfdNqotQtX;0$ z&8fO`RI(g-Vt604TeAbGb3!uR!sMHt8Hx0;r9Ysf2cSxH>{#r&CpI1!uO|pTKrXRZ zg2?HtONA7mGjf6ss-0hpw^?Hu_|grs!=vg1iq?Kpol><-6vUUg7jH}n{m|s!u7i| zxfC{M+vCyDsl8(#2Tul_V8S}e`tS%;J)Ox+;#>ei^No*=_O6bdCSS`M3$@aB6B_$? zQ{%gF2a5~AVrD~Ng3%&bdT+Gw?rE13`+HfNA`-O&jI3RQK zgT{({OGVUEljs~Q#TqhUpCc+`L+c~Ux&}586g&!GO(ZOlG2koFwImc=3z{%@j5%Q; z)!Qfec)=M-!F~bbp05bU)cfUiS9J%MR!bl}Ap~+I8+v?3+Q*7(r8lL{sEww2{CP55 zrTeyuS2HHfeWNod8n3-?Iiax10(+Gw)VsfWz~lN3q>q&_FLlCZQhdnV#vnoF04Pju z&SKcRl>3b4D~f>&QyQ09YE-Dz50aM5;(tQNdw78ZA;lYy=Ku0sn2r`8C5oTl5wD_M zLc!TUFRu+9+zO#bW3Pc;Yn`B`Sv#eOI)iRhk|1%9*xvtY@6E%hYTy5FQxORfws{B% z#a0LrkvUUk%(S;D^Gv1;nP(db8Hy${3mGc&CMso)%oWN|BGYp&)qQt=KKJ+e9?$U{ zzyE&zYOvQ{>$=WsSl9VF-|tiFQc@fgJ|3*=p(iZZ1j`dPv3}jO&4SOWpVp#Tv~6`> z9PyB%_Nudb;Rg;Tn@JXr8Lw+N;anbU`21-UHenTM(Dk1B1cBFkRW^5e} z)`NYYV|uI$y>k6+HXh^9bT0Y_=2|PN0u3C80?e{kPz%ZS%tod&DI<+ySqqPA`;x(D z*JW^fs(RI@j8*@bLx*dWWh)UEqixiP`Y`=!cu{fv5S2YCjqEl`Ho&;dvE0o#nDuzo zi%cbjx+43H*F$4DTZ8dcY^%PO4pwt5KSUi}jjq}1GxTu>_;GvC)M2*^SlMGKJI!R9 zdk!U1N~A(*0W}Ki!fyIQdBx~kte#)j$FmU^W|l1B13$(ZJmMr zt1utJ`)1I#3v*4{{7e-=T9%9`Nrwr)EXew4IBCnbQ|Ph6Sv-ZoGImX;N)BXhAYYL3 zoOw)Wd(FCDAFs4%uq2NEMC*NWW}3JL6ynH(W45Ah8aUN|yX3uWGM4k*#DrpHW#d`f z^Dg6vqe_r))jut7q6aIR_ORAya1tH1jknyXrAsT!0<>;DpM0*hYZ*O|d%)2x@T{5v zS)ve)Vu1aSGdN~(Pl3dYMJbetl8N4*$vEsiV z*}g_+3s`#e)Vb z$m$~YRp{U-BOp)tz_BgIz$vIOO3HijJ(95NJ41v(54nX&B$?E2DbT6R+8qO+lK@FV z9guk7+nV7X`L4KBA3y7-^*rYW4giZoO5kb(_Bxr)Ab%U$e*!f8nRiod%GUsoc~=kI z=5G2I5r=;QZ=|o0%ACJ$Qk4^B7liZ2E9EXjK~vrYPObG=d)M`Qu8!YnqU@vXS75EG zWe?mG`H@YXcPU-W;bsQfQdQBkhF-o)Ci7v+Ct>vqsbEZbZR0d{{+6*i1%%C0FCFBn z51HmLcINOU^4cv+(Nt|q;P&DR`HK~PG!x{s8WCsCImjY@+Ii^brywm_~j$~*><^CmLDK{45U4*7ED1j=rj?DKMIOni0dNvLdrK8k{@ zG}LDP%t~K_`eF{4Fdr~r?V+&rFh(>2E}f^Ul3dDb&aYIG6n|o$9Y7jUh?WjA-X+FE zX`jb0|IV@BffN9eD}1mcsBlQsZ_Qa8(w^0SKpz+Q+Xw3X7q>za@>!la$khHg!fOu2 z2ijmjuXqcJIQH$HO}PJs#euZjn8)Xl!B|$QpM7#Jo^3(W;}hN0cMQ7+LE8CU=(lG0B0q08*~1F8}=$KVO1=x(}n^Rp*+0G9jvur?JhJ=d+LViToL1N}JqWfN7Nx}Jmc6W-_`?+%e`DFh?hy6^O{`9v0^9KLF z#=}qK;*Lr()8^#SP#eSlS9S&s1NEK+;N(59iwq6e`cZR$RkGT=DGWijDwTo%zYMuG z@RXcHXqPLPt{WnbiHh_tq%6*7{=MIU*;@IJe*fQ?t$#M_pW755cFL_a`;mp@%A0#X z?*T41+R4v?n;fCPSA-$+cEFzB5FNg}~Y2_b)vs-_FW- zeuwRk0idca+v@5DiMO@f+n{pB~9?~%yLGqz~T-?L$}-B#q23~vHQLG@*KUJYUn2h?1A zt?eS&tBOr1fOEv-_>tn=pCsG*I&5vOuUtfMon|PL+)mtqX~z|+^^i~Ro~Cf6mc&GH#vje3b z)rjeA>c$h(fc5;*vP3ah$CXAd>Rq0e`4NGwDj0{otTR%C@XYh(Wt$BoCp6DKqh>4c ziA^(8qLjB8aU_&ZF2s(NumW=FeBzF0y0Ce$)XwJ0yWIefZG%xWf@Dx;H1E1E?K*~x z89COp)I(KHZmgmYtOCdc4ZF#ogH?pM`6Co_P0wU`nLt@kn{!|>n1vkvhdwyA>d#Z8K#umgBk~TzOKk!m-<8AQ;2mv6j`)x`Lf2ERAoj=4 zg%2+yZqOVbN5TI>*xu7T>+1K<3t$y8e=e5k5M`0{n;oaO4^oEVj&E~*3lYOg^#O)c zQVdVNjS_*KR}Jh$MlQoVe}B1-$!yEV%o&^(_h>tD92>j^5QsFB&J)DI&JjHI_PbV; zLO#%I1RDJVK(=SY-9;AygUu0pbqV@=ddE49*nagcG=Ugj!oKHTbj2+DIIl3E%VCN! zTq#Z@PqdVfJ*9cd)Q++*OMM_!$f!2UYjm(4YF*^Ikt#Uz0Z5~NKmY@q`Pbu2pyhSI z#jQ(Zck2cveXj8RwSX*jR@(JpT`DmlOu#DJ}!r{r=-F;m`>m*z&@MUKTILi|4JJueqNq6x)tN`5Tb13ckh_G%pGV~*VS$YlG@;!!qaCrab95LDxKyequ zq%zs6m8-+1jn#92lL_tnaunF?{bivJC~5CSK}&Y(q4pXit1kGEsa&0=1W9fW+?_WS z@m86TwDg+E3=e7jr!2 zSpglPe8fZya*A_k6)FgrbfmQGQs%B#=)J%H9dC`8vft(`CnZXlH)K1~vJNv}NF6VA zEC6=b5QHsHbLX011L&}J7L~R#aq6b&y`ibV+An`WbP`5(P1)sGL^FLwo4G9#_m6=U z9&fuMnisJamk~{%!oEUN5!Iy8;dn7V{@GpnGta8A@0Ja6`>WHbR?2ESAY%FLF$&%~SBMH1BE6Z3vP(BBdIt6m z-Eb%qvtrMGR@FQl^RZn_JR$T=P5#$C8#q_G)IAzc$`05L*3F9!MN|n@u&>EZmdYAf zOI5vYwPv1dW9p18cFSGBu=UYbWuFR5n(K1ukX{(DKvfVgbXr$Ac1)gX$nxCJ^Igff zwY5|F@c76$VFzOBnabQ&)l^k8AY)mdym8{xvEk<0vcN&BVVMH8V^Rlt2kMH1(v?_N zc^1GhFmq^4uxZun;7sC3gT>r4*M&8!29K=h_ut`-rCsP(Xp$tC?i%qyl?V;8HP1Fo zEq$ZQGhCvUc5M8jC9OpJfwGH<=x;@)Dn10Cs*}vauboV&c(W!AR>#2~&X5!XIEH{^ zF|BK7&xj$o>s+4@NNIEG*0S zut7+~I+8swX|a;VhVC0*+v3c#1V0})wd3^_yZ(!+0!34)-~pU)8ULfatNN+s=|QW$ z$QYBECkPiLS*PxXl<^!kpiy9v>dKx56CK6aA>`yZj6^-T6!B=XVV-#huQcFEi>PW3 z#Lv&(DN%jC$`ZJ_l)E6r{R3VDyqFy-5{HqRqC}0tHegOpjsns%j$cLI?jm&o_nDi*9rX1+Zqm*cX!o2Eq z1*wCn=JQH@X)Xp-4H-%K=OyBOoS%Is=rl84eTME7q#aeAS`!F$Lbd`%KNpJ^`-~Gx ziV9kCD_-`V70c6va*bH^Sy{q-dW@47vl>+N5u z2eF5cLOJKx=Xp)2ht)O3gy+tZT43F{Drq9foF2xiJ>hjOA=!D-rh8(Pl{6ST(fR> zoMIXdieW!tlYs030s!dq%ffYLxljt9BQ?(UVXa&+7%UOQQ9p;Uk`KOL`Q0Hfo zmayH;4!FvgJxPsHE3#M>7;bTnqsGUIF>G!bDl9{{Vlt z9cjc7YB8|v*t&^1thdNJXT3x1Gy&Y*dl)Vy$k!Gvl zNpCB3@~dY|`$9An=N}a@;~V_r`MhqY87T_|RZ=>s!M71Fv?=~>DQlHxklQu$3gY25 zPgz)RKVKt0K-Q$su*&M(%`rM?66YVs&@IwUyUN_8|L8@=G}eT|P%ODAR~F|{ z7r{j{QtAn5cZ)3Gd>g|j=Ku<%pu)h8qd_QxF-VPBl&Zn)o`VKI|Ikgb+3NQ<{n5GITi=Jc6~}hrOG+SY(cJYUjLjV1g(p2v?%_cCHf`b+$)J zg?stYa|q#`z}S8uhnT-r?h%2-wK>MnJO1AjZFgDbrG%rYufn|LK5!N$1bfD+6|kWm zVEaXcINTC0D>EO~F-D8BlL#l>h|xQ9e#t2{(zsHuFrDgPgt~#kUNqGWaiV>RbZN{H zHLy99=xQTjun7O+HH1pX6hACyBa`Y&R5uegZ&|};b6uk`tI(ESDW&GE8Vu7pa~0j- z!5BuSbeL-dlY6~#J{V;0ie!H-Guo!IPtB=eahtkhw&Gv7G>SmIIQ=L(dwbkcQ|4W4psjjO`}VX$lq&HG+CO5E#gFS`Gf zecS2bP-9DSj)h-t8AxlN|6nG{Z}i?^NSBq$W3T zm|@8qw~5c3A>(!!)LZh8lAbkJl-9kqjuu+J5zf`Onn~rp*=Bu-_qwf((xb?GN)EI8 z=h|G9-`O=ZCA>WYl=;e;jBxd;Q5MqGYa!nV>!?u;Wab+U1n3r;_bi%znuHE7q-~AZ zq?^ahiRPYOr9bNQzF!Y^^YlMAGj2p#5ze`042R)$EwrDuV@=E252?aY^tVjw_dd5PvnH=3J5S;X{LdBs$macn|X(jQn;+8hQO0 z51?{M4ei#UiC(=bok!&ol4&`dAW|sXsWjt4>BzIEozBugS$Rr}MS**nzJ`Jqlc)hl zwQpi94L9EInI^iymUxN$TS{rW$mjUMOH-o=g*U_)Y30yW^W3H7;aG%p+{sna;*ef& zoN1G`p`8ieU%omnS|(s%Qb&9=xpdQnXd`iFSR^e}hs2Lp>n< zqF1PiH$o?~R=MVG#5i@E_R(s0NOHTa%TkGZUpv!!a!k~(_$7Tsv}N0hzu~>fi+^ro zjTKzXX?lK8%fDeWwoAx*`;x+vQ(^u6=9IL?=wd%n`ynjNgOh#F!te@Jz1=s+2JXY{Ib^E~N zNw1mM5&4{z{_WVq3awhB*Zd=mhv6kGM7m17L4r3>aFXs+)Z&kxz-?MIg@N9T8V6sZ z+3Js)eV1r&sn`fKm94cmSiM^pAAFo2{2p`Dd#{y9q18Rh;xdgEtYG>BP?x+<%_wlCgV+njA6Sp9q+zXMk zqtf0rBWfqrO`*WQ(Ti7Rj8I{-e@}XZonT%mPO~iQek7iF4+*z}++It+(F9)1AeD6C z`;iDt8}&luW`$=})j6`|bj$p5b`(`jr2W*IRiLZP(&BYY^p*wB;r(oJB|E3K$rp4L zST?SIo0iDgPh7lIF1z0ORoNb$i%bErf`(GZCpg4uUbJ8B4jk5$eyU7NgZH8sBL;=N zaK;W&2JGfadWZfhZF;eNGHWcuxr;RaV*p2RZhP8 zruPm#k44zL3HHEn6eHF+`8*lhHv1Qxzya5GlIjk9G-YC4`}r~yKcO}`mQVEbLK;p- zknfgdJK8qGyVdD3+7n*H553^HICh5;u-2^WNMV6|zDzF-9XEL``H>MLZ_mnUNyV?)h;C5(Y>I z{e3j0EFsAtZ?+iaeURjE8MRNx!_IHhumdHV2#LGt{eq3tGV3@B+s;XFpSjcS8*CXpxttf(3FeEI!$?NT6 zTAe8#7ABYOzQ&3!P}V)_+3A&hJHbYqewNQtot+^V`$5}+&|Jxgqic>R@j8d%QEf?% z0}D|l+;%s*Y)nq^>C(tyiifyUjtE?{iR%>OFiPGqmpOak_2)NHia*j5VjhdgJt+}X z5I#uuth0h7k5xPDC09uD>YdA+CIuWCt%m8;og`H;FAra8yP@|bw*f7dj$%$LW$Aeu zFuTb$%yd8U{at#Y0oOSJOws63SK0}fzF*Y7?yHi9k_5hvdDr(6=CYza-ouH{)Srk7 zIZ!TH(#$ul$xKU_ud_7T6VFo3o}{uIkYOVt9IVGqC84rIF_GZ}eml;_i^A7EF#1ey za%SAvZatj`!MmWUiOmV$YYXOqh`@%C!Lyfu<0~yx~s}QaVZYxd*U4$vc;P#hO)1D4@`tiFP^fbY2S{qwg*v1 z#Xh76Np3{M>5OXPx7O99Z|TOQSgPKa4<$LeVJvZ>M<+P!5`0ppJN(Oi(3^b6@gY>(}|fPHJA?q(beo{mCx} z8CJ$GdVv4R9z#7+lQ%l~>O{c5m*oG4oUc%QEHVAF-`;3-o-cQDh?8CIi?CUkU zYwhBl@YK(9%>VmhVCRq(^Ms|&wVs5f2>a9yA9X9CG476U)`p$))8=IQq$YrC&D1|9 z7YJP_Aw3fIcE-{;&MEnQgq^Q5#`#e>TV@&={>0zsb3bziB-DIlOjC5lD4PwiQzw(Tf9hZW>HzzL=q9rqL+ zhfW?ds8<%eBEEdIq60g{NnKZyW5ekxm(uBJ!Z`9Z z^hwdPjA>>2)jPeFxtp0fr$lKlL`b4_Xc*tbDjq~rPI9~HQ?=$_E>wSpcq|m`QK02Y ztIffF=-V^r4P^<}7iMH`Se67-(CWnZcNpxIvoha2>2c@8^39%viYf=J8h6Z~={y6P zg78_inI&_=Sf7>h<->>}c?X zq;svM&t)bvZ^z!dZl6%8=3BPk%s5W1>J&eQCeWR$1@^~fJ%vU5mCu$sTsmC|QED2x z-O0$A(tA$gxjN8T=%K!YO>&!0IH`f6Fgjq+i~DHiH#fEal-gdw>3s>sG1eQnt@B}G zR6$R%f*Vm^$n3bwj5}hi*sy)X4n1dSs-pc{#0IV!Ls@4o>ydPG9z}iYnHQx7%B^Lw zXQayGZGBbq2PECP5(qm3CT;%7kCe&M_~Fz!ni3YOT=tRNc&Evw@v$Y_^K6+&;7s_3b0b>l zAcwO9H=Ab+7pf=YC?;QTZ&vznCuxKlgd1Xum;}GTQS!d!i1oW~D>R-roLemoSaPs> zqAxSoEj$#{rPvogO&y_khtk1zuA?fkvi)izPy5;#X6~m3VU=g=-ig7vIBFxog~rp* zagwHxB1pY*Om>QXFs+b%_zXR_eg`S`R?uMu*K)rZ%v_ge5`ScjXdyj+Q?fpvL25lP z+_~O}V5<4vHi}t_;1NkDd37!$n)E7%3h}n14&j1|97A5D>7@}J)iKipa{7Fhf?7&m zP$a%TIBTK86D!s6Re_heU4LXxCx}E6zS6W3Xrs?Z5A3j%lUWTb!T#5@>eUqYWKtyS zPG-qubeBzMm(^Cn!*(MD5eMtuSLdbM-!qEXP=(42cZv;FZ)SMjSuJ_Cb!;Qq1$Iyu z@+R=LOIHz}3c|kkz*Y&ZYo$5ll=GT=i)%b;!l2Axa-FZK>}7}rnl4>@Fip8YLfUNR zkn_|%71@yeN`QKb9^Ym<9UPrR>=({uS7c0xz8-E|CmE+;Y@46*96c!RvJ_)1zn4?X zKn8Ucdpjvtjh^p&unVLCMA3$clI^D@ljSE82%{<#7!A+yaxk^Uv$G!-PKxOtzhB8@ zN;P!dz7?1jF{WiwEKQPS%qHhtCEb8$UwD@a3GFxM#2V~Zk<3*LYhqequ>*G-nZubr zjyZWgRpkpqG;&BqVApH55xeBmS3Ir`%3|et+b~%JV_nRrY&VEY*#bSXmL$&8q`+CF zd%{&RtJd3_@?}lO3KY4@S?8(n!X@1uNz5#>h3t)wRU}3SXWvNfy>p0)zP(Vx1S4u% z=G_sTze!ZmO{UN-WYTiCnW%ngg(GAfo6hxZutXgK5Wgk&|R>eDvTPWDv3(G%a z+mQ|T=b`&V7j&`W>36!q-NM7!Vxr&75XPtsOW;16WsAsGrPbJDkVx%VwlcBT zWoZZ*WOoUos-Tz_@Lp_M<^DRz*MR}awZY{~rI=2UXH9WaR}U{CE~u`^aWcYq1W|~u zdhi!N+6RD#qgFe?M6fBDwoiM&S#^UMT9odR8RP7c#+o|b46(S_Ht8E_9?BOSIA{}( zwv)_#<=dx2tP-guSB)d@*_bNNU%|UEnHRQT3yD~j0cuSE~d2bcpf~XN& zVwH)QX|mF0woAHRse_V9srpdTH?bR3y{+LW!Ejr90~Z^qW<$d#91m^!@9Y=Y)7R1` zIx1F3aWMJj?T&?*$9K&gaDBY?0xQQWOeY6QFWLk$+Pl>i>3eOP+AyUW-E(+WaQw}x zAHAv9>hWP5oxZ*7EM>OH<;=BGdWM+Ij3o!g6)X#FPFM26QTLJN(gpR;njs(4skG}M|D3yEmv%ut3#EDRASqrZ<*wz86LFXUQ@QrAI?uLrua z1ltyMo1vK>UZ55m2|V$&)gVGgnOu>Ri8;CSl9L$K-@7#X^IBGg)PvXb^lGefzngF> zOqU+;rY^$Tojm-ZB+@6p{=nt^cLut*063((iJY|@{Jj9x`x&;8BZ+a)6rsve((mb&kHA}?S93xRM1{R!mkcvE z@rWcnELfk#ZT|7=11O9)mkc&pRkX~NZU*&;fbW5U$oc)O~1YNHzTnt1cg)P!3rMqoM?{x4Czx!*42C! zeegZR2gjU-Y`4wEaliSGXUPy3}C^|HMn5TtdGq1s{cX z0S&{~tJxbLrjbvd;bRA6DDPKaBFK<7*K|TDluRE#sr(K$=JKTeuQcpcc1xH+F^~T! z9ab4G?DE+@!=xRNwn z8q^F+jLfeeGLEJfdcI@LccTEHt0?kwxYErh@!9_B7Xd8X-yAQKiI8uWvwX@`Z!*+|;uqXoi~AN*Uc})+FL?{$^Vm}0Tnf|UwSPOh9tJVe@Im&!7yM_ z9t2S7xL~sSAc!Z0eADTm1MSu*JOT^1gCf!2T?TmOF;H~%`VQf=`;m4~PYS8dHMv8bw+vj=e||rp z#30TRZj$zwY7YRCu88>6?Q^kFpiFf%5^LY^-~FM0Rm8Bvd~N_&vh8H5{nd({gd27$Vtkv|0E|Jn0=j zN5uRI6CpB5oEeUY=^-ML6kPG~50yQYfBha1FT4rdTi(XM#>c;WWcT<@A@W~Z^H*>F z+nw!#N<5(4=Y(L6|HaU$Dxk&2{xghbNF*0^?#hBIi0<9<9!M1R-qno%pF8D$(=AK+ z*Dnd3jF*)eS)^n-aRix=6l*=^W&rb<1t^gQK?e_Z4EQ0S=RX4t5g>D10|xo0))VL{ zyMwcZ*Z&eVx4bQ?|Bf2>FQe~VUZ7p4+L4(n>0cTY!t=jW{C>qLLTdc6f2Zo3d~{6p$I+y4~7`#lKq_MX8zexAI@F1v9C-@r&I zaCrCr)^`@(1r}cV=1;mvB)=!~sm7b91&69C4Tg&@4|`bZ_aDR(zy^UX#D zeDN6~*7WhaRIxchlrAHSq(Ux~)WK57$0&)7j>?EW>T3;T|yi^J6|rSqeH7#5hDk{>rmq z928=8Yl!yW&R0vLcbn}NI;W)6c_=44P6>q&X{iGHi7f?%vFFtzbvy;9TW}0Ic{!(L zr|;lOjwqtkO!+akqL%h*_5&rkE0klvf8h_AF&62U=INK1$%%-GU3x^Y`mi!aVSh&z3n=aJ__QRWA6tUcU)Zb~Z>1^Hbn_eGf}CewPl zHSZsFd0@r;j!g-twQm3Tv8|Uc%aXC{l3`0==j;DH$7=8OTLwdTcqo4OtK)vAf60W+VzX8{#6Tm$k!cUq~`c>EO^-+wi z05tFsOfCvny4WqrW;qYyATMhs{L$pr3dzO>|%VjQDP#nQNeKp)-;@Prm`w!V0D=%?|4wP9A)MvGI%4o^w@qrUH&mf6-YU^woLLyq&miFCFjgS5wWe zCBr))(BEYDY_K#PVSK7JtnVi~jtnaw(k$o37CQdNiXq zk~Wm_qc}gAN7995C*b#Iao724OqDyVxs7yPWz!F~by$1dy%5=!)zfOn2EzQ~I6txF z@BB5rI-k`$tS47$@uYAkM?POFmN#g| zyw4anoOXAreCL+VMZe=JgV{+vW4DqRR`1@GPD|>MN!0O}H&u)5nUvU8SpVV@P^7sY zk6XLCs;WAF+*co^Ci`n}6dFB#v_hHfKyFq&SU@mp(DpDUOVqkMWBr4Ytf4f>5>3CM z(Qa+=fMvEc&w3*XtCoXA4k7FnSC07%qOX(>-N~U4=zHlXuAijmS<<7ne~YE zA{*iMpxXo*zUCiKp;b~qW%Qgo2IdK_6AO+2MDv$J5sIfJ3gE}@=hI`Gw;L|w2daI2 z=$M>dT;{)+H{WHwBa&}~eCqT04n+exMU0HElWNKl%*voQTWL1-7=FM{tn4%ogXMg` z?($%x#{Gkq_A(oO_>25C4+h(bp^GrLo$=P}>i1odA+o2BJ%1|i&1QhA%#O2aiX{v| zy3lvXMW6|l2-%@~*x?#K2M!b}{QRGib0}t6zjma1RB`a6zdo{Dj9lIcI(J7XfA>G? z9zj>Ptf%yx%QJhS$X_c7J+@r_KsZ+CwB#MX?Ks>6w5O)3%tkgpeCL{UT=ObPsh7Pm z&4wQTlJVr+;7&m^mFuWh>ub$llc)=EarI3{z(%LZg=6x_A|Af=To}6eYtpJta`W@s ze9^p0aB-Nfd3b(IQat^^<7rJtT`gp;lByz&_-1U+lhAW+qNh`1_g~$mRza!@4`WOC z-pvJ2i~Yor{jM=Ea9V7S?1xjHg9RL;L()n4!^6vyLObjBbqf-s=QAJPjJ;4#c{(7l zuzz>9nAQGvY3a5POR|$e@$P)(bUzM#l7W2=TG3;^<8k3^`Mc5XcMAi^ZP`n=`c(~= zPGW9C#NT3Y7`M5Fshe@h^jqEiL+P!#RSCGgmX(N}?~>)5Y+f?V>^%=A9$neJmJs?= zSD0h`?P0M!yYuQ~&6_N^ZAT;B3;y+yl}D3{U)<;aqFKYwLq6EAn-{ayiCfEkx}jsQ zd*=7t-z+Y&q@m#FM!3It?a8@$qk%b7ToA@h8m}+D$aKu{{hs}a5F;ep3%DJ%^tzz_ z8C-Rq&vH1W?5&BtCSOy~sba8B5xhZGiRy{0acaF+;9<>4tvB3ysJJot;2!&t5`n6t zYjZeJon?WB$r%&8{ts1@S_VIckl>0=YgGoCp3%9qUcq?!#}j_-hSq>Ga3E7u9XV2X zWjHn`CjSdanx&)Z337NX?Vs>tf(Q@!9^X;GhvDk^wV$6u`P!+Dd?>oYKJr+n^|jaU zu;5Op-lsJ3l9s zA>!Mi*ZAY2<$Qv6D-ki)5MRTueYN#g$%fAM;pr`Yz5*6XOF{p;G5IfWr9w-vyK4Y> z-E#<XT;-Lw50*ddmxN{BtXp+G0N<}Gli*r7eHWeDpxgS|3O|sl-x%OO%iI9v zv&dIP5zT`B|${nw7_Ow}Sk9EPDcX2t)e?L+w)S#S4J%Q=Zbr0h?flGxSa8eiy z2HDGi8mYi7pxq{*g5uMrXpdLp#=G<8Qf@O{6L1_O)UcBE#XT#__{%q6>K{rdiW9g$ zZvC<2<-0MUVf){k9J80rRB9G>In_y7R?y^>`M+bOibu?GWT57+d12z5Y&661V?Sqx z5Ubhltd{53DWbuA1}AXhI-1_*$lp&vP+G?J(?ws z0mw(ez@+5HNxMtPd0Oh#k~oRB7OkJ0CY!Y(&>LCM5WK?q;SEg`7uG5D=V1 zx=-@7rS!DJR^Kb$xt47K*!1g(>I8^QbMwpYa4WOS&gz_34wAbY^E;4VsIEKXF?GLod`i!@f={0&{9`dcV8_b4(kV9bmKaZM{EI; zJm`^^&FiRH+sxt<(J;1Z20S^gmZoQ!%CY-NPp9K#&uh28rh`dopxOl^f=27u!|@0b zh&NB#Me(Sm(mnC|ats>09A0KDUgarfG3UG##Ovp@T9LFjUA#SJMhM-fR$!$$-mR!~0P0&Y0bFf*n642aSr81Vvy z<5gVrIqco4kxx3e45HAf1zHeXP=zdMIsdOOLLs~X`e+D;2>^e-N63cj?^ZVlk% zxmr41O0We>RV2*pxiQzRv|69P*KHL`gU1)K6#Nols#2;!sBs(a6qtJty#6rVQ|EFG z!u<^c1!hpXSjBI{fn2PL|2->>_~O-L(=&A9i+M1Fgy64H4?lvcIJ}58*+7+l%S20b zG#v7#2t3U}s;Q!`Q!scsRx5#_Nf3QB+S6b4tA*ox#j(tUG7d{ee1-nCy~tz1rY34> zX=wt~&yjcoU!{Bt3yVB&5DG_TjDK`kwXn$5QiCj0LT7bcDFK022rRzWOpxU|XRoCo z0YSYEtoLUqAu>J`5Acbt#%7KF4hnV|V-`vGdn+0w!gWvrMLCP!U;Rf&3o-cXf3^60 zTVYI4wMKG!9+&>B1FKhlP>PReNdwl5+#XT@IO5)`(ek))YXL^$373F?X#rFI-FA3M zheU(boy-)7h7AkCALD5{6M?m+n(4F@F9{&9sv&tF4fQyO5cyh|U2elnKz}#O({QPs zJ01t^hGJ$GfOAwm&@1MdCfCS~*<(2Wj=#U4xxX(i z>{&z$8rob~61b6Qs97&%WMvgX<^`y7bKlPP1-$#$R13kiBMdPSjocc8?&=-jeWmDg z2%$G!Kn2C)(d(sD6-Gxyp>pZg_qw~~-^he-OyIv&2m3?+{<%SZVr#Jg05N1XmFLGri-TKzYU*oT| z+O}UAf`YGwh@kDSG}CJ00$WH32x<|p$`lw|Eak9c0*eb6i}DJ{Pc7EZudW)7 zw~@wYDSx69<+Cz#h?|?63;9_lMq77h9>KKf9*b>MCnk9MYONQyj|TadV literal 0 HcmV?d00001 diff --git a/input/images/writebackqrextract.png b/input/images/writebackqrextract.png new file mode 100644 index 0000000000000000000000000000000000000000..446a4aadc076feeafa24b28a660631689339ba43 GIT binary patch literal 76627 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­v1YEHE5QA=j^U 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
  • 5&#&c18PGc7 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 p}FcW;kc0x~l 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�uPBVJowN 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 z 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 diff --git a/input/pagecontent/index.md b/input/pagecontent/index.md index 47a1da5d..3c47a101 100644 --- a/input/pagecontent/index.md +++ b/input/pagecontent/index.md @@ -8,7 +8,7 @@ The Smart Health Checks App is based on the CSIRO Smart Forms App which was prov ### Smart Health Checks Actors The following figure provides an overview of the actors involved in the Smart Health Checks (SHC) solution. -Actors Overview +Actors Overview #### SHC App @@ -47,15 +47,15 @@ The Smart Health Check App follows a standard set of interactions which are summ 3. read or search QuestionnaireResponse; and 4. various search requests to prepopulate the health check form - Launch Interactions + Launch Interactions 7. Fill and Save Health Check: The user fills out the health check form and saves the form data 8. Writeback Questionnaire Response: The health check form data is written back to the SHC Host FHIR Server as a questionnaire response 9. Writeback Extract Transaction: The health check form data extracted from a completed form as FHIR Resources are written back to the SHC Host FHIR Server as transaction Bundle - Writeback extract + Writeback extract - Writeback extract + Writeback extract #### SHC App Interactions From cbf4adbbe78564c2124215265cba27a6fffeab85 Mon Sep 17 00:00:00 2001 From: Heath Frankel Date: Fri, 4 Jul 2025 18:16:24 +0930 Subject: [PATCH 113/177] Update overviewactors.png with Read & Search QuestionnnaireResponse --- input/images/launchinteractions.png | Bin 197711 -> 67266 bytes input/images/overviewactors.png | Bin 106009 -> 35993 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/input/images/launchinteractions.png b/input/images/launchinteractions.png index ae045e9392ca5a87bea0bbd94925ed204ff15e2d..b43014e529f8049a39d3f0a573844598b0205140 100644 GIT binary patch literal 67266 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%0DHO< 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
  • 5&#&c18PGc7 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 p}FcW;kc0x~l z36)=Rrsuf&NXwN5*00ylP8KYhQHR@O&KVZTXtI|ZVKv1f4z99>Lsi;#eZs0}H)A`1 zcCJbej*oiP_3=M9AjM2m7EZ8l{;X#z-qYwkK0bq@6_4GlYR1N8$ZV>82-BpVr=IRO z(ZU^ZB?rx+#82L@%Pw?GjUd!h?QKYhUam=Ot%9+?OKDuwrh7+|r!fpYdKyJx>kcte z!A~_z{bvsO(vQ+iv5@XE>eRc8`h70w5ohbCm`6EMmV@M|e!g&0e>MEJ<&70Kn|~Pz zqn?zX@@eM(_y#XOx;b^(Opi8F?C*&GoLJMfE`5*>}i2<&Bxg-v?7={UPLJ) z+giC2$U*MCmX$C*U{2iL&GwbyVDs*xyX*5JJg++@!YN1l6)q3$#RMIor9H$RLFgEg zS_Vgq2SrdKY5V!2a5qdj7p7T5n775ls7rcjxoeFr3}z3{dRzm(Ea9$IrvxvNL!{$d z+%44QzY86Uet@mJ#tJ(2Xe$mqt@O!8pG~1GA^H(psS(usqVNLB*&8YIugKvv7N!F| zZ}?*?-7CMYeLZ+?v%c{nYlPY`+a4jbjq>pehI~7TFTMLbzPNvJtGraXL?wKhTgbNb z$Lnd{l4)6-7ulI~QX=77I?f})^H$1My#ELdi?i3S-)V}XJUd518>dZMRH>xt2 z_wfI#LjHAMtt=F~g@Q#ImPEuC&B9pX$|^Zdiw_m{G?eT1b_9H-l0-sBIfZ1DoVGs6 zs*jx^u3{UAd~<1*OKeTpX>Z5R1$2RU%eQ@q*~0pb@CmXsDM$f(h9`rME1azJRw!4H z8s8yMIViA1zN`wFEax<6_t3O-?4HdtBJQl8$glzX_c@h=X3^F703M=w^wTvj52MmT zjZ*($$8P6YEWOZ&J^V5U>qT{!PJY?^c@OqIKWm(@;Yd9S&9%buxja%rC#mJqEdJMR(b5r?s%5Eu z18O(Saca|Yvj+pzQXL2qQ%9HbC4-&OhP$T2Y%yr`TKd`A??+u?D$?joB0OT}>HU=F zQZ=woNP;N|6WuRcx0KU+HCM?5@}G%XSn2GakEH6FUUpyis`99Gvs!Ur8{L|ztdyQW z|F2z4ft8%te?ugJW)6gwTaQ%Vv{@-SEvW6ON3uU|m63xtB@xYr=cJg{jBRhNzYLAJ z|FB1Q-OA=vbmeZlGm-@lv!D5e6%Z5Bv)Lw|k}KmnI5!(UE|sBf-raTk&i5A#!_FQt zcfL!plo5Pm@|`-foE|;%dAaiEbYx|JQ~rpV3n*kXn$q(JKG2S|onC36N|2ln#cki`wQ=3#ru+0DpAbqw(Wv!QY;=8~U( zXb`^m0GZH)txhy^k|REJlX?_LJ^g)myA;lL9d0l!ie~!b1KmIaVsl60zME5$5DImE z7J6V=%KCoCxaR^47b0N-CA_dbZ)%l)(&4H)F)iF*LA0~KFTp~gnHX)j2-CBFyyDQ4 zQ3S@-m8y#fauE=59{|r+hXivWhE_v>1w96wCM1)^bd8Q8cI@=-#}1s*Rtx2tCnxM$ zR%@f@d=I~S6H%RJr8g?4()r10i@4=^%(HMNeAE#`$DjkSul{y;L%*j3F@o8@4Po0b zoF9hE<6%TsNqoedGY<)&f6=8|CLq_M5D9esH<=D0 z*OY&24m+zYcnKyZ5DSA$N6A-d%5ibh?CG!3&UL7s;kq(WCY{0NV=r)k^J{(`1T^VIH2SC8j zIpG(Mo3wix0Sam?pBAkTCU308ub>rVl7>Hkbh~a>=M)I!+1*U|pF-80Zw| ztU1NJoD?tz=z8BIE*n}zMSaY8JT}PbFirl+9^Jj<&~QLwtgJ67v|csBzusw{-b z=+($MK*z?qMRza3ktkEA>g+BO&pT!KwImzU?C$HeOg5L3C6KBWxW* zn|`ZEnUpH-?kpD}eWI&3Wh8OE80b4Rl)3Tw0Og!iMg16nYj9N^xY!voFOw@%2NaO? z7dRnCKd$Fi#X*xJ%1iuCR6lMeyq86HweC6YwiMviCjG0v1#s>M=m$4KBhv|vmNFZ_ zWyFCGg~9%@!eIZ^r6gq1GW)HX3jPLNwfO6oGgR3qVe=ILUjbmsHyF94@Pbputq(5c z2OfxG%28v?j2wiIrgHTQ O%`WeH$%#sUslXEsFqNhGsj4>Od?$uQQ2}7@+HDxd zAbJ)BfW2K}vr&kRe>{!kW2J#T*3D*Z9U6~%yDPxf8`uRaKbX;Y3Hk}r=Ncicq`?i+ zb<^$=PTIDu=scWx&f- zu3iNYwg(_|Jg;&?^};?K4A(m^dSbbVS=%D!4Z<^WY;`r{W_X6}bHHZ=?m9My(?BpZ zH9#Wz1|*`9#QuF#r1r3p@HT<~YU(1WM;ePxQRe-K+N;+jkPd@(>Hc z`QaA|^|T&Fi!P(u$d`bSL8A`V`wFpNs*i(GaL$gIMrK5x)(m^BG9v+ zw=D3rR3uD?PFES7G)cX&s0x`xJBA*})Dg8H=H zvTA?357ETqGm|6bamJCerNMXb^vgOHL0Fq2sc>Svao2TWhM<>~xJe-#bBy1j^;-o| zeSmP)IxKZlIl!jK>JmQE?#th6Z4__47qn^LfV#wyCTbGnN3m3BrQ^B_%i7%VkY^r$ zw!A(ucPib~;JT5zi(*TrOomj7)As|Rr`}E4a+Q9+`4YF&vAEeIJ7%@PQUQ}ZL6JLd zucoOJ59lf7`bx**E-m-2@56}&Q~C|v5ifCI6?EA6DUZg#8$?cHRrVY=&>U*zME<8o zq@U5;EH!~{ImW3EelM<~rHkZMH51>Y?!Keocu237v%vTwPYQ%nU1&l+pitb} zh%2g)zYvqZ6@)YZMLPVj5=*t=_R31fTiFSjF^>OP@RfK8faEOvBSkaY8c>>8GK`mr znr zD%efLQU2#oo`5H|HV~?6azGrHW%>X4W*h8QG~)i=c=?nUhhmKZ9%VI>238AiKu`2m zm4b;I@_O^37XQ~pW)23$VGkZrFVLI>%bAt`;xNK zPiLNI8@PP?3PM#uz?RcfxZvyXcL!GMm*eK2@00#7%V758`iTPtXJODl0Y%D`oKwJ7Bu^$qXeCF9{ zIltw(AA(HrC#mP#Z36thf$S3rzx2gGztSFoe?zb0;{QY!0VFICo|Cex2=4x52*Tm{ znzpq|2&g_#*15J@c^LowP$%s7#jLIG1b7x|>7}LrV_rsxDU71=sp#=6-p;7lZw^KJO>X$hAE9B@TBBDBw5b7WoWeD!e0VLoE#DUlirWKUw zDjvw@jXZq&1u(}6*2F|)nLxmxz|q&ZXdwq7xy724!P&QPT6!2?6GW}XYSFG&m47{} z!RMI&aOd9L+;gd1d(*}qmSmL^1So|`;bP7c+=X{{pLtlN83$Fwh6T6ZP?U2s=s9l9 z&)l)P1d81wQ|||ZF=t`SL)QB1D)8$OrQ8U7B6%S4JV;XZuy1=bNZ?gz?}glm5jZqN zoOQ=Erz&qGCIGWNrWDu#R>-j(kp>&3C`gT+QIfp{2aRXmz)@_1gWc{zQv?c<1f@z} z_-FVPm8WHOc|6#;{a2=sinVFcPEXaDqZPdN>jd017lfq}=)S+8X%KsbJ+l!tTi%GI z1VXT?1PIW03ji0L1VHJ|#^i$lV?gCKB1j2@NuCO+Zzsoz5KMCGb8BXp1+3M^z^3cH zBGFTm5!I%o4(dCmFF9dAK1)PE>3Ddz5HV#a#CFm1``Q9fc|w%;yb(0Lm&VKF&bn62 zHiB4!!|KMCdsJjGMo2l4lWT_X8BGDY{o6>OIdoVDhldEQCXkvq0%AiE6vk5}Im<&m4HgZq%|O}5E9Q=FsiUlV{vFF0v=al3kyLS zUQKWw=Bn7geuM-fyh?lMzMm5Wr@8Ds1jDSN-bgpK&W`jvltE~Wtf8qV))AnN*{#i( z>I@@)6HOog|M^j|lEs&W&OtON#bhP|y_MVfWpwP*-A}ug5O6+%bix&PzaL8FGE53a zWQH4o>U-o+7thhq#5>z1VOu!1kvl>9(FfsUNXC{a4;s^Tm58U@pn8KAtkfS6KAvrR z>EPp+_Dlijy-6(|7Rv1HKW;D`g05`>sIAM-l#P=iMoH+}_eCixS6w#V3a@}QxZKFb z7IuehK9(0_>@||)pqp!*48UELq(o2?W^CT6gn%tJ1exxVW?V>qXBm+WiA3qSec+?- zH{*gX`;??2=N^b;L@1!KX>CTUz!Yo*kZvQAoZygfYjr?n6q*SWV}Gx~m2$A&hVtABpq;!@!`3hKT!JeO8-Igsy>eP zGp736+j%uiRp&aG@br{xpaee0bsG`T%_hm(-N51#Pe>F!4u{CL`+r2XAu`yE!na~p)f@3r~#pRXbvo`jd#yZ#ucvC(Z?1FGkR3nqj8mhM;=AolN z?LDtSMl<_DOzGWpd@mgQ1phX8!5@0(6XCd|F8`7>w3v=bx`Jf(Sf`1` zENC&Ww$$3WKZhEs`+Y`c^Zw%R9)1J{Q9~tbn!t&EBy<7MbRKgd;>QY13^}8U+xF?u zv^M+PS#_weoe2h&p>mo zL{15iw=QoNf1U@@xw2uHU5vOGkuxg$Z!pDoa~PQAZI56nyj0)+5s}Z$(saGUZ>dQQ zZQ65uF6C?;qWdU?EE1R>3{~N+FqpV-(x1Nf%0~C>-+)67sk4a)MQuBek}TA>L)@#& z^H)ts9cH^~wQ|sN@T99x1NG@r%s8wH2Y?iEFXb)Mz|Aae7d3cumHURT+fomGLxLN7 z4zF62C8y#f2PdIkm9zRbbEt?4hIP;LiQ5~n?ayvY>T3(k6rOyfdu)fv{=lC1UHrt$ z6}CF2p0Iq^pL#1ZlQ;^9KB|F4p7l^x!t0d_ffs}$lm;2h8a6AFBf}X^qwhqAXFsy3 z^0x;W_6QJjJg21IN_Tw3^Y_#eo!YYOB9uq=nB5vcLO^G295sL#Y7jaqY)wJ{nz-U6 zfp2Yf@Y{k)?5;yz~B|ME9vp!^?cBHC$5vVltXrZH84jEJKK#e2yce z6}DWNGgGq&602_@fHmZk3x*-kpuQ3}1wFKD-#psIs1M5w6*6Iv-^f;x5* zRo-RKa^)CXhLQOQ?t+B?COX_-buiFMS6AL1yYvwtYVV$NFkXN#M{Rqj7(|vP^~NFB zMB%!T`Pe+FMh$x(&Ri8aQ+$A?Gbf=QJ3dl990M+$56<#e@PU3AgsmEzWc}UtsT?NB zwM-v6oLcZ9HPS8WO{x$Wn*1TB*2%tWCT z#vDAmaGVM6xo+ciX!{Ucava|1#)J=Or_Rv{wYE^@F{{A_yEltdmg;*&$Ky;k`)kU& zEIuLa6No^Rqh@^98}(dj`N1N=M0BjUpgn|^Zj;7Yia&aND67MO*$jO&`jwTK5XO(! zOa^1&z=KwFEg7Jj=R=h#FcS0N-no>voe-1Qt)IN>b=(PC-}=KiAIcjC63Vq6J8bHU zKF#*|rAKy26Tby-3lUd3vGc}V%njS{$ajdI(RxFy+2LKED*BFXa%K4#$2bBAxLKL% z8kZ>`5kGnV0A0_ZywCANpM^X6s_uDQZ;>PhBxN*qJP&{4DS%mZNXFvxpnkmjOF~}) zy|G@-JkTd^xOalDx%XZqJO72SFf20`6^jvM-jA9TR;xqNdmqmQoGUudo};3y5#@z@ zzsccTWzPQMs@TPl5)n%Dt6a&H)`KtIB)q)^l-M%dqC+kV#qLrzxFyXVg>#oU#GW|5 z?HXF#hRrp;wvv^w`9@4O7VWw?uV~RcK#{4soXHPQ_C?ss=A`Sc zPh40+Cup%3B`lRY=&iU8n%nbNxU`5fYK{0i6}yuy`2}peqFLoizHS$GG{TU;I{+X#TISJSWG9 zVw4-BS+fo3`e#E+uaC>>)Nh?jvF!E}NST7grS=<}z*HWuJ6O)7q}Dhv0q3>Tu}L-AdIzmbv;T)@|$YxX+tu69 zf^H4YrDqHY$qYEF`}lUFrHh@zVw;zaE$T#cQty|0!TADVcb#knggBJR&NCrL+Q(hJ zkA5Le#%;2#x)1D#5N+9lNXOyAtg?ngqB>E<>@gv8=*V6kA>Yk2D^H)?yK^?2n=@zK zLZelInJ0+<5ue(%lGzh80*oS@S)3`L_fv36-5@w5G!j05V$;Nsc~f1O(ZzdDvS~4I zM|VZSeCM;j-Yb|@q!BW|ZyDYJ;1%er#WyIl=bfxqV?VzY4t{@tY)@;GQ1on3MkjWs zXESEK(@!%+%SGEd3e=O?b=2A0)`Sx$#()#)F&J*S5`A5-aOS?LcyV3qizPUH96AZg zo58ajg5)c5T=zqi+usZwujl6^Z_{CqVcQmRY6-Ene{th!z)thvwnbe(0k{g$gu&7c z!e$=Z?c|qwHfTjIe%i5T@%aF~@<_`3enjCE6DMmYRzkiAyH#vJIzDK}A+mAvRwRKV z_7#$%`rMJb?sx-7E>{>&X87JBH*=YtPo`7h$zqI+KJF<&F_-}}RaySyw_CaL&%L_r zX3^rWDZ_$FyjDZL6mXOm9WQ4Fhtl(Z=1ppb@Bo4&Q^Ri~npnw&MUCL z7!zx^uOR-g9@C{|Kil-qThDV|HOz{fy4xW{D=u?bLwFxcfERMTu=)^ME-7aj&)vZLU&1J@8(%Mam#@t+3wjz zo#&Z~kNaDaTOVs!v?F-p@g9)j%wKB{yZ?kgrpw`SZ0&^8&^7VKwZH2kDxh0){w8z} z|9ostgSu`3aa-iDiHl!f8I;ld9%CqNG3Mz`6phB|kzW!wxv@HW9(19}wK{SvrZ#ks zjyr0N>^US8DSq`ZZ_kj_7qZGdt!=3IF8Z-M#249p4ml?N{jbJzJg(SBhkvIYj8n6v z*)J@7ejbicZmSiWjF0sX+s&ZII!yLnpJm7HjQub^-iBhWFB*Tv-bE+^4VVGi>qXE!H>*=F+ZOmPMn z@3He9)=^0lI7zNXBwyKb2P#d@wsb;1DLuXw8Lo03?ue7Vz2H6A65v~(GYQd{ zmSR1JHP+l4SzqRs&)gZO4{J2ul<0|*Tufw{N+(69_Qud^ zBtwu*NH;F#UYvl^P?VO{<4?pP!LGy<*UC}|$vV{*!<`+AKkAZlR5j+{ofS-amdIFv zTCBhqGD*1LuH-{6z1&D^3Iaw%Ams!!+a9aT@6BW4pxoA%`&7L^6{;9EOC zL@Z6YrIT&KIS1Nzy%)U3+{J6L?P%g?{*U`IEbBMoOgUw{P$x3G1&WzJK zkW;z&=wnQB>X!KM3&IQQGyRJ*@pqZBZ{yw$j}Y%`M8{pzUm;RgR}_|K&tUmiW@4x{ zn0rDoEt@IQ6e4EjU+?{60{_p2(MjLPTUDJ>Oa86w6+o|lK?JK|L@;= zh}o<26zlf2Z>p;!&1n)`mcDI;)5YNdU<@N_o-B1A4zP#_@58SoFbkUeculw&kjV04 z!t7*^;s(>djedyZ1e$>GPl{DNEM*IZa}CJYR0Zd=$Iyn^JW*#U63~5PG1wd@hWW;b zG#WVgQ+oCd^hq~dh*~tZ_tBw3+vrNBa>U7QMJ5bAr?J-@RhWYkAPEj}=aahd=Z8URV7j}vR`){}1WJuo5Y9m# z7mJ?`B&;T|^B9Th+0V|<;m}zc_=Ne}f4~*C1SX&78UNLj3_csw*sc0A4$bw1L9l-E z21_2kP9C=9186cHgZIj1CKK|+v|H{-lFyL3bHt>s-DEATrgeh(K?c&T{@*DP%y7kF^6itK{9%r8gw z4`cjhJ#*>vr71W7d+#@^Su#Hp8yrgf5rk{c=!(+Fh# z5?hP3_1t6f)DgFC8*aa;aa2B!@ts3mq%#U+(Np_&-O-F(b#6@f9me}JunQ5UBkkl< znFe=jH7|Q_`P@KEjC&3@{iz@D6*M1^_d|>7-!UTyZS-88>2uR2{kGkVW7WiLgly0T z;CfB2e05Wj=f3?M@7ydeU|umd>_!L#59-#DUiI(6Aj}zEND;hF|7v!9Xl;}n2k$y` zG}frX7r?>X2w`QW`&Nj}8tcADUYSSrR?b9Yg|4?q)IyG0!iClh{W0S1=b~BThQ>B3 zbFuhT%%f);A;@@)*1E#1UbT6lN_#y#If~g=Iq%VB-BN zzKOMI#R+;D$Q)!_^nVj<>orN&qKM!@IV*_+gPw7R2475m7c9m985ki6q+tp$9ov?I zh+rU|5Q<CPQX%6cK64m4X4W30|b~(~q;^mH0p7sv}68#E#RC4~M*`j78=1Wk|-l zq2F;P5%2Clg9g{^`Tq$~P=&ZbB>c5KLjwTo$j;)}mKFUwNjCc!*Z7eJXfo$YpIQU4 zl{`cW6YjA+-}`^Yc$Wr98bImT`7rP2sLE&N29tF91@J{7cmZQw?y0LYnY@ z=Z{GL+8!LB=%4V3n|il*@HQTy=f&P)=H3WF{t-C)??C5`=n%+u`!$Yw3G&spY>QJG z*$nx~QUB}j{D(9lWm$CK&nTK-v+qCRsDF;eFZ>bm&A5?g_usD#2{KebNc2dF(H`vsZ zwgPBlx6yV(t{@nNRU@J8hax3HU~$s==khQIBO3G7M+?6fTIg3RB2h9Mffhew5*bgD zP?nU9gV-vxRuciPpCvv%-gpegWf!HG-LJx!A%|Z>wK@5q#I?r<7zW_YlKcX>+=Nd_ zA_8&dABXB=Ke&Za#|MbpTM#DD(l;IrFCw0=XFBAX7kCLpP9pb7nqnE>_gF8WGOU8!c$-gf5?GB*gioa5c+xB%7U)Q z8z9MwaZa1CW6-s6N-&um2 z?u!tZe#Fj$hyk*Dmml{2(m)_Vk?%io|BMqtGA!Zd@BuX9m_3SzdgRt8m}*>{17?qz z;v5|7!gT9P8cq0wRFMeYt7dfoK6eBOqnH@F1xQu3H@?G>!^5PFa`s{?)D`t#`VQs1 zNC$yN2TN2DY;hhB9iY>%;E;ADKK2nHmmc`|jW(y9W88|QtoNn~BQYZ4Tq-~lD0U^E zWe-m(}&QMT;=Bxnz-pz@03oI4tpYP^LN`1N&dWJ6-P5S+FN3ecKXf1tCRZ zpNuv;w#s{0=@8S(f+41{4@ryxK!XU!!0G)7TAdlR5QEjfWdeM{; zqmvn^KuLtD{UL3y)v`P92Z(L1Egq29?F~iP`eFuD5nA#^+>A`{1i%-*bVI*ct(b4k z@0);vzCaet-z^mcEZ|t~B4%WvILvZEi$~Cmt%7WZz7i;T8f^jtm?;yqCrliU2?zzK zWk*hSLfLvw%Bl)qlnMHx#|C%z+jjt@*hBU!Phb{qJCb9Pz-(wi^LB=g8*gh3qVNm# zVf}s1!II}aLG23*Vjogt!J`h=E(KPX%0>GE1o{HHL-~#K3sAe{K(=!i3ijhjm=qLs zw~Rvo-Dp6!ucMTFj8=S-+=#I6%V9A#tUnekk@V<0f?G)==%g;)5ARqe(p8Q~vd4Cy zyCkUu)+Nv;B2hk*OMW2T{!)ev0xy76gW5g#l{aCS$A4kqi<~C#-#7vr$0H$i1gUyP zkjeBaYxfJwVi*yC{3+XV$NBh492fR2j47^6|G)CC{2%J=|EHuVrD$=d>`ROIL`{n= z*~7I~q!`8!W(v0yS+Z4RvM*(e5T%&0%e56@qQYeuqHMRQv80g+pVy)7er}KNKk)6R z2{Z5a`>_*rR%@{W9qqTBzr(Tn*FE@)M`p^Z}p?O zZC9vzKMz(UE(8wL>wZ@&H#AjeBPL|kqLUhm57eiQb$X0w?8 zY+#Ja$ex>}?>@h~pL>!!U@(T#7E1W6U$Eh7AeYoCb+O6$!Eri1tdt;flGb%W{u1u@<;kLO&9v@LrZ*Kj(yx<-40yB@A>lTYSTdR@b``Bmi1;*wMYCn z6V~UT{wVPOmbI%5Id6&m0|@4&zZHV6#f_+PNOjyY)`lzVzPi}YTfECEPYe%kRL-b7 zqd;gB=okX?v==7csZf;jIS=AO1dhpMg9+r^1bS>Glm6bQxIW9ez>ei~q!j@m@)WSY zf6~!fJhd%a7t1yw`MY#yNPP8CB*Wl80=}grxRNhb$4uU;L154`;b1;6Ruld*Ogs-@8qJITFCM{8gq$OoCPl9MYzLLv9f#5Hgs!l%g=%BtSoZ1eopWg%_6WbsXj9w zuN0?SPT!=&u@p%rx)<81PWOS%Prfa=0lUvANK`LE`~vL-AKZEOOSXP?1tXR7E2W)U&0D>8$Msx$f(%W8=UP*)4)ZW zju{PI_7;J@ki1Ppa)v}euduxH_S!>R>HFIn2NnFMC~|EH%3!Ce4+WG{)`}JX8x`yS z(`U|l_t(ya7!N{V`yj%8defN!Gl>FYYCRni=rxj$+u}BvZ;akJ7G);+dg`P!zfy`o zoKTlXvW(e`n28{B4;`D#qMd5T*0E=%CT~rToObYylT3TVHhtx}?y*eRtPOFqIH;4E z2b&cEc|?+R`ZFAhzHc{3f=PC|Mal$f9BWW1Vv3oi{MBq5a^;1T8ce<={Vw-3)jh@j zPN5`|2Z1T`Ju`v5>mT4;TLL7$$JRU3`~LV_4%9}yocrxCBaEzVKV|+)&zJ0PZ@ULY zGugJ{`+%hT*^L{VmV7q8reHGv|4aiw^|(QVFxEf3I6{5ED^Pqp6p$iHyCfR=|t0|Nk!OKWAp zLsfJ6;HowGFMGN65*!%QjamwT9v)NWAv*og^89*j#Eb%T*119LZPHJso+KXl!$dCv zFnYbphN{9!nO?e)2)GAwhO&QE0-dRdSQPw8VngQ*&>ua%!%?#+KqqQhs4>;rgJv(- z@E#XRuah8Bk^}5iilzc zcJl3x!&VkFt{Ky`B^-)vbxSePa?{qByYws)Ua#v%t&EpbRtVHJDK+yY0F9HYkANCM zCeM1&C-;ynC<2i!xa{TRH_P8mbPFkkZeJ6qT?tH`sDXa3?TLcZuV+5@xdJT&SvD(q zP(45_t9#;&cM4?IV8ZML5J|mVY^Y=@AeTO8LwP7awY|UiW&A0;;gC!vBykx<{h%~R z_LM>U)EO{&EG=OQIwXQ1b~#j9fPykMyCK5hN!%<*=xHd&4gtbN0TMH-?qYzdp7A$T zIUa@FLV#m7g0lo%w7n4Ibm^fzjdeZPi}GGJU193w zok}95Q^Ls87hkaKF?->%ULj`{s{8MgBt8pcis{!g<& zMbD>mU#Cuu&q*io(yfUdjxG;dJ6H}0LPf5Zfk#EZZRplHdSQLwc|A-;3KRSS_h6|& zc_M;~a{^r_a#YWyqT61a+bw222m1Y0-ef&$DsOY)G&Oh?Ng_yDl1r!{qWi`pu&+*F zbwpv4L(<})8XCS;@hR8fsw?!qL=-(yqvVR5L?ne{3?;0vpUF<89a(9--{q2w{A<|F z5QrJ6))FDDS%7>ZEOY)V&ykx5Y{>mw0)b8!m>TeXtN7TW2Xj9Sze+M9fEoA#r2y{; zCcu<7sz(pd*qB{W;NHFSydqzt?(}#Tz(z8P?&KUSg)QSm_WLZ;yEoXQdJE0h;V2qd zcjm+A1<2fB4bEfsof$3K-2lBU;2ut20>Ht{A0o1N3>`;J%*JMFRL_f-we0WGqB6Cy z?s*ZMqJqp3wzx$Uk<<^hFaj$tqAnF1>D?KICrTW6qE(*D>}6=Jmmd?NMx1mP#yE=f zMS5#9_V;Q<&XRzFHkZrL@#j3OAssiH2`=B64Hfea%Nk-hQ&pOQ?8dHi7AHrMB;u6m zTDKJFt?1*zH1zyS2nQMnYx5$w7)d~;0sr<+Qr2?=2-F1NXp&iaW#t zAi;4k*-zNwd{N<|Au^w4y?PBv>3)HqyuVoA7%9X?w&ky5j?Aar%F(S4QEt7$9A>Y{ zkBFVsJNC{FGfv>IZ%xN(+Rfu&_0<1WKv1~ZA%XdrfWznTT0KATIhj}Gd42TYNjaEh zIG-#Y$rks>Zw1_S@};Om11t~$sOM7cAS&=1D!oL;xw1P2xM^X#KsPnSbC)03ftzKd ztQ86qQa%X$&kxr=gYR1pL;`d+gGc~KQ9?Gs7x2ZhiqW4W8Y+A`A$12%nV-p0D4J|9 z+zNa&Js>4!{+@KgNfC}o_Ru!i1YA>qBNvvWgiXZGLVS=dB+jL{8a`^p!D$kxXyAwU z;nO%AQwK|G2{Ogp;-!2iE@@M8$pu99zF1r`%Nx@rq8DQs9MwjJk%~*g@~c|-={y{8 zkKXI7+8GM*T$NrS@o~_jw?htN92*#FCSl_SwAG~@{o{nmgMoHkQ|GAQy3S4t46PxP zB#Ol!$bBg$54exTfh+u$$v=tH6`Zu+`QIHPH3OF~8NTK*wkUXWhPBp(0j)HWCKYvn zJV1TBFx4(9QpEvtiT8C&9;8evmyQ-xRPCA?2YRazw#A-(HE1xfDBBP#q?Hl@X5$%HQmJ!((cGu$@XsMSwjCp)@KD%wl^o;k}0WoPS? z%q3(7`NH$slF5c~dZElWU53YZ+zWs3^2|mgc_A$VnbJaj+?43#q#G3~TrB#v3;0>+#%?26_ z;B64=ryd`k)8=fylv+u8Mo~N9{{dU?We}AI9QN-8Hyd#4{h+Xe6v+b}v#N9@Aa}S& zy@6$~4TVg^F!5Mf!_UpAtplridNx)lU+oIf;};Yp;9f7b@16qyUs})-hq@CJp}eGS z`v7@P75+~gn0gDRx*>p}eUnFCl+k@d7=@kB2HKbfhh2NUSzy1uNRdj5gh2AFNKI;V z7F$$kyzXa?)z==GkoQMpX`^6}1;q!|$gQC4o%|6{GTebT&o_?wm$gF_b)0MWF{dd%ULgb zB1m_qZ8Vno(U7`M7)6YVBo*3?Xzba~7RwMEg_cB6gO0def^;{saf5Q%C>d!V4C<875{B%oCe zfb2}m;xj`~Nj-volruLCu>2+XvzyCGE@OlNo0X~~?trgS%s7of=Oc;qZR z)qPCBa0}4Zv)_YIe%@gwAxLaqo!Ru%VlsRmQRVAcYw4%y1|z*U0pX2vl&k$o>sr+HLQwlX|~Z^rv-gu6UGJ} zO`D)sG#<^ltFP{A3X78p7A4&?K^sDcU2gdbGUTJAl@UiIAwg?9(NOIcRDZ#VuA}I? z0ri-TP?OlxWp-PGNZ_`OI~Y1p6^!Wn!vq}3`4;JB=v7eFEo^(Sn#D50pFE;Gj%YE3 zPn6y5b>i52t-zjK{)886-?_h98IF)U3>kgwdbJM`d}6`}p43TTdV0j+s%c|tRqoVk z)(fdUDu7omepfP2{@m7Rw84?2fz6f#Bv*MSJ;Ul3- zD{MzRj`3Pc(hT6U$V(wRVw0(W+X&pY=S-nrsB-7Rb#v)(-PFbFcGvY{t=z&;yRv45 zAfuM6SKac3h{i^==6M7mS}dBC3&Sh0ZGgg=`K~QEd=YQVb~s&%UFb5pxm1)Vh5Nknw|hIQ7X z53`wO^cEk$6xUuDj)83$Nvvn7Hax7x>wr+n>Z{Du?%lE)Qlli`QLG>uT`-2#65Nc< z?AqVFuqwJ!AG6l^NNj|sUD3JO;ZDNWNsJyLI>2?y7$$aHQ@h(Ke%Bso1ibQ9<^_l`GfuuUxtM z2=^BFmtB<%BkuUz>Wjelx-6a0+#N6Wu-Nd#%q6Y(pj`BHntYpt{D3qR~rkm8%is`iIWQ;T?2=4n|$=oz5QVR zBqL}{t~k`E$0JR}f!Tk$B~Df^6hgcBPZT_rQ;Zdp(C+eg5ZVUbC_C`dRIplinLz@^rqg6@T0(wEDyk4DD>S8cw&n zhUU|pGQ02yZch5_^ek_6(3MPjt)PeB^Vje6iVb-#Wav25Z?zA}Q9Ed6ICpXkQ9IQS z9J`+$o=jaBpUv_5+xXf_GL#3>;|4k+0#U>J6HX@Fm7``uk4FqOjJ%dU9qs&xWh!hs zTXQ<{X6(FhYC3a2KOHrXwvcwmvLqp-UE3+G5V2Qw>NlJ5kNoRT*6Z}7j?UXCOzc(A zm~35eg|fd7M|;)$w&RxtvyPPA=2NUH^R#PJ^42h2JZKKBz2(9Z%jeJ8;n92yS5~Zp z_DP?(`S9!{?#rYtuWV-cBG)QL3Pw!)#ns9(ye4w)>dC?3Woxxozj-Og?^_qbpBG= zBI_0x9({EnBnd@PeqLu}I=D!;6Q*%E0iG=e^hd^-NoD2C2{ySXo%PUsOvW?e68_hy=!ozW+Ag4ExtdRdpuO) zmoQ@Ez3-Wy;ofQ7Fm<->;WQDluvq; zE+E9!oIE)zilj=mFY*{siR&GOm;!pdhLp3i5amX%rCL#Y=5FGza&g@ z?cbl1ovaJPv(p91z7x4*64gR6+%R;n4ZKk_Z{M z@_ -oA0&4C#aWe})HKxgXfCObaKXT_h6O+9Cb=$sI5VNiza_A)dl|o7Pf^hG z*=j4xriW{r`0l|rEYlnk7aI144GO^*ujHvy?NXlY@lt-@3Tz?Wr9fmpIk$EuN~{2U z6{ouNibxX8Gpf2z`5xE~Y3cO*>-5OOvm<%j+8nPYq37_mjoj1d##9(FQ^CnbQ`2#e zlVAMJ@umE%%m&e&9$^!5R{007WhW(1p4Q`Gx0=xn`{R1*TSYx!bLdHpb==c2K=9fFd zzxhg{7dnsV@6v4KXL>yh?|4dK^vJs=jF0iSo!Y6pBcY$A{Q>pb++%7XdtD2%t8ka^ zHz~R&EAjqYtUw{!el?%NXgP~R%+PuZ`33h1?Zba>MoBCgSz(8G#DqtMC5@uqHe71u zTwhyB^vZSJgYRkIU-_hG^C_XguB1U|0<51F7+Om6-UdGJodH?jmb(-RKZ2Q{u?+@b2v zwnVo;7ndHrE#d3XvR=``aYVez_C+i8^wUjZyK^?5Fv;eyMQ5%o|MMeQ)67csHvLf( zZ7nBm7p-f*^ieX2GKwcm_nON3Z%{qcM-*Wqy)YXV|HwBit=TG3UxkQKEun;cAMAD) z2h3eI!+5*i5M}fe--KJ=1Qq_zj~ffto<#U%TXz$D7>$VuZE|=B%?bS(WvmBUPNV%# z&B^t*D|qTwF{@}2#@RK7Zd5hyr`pe3l7tZ(v-Cp@<*-9F(WQ^|w8k`nQ6mwDrE2x2 zZQinmcpM}SHv-Sz>~oiO3wW9!bIVf>B9kI0!q^9*;#}s%;Ju=t9i9L7%cPkWoglTH zxfiq)C66aak_mr<$`H~|^oUHZT`nlxuJlYr!SESz361s`q+LS=cb^i9+>lI#Hqexc#hbxBBT({Ku-e z|EJKCtEq4O{KX(ZZj78xXOqP(0+T4ok46-FHx@>cjBPo_}<+n+=0kWmg)iizvzBOzg4mCEnS-X zMh3_%+~*z2)$#p5C3dV!mJ&HVtrMAIkaynFuVI>CZ=%9uaw>aZJKZ8`y%OVeB95r^ znPnuYF+7uG5AP){|BA%HZvyG~1Q%Gn&CBMYxpXB=qeoMq@EWs02;Xv=+S|6_tNlUxrGTb~)Y z`GM~~|MeqH2?JsNZyK_ixC2;^ZSesnS2im}c4F9TS^NNVBe>^{@L8uLg&Vh`siYZ; zY$Tc6CZcA&R)&Q-f`7z*Gl|MC&4oScc!N80lQD4Ccq|0QW?amciDX=Oxy6pfD^ppU zS#mZ+X$7-&y$(1EV-V47_JMiG>PUZ9_eOUKy=AL$M&-M_G@7sCiq1Ayma>cYWqGxh zySHtuk8{$q0%F&WRgHzbMD5U`>3dt?VZ??cb+FzZRHU-{XB&+u3AIR_6WH zRC3`&yYhMFL_n=?uG6Y(D~9;NqTP9*LvmA5kbGE&qQVPgY#5g@&FIL#02#gF{*epu zgN7>b(!l)kCbmik@%ex~5=WMRhA6l9zMRQf(gsC^K5~6R_m0laAdXeOzE!o-KasAnG(GtCPCOZDX&J^wqEZ*b8~r*phR{2dQ8(9mv$y4G|{ zXlTU%fK-{bUp^%kR8Bb7Edy9pXzaT;G@N1`MWhcQS>d0b`@JsC4hqZqBm5w_`@8*mE^qO@;`=RXO+xWq^_8MWGXL2-Hk#Hn z04EHYg>!2gy>7dQ=8zu59a#qeWQatG>-i;?{j$dPA7K25wY<1~yORq8L8IaKFX_i1 zETg5Z_sI(kS6^dX>A#niwQksIryc^sPHPE~w%P=ZfBr#D&|T5bk3TgKl=kaOjJ?I) zRjxF~II-eGK(%r(tiN_PPN|?`#JJ82pa%nuK-Is^_`F5K22Ks>Y$J}hbgfm=>|HTK zachaI{}3IlX(D8Ia}5l+VDH5TW&a*>>3<;Ukd>yk4aB9|Mni?DZ@X0Cu?Xm ztvvvf(V|DQ@r5#XMLyPor(mEV`2zqAb$|_h(Q4*#=PDX8Zt$=64dN=&))`*QU(jl6 zxjk^ZUw~{Jcq~-#o^OUqTDQ#DOpbMM2_)*pWu)03pK^dH!#$2=;4IGso!_>sN2se! z@DKQ(?_{AldiZakhW-7QluT+n`A_-Mllpw-1@k{zNIbS2 z=(dVmimdiJCj(FY#@UaUd;0ay;fZkhY5>3r0Ks95KJft9)57!<(#muuQn**<*Jop= zn(KrxK0>V){JdME0C1a#1H6r{=_mzDWd7(jYS^|AEhI!{H4#D;cb#SHLF=!hg{-XL zAu!2lZ4=rC4qA7pg^FtDQ|-24Dsbxzw_!anU*?r#mQ3Z#*YcZmeg3$OoOK*V%=~Cc z>0K+cNui6-d!*4EDmJfn(JLQ+High&N$W;IOYXi&NKrq@x`8v6r7#N+gQ2|<6G`{a zbnxYorgJxP4bU^pRDZJhKn;BLh{P||sqx5pvGi`hKG*~m5|IH1@6?~OPJ_)?7zNw@ z0dvpY(~EZa+}t=IM?J?7io)6ZHfuxLTV8*yxNfb|pyJy#e9aLf4j`a9N=ZC=juA~`7JHa7`EHQKfIh{`;DoIX zHl~7|^&qx@st(^I!O{b6+FTW(v5%=>?G*-->$Br?nY|UZi4vLrJPfYS-wB=aerjU(YI|;uv7w)R7#`=7Xk-GgxbXl-RoNTGf=_5O}45_{HhY5P)Yh z%izs@Yt!QKg7e9nsd#^gUtWK1r9AM{$^T?RZ?R%9FWtG*V{p&i7gKmLcHZnQ(s&9O z3tRc{Gi|F#L^KQ2=ShV;^t`#hQl%wk(-Ojjq}^btY!`KY!`AD*%cHucaDNl5TXZEL z)r82;VJsqs{%0#DWqeFg%L>jLdZY2B|56@8+;>Rd4xMn2P+AZ=i^9<|t-1>~$>--H z{>o2YSie45tLpnuXoH+hW#5Ro@uh$Ig4$(lkCXahJE_Uu!QyxIU9byW7@z5dic+(R zag1HXzWesjT@`boN)D~x%RzxV_pVs{5U#BzafCQO1-HK7WenADa(zIZ=5XSsJyXMI z6#OW*IoTIQ02i{{(ze2{3Q|r z09Wa*N$N;>-oULjTVXWf&>c6?Q!bkJtosm2|8@~n_>;!+?y3&1)aftBdKi^>mCV%< z?7JUctSK=cY?_oSoiV&Dm!)~j?8j~H524A7mG=H`SrUKz3$6YaJnlNEBH7=y!6td6 zxGy>lR1FtZTVaVA=PquY$Oj@A(euNZ3-ky>tl6viYy4KJlMbz98{`2Mzg{TKIVgn* zU;GQ_&Adrjk|aPHK@n*+4;F$W8ckX55py7#?(>c#?@0jioDX$}EzKU&FepIs8-LtY zK|p3#s@ZSL{!f;DCStp+QX$Xd-x4-TiS_h}+ht8(jAzKmWjQkHO>n?JyGJ+-Dz}C> z7>S5~LH7Q=X!!u^hn|{oHQq8M@Rf%|W_frFfx?hv(KSc??lWmI&=4+?#qB=bqImt( z9_oGOcD|3>h=}x)O;c_1YM$bjSIy*0q@33G`R$h_ee#r)w2b|#;3LVKVjLXI5l3vW zT_%^>-wbnM6}0@gsbP{c3T4(up06>aaSjRgni$Hsr#4|=xID}#?Igig)NrWu z>Lwihe)SO1?6-E`YheaEuUct`5sW)yrF@>R+}e$W`X7%ezP2Oz z*3B;C5$ls|5dtk`InlroE3>zF^hBb$^pES?{y4!3KY>iH4-1m%gr#g`S&90CSU_jeeA38UMLgt=h|L}2v za^=nQhyJy`%@yOXfy}mpzp5B}UwRs|x2!CF|9qvu_+9&B=1I*o$@S`)?Mhtsq3Juu z=#iX#>jjU-oeaamaQa7x=%sr7VY@?Ghrpj?Iwrnu>lxM!pFGUO7BT&%Yz$Vb23Y1n zYP;w6cRnEMSV-MZT``%SQ1SgvZw@A7?@Poz1>7%spCaH}&R=|QnsvMqLv;c26d#V- zenxC`DMi%`-*bv5!9Uk=dHY6Cm0|j0su;h#ZpN!-yqa%c;)p_q7)pyeYTuSzzx#xK zWDb%@G|&Lp>B$m1gR%9eOO0gxBT-*X)Ho?(7wRr4GE%VqqmRw250TZy@3@y(1Z`tJfxBRr*&iZ8t zdv3zB+c{bn*Uwap} zlk(*f6U;Kyg^YjSP;mqu-w(rH4Qe*@A67u)OG23 z>~cb;&oW*v6QDthaVLTo&cu|eX>Pf5+>>^tyruB@bpoP{ZDtKZZnv%m>05IgivWye zxiR2A;gE#$j@34doc8m-0Y*pM`!dt^jYsoGg2bP;y(w$kbVE@owreQO06x+I-p7JSj4X zC|$)ww&n5~8dN_O*&+u=hcXtoqLxf!?nwX1nAPQ;rs>SSr{C;ZuXY2kFSee;w869` zWG)~z_>?)TrBt}t1x0?9_2R8Zc>hD}CQKWZ$oH|I5sB?K_Y3Um7o{&J$dQ5J-L#dL z4s!yM(F0E7qUghT0<{<{jo@g-+*|~nMj}7iTyRRqu?`TmzGAmqb&=(PBXqqVq-~AYv_($LbF-y{=q{wd(vErt+$8^z$ux-CM@DrXhSrh(b>{m2fa>?8cyFWc&*#z1GTz;QZfd{nJdSlw+i{p}u0=Y=41ebCY z-JCt8;A^1f9F^4buS{FSk32SO4O>ok>BSm9{1-l=V%@)AE)R#9%KyEWGk0j?B!-*w z_;U*D7zV3ZD*0$E1?xAIx^Hq>g|1rm-{xkJe7o{Af()01mgz%yez;Vuj0F{npahVD zRkQ#awLt5;I{<5BV6L&-*zmtN;R^Ytq}|RpdsDE=GkEmrqIKv8@}RUD4ch3?B~xo?N&%N#h~Xe-}!{Bj3YyL8wJ=B7t#BvBt z-0C|-b3`HAi6f@(k`__XgBm=@k|Q&7Z@H}sjxmonO0bVd{81N}CdD=;+kZj8jBYh) zr}*U}@R>>d2*7e4mxVe(7#_E$VzbqagqX1~gshxe2pg&X1n-#oUAFxYzU3bXFP?Lu zv1zPko{7Ym`oS(3-y_xk=^$u}M!-l-V)hp-K1uA}FampN>abn7@w>OhkF-p!VLZNs zQJvnb+IWsQ?l@&rO>;hh2Fej7AsMIvza&|*&G{5M1!U~B!Y(DB4Y`o8{&6IDwk3;b zJyBjMc^sNMkmg%82s>du(ak*Ze;)emrn_;bqx^lhMnoFxiG{%9I#uOLJ%J-*sOHJ` zSHP8w9`1d?MFaN8o}{}dqFzoL(2yf^7TMZJt{U~l~_dX|WN5U<7>ezi1+9=AQH z_@4g5@6@ylfJ=2}B^asyeJ|hosAXvtl>8d|pksq}7R^%4=g$L`_x4|C86Vvon#B_g zk}o82g2}Q_BDIiRK9xoAFBz@$6#7|dmZ>&84S+M~8!S=JiCAWO&eshJ3`Xlc64b+> zMbp0PW1C>otD1W~L~N|d?DicY#yS`jzc?;5R*!9rQ*QPJkh>q>h_jrG zdamt7%^&qApZ3X7Byah4J};}%e~GprvTa#T_u0k{g-|;tC$*@Gt-UYoEX-(A%Cr6= z{iWxmTd;2yp7$=5s!Kf*tqPykd|W@?19sMtZSAC2$U19+2&8E1ki9?SOP>HVYTd*p zrJ|inlw3sroiDsk_UKt3b79<{*j0RNAU{#wh49z|Y^9pJpTN@>_mquTQ+^UZF9Et# zww%s_HRUz=3ipJ6TJ{TH8Bw?oTQ<`HQS^+EU0XcvL7C-E z<1H^0v9NHsL+Igj|ozt{hP2=(VYXuu! z)J{s`*ke5!>|cKc%i}U^w?_Bwow&WqwOYzkJ+($h#5}@)O^ka?5xcL-n&PL6f$CTP zo-4W^h`RCZcbl#gnzqbuic<1Ew|>2l;ZY1(GhA`F94)gjNPP8^xwzlE0QIRIEU^Gr z^t3y&I*gBXdh*JkRi>w%y;CCl5 zJA6q$$HGv0hMN4V8=%t`3{Ta!o&h%H=2`pk2=YB@HyTg24};or_kb@j+y6HS2uHAJ zSTT5w7V@D#ucX~Z!$EJ2bSp4JGZOPXsNkV0>1o=F>Wg0_DKlHwR>VV1m&1VuaQ3I1 zfKZEOFPCideHsf#rZwYjJal1vq#C<&N!v=?-og1DOH1WSTY=`pzoJYjnOU}Jig|=U zdc0k$Z7sh2gJ}qOkx4k2#(;X1u|0#=8Pe8hOW<>CJ0IDfw%pU!H7)87tS^Ept0zq6 zzD8`Q!ukm0H$ps|t*LN{nQQDV!8YRXOVd%0ld=DVLsdoPPhscP`AqNi&_MyOo_k@1 zk@06Rf2!*PvIL7ZZ25L+2)f~x^+Ig18acesBTuPP7t<5J<;p?s{Ze3B`>ExLmwI;%&#&=td8O}kgt?ubhUyGU-wMz1E!mxQxkSHVByhG2MLSLx#kmXp%$ zyA0*+bQ$=TDwV1NGrUxx&ynt9h>Q5uL8u3X5CC22ANOt1Xa@Rnq|E-*%b+`x#Rm_# ziMnNn$uyK-KTB2nQzYubx|2;eLf_>aE}<+H+@JacMdVqBx*sX62Q!jX-48;ve+K3J z{;x-j<+DOY$mw9TnlziV_2XE{VY!@}W_ICvmML>l(3Yj4p=NI6{KF4qtf{0%QmR!B z46;mBjWzx87l6#@a5>F2J5xw&#hFw3*W$3XXlr|-8!{+4RH7k!MSfuKKR~^TfzDAO zC;KWbSX(;h`6SUNs$VT}hsCE-YI%z7K_Bu>{ZR#Q>pjW(2zc$S^I-!m_}Mwu@BL~Q zbi=o9M&fcm{`6j|Uyyh4!8)k@hH-FJy*e8O>%CwMz6J|v)Qg+OZZ3pt=MUwm;Drqe z$w^Q8>MZ*0OkW-uz3WrW;DVl=jjZ+3*L=3j)}3q@^#(uS)E2i_!J0qvy@7XKACKW@ zA!DgAiv1bQy21;$evI=S2BVCva1t0=Qd6~5?gXqQ_7^>_=sP(SIqcWHVom>t_mPg( z(;_FW0RJE4M$4v^napDex^w{)6~ll!mC zfK{VK>3lMDNCuGRMGq=ceI#&Qcj$ZGc~SkS9=xSXyZqVF{|7@TLTwlbV#BH91i-lo zVW>yl_fT?o7r@&SRVYfd&x2@BWdG;>Kol~FU}ddxI)qv~&8g9oR*qlvS>Ky(;_hVMbeo@wMZq~*~BA`VvN z^VARB6^^lANGWbe~d>xp@B!OI5`cIBXpQUT7`4>?lj^hVFJ z{B{TAO*DDh?-$(i1Kgpj!w@03X+ktn1UEL8M=;9GzaC#T~4`MxkiJ9LG%8;Fr; zqduLHQKj1z*KA{ktx`Ao#5U@E2zI#|fgQr+djAFuz{8h*)7f{BV4thU`I)`v;L9jWb0rO5^VT3kxhcE@+bSmPm?@+>8H(96I|>lp~vbkN_Mk(V>e_}`iR3-H?M?t0zEIpcT6EX60P?5e&J zv^0~snMCZ(!EL#pK1NtT?(}lLVNO_>aoOPKs?*=frr5(QH)OMHXt!0LHLJL(e?kiAfy%{gU2s6ThD#W z!sWa9k?IZN*zbjdq#q&R*Cve}(Mm^wA zF{JI;ICXJ;pf@{2I?*S(Qp7cS8|vgP>>FTrba`rzcg(aYeWH;~O6MH3m#0UKRDaO5UUpWe}w zfE!`z-un&w`LDFQhIBqoRMC_Sa$I`RHs>V^nZ&VqN&C}tNhZCXW}nW`7ABB;&PXYN zD++xe6UdYu2f1?iT6W)iT&~_e{a!=W#&?+lG6F;Y@1w#_ftsB4smaV&rXAW+zQv8l z%No%j3=|s759wP;kUNu})Hv~YZ6gZnu2$*MH+NiW6z_|1`vLI6%l{M{T#5J5ENR?h zwg9eIngFV4z%u5~h9CHnh~z(Wz$d+_(32YRV_bY}3EQh!X@NpBI-`HNjpNvld5e*rZZvjv2rDe z2WHEFOwc39q_@VWQxwt=U}zJJ%ZRftL98${wX=e&e82L)SHYcnR{0t;#VjT|W{O2N z&Z~h8k2K#ED2ZnphL0{`u5;{elJ4jCVH%?X$le`+(TLx2k5nL^qYKPtfbO|Jt^ZlP zqyX6}Y1U!uhy*}yhLXUA@-460z{#ypea`24n1u*uBQ;~LpV_d$vewhy%Urhy5MpkG3E86RF+n>}b9i^tB87@rzpOjrz9$6T@J zPJr?rzlA1im!X{Jcw*{Y8xoB@apMSEVC`PiCJ|yfbUKbco}ed5@@4);ZG!E+D>^xO z__9c%;~%KyC5|BVv>bp#YwbJ81)0OB)WG$ZodA$5yV0brVgS7_WMgU%v8|TGrDB4r zL<1fg6yBLtC?5ye6Iu@C19C%v91WzNOfjVT?dH;H;d7Nr(b`w>c6)5KQRqP4Mxln9 zc*VF&pSZzPgd~*vD;uRWSqByujGd3zIt|)BD`|KwU+;sE5mZjJIg3i+6@LTqwShFf zI(ju|;tsmsPQ`Z<538Bc3th!d|IL8*^=52 zXnPtoUW++UAJT%_}ipB>6LFuL9X6qG7_q4NB+j> z!s6Nj(bLVA!kK7E34Hd+D&SV-*8)>#rxxnM^=m4^f6DcN!;Vou?J_xk(E$3z5D1K! z7`YBS9RhK`q^ERH&;2bo0d`>FPPr)Xq21hoX;~?urN>8NSdS<*TJc`~lD}<5giQSE za1Gj|=0{>DuK=T&yXeYp1Aa}fu2Y8lnDB}(NS^(VQ_pXPnmO$n=D1x;eO-e$seA90 z52htvG0#L~>=&5C`-J~p%-0s|r=UEb-sjV;X#eh={r09J+I zEChA~%wNsN5PYxq(E&JydVh(zo6h%2T)d-!y|{eo?fB^7@RALbfe?blmPfxdjuyB( zqY6Mq=N(92HZrA0J^2?_j|K>gYeU`?L?R?fYeBH+72>kP@xy@7`*5;5W4CSb`M1aedr$gy_r<=ie%Rt*H!@T+D_Af&p z%&Lp-E67GR&IgN^#a}HQ*J#@-KP~Arcd@geuR{H(@R92IQwhmwc5&RmE+!ZbfVtWT=orXYMFr&)uf*V4{3um(y zO#Kh&7{l4Gf4>Cz(G)q>wQdm)Lhxe5TpYp5G6Dv)cjWd$c{{~ zO>IF9>+<5w=G4;n}g@e zBsx0k0cy28SGE52mHDCPFJ-1<*GI4Haa%zT@wjmHIydjuyB)aI{z}qs2A^d@kaEC6 zA-gA@J6(CBoybUf1du;#)Ff&c)OI%^wHSav=_%e)SOYNL$snaLI`77jWlB5!xZy19 zM%RuZv0c4-y^(BKlPo2&HcXUAyp{Z_EQ0uzY{bvof2Eo7kjb-(M@l|hjANOn56#+K z8AGa>%4bn{YgMrywgGJl~vzs*0)(7mj=LpG^0mD%-?Th$0j zrOFqW4c74HYH6KIC?w%r-fQDaqs)k6{W?zfafd`iUs^1gX>1?+Yb8#h#I=TaOBfF0&e+!-S!;j$tYSr@{BucpKI@v=ZT z!8uhjS;T))(5$+Hmzz?a$CJt0a!5HJwRU53$jgz8JrTZOculcc!5yr2* zS4IvziST9~EF1Vc!cZS54HSS&*dT-Z=T8acjuUY7-^w19u%t<*Yze8USSrxJ-D8UL zGA@HObA6o|!NA~RenspeBg?5_pUCu2w0sAqW! z1si6qLD{eWcL*W;y&ty7brb<&Qi|tDtkuUjF^3bG_v2n?Ehk9W{u@L%&p#GHO))GX zI5`PsQC}P|PIT@R42*#OzSOy33en69Eb3l~LY{g7ZRE1sQE~hsT)<4dq^op)oB%t1 zY)?g$W6}QyKp1|)ZM%rdSSI<9iUHsaX#oV`?3pe$a|TsbwBW!4=$ec45*hYi5jf1G z#xTY)cWk1nkS`|Sp8>$R2VK;15%;$WzVEb*+u`%pZz>6b;ykoe?UYi)z0mj^e9So5 zTUAik-~RR;s;7IP3Rg7V8Gm~M+l+ zf&JIEbI>t7D%X?0OF@lDdk5gh@Fkzcws9vA#e@9@xotXaHOVtqyJvhc>F(n;Lm+pp zahdbtSYv@gdqD&r>?#q3Y=ZkA7y^1#D^&y%mLxNaB$J(rYv#T7LF04$!yObb3t>^q z6pO^rK~Mfo&!+yc{$mJWaRYiQ!Y{T+04YVbz;gWzrS4Dt>;7ld?f1ju^5)#uVn7FS zuB%iNf~9y*wBnXvCAQwGrF#O~v3&i#G~27yuN~U)DncoY)n@|Po=or+AWEP?w61I! zr2Xtv@IP*d=Z)-Ck3`(NP+-5Ad=++ zVwL(Ho!O+2#0Eu>7SCP%cAupqsEG9egSBx3T(?}}X2!MY!i5FE^oLV_N`MtD%_qB6 zm&K7%Uo03;dBwXAVaJ*#I94q?atkOuRwpvIzuy>mcUYg%+qZ45I{0xQtp8`%+UZW8 zlkaWOw@}Ja6i|PItZ{j0ZPeaiq0-FLd5{2PvlYY+Tl|5R)dIkpjc!Qomhc69?#yb27d6=XAVmoM3$E#2jMhR?d86YR4P@~mPaW5!r=m5{Zx>Wf>X zz2HoU65OtZKi}r3HPA-?xDPy~r~sF^k;4*N{0C5@!0fK0EQAtk{KzM%f>fge$OuB$ zA^H{j<(5wEW9;Mba)#!B1boRd`51geQns%)-N_kBfyihifFw1sr!`|%S!YA84ZddG z7Q(ZK%9xcnh}*w}kBXqQtw5bw6dnfp5{xSv)$KkGpw5nE?Id$pG5-yf4=dNP=S+Yw zem}&3Qrrt^e@>?$cPcb1#k13|nr2(@#Wg{kX$()MKT0X@l__{7s?_ekuf(MRDL0^M zubKCXERczwE+%*J+^2&U+5q@50ImUINI5hin}IF@xw+&en)ddfLH1Ij&9N|pWY`r2lwfqlJe>t zKv8XwY4Din5NiPEJGKuqR0wS1qNZ)p8utiz2yzBFCijT+X`X@dK82ezR8y{G-2e`` zKql1}HfvhSzW``B`tEFixCAHUgy?YBE`GS=3;D!0x84DQvQUUai_G={h=0fR-#j=q z)ji0i(;-x}0CIbFDn};g`&CU^AdBf?OgD*~iCl)Hxbq88J3Ci?&R?d6|Gi}^0B3CY z)OZ0<6dVF4qp}uimh#dHz!{Y?h$Fd(Dceynl;65H$VMG&zlIPk;Yu$e6)gb|TOBO) zGdVEHpN!z)iy}ZwErd>8qRXFiw+}8O zG+?qy0C5Z5_JIh~WhxmuFGTJGLsZs4YIYMi)wC_Oq{LnE{&i=;9ih?eW9W3;)#t-m zP#8iv$vz)(%U9^Ij2~C{nI%E9DloxAFIOUX*gR__`ZtZy8KBsu!vPcA?=<(@db0Fn z3zRDfH9EjwA&O?n`wNQh*?r}>hXIHg@f`vTWAAIB)-AGBCBWzVl@{B!VKl2R0$)z&nk^DnGEoQ zoF3@hT2>ioLB9oTe|;9abm21d0FCgrw2t|orN1>hAWzqWqf{;Jr-*%e1jXW<<{^Dz z+sZmic&RxH2y>^eh<_fgIr)nT5q|0g#artP#CxrM3!IJL+K@Q2p&-8P1w4rHRJEUA zt%@eO<8xncz`wZnd>b^~xmSkL$k*Wb7TOUUWn6~(PZZ$KUo)An$xYiQw$OvmrCfl??ZRa=m`1nzb7ju7pZOJ z{BD5qXi+bx9_gvYK3?%Z8}T>#KC?V|1_GgT zcAa~^t;F)0AT_uXWRpo3nNmS~OVip@`v{%5kbbJL>AquJ$3_NYJDtZrKcMy?+=8L| z3_>Z!od#VT`H10mF#7i}W*~tkbq3c%nIB<$;RA5euY4S&B0G#VH!D{=aGb^#cXn~#TBI5Icf`^t|oR`nx^Fkz$5JZjw6BK?w`p*=a zicE|1(i=0+iVv9x;j#-)iMA4Ll|fPsbY8E~uRdnek=Qg>KDxK*YEzO|RN@BSC%V(W zI3l6%u3#Jqg;!pcxo7>Q+!3Q6x3_D%r_)U62`jwDT>#XL{#KksG`VGQuLyHHWD8qe-8eV^ z#OkzJn|)=^hwEabO3NdVfDD+dL8NLh{;X3H?HHvGoONl{!q!gRa3)oroe-{+kzhzn6io1n^SqK12q z0C4YRG173jr(f)L?epoaU1lF(Bj`^>ZNc|^6gM%`RftDdjjv?pZvXt&HTUWJBkY#= z*VREaNh5KPsz37hTQ+t7IU=J{2iDP8M%$z_SS~XGyOF$?6w2b1JeBD_8ZAKADKsuU zt_?iGfTU$MtfOM3Atp1>ZVMsLeDdP_QOG4eT74|hCq^92>$epyoM(|oRc38K$(O@& z=bKXO6yfgAIm6AgX}$ez6BLmFz&vH&w!QaG7QP73$dXw-)zguF7;q9u)RdGPX!wlA zzW(^$;(>D zkrFz659^n_+7xfvfY?Sao3>Cc0PpPtg(peCOAk)kj;+|F-0R>P*RG^v&v9$HBdiJJ zBzt#8*YpL=ufkPG8Ttd#wZe9$5!c@v|`~{I^@|&kuPd zGWm9V?>AH5FwhI#t3x6S3_rI`1OsjGk;$t`GGwfw0*hJ%W`2(p6GkjW#Y$au!hWxbUa!*Bm{*Mhbso}XwtY1}= z!h+2Jg2{W-%s1K7yX>h~vX`2h#?F^~yzo6s{CzY0-O?lPuSdtFo_0c@^?A?<)l;Mu zT1YOogzTAm-5GXBL^P?+o9ZePwpherd*X7nta5gLicc1+9L$zS@GCcEb?=wwln?lg zN}jA&KT(a!F<(K75zfIx{Ci*5+%lxgjoYd{@?Msjx5g{nF?@XkDd!dST7gI*9rxUe z2jk>3L#=0x?U-#n{tF~>zzbhqD8R~8 zR5Ft(9tz_d#(UA+s8A=HYn&%uc&qXbN_2Ox zRQrL`Bo{ihlYR;I(TEe}Ku-;exr^i7%pK)-Ya?A3=fn9UO&cP8sPS|0^C=Od7U2q2 zjsAd-NqI_xp3dTQ{oypDnB#@xsbg3hNSHOctJ7VKhNFJ#;os|J^Ptx}>^=$}dC za`EzfN-U*TcY~!c9NiIz$MNu)zSaBw;X_7$er^{JOha6P19{ zR_u9rVd50XIz`DRIW20@HLD>6bW3e0POmcTF`rDpuH^;WpZf8OnRErO5Zv~p$!2`g zpeYOgBC8h)O?H`Do-k*^aNkD46F4vH=};P$d%5d9_hJw8n*$4t1GB+hQYEkdCr8Z=}5fe<^inDaXInA>dSHzgxUu9&h9n&Tw_X>}O#3j%B zh+_BwJKQ=Fr(Ovr5BDZHV0U{r5jpupQ}%gmvnh5mU634 zhtljf&79Z%P-ZGOd{de8@-ic4-jjFqye9en>xFCY?VSvq+f&`+orf|3c7={yB@jre zKfQ{>vQ)Y@GwPX3>a3mYVz?NE7S5uctKNjGcgFqTOz(GQc1(9BVVhOidB<7&!+*{L ziI<`~i^Lr`5%*R=;w=|$*HKV4iPb~{<;rFK6Fc3{@IKTFTGo(5j*p>(oq*LmiiYPB zGJ7+PabQtfyK*RX$-YvGl;(?%NpoUe?$*n9M)m-YS@5gaO@2Dj*$d6$(OzAQ+zchh zKPHb+7u7}q2XzYlW^ar8JWVW_5Bqc`x%*;)A;9gAlhMCx&2=*h->>dQYFPBb2P@9k zRuWC-Iq*KX!}O-LPW1E^16ZQ}0tZ~M*zGD@77LoNqGM|Q4Q(Uj(pt6^S;8L!GZ^Z4 znT4@vs@!>|>Ml0POEv+2SO`yqFyh5X*P}^6TC`VMD!mttJI|8-kA}N@t+909l_n^P zsm<)c@2Ti^LT%?OyBH;9ip^2!D8Kg@dAu->&0T8$f@A+(WfWhEGJUK?zE7$t)cI_C zcv%Y}F{mWYGr^~_0Y6-E7>OJeJuQAIF^yaaazIjUdB4tGPr06V1}k+wx1ZXSnk?#S zczWWH6oV?Qe}9Env6=S9Ct-wH-|-3|F|XqOr&V72zKO=EFP;teJ*f}Gs!D9U2UcFa zq|Zi@-lI&Qd+do3Ws0N8jIjE$8GCUUeK9&9bKdfIECo>GV&yI$+wKnz7E&wLo&lTQ zI}y7RT!#+F+{0TZ1qau5Pd3GNCpJ01m~4CR z|1O$}z7+^0lO|$#p$kKK7?Jqtv%c)c&AeWG&bK-}Pk6~4-5o7aw`NI6D3_Ieffd*{ z*u&Ync1L4@NEmMR)X|8;6OQ_kL~q;OVqUnwGmS`d-g?G}PAe`AvJri=nZC5k4+K3c z!ZO<8dUa#t?!N2F1lX>>Z_A7(c7?jG8~JaQ7S;baRxyggBTS%{$XSZi)0g7FbQZ2U z=p|=bKNOE$<8>;>33a{Z5F`3>;>PEh-WKlqX|a{n>Qj+fh3 zC0uL;unTT^N52;&JYuJ$jre{s^n!56e#c-v$wXQq_cyc{6}Qyj zDq%6YUmYBMS9FNSw}%NCME8(D2j{=tM=T|q{#!;^-KetRD~VcTmGQ*%Rc&5*2^?uw z#LKhR%$Sg>`D>;hxf_CS(=gFWnyGM$2|F{$oS1-pLKYQSWj!K6crQ99inBSea;eOL z*c_%86+Hvb)^DG9vXvtH5@1k^6$BeAQ|EFwUmKZ5dSY>pM?GJ)yHQ!aF6tN@uJUk6 z&Ci#zV>99?KW%Iv7~V42IYBom++qITTlNz^!OD=V(@UinPC6^&($eyZ5VqcWZf@Kx z2j?)o`XNX@oY;c>8lD$r4c+GI`v*M#P_LL~ahZtVlQ7RT)L&#u5h+Y^o=G!|n)cy` zc5x|hT%n2nF zyj4?uc#?B*w^PG-5pAYBiFP7q$DQW;^-j=l8rl9zDnXDlG@u|PDV8$%mQFYa96HiI z@4GndV+y%L?cVm=rO&qqNP*mab~}i;KWQI1gNI)N`rPjX$h9GK!tpHZO3qz)cs2)P z&fVv&8cbvgk07_x-1~s&LH%Rd*jdeWFJtcJ>-CaPHSvzHQ$P7-lYa`(UTY3Qkw@P} z`r)#GUj>r1$s9&_EtpMVGSpb99^ovB>_yGKlUEv5cc7h6mz4KL-nS3pn=xg2z^$>_ zG(!)w6YM^P)L(KR&7F6dqjfhKk=Gtu#l}Im@1^x!N|ZEe6b2 z>*hOdm!k8^+_nJtp ziJUd0iswc*xqOEou4hdI_83hC^Xt0xg}{mr_;=?p+Q*-dpaPy%nCl$b0}0Cle2fBi zDm3x(&qr7a2HBdvzd*di==a4he`RI#_f-;!B@ATMf@sS4484(Mj5q4=KP=lRn>U<% z7XU~~Y~0JPaAnF`Gh`#ljuH14`r2`4-2+AZQI7O%tTlD@Wr0GE7Er0|o*b#D0= z=$a$kl_*epr@XsM_`mfx0}K`W+mtw3TLorH4UZ1#A9sE(JL0B?I@!+@gxJQBA?3ZE zg$3BZDD>h3nU|5H)onN-jueFR$nSR_%5&t$20k|j)R$*#);n3Dvr6BZ(Jp>~X$>*ZhizJZatIFW}&A!M6W-cuD>wUkLEtji#R~$7esM8Z$=HDCR%q;5XjF-j;MkrU(aMX|B zPgkORPx(Jd3etz;>^X%74=JLK^3F0dbbk3lxIBLX-Nra$nk(O?_PFWcrnx zhetfFv~E3k5H`A{_3wgTo-+EH_OltEVEL~olo9#Fnh?+PQ98mj3jrw&+{l`7Ql9jx zQ~+Rd8@~Upzokf9?&{b+3b&>5w@)`vl%y>9@9izCuq!=Tg)81BJI|_Bhs|9sT1(l7 zy79Kn(w3gRJvT*ER>1-q!$K?r2g;Da-{)_c!m8|f;?yyx^c_!Mu-F_&CW;j~6_SBG ze_|eR5lW#wr$E-Ir&ke28X#$jLxO={?$n#oOvH==if5UWh%zyti*QWGQX59KdHvqc z=V)}0nt_thcOII0m6{KmGE3T`7OH6}B{<5FGL9t+hEiOK?zx)p*()xWRiy(Bm^W@d z$>){BAJNM@tERNC>*3{hRFYQbGpNI-^(r-;uH}EUOzsRD?mlT*Jab$F;SKwE*7Vy&$_Cs9Z{E9$#K^d zzcCSmz#CiaGcSAR{V28`@{=0mIf6v*H^1&YpL6JOY56}zd4%(A0ZtX?LdTx4Q|#?- z#jiNgRxS()i%Qjg`9?H%^|uz;BekTvmS~#84yXc}k(Ve>Db&F`f3RkMRGhQqBVlxS zeK_(7g{{3zYqbAkS^~{;y&;jgFZOZ5D+;Viwc(=%$qKrvc6LBHK#Kk?7uOzik3!*7 znMy&biad;uxQ^UP0}kbw)s_799h%&>!ox=pO|5%du)_)HQVg-^$xub4vBE*r7X{&O zR&t%3VKS$!G2{#}nhd?>C5h)EAMFc@xmgObqJ-LzR9f)Zp9e~eEM4z8kJSigb+Z-i z`lS3a%X@z#zknXGnwpZfihN~eE3aD!gnB5w_c_#%{y``S(@0FuiK`2=OLe~E4zO6% zJ#^f%XvY5dHIEtyc3ipt1nfkH#oJ>JVYg=aXO;n3+76&>%ToVWW&eJy8YCA?Wp?wI zl8X&kH!0gshNqPlr445Xb3yd2Agp12-O`DQ%ntBZs9vN3C>k%`Smy&vp{tHAk^6i) z8qc_kbK#iq7kNT?9QSz2O?YSde#w7>i7PuF^gm&GuFQP64~6|yhpWzNzv{CzpnGi- zG7@tGX8bcAb2I)rtLkT5Z}|D@odh{fzjuklRf5YzE!Ij|Rs0YtEPt=Y2MuhzDz>Uj z(fO<5yDIChJXBQiV0~Shae3{y$6WQItpRfKxzBvRu)5OG6X}>_t6r&>Um?=L4B}9|>6u<{HX>>h5 z2-8DuD|BmieCVXGvqTsXrp{VolKyJ1&!pl7xr!DgU+UYhu9C=OR9xVswND@xyC#6D__FXmP@GFFO+K>6Z+Z>lK!yu{bmIc z6YdZlXVf+>1nSL*dDJvhp8z!*5*9&3sj6&jJhi?s3sm!`LGK?1LYFu&L?{UahB5yq z12GOQ?4NsR0JC8HZ2fyIMS#81hWp*N%F2sNikCO;u^z%4QNQr;nx$j`PZ`pBWty<^@#pH7PK@*m_ zx5Md(XTs&XQvRtKkuF)~6i{Ty31zQj+M_zKlSARKBo`Vqv$x_AiIhUIsD~$&E2$6W zmC{7Gci-EWUMq8SGtWR#hw_7^*KZC7?J>}8*L_rqt+G0>ld>9?3)+zUrFrc@99(_) z>A)Fg(UKNZeZ>}r;@(a0>N0nFiLqp`-(IX97vHATsU5DVjA6Pijm0DrAF?ITmO6cO z=y-(){-{&$E1LHS?AXBh^J6<^#V==gB<$ZUSaPzsm%x2>kLh6A1++e5TIHjx7^D;& zBy$PhM=8J)qqqv0A(0Z{y}eg&kU^`35y> zcMkS_433n{jq@2PvBl!%(iM3F7d z_@1f7P5IT6ob9lK-=@PNW8&KwFU!*;r&wcy46ej5OftOe7tSqBYx%c+AGY)c&Mnim z!XZK0dt^l8TzrGyVrBDk|B;R;;KuPVny(2S?g;5IuOe~)n)P2vDcEX*e`3^@@37Zn zZilK6k+_kYF=>i>i9)9AaajqktHw0-=D%L{y^fyFas7Nm?M-Ec1(1AoHXU#U2)BK%T*+H$@)Sx|jm zg|-N#<%s9sb%FLS{ve~bwJ@XU{4>yn}!h}U@@3^>@X_Un zbb*=Jgx&0&MTcH4fFnZIN2SAQF&*KG?@E5GFjN+PwxRYOC~CK44u_9E|M(?!G?-Cz zYn1ye*La|SwC1iBO-$>&yfkM?@wgJfi!A)!G##3ZyP*NzNGhhb@UUC}lRX?B(35Lj z3VTwLYw*rW{pM8bk{{=-d<~w&F?%w?IFY+|la4EQVdtBZxCgRER{cA&q{91aO=?kI-+|K!Qqi4Tl2C|#_oTgY;aNkEpF9C z<#Nh1{&Ouj*q^UwhPodFbvgb6er%|fXHXQ6 z(dcROanMkLuXJjH$ZqNoqh)@I0_4|k_kbqrl%<#Lu9%QDn`+EuFM#DkTT1`rJ%2f_ zzTt68$+=xyBQWka|JD+wZsZ%Xwa?!f-~39q6($jA#YIE{1W8_!TfwF4n%9LOUzXbL zS47T6x}w{eizYk`T8w51;`7CmeU6|!+3K~af^|X275!1*f%?#hxI$o^{tv@OfHu@^ z1x4<+uSPmmuKj+;Bj`f+V@gL^#mzWR-|-HXe_rUORgwvFphmk9LDV%v`+gGKNqUhs zVQz4)i_lDkTVw2O18YfbyT~%bQLF!}6#o3EMWBQ8>rf`Bk*>U8d%51bNht1h)$i9& zUt;qlOS=N{MypO|%KI!7uPp0VZjh#q5;sTTpJi%j@_s#w^{O=NIvjyP=&ovl1p-q? zarvJfD7ylnCH{{SK~sZ%ho3Gh5f60l#CLac43?zS+La=9BcC6V(Kb{Wm4%Py^=}YT zR69I?Ya(DjTJf6h7s>hzmK;7wo2XtR<#m~mO#W=nr1haaQ++QsA^rkIAQy_X5rA1ZIx0g@_r%R`0H10dePvw+1&ALk{_W-EFW zJ}cVV?cv!02Pw!$YdXU?;c}&u6zaV56ml(kU3aSUQ&N5*(?R_C7*(}ci){A3b0u}! zV6~y9=F#OOYd}u!rIUOzNpS|I>pLqtN{4w6Qe1yXejGK*%8RN5vD)_bGQEWRPazAj z@{D{P`sT>>7eu{LP>xzqD{e=st@p(c5do8#3tqvu~?C;dq9ey283Z3$W7fbZtc$&mbML4sX zc@K-Y#_VVQy1Gvv?ci^#`B$uC!+hcQqv0#w&vnZ@3A$e?5Ydfa9Z0Ev1d85ho8@NGqrD*caBPs(u(~&l3FVjH&r1a zv}6OQbA(g>kzaz|J*L?~kigZ$IFr>bC3>d2p`atDv;2n!B~ zLfJG8u55tV;(tz&7@#f6zJ{8$+x**`^{=lWU}fB*019w`w(=`pW9bf5tN#0`4XQj2 z1uMaXd9-IdI=?uZ{vBGVJ^S+jPE9aJL$vjhN9G3CO)0(EM{&IXV$oIc=TswcD6eIn zF~_RoTaX-!T3bU*9)Mx60kj1F_>_i5ZzH14N9S~I^RQ{E9do7=_an*y;Zc)lOLhQy zu5e}S_vuR(Ea~_guH4{kmC{kMcw~l2qE1|k6>=@f*b~x=@BG_0^wHQO{md|N&kC+wk0G2jI0DoZoK>QZ$loom=Pv58=&VDASwjK5<;~SmU8o5p`>ZepwZx85tX8ZWQkFFj|kArTk$1X zTb`!A0MB<|9Mz$rtJw-oDiZdF9t*Q~9Gmd(u4G;OkocH3AWP~~3G~bVd*#9tp;QWm z6^YAlc&quY@oJd>Uh4SBebL0*OL>_HUF@CCu90Ra zs?F*KYgh`{stuI7d(076HOH3G7X3*PpNc9bQwAz5A^-S%@KHmaU@bBLSz@HlRYgg@ zCbBHG6(Mcd;p-Fokby-l4{_rg-F}+d@;idq)azLRkKRX~!+x$bv0{;VVGyS5&P2jk z-XkTexARuQFJhncC>h1W?NsRh*=Si5oq?p+!n9QyY*1waOAp}tu@s_PnzO^Gp!qSdY9`>feS;!Qw={Zf0vvvD+N%%@~>XLGX1brSYPE!T+#van@uwNfRyEG7ZB&UE2R` zUA+&`I&55aoncI2F&-d%535p}R_UgDGrx!2W$~_iC=s-T&+4&^9?0f`+tP%8-`dHy+h_ z^?eH~5s9@+WjqBaE#K(92KDhm?j}q-0SSK`#Rsl>)r{;H^`_yU@gfbc$_L<`e!61} zNbFmTT|WAzhK_N6?nh<~j=}}NulA1TZ%lR+Zo5uFx7(oislk^O{Yu4Ng;v4!Vup=0 zQ?zjmNyKFs$6XOSCC2&B)>&j4p}%$TDarr&wrK z@_s8+?c|x!`^an6KMhm|{&pLxed3WUUAGC66dSS*ei*CRt$|_!_b-b~Tzq-qXc;5o zk-g%~gted7=$%9ffAWP*6!F<@H6{jByZ6pI$uJ9aMitex?j{~NHrrdmeJgHXyiMUq z?9wwFLFrqaP3jsr;r%#B>@1!EJYan z>4u2_cem1Ql9eFA0u)V=(en(FWQAkowAqGt z_&hRvov952+Z#g>o*2sZ#p^nh`;joI)82cG_d|6VBp5T%&T+!RoOY;<5SqnJwp*{w zO)%lUC9^sXGfdg+Yg9&Y>vs$ZIz+r;kmoNRWkg-8w?u?(EQ)vyX5P4X%b9xDG&1w> z(v<1?I=yrtaSpGwf`c??^25;yS>mZfol@Yg1#ol-HZBIgcrkH}%_`!7iWZ-M?F;28 zqLE}Tb$HsyDgU|!_r?|tBVbQ!y6Q3aX2jz-TdW>lM#$PN$Ub;fL6n~as(0V^%zB%- zcR8cF>wUQs72w%ABOWxzJB~*(-22Zq!(RQYnW#qMWnB_wD}M;n6iX(S$gaSu>wQc( zTx7{s1`ydg<{?&*Gb-NzIkH@a~{R38qpD5vb9qzAUGVeKq;!SsKRzCk${fA+9X=maZGkGxpSI+Xjuk%>*PUwMECaVBV&r*w`zfkq4mp{-mj{z014A|guI9YBWj0=;1y?_YLP z7Z`>ct2`Bm}PV=nr?vj}4EEJ@`L zb;bkyZI%|K4BR3#3Cm{psU8f57+aD2vRPAb1Eq$*;IvC#EmCdSji)zgy#hm{ z075n%y;d-gi@h@v=Vo4ytnFVM!`#+Q4){XGsyaQ~28Agb(Q>DUmti(Q)QB<+>n_DX z&jX_{hMGVtB|Dttb%lHexWVBNa*WcwP7pCJ!cxL-93!OA`Jte>Rh;+)wm7+IGOZf? z79`dY1zrM6xRhB)Ezbs0xK!M~Fv{j5?w-||2`3mS+U`2(HQY#b`M9#$Eq}oPS)Ywl z?GlOi0jln6r^WWv|GWAM!nZaFNpz!$a71lHDd8>@t# zLallTj`!K0A;sZwp=kIb>M8bGev~i^DV!daze;^DydOLv5)EQ4z(nBDtCuzc;Il(4 z_6Fo>-_{Qb@)Z^q1n9aOGZjcYII59+>u_}a3v0TD&l&4aEYUU_+4mb@G6b|mw_6b? zv?p_MV#ev;14?#5p_Nqflu0Kh)DQX_7xMd`6_j=Dj{sHhN2@LL%a}ksUNd0f%)24Bf6dN6}O!79LWZu!{OQtE)8?6=7o}0Qw;x#MW0uK_2cie3dr={ zYL-D1w`J6DgVztQ<~Btj;=|X60N=h#7(2Vpy5+&EWf(M{K!L^R&4sK7Wba1%QXUx6 zKwiO{8aq`W54^+V;w^AE6JcEV+x;Y>`%8)@FpjQUwrucCg}v*7XGJlWEc0YCzmO&H zI51~+L+}fp`M9y|D$;m+YxqQ+f;pD0$=ov#={czSLaqLXC0{EcSb3fT5}2>t7>(s- zc{Im+M73H7i$Plp;+cAK5tIazzXLe$Va~8^H4F7iscGSH9Q;{y^MZ_`bM^eOINv!B zyDrgTecIl5uJBLS;yW`o;14{Q-3QuIe|)1bP>S<%l!<|`JVN^(s{G3Ki@?^Gdp(^; z3n@zJucdy7q4(HbxievvKO%cD(WK(KLL_&tK=rHZvHEAOSq2EJrg^5^0(ES%m;8$- zIVcOE3KqMJXUC@I;1R&)h|l+&|C8@A*P4aHoyA)8t{&<>t}4C4_o z6~NLrdx-8<#~CN6*Ib21n@$U|*KXTRQR7yV`s2DPoR+)tyTXQVp(RV-a745jZSPV2 z-{-_!n|O1SO$VaDs_D^`%^j&B4@m7V@e#~C3jM*9XvE~LTOqQ@*6X;0Uk3b6HzHV6 zCEp6;;`#PnA*q6buH^V}8{fRh?gX3eUMud>U8Zm{>0^DdUh&vn;T%S9$4jMUwMzBn zFEz6_WQd21XZs8bdvh2g`n8Xb&(o}9;YoX_{aS5^M(eecZ)}a1p^QO4f;KgtCH7y; zYL;xhE8$nBZR`E>H0NU$0E@K|7O_DLXv??Dey{N1B72&%SycHH`Ih1y6u;uzfov-P zd-Hw*(${;hlI^lbO!@WO-mlbM5jAAZe<--S;+O0b)AYjRd9HKZ1hG4krWz0`CDc&& z^KuL1JxUs*hTCpgz%(&Yq6A7&qGYq%mD2i3iKXX-j7fJ*U3_P#vpMgVxT>a+tdUGq z8c44I=mcNEz1%ih{l~Js2#Aa$H?k#Bm6>t(Ke!31mAm^oZXN155teSvnyW4Tb&I*mVzhpwd{9Q=pTuZ)XkFiYy>E!Vp#? z)Q}N|A^p;e&Bo&q%m6$>5+sZW!Ls0L`|fo_V_B9#j6PkpL0HjBGkxM#axIQa)zN7x zL(QluwE&@P-sRU^0|BwQ28G$5t6MH|>wgVg$@O~w~A+yo0 zKhORX(~=csZ}OL=OB9}`x-z`1Ujn5bwK%ziz>KX1(R9-v#{WqH?%pw*U&QjU4ru57 zc|=vq1egpAx>>$gWdJ#Z80oFN?hvD&4-n2h{e0@HfWmyQ#gr7P3N*5Zh{B+yoe7E# z2M8E9yq*y2la%Mk?58PWM4+y()h!pndy>su-b>NNr*ugfSsX6RXV)tYQe@;~(K{C~ zWy*83S`i?ZAZ{Yw=BeQ^QYY;j5e2>h@3J^#6DafyI4y*pVs#ZK5|@G(O}PJIxt9OT}2#Vg(6CTaESg?I5^KRDG@T#lw(2?|D9FGD48b+KrR?}4oP=kB@5WD`i$ZlFr4i)6{^qT^Lpl*?iL3deYTp;qe1-pJ_-uG-I?Js~RaLxa8q*0!yV z-cw-b7)ni2%6ZOJr;s|1ObqL;h8%vy^0M~7`1zrJ&;Ko9mrc9O626c|_3Flqm)DDb z_A~$p=C0w+JHHbgq)HR&R3=+w4s3Q`NkbHz!TJZn2b23<`&#OQoQzwxqMeh_2h3)m zO5EV>Z2FGkp9k05+v&Q!2!mgLhVdR5lgm_hC8)fHT6DbVVvMD(wzIN(Jn2LJzp7PN!$cSh`mnGZhGoK7f?t3G?)q6vy2>7{s^#~U($qBjuCZru83nFGwdy8`HD!YraZ$Bj5& z3SfbA0$knr&EG;`3kaM8f>sP}!W`hX-vlPj>fgL6zRkctxX$?IQG(B8!pyds@059^ zkyei0F##pPHVJqQ*QsgnA^YW3kX;Gfs$=hD_3)39>h(BA1`WY)B`;&&S zem$9gQg$|kroKX7vcfuGR&o}pMrgv!vz;I(23)-F%1(Cw<{Re{H4xQjyD+Yzn_wEk zr`g22UE$Iw+|UUxd+qA=w`+ubEA@q|1c}0uEO4Jo=-gI2Hq z(|HJr@PomHBa#>J;v-xg%N&uGMu&YG;7u-%jNZxxh`Pg;;W2Xo_Mj**o}?E zNtPUDB#i}0SMq+kv|&J=%AI(5J*X0~4>@@Sn-v?x{p)uy6U4x$6ib=^>RFY0wy>Q7 z&Db+IhffF2gAg^5 z>C%i_Q!`BYD*j+5g4fQ^U+iSqtLpJ6*j^3a*3Gkbpi_!!HYThdqxj<|NZgfQLkV|R z%2;tT@2ZOY6`4tHTfb=`RY4-yXk(S)mHQ{z>oA1rk~!RR_r}uWx!L?5DSB1X&PBjo zqRMmjuejOUe=y1P1_f1*@Npo-7Z%{A8fQcLO>43tg$f*NiG zmUU>gu(mEK4BhA~Q-DJC8A}}-Y3vlHiQ#%0SSS@?dbr^AH`7HdPrtoPb))hiztpAQ zELnQ_bu}EQ94n{qnlWKMV0j?B-qDWj2EAuJauaQbw8?(E6f~z_y_X9?;lQ9gwkVo8 zAB!Ea>wTKa&uG`5x<0Y2|N1^y;gvtH^2#Vb{!bwW!i-$$|rKS?puS)wJ?#F%dm%@!!ti#eBb-w zvQ8L8#QQ@0m`ddFG%X^yaWQBa#(Edo`@*`55Cmv`q4(g{o)O44(v%ei>szlm?+ydu z_l^{d>`1TD-&da5^bz;K=|uPP(h|=~+83&h_A^2{+hw7VI|q)k%kdlIfxGchJ===Y zFtd7vR|noO29Acl=DM`SXBPT!YbEmb>r0v)!%~Y3te#mEy%5I?$UN8K}%-grr-H>p8K^y5*7=GwU=^<*ELszVaJ(DLA~Ra&-Z z5mt76Z4V$-OsC=dDmUx^dvp;!z)QS!&*i?6P}HieJH-F^8eH5 zpK)qi=iB2agAd{rIvx6C(_CjA2Ds+rW%P z8cMST(!$_lvB3E0q=m~?*sgbP@P_qgVoY*eLZ+Y<-4WEV#hmd+_qLr0&D{NH$)#Nw zqSh)Wf^SJ=S5%0l=yvxT2br#$ODsE1*}+$FijNmCgReJLDbb5hnJVL3#H?7B<0Y`p z!gBfwl6^PW)M{fJaUZ)cRQP9%KeBYF{JaB652&uhBs!wC*0A7OBjW3J~Fq?Wq<_Xtg?1TMbDRD&E>_($mvT)7F>4L1V z-B(}KDRPqj>4h#cEpo2f7Ve8V1L#d+r;H>1-E6&lkEM1OciASfCcWMD0%FzOxbgcm z_~HnuY2I4co?BmZ|Ik=;^D(jKd*6i8GxYNWKIMn4g-mFn}aC$1>xQV41v=i^oW?%@`+KIn`*PuVsA$l)|JC zqM&633o9y6)x4EB(#WFWCQHW{MNILVV~e8)$8y!3M+o*r;Vd{0>Oo+5TSLJ7-KEcm zbG5HWW|gKB>-W2y%N%X!I0zlv#uBPxd_GGoN85USsvQZO4qHHOS~~p&Q=h#ayBPT$ zp>vcRAOMJ069WV<9tDn1t|6raM;~9<(hhX~ZE>kzqLCDwUCv%MF=?Qd%VFSi{@^w> zXHvyD$1{gn!|F@Q&VJUQ(fhEQ;WJAmlsyJls(G^ZXSH(0W@apKPH4U7fPX4%r96Ox zope0&!~D;;D*)&LNF5zQlO?3)PU?3ArsmQc9!W5In4>!;LX#Vejy}<)NtoZLG)w-F z!MuqQJ9_-+ka5x9qoIT7rUZ?|jI?{{{3OY|3yPv&yGp%T$vJ=*;1aIDwj62?E&v|y zoM_s!#lk)vo%$y=QVH5gu7?h-I7WH>s(TyMNa6vR>VG9cz#Jual8;AUT zMkehUQVqX>%qY=IF1<(-Gl_NZ=K`ckkNQAqJPEh&8L|VIDJG6NSzvY#wsbtm_d7(r{NS#jg}!wyoy7%PdcB-EK)Ncz}HIt&kVM0aRR6RJQh~ch;5FqBk4=$Oi zbpZHYeQwhC0h~D~tq4YJ!84QHN2b~H^dw_)or&|ptR@0~F1P=QR~4mct+Io5w^aCD zxhJ^PjT)Xe5y5rPlfvJJPR?0gfeH>_W;iKuQVm&a!Lj?;T-Z78o*DDTadSLLQDoho z09y(oU(my>FUc9l!dnX8BUo|=qan4E2 z^!Gj1;bbbacGht2V>`@WY;FUv80Ln589qjg9Yvo#@@!>)x}VG~#4J(rsjN(p$|Ld{ z;7($FGe6$77~11e(Xf!w!gWRjUL@a5`>Pq~q`PWxfYT)nyztD~dV7=nM=MQpgRoTo z&pWManROJuEKX;d;>Syg9&_Q#>{`IP+#SLpS0--*Gw+I4Lbm#C?W>`lHCA)$mC*SG z*&H#%8ZpQOZrSxme>iS??v=RxFwR7GU)|+v-Q4r_HP6noPovpTvxGrAU~=p)6hQ1) zPy`UCe~vbTPQC%od(>Zm=B2VoN+&izWWqo5un&DfmZR1~C*Ia%$)w8}?();YvmA3x zNX=JGw8MSV!Ly2!n_iLyuoqyN=PjnHp0zyvF#q9Q45NR?&wcWvx4HqmDX3QqU>KWI z{HJOwh~IKZamr^NRAQS@-((ye&#F6ZaAC}^%g5X2u2v-xg|fm3MK zE!xkQR;bSHBhz7NpdlumGjPu>)CaJamcQAdsNOPx<|l_5g3EEA1WfcP( z^pMlc=s*0i-LzM4?D62Yw2EW8lHdBnd2W%n@3`j#E+i{<>l13fe<@;=RchQ z=l91V)Fbs%7|FymeCA7E`I}+DK)YU@y>Mq0rJbdPL%((OQLY)sxh1^j+NSG6)}h@S z1PZo`cM+P!kZ#d|sOv&W7TxoD74p}0e#KRYG2UhE>0A)qvTgd)>dY;+xP~?E_1Fgn z320ROQd*^14lSuB%WwAt2Cq6(@doA$i@}yHj%r|FxD#PefqO@2BWonmiC-0tWHE%4 z%ksZeOT)^SUj*7f<=7xvXqn*ZI5kH~>GP zs8Dc=m3$1+Ql69@_``4S*~etREy<>E(_|V?>lFs0`gU)b90tf4i%cbh^%?ctTPC*N z*|sKK)J*LjVfDorFg`eAFA09E;VZdtnsJRY`(2cpHzd*5_Cq0=86LU>!~^A{o*~`| z;(8UcQp7({pw8$Xy60Cviaupq@F2y!#;KPzA$#B0Mzw3WJl}1xcHfx4Ct*M5XU{o` z;i>DsCxKd4VN89N*WeNGQ>QE`KgmBf;&kakxhwD=dl#~dLfUhgC1{0g;M^BSe;zw=&v`=M4X z^j`AHm4Qmn9vT>~IJ5okHDUXjEVK6(ho%%EqN}-fM7jkDvunMxySi3C!oj~u(+H7L zLEnGcVDG@_#=e96g!~9H?j1g}63pVtAGKy35mxGsAp z)q#cbp8uup199!^f$u-+%hs(os|f`Zrmy|BOB^QK{p(ajf7wJM%X-2&F;qwyBjPjY zspxWdfe=#O8+4!-P9&b!PWL7oN1aI?e3tbWOwbWb9cIF;=GqyOEfJ0y4e?7|g#BFq zx>U&Of{Z`~YaAHuA3`l|HD&|M9ecJYu?WTQ?O;Hf`K9ACHslL z1cHh)KP`u{xoDkv_SzRXiGrkAN1tz`;a&l{wdbsX8r}X=(y_P{Wtkk*aP8OMD9_e? zRJ$Rf=U_r*UUB!H_J^%rwK-5hun*KOM(T^&gjvt;s59NU2r*Oz2l*l#n$$f$qw}AT zKSsjOqj~o+0JrqNZ|Ski{kG~GFvjcm@AK90eGNPc<)!Yxpxomx)vhU8C9%#pW?hHs z6dX^(ewo8zIaa_H(PYA)PJz(esK6Z4`^_gC>@-MVMHn5e>_P92{vcoRx$@8#CV-GG zSV{<*K$}3uqw<8}8eAL`<{0|%6C2Rlc8!%wh;W$^OP48i*unx$l2;@{#UCgRKPMo;sr19hwXo zpSuSM31=4y&Zy3iJgVn+?T6p{UI2^>-;x+V;be+jS4+G3GL3j0u8977!1yj*OE78H zKx+iP2AwAEBb9qY+Tq!ktmbQgQj3Lj)IFh{E3rRMpTm8}m1E28*15(tpX-e#j*?4{ z9fX{z(rC|<3#EAJx5(WLUIA!2Xfo}f^-idya(QEq1z(lb6uB<3NYP4UP{G&Yqg| z&KWq5?r@zn?e(l*%kE}>zYVfq(2%8mZub)P0{O8vLy|`=W{PZ=lOGr!DH(C-sVqP; zFM+6avP$p;izVAXxvIapU8CLc^&no(<>P9ZlzYqT7$JTq{~vYqUnb{7SYt3oS>rfr z&Vnaa`3;%&+Z@2BMoKSul$3ZkTq&x_c50|v zP<(*@{pT;hN-_ZV{IEwv_#_B*|M7q%WLoWr-9JL{A>3cgIKPPoaXV6Nakt7hwo8A^ z)aoOO*eA{)<{C~YUwNY8e6w91V1xlNAv#Za=dl+{@7~&4AD}$^AYE(=cB>guTjt9RbfVcU{4hXvc0{gWI_ zgbX9VM8OWye&NqImtEG$&g9p!VB})0pGY|T5b?@KTa3d;tbPcc5ch#^d*9YPg)wPc zP$vy#wc7hRgq8&F7|~U`V{G6Sw=U*0=@l!YFFnfEOjp@-AN7(~elsz_M5+NhR&Glt z3nFW!<6s^bVLPvTbl0$Im^y(WUW?09HAoCBuD1PeL=(+q!^@G5O{6mXG^2heqm^S>X& z`SWi26p*|hX+}(iCKC_g9hg+&U1@9lY}M~$EI8CxIuc*!^7b`1+f%&2DMtvcaPU6c zxL*0-KE&)ThmwOj?(3T6Sh;Wk#+^|>CVHZXX%L$I{;-gEA-&XJV=gXwSI;7ZU9{)1LPnA9v3$b$U`@o6@-Thu~%5zOkDKSrS z^%2ad<28B+$aEd{@xY;%BR5pMO?7oKIr6XG-hUHyjMpssZ*TO=0O!3%FZ8|r_Pe~O zdMmUBVDVbkwO6X z^3bKvj^f*3i^XW1x5ww(^W52dmh}<*zs%5Gck*r)LIKObo1Wh&%i0iV;+Zn?Ao9Qk z7(T>akpFenpeJbb?!Egp_@lM=0_&K30&mi>Ks9l-7@y=Ruz%ny;d&Vf zT9z?De~M%JA;7&Lf62XJyr-|GbYOFk-B-5k!}^)>(6G3t`D@-1E!#KD%{yM@O!ln& z5i$H^dD@617n6e)p1W!w@|SRn-Nzu3chV&6a}sF1nwDObVrudXo;#I|`Kl`bcy#7GhUxbJlU*V$h1 zg#*xi14q6E%xu6HDS>lfb_RMr&6$7}1V4)nz=-1e2l$iA4ft1S96#Gn;Q|nZ1E|e^ zCV`&uxkE1vLv}b^(BV_>a36!15gF<-Sgb4BIC?e6;Cf z(fbF;fC{*J zbhw(JTVGTg```bD2B2o1h)ck=I+adNde5WvBm8+0qOU zAtd1{}q@(_DG;<757zz&dtaYwU+c1pc+}X0^mwpx7vRQm*-32 zW%jW$^=1Gq&&z5O566|}!*|O5b<{g%q2Y{Z?lXi1P#eaN3o_~qhd`db83KAFUpKzI z@!A^!3iZrq;;!lczG6{kMA<%oe19B^ANor%`Pd&n{s@qwyzyDh_|N=$(h|Uj68`T` z0GIgBED-!{{r~IlHSGYIa2`#0OW`8bK1K?Nm4T;h+4}>)_f?QdF21U&s-MLVdgHb9 zu%_{v`Ddy5?PodAg@)d@+2+i^kL$p%i~n!Gg_$pN{vQ3k{zK%?pL;irRIdTQ)RlFV JDiAio{}1#P>BRs5 literal 106009 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 S$ZX^rj~qUBsNkU6wf_SB)3yTu From 73f441aeca37531732525562585c919b1908a255 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Mon, 7 Jul 2025 16:42:44 +1000 Subject: [PATCH 114/177] Minor editorial fixes. Removed section from index as these are represented in the actor notes pages. --- .../resources/ActorDefinition-SHCApp.json | 4 +- .../resources/ActorDefinition-SHCHost.json | 4 +- ...Definition-SHCHostAuthorizationServer.json | 2 +- .../ActorDefinition-SHCHostFHIRServer.json | 2 +- ...ntationGuide-csiro.fhir.au.smartforms.json | 9 ++- input/fsh/actors.fsh | 2 +- .../ActorDefinition-SHCApp-notes.md | 6 +- ...nition-SHCHostAuthorizationServer-notes.md | 8 +-- ...ActorDefinition-SHCHostFHIRServer-notes.md | 12 ++-- input/pagecontent/general-requirements.md | 28 ++++---- input/pagecontent/index.md | 65 ++++--------------- 11 files changed, 55 insertions(+), 87 deletions(-) diff --git a/fsh-generated/resources/ActorDefinition-SHCApp.json b/fsh-generated/resources/ActorDefinition-SHCApp.json index 90f9d950..9b2406e0 100644 --- a/fsh-generated/resources/ActorDefinition-SHCApp.json +++ b/fsh-generated/resources/ActorDefinition-SHCApp.json @@ -2,12 +2,12 @@ "resourceType": "ActorDefinition", "id": "SHCApp", "url": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp", - "description": "The SHC App allows a user of the SHC Host to launch the SHC App for filling out a health check form prepopulated with a authorized patient health information retrieved from the SHC Host FHIR Server and writeback the collected form data.", + "description": "The SHC App is a system that a SHC Host can launch allowing a user to fill out a health check form, prepopulated with patient health information retrieved from the SHC Host FHIR Server, and writeback data collected in the form.", "name": "SHCApp", "title": "SHC App", "status": "draft", "experimental": false, "type": "system", - "documentation": "SHC App", + "documentation": "The Smart Health Checks (SHC) App: \n- **SHALL** accept [App Launch](https://hl7.org/fhir/smart-app-launch/app-launch.html#launch-app-ehr-launch) request\n- **SHALL** invoke [SMART Authorization Configuration](https://hl7.org/fhir/smart-app-launch/app-launch.html#retrieve-well-knownsmart-configuration) request\n- **SHALL** redirect to [Authorization Request](https://hl7.org/fhir/smart-app-launch/app-launch.html#obtain-authorization-code)\n- **SHALL** accept Authorization Callback request\n- **SHALL** invoke [Token Request](https://hl7.org/fhir/smart-app-launch/app-launch.html#obtain-access-token)\n- **SHALL** authorise FHIR API requests using Bearer access token per [SMART APP Launch Access FHIR API](https://hl7.org/fhir/smart-app-launch/app-launch.html#access-fhir-api)\n- **SHALL** invoke read Practitioner request\n- **SHALL** invoke read Patient request\n- **SHALL** invoke search QuestionnaireResponse request\n- **SHALL** invoke read QuestionnaireResponse request\n- **SHALL** invoke create and update QuestionnaireResponse request\n- **SHALL** invoke search and read requests for resources required by this IG to pre-populate questionnaire response\n- **SHALL** invoke create and patch requests in a transaction Bundle for resources required by this IG", "capabilities": "https://smartforms.csiro.au/ig/CapabilityStatement/SmartFormsApplication" } diff --git a/fsh-generated/resources/ActorDefinition-SHCHost.json b/fsh-generated/resources/ActorDefinition-SHCHost.json index 22142c92..d1fe7dae 100644 --- a/fsh-generated/resources/ActorDefinition-SHCHost.json +++ b/fsh-generated/resources/ActorDefinition-SHCHost.json @@ -2,11 +2,11 @@ "resourceType": "ActorDefinition", "id": "SHCHost", "url": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHost", - "description": "The SHC Host allows a user to launch the SHC App within an embedded or externally launched web browser to fill out a health check form.", + "description": "The SHC Host is a system that allows a user to launch the SHC App within an embedded or externally launched web browser to fill out a health check form.", "name": "SHCHost", "title": "SHC Host", "status": "draft", "experimental": false, "type": "system", - "documentation": "SHC Host" + "documentation": "The SHC Host: \n- **SHALL** initiate [App Launch](https://hl7.org/fhir/smart-app-launch/app-launch.html#launch-app-ehr-launch) request\n- **SHALL** support App launch context elements including:\n - patient\n - fhirUser\n - fhirContext with following items:\n - role: http://ns.electronichealth.net.au/smart/role/new, type: Questionnaire, canonical: https://example.org/Questionnaire/123/|v2023-05-03\n - ... " } diff --git a/fsh-generated/resources/ActorDefinition-SHCHostAuthorizationServer.json b/fsh-generated/resources/ActorDefinition-SHCHostAuthorizationServer.json index 07710429..7a1ffacc 100644 --- a/fsh-generated/resources/ActorDefinition-SHCHostAuthorizationServer.json +++ b/fsh-generated/resources/ActorDefinition-SHCHostAuthorizationServer.json @@ -8,5 +8,5 @@ "status": "draft", "experimental": false, "type": "system", - "documentation": "SHC Host Authorization Server" + "documentation": "The SHC Host Authorization Server: \n- **SHALL** respond to [Authorization Request](https://hl7.org/fhir/smart-app-launch/app-launch.html#obtain-authorization-code)\n- **SHALL** respond to [Token Request](https://hl7.org/fhir/smart-app-launch/app-launch.html#obtain-access-token)\n- **SHALL** support SMART App Launch scopes: \n - openid fhirUser\n - launch\n - user/Practitioner.r\n - patient/Patient.r\n - patient/*.rs\n - user/QuestionnaireResponse.crus\n - ..." } diff --git a/fsh-generated/resources/ActorDefinition-SHCHostFHIRServer.json b/fsh-generated/resources/ActorDefinition-SHCHostFHIRServer.json index b9d3fd07..5f6d2d23 100644 --- a/fsh-generated/resources/ActorDefinition-SHCHostFHIRServer.json +++ b/fsh-generated/resources/ActorDefinition-SHCHostFHIRServer.json @@ -8,6 +8,6 @@ "status": "draft", "experimental": false, "type": "system", - "documentation": "SHC Host FHIR Server", + "documentation": "The SHC Host FHIR Server: \n- **SHALL** respond to [SMART Authorization Configuration`](https://hl7.org/fhir/smart-app-launch/app-launch.html#retrieve-well-knownsmart-configuration) request\n- **SHALL** authorise FHIR API requests using Bearer access token per [SMART APP Launch Access FHIR API](https://hl7.org/fhir/smart-app-launch/app-launch.html#access-fhir-api)\n- **SHALL** respond to read Practitioner request\n- **SHALL** respond to read Patient request\n- **SHALL** respond to search QuestionnaireResponse request\n- **SHALL** respond to read QuestionnaireResponse request\n- **SHALL** respond to create and update QuestionnaireResponse requests\n- **SHALL** respond to search and read requests for resources required by this IG\n- **SHALL** respond to create and patch requests in a transaction Bundle for resources required by this IG", "capabilities": "https://smartforms.csiro.au/ig/CapabilityStatement/SFLauncherServerAboriginalTorresStraitIslanderHealthCheck" } diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index bf16b71a..31e778dd 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -498,7 +498,7 @@ "reference": "ActorDefinition/SHCApp" }, "name": "SHC App", - "description": "The SHC App allows a user of the SHC Host to launch the SHC App for filling out a health check form prepopulated with a authorized patient health information retrieved from the SHC Host FHIR Server and writeback the collected form data.", + "description": "The SHC App is a system that a SHC Host can launch allowing a user to fill out a health check form, prepopulated with patient health information retrieved from the SHC Host FHIR Server, and writeback data collected in the form.", "exampleBoolean": false }, { @@ -506,7 +506,7 @@ "reference": "ActorDefinition/SHCHost" }, "name": "SHC Host", - "description": "The SHC Host allows a user to launch the SHC App within an embedded or externally launched web browser to fill out a health check form.", + "description": "The SHC Host is a system that allows a user to launch the SHC App within an embedded or externally launched web browser to fill out a health check form.", "exampleBoolean": false }, { @@ -647,6 +647,11 @@ "title": "Downloads", "generation": "markdown" }, + { + "nameUrl": "general-requirements.html", + "title": "General Requirements", + "generation": "markdown" + }, { "nameUrl": "informative-guidance.html", "title": "Informative Guidance", diff --git a/input/fsh/actors.fsh b/input/fsh/actors.fsh index 9118a8ef..0c56feb1 100644 --- a/input/fsh/actors.fsh +++ b/input/fsh/actors.fsh @@ -41,7 +41,7 @@ Description: "The SHC Host is a system that allows a user to launch the SHC App - patient - fhirUser - fhirContext with following items: - - canonical: https://hl7.org/fhir/Questionnaire/example123, role: https://hl7.org/fhir/Questionnaire + - role: http://ns.electronichealth.net.au/smart/role/new, type: Questionnaire, canonical: https://example.org/Questionnaire/123/|v2023-05-03 - ... """ diff --git a/input/intro-notes/ActorDefinition-SHCApp-notes.md b/input/intro-notes/ActorDefinition-SHCApp-notes.md index cc825c66..5c1611b7 100644 --- a/input/intro-notes/ActorDefinition-SHCApp-notes.md +++ b/input/intro-notes/ActorDefinition-SHCApp-notes.md @@ -1,5 +1,5 @@ -### SHC App Interactions +#### SHC App Interactions -#### App Launch +##### App Launch -The PMS user initiates the Health Check App within the PMS. The PMS generates a launch context related to the current user, patient and health check questionnaire, which the PMS Authorization Server can access from the parameter provided in the App launch request. \ No newline at end of file +The SHC user initiates the SHC App within the PMS. The PMS generates a launch context related to the current user, patient and health check questionnaire, which the SHC Host Authorization Server can access from the parameter provided in the App launch request. \ No newline at end of file diff --git a/input/intro-notes/ActorDefinition-SHCHostAuthorizationServer-notes.md b/input/intro-notes/ActorDefinition-SHCHostAuthorizationServer-notes.md index bd4c0810..95977cbb 100644 --- a/input/intro-notes/ActorDefinition-SHCHostAuthorizationServer-notes.md +++ b/input/intro-notes/ActorDefinition-SHCHostAuthorizationServer-notes.md @@ -1,14 +1,14 @@ -### SHC Host Authorization Server Interactions +#### SHC Host Authorization Server Interactions -#### Authorization Request +##### Authorization Request The Health Check App responds to the PMS browser to redirect to the authorization URL with the required authorization request parameters including the response_type, client_id, redirect_uri, scope, aud, state, code_challenge, code_challenge_method and launch. The Authorization Server, if required by PMS organization policies, may respond with a data access consent form where the PMS User grants the App access to the requested data. -#### Authorization Callback +##### Authorization Callback When granted, the Authorization Server response redirects the PMS browser back to the Health Check App authorization callback (redirect_uri) endpoint with a code parameter. -#### Token Request +##### Token Request The Health Check App authorization callback extracts the code parameter and uses the token_endpoint URL to exchange it for an access token. The HTTP POST request body includes the required parameters including the code, grant_type, client_id, redirect_uri and code_verifier. The Authorization Server response contains the token_type, access_token, id_token, scope and the relevant launch context data stashed by the PMS such as patient, encounter and health check questionnaire, which can be used to retrieve by Id the respective FHIR resources from the PMS FHIR API. diff --git a/input/intro-notes/ActorDefinition-SHCHostFHIRServer-notes.md b/input/intro-notes/ActorDefinition-SHCHostFHIRServer-notes.md index 313dffd5..508e884d 100644 --- a/input/intro-notes/ActorDefinition-SHCHostFHIRServer-notes.md +++ b/input/intro-notes/ActorDefinition-SHCHostFHIRServer-notes.md @@ -1,18 +1,18 @@ -### SHC HOST FHIR Server Interactions +#### SHC Host FHIR Server Interactions -#### SMART Authorization Configuration +##### SMART Authorization Configuration The Health Check App uses the iss parameter provided in the launch request as the base URL of the PMS FHIR API to retrieve the PMS Authorization Server configuration from the .well-known/smart-configuration endpoint. The response provides, amongst other configuration elements, the authorization_endpoint and token_endpoint URLs required in the subsequent steps. -#### Prepopulate Health Check +##### Prepopulate Health Check The Health Check APP uses the access_token as the Authorization for any request to the PMS FHIR API including the retrieval of the fhirUser and patient resources. The Health Check App will also query any FHIR resource required in the health check’s Questionnaire pre-population expressions, using the patient context as search parameter values. -#### Fill and Submit Health Check +##### Fill and Submit Health Check The PMS User fills out the health check form and when finished, submits the form. -#### Writeback Questionnaire Response +##### Writeback Questionnaire Response The Health Check App writes back the health check QuestionnaireResponse to the PMS FHIR Server using a FHIR Create request when the health check is new or a FHIR Update when a health check was previously saved as a draft and retrieved for further contribution. -#### Writeback Extract Transaction +##### Writeback Extract Transaction The Health Check App will generate an extract transaction when a health check Questionnaire contains items with specified extract expressions. The extract transaction is a FHIR Bundle that the health check App will write back to the PMS FHIR API transaction endpoint. The resource types included in the extract transaction will be specified in the health check Questionnaire, hence the PMS is required to ensure it has writeback capability for any health check Questionnaire it launches. diff --git a/input/pagecontent/general-requirements.md b/input/pagecontent/general-requirements.md index cd604dd3..8f7ff4f7 100644 --- a/input/pagecontent/general-requirements.md +++ b/input/pagecontent/general-requirements.md @@ -3,13 +3,13 @@ Systems compatible with the Smart Health Checks (SHC) App are required to suppor The requirements of the FHIR standard and [FHIR Conformance Rules](http://hl7.org/fhir/conformance-rules.html) apply, and define the conformance verbs - SHALL, SHALL NOT, SHOULD, SHOULD NOT, MAY. -This page documents how CapabilityStatements declare conformance to the SHC profiles and their FHIR interactions. It also defines the expectations for mandatory and must-support elements. Authorisation to a healthcare client's record is supported using [SMART App Launch v2.2.0 implementation guide](https://hl7.org/fhir/smart-app-launch). +This page documents how CapabilityStatements declare conformance to the SHC profiles and their FHIR interactions. It also defines the expectations for mandatory and *Must Support* elements. Authorisation to a healthcare client's record is supported using [SMART App Launch v2.2.0 implementation guide](https://hl7.org/fhir/smart-app-launch). ### Conformance Artifacts -The [Artifacts](artifacts.html) page lists the SHC Profiles defined for this implementation guide. Core Profile [StructureDefinitions]({{site.data.fhir.path}}structuredefinition.html) defines the minimum elements, extensions, vocabularies, and value sets which SHALL be present when using the profile. Many Profile pages also contain additional guidance. +The [Artifacts](artifacts.html) page lists the SHC profiles defined for this implementation guide. Core profile [StructureDefinitions]({{site.data.fhir.path}}structuredefinition.html) defines the minimum elements, extensions, vocabularies, and value sets which SHALL be present when using the profile. Many profile pages also contain additional guidance. -The Profile elements consist of both Mandatory and Must Support elements. Mandatory elements are elements with a minimum cardinality of 1 (min=1). The base [FHIR Must Support]({{site.data.fhir.path}}profiling.html#mustsupport) guidance requires specifications to define the support expected for profile elements labeled Must Support. The sections below explain how these elements are displayed and define the rules for interpreting profile elements and sub-elements labeled Mandatory and Must Support for SHC Host FHIR Server and SHC APP. +The profile elements consist of both mandatory and *Must Support* elements. Mandatory elements are elements with a minimum cardinality of 1 (min=1). The base [FHIR *Must Support*]({{site.data.fhir.path}}profiling.html#mustsupport) guidance requires specifications to define the support expected for profile elements labeled *Must Support*. The sections below explain how these elements are displayed and define the rules for interpreting profile elements and sub-elements labeled mandatory and *Must Support* for SHC Host FHIR Server and SHC App. #### Capability Statements @@ -18,13 +18,13 @@ The [capability statement](capability-statements.html) page list the cabability ### Exchange Format Support -In FHIR, resources are commonly exchanged in multiple formats including JSON and XML. The SHC App is a JavaScript-based apps and hence mandates the support of JSON. +In FHIR, resources are commonly exchanged in multiple formats including JSON and XML. The SHC App is a JavaScript-based app and hence mandates the support of JSON. ### Profile and Interaction Support -The SHC systems support the SHC *profiles* to represent clinical information and the SHC REST API *interactions* to access that information. Therefore, SHC Host FHIR Server must implement and support SHC profiles and interactions to be compatible with the SHC App. +The SHC systems support the SHC *profiles* to represent clinical information and the SHC REST API *interactions* to access that information. Therefore, the SHC Host FHIR Server must implement and support SHC profiles and interactions to be compatible with the SHC App. #### Profile Support -Profile support refers to the support of the SHC profiles, such that the system exposes FHIR resources that adhere to the SHC profiles' content model. Specifically, a SHC Host FHIR Server with SHC Profile support: +Profile support refers to the support of the SHC profiles, such that the system exposes FHIR resources that adhere to the SHC profiles' content model. Specifically, a SHC Host FHIR Server with SHC profile support: * SHALL communicate all profile data elements that are mandatory by that profile's StructureDefinition. #### Interaction Support @@ -34,20 +34,20 @@ Interaction support refers to a system that supports the SHC REST API interactio ### Must Support and Obligations -In the context of SHC, [Obligations](https://hl7.org/fhir/extensions/CodeSystem-obligation.html) defines how an actor (SHC Host FHIR Server or SHC App) must “support” a given element. All [MustSupport]({{site.data.fhir.path}}conformance-rules.html#mustSupport) elements in this IG are accompanied by an explicit obligation, which identifies structured expectations for a given actor. If an MustSupport element has no obligation for a given actor, that element need not be supported by that actor. Obligations can be found in the formal view section of a resource. +In the context of SHC, [Obligations](https://hl7.org/fhir/extensions/CodeSystem-obligation.html) defines how an actor (SHC Host FHIR Server or SHC App) must “support” a given element. All [*Must Support*]({{site.data.fhir.path}}conformance-rules.html#mustSupport) elements in this IG are accompanied by an explicit obligation, which identifies structured expectations for a given actor. If an *Must Support* element has no obligation for a given actor, that element need not be supported by that actor. Obligations can be found in the formal view section of a resource. When information on a particular data element is not present, and the reason for absence is unknown, SHC Host FHIR Server SHALL NOT include the data elements in the resource instance returned as part of the query results. Conversely, the SHC App SHALL be able to accept without error resource instances containing data elements asserting missing information. -#### Obligations for SHC FHIR Server -[SHC Host FHIR Server](ActorDefinition-SHCHostFHIRServer.html) conforming to a profile in SHC SHALL support the behavior defined in the Obligations section for the SHC FHIR Server actor under a given data element. Implementers may notice that the vast majority of SHC Obligations on SHC Host FHIR Server is SHALL:populate-if-known, which requires that SHC Host FHIR Server populate an element if that element is available. There are a few potential reasons by a Must Support element may not be available, for example: -* Elements for a particular patient are not available. For example, a system may not have the technical capability to collect a data elements and therefore is not expected to respond with a value when queried. +#### Obligations for SHC Host FHIR Server +[SHC Host FHIR Server](ActorDefinition-SHCHostFHIRServer.html) conforming to a profile in SHC SHALL support the behavior defined in the Obligations section for the SHC Host FHIR Server actor under a given data element. Implementers may notice that the vast majority of SHC Obligations on SHC Host FHIR Server is SHALL:populate-if-known, which requires that SHC Host FHIR Server populate an element if that element is available. There are a few potential reasons why a *Must Support* element may not be available, for example: +* Elements for a particular patient are not available. For example, a system may not have the technical capability to collect a data element and therefore is not expected to respond with a value when queried. * Elements are available, but the SHC App is not authorized to access the data. ##### Missing Data There are situations when information on a particular data element is missing, and the source system does not know the reason for the absence of data. ###### Missing Must-Support and Optional Data -If the SHC Host FHIR Server does not have data for an element with a minimum cardinality = 0 (including elements labeled Must Support), the data element SHALL be omitted from the resource. +If the SHC Host FHIR Server does not have data for an element with a minimum cardinality = 0 (including elements labeled *Must Support*), the data element SHALL be omitted from the resource. Note: an SHC Host FHIR Server may have no data to be included either because there are no data or because the data available are not pertinent. @@ -65,14 +65,14 @@ If an SHC Host FHIR Server does not have data to be included, the reason for the - use the appropriate exceptional concept code from the value set #### Obligations for SHC App -The [SHC App](ActorDefinition-SHCApp.html) SHALL support the behavior defined in the Obligations section for the SHC App actor under a given data element. The SHC App applies different processing for SHC profile elements labelled as Must Spport, these may include: +The [SHC App](ActorDefinition-SHCApp.html) SHALL support the behavior defined in the Obligations section for the SHC App actor under a given data element. The SHC App applies different processing for SHC profile elements labelled as *Must Support*, these may include: Code | Definition | Notes --- | --- | --- [MAY:ignore](https://hl7.org/fhir/extensions/CodeSystem-obligation.html#obligation-MAY.58ignore) | Conformant applications MAY not make any use of the value of this element if received. | This is a null statement and is the default behavior or consuming systems if other obligations are not specified. [SHALL:handle](https://hl7.org/fhir/extensions/CodeSystem-obligation.html#obligation-SHALL.58handle) | Conformant applications SHALL handle the meaning of this element correctly. | This rule is vague in that doesn't specify any particular handling of the element. But it's important because an application that ignores this element is non-conformant. A good example would be a status code of 'entered-in-error' - how exactly a Resource Consumer handles this depends on the use case etc., but the application can never simply ignore such a status code. Note that whether the resource or information from it is stored for later use is irrelevant - when the resource or information in it is processed, the consequences of the element are considered. [SHALL:display](https://hl7.org/fhir/extensions/CodeSystem-obligation.html#obligation-SHALL.58display) | Conformant applications SHALL display the value of this element when presenting the data from the resource to a human user. | Exactly how it is displayed is not specified, but it means that a human looking at the content of the resource is made aware of the value of the element so that they can consider the meaning of the resource. -[SHALL:process](https://hl7.org/fhir/extensions/CodeSystem-obligation.html#obligation-SHALL.58process) | Conformant applications SHALL consider the value of this element when processing the resource as specified by the IG. | This implies that the IG that specifies this obligation provides details about what processing is to be performed, and the obligation specifially relates to the processing specified in the IG. +[SHALL:process](https://hl7.org/fhir/extensions/CodeSystem-obligation.html#obligation-SHALL.58process) | Conformant applications SHALL consider the value of this element when processing the resource as specified by the IG. | This implies that the IG that specifies this obligation provides details about what processing is to be performed, and the obligation specifically relates to the processing specified in the IG. #### Obligation Code Definitions Further clarification on the obligation code defined for an actor can be found by clicking the hyperlink on the obligation or by navigating to [obligation code value set](https://hl7.org/fhir/extensions/CodeSystem-obligation.html). @@ -81,7 +81,7 @@ Further clarification on the obligation code defined for an actor can be found b Some elements labeled as *Must Support* reference multiple resource types or profiles (e.g., `QuestionnaireResponse.author`). SHC Host FHIR Server SHALL support *at least one* referenced resource or profile for each element listed in the table below. The SHC App SHALL support *all* referenced resources or profiles listed in the table below. -For example, when claiming conformance to the SHC QuestionnaireResponse Profile: +For example, when claiming conformance to the SHC QuestionnaireResponse profile: * SHC HOST FHIR Server **SHALL** be capable of providing a QuestionnaireResponse.author with a valid reference to an AU Core Practitioner profile, an AU Core PractitioneRole profile, an AU Core Patient profile, or any combination of them if the element is available * SHC App **SHALL** be capable of processing a QuestionnaireResponse.author with a valid reference to an AU Core Practitioner profile, AU Core PractitionerRole profile, and an AU Core Patient profile. diff --git a/input/pagecontent/index.md b/input/pagecontent/index.md index 3c47a101..2f430dd0 100644 --- a/input/pagecontent/index.md +++ b/input/pagecontent/index.md @@ -1,9 +1,9 @@ ### Introduction -This implementation guide is provided to support thye integration of the Smart Health Checks App within a practice management system enabling users to complete health chck assessments such the Aboriginal and Torres Strait Islander Health Check. +This implementation guide is provided to support the integration of the Smart Health Checks App within a patient management system enabling users to complete health check assessments such as the Aboriginal and Torres Strait Islander Health Check. -The Smart Health Checks App is a FHIR-based client application aimed at demonstrating effective undertaking of healthcare assessments. It leverages [SMART App Launch](https://build.fhir.org/ig/HL7/smart-app-launch/app-launch.html), [Structured Data Capture specification](http://build.fhir.org/ig/HL7/sdc/index.html) and [AU Core](https://hl7.org.au/fhir/core/) to improved clinical workflow, enhance the usefulness of information in the practice record and improve interoperability of health information to support better clinical outcomes. +The Smart Health Checks App is a FHIR-based client application aimed at demonstrating effective undertaking of healthcare assessments. It leverages [SMART App Launch](https://build.fhir.org/ig/HL7/smart-app-launch/app-launch.html), [Structured Data Capture specification](http://build.fhir.org/ig/HL7/sdc/index.html) and [AU Core](https://hl7.org.au/fhir/core/) to improve clinical workflow, enhance the usefulness of information in the practice record and improve interoperability of health information to support better clinical outcomes. -The Smart Health Checks App is based on the CSIRO Smart Forms App which was provided as a [Reference Implementation](reference-implementation.html) of using FHIR standards and implemenation guides to provide reusable software components that can be applied within Australian healthcare software systems to support uses cases such as national health check assessment forms. +The Smart Health Checks App is based on the CSIRO Smart Forms App which was provided as a [Reference Implementation](reference-implementation.html) of using FHIR standards and implementation guides to provide reusable software components that can be applied within Australian healthcare software systems to support uses cases such as national health check assessment forms. ### Smart Health Checks Actors The following figure provides an overview of the actors involved in the Smart Health Checks (SHC) solution. @@ -13,7 +13,7 @@ The following figure provides an overview of the actors involved in the Smart He #### SHC App -The SHC App allows a user of the SHC Host to launch the SHC App for filling out a health check form prepopulated with a authorized patient health information retrieved from the SHC Host FHIR Server and writeback the collected form data. +The SHC App allows a user of the SHC Host to launch the SHC App for filling out a health check form prepopulated with authorized patient health information retrieved from the SHC Host FHIR Server and writeback the collected form data. The SHC App actor is implemented by the CSIRO Smart Forms App. @@ -21,26 +21,26 @@ The SHC App actor is implemented by the CSIRO Smart Forms App. The SHC Host allows a user to launch the SHC App within an embedded or externally launched web browser to fill out a health check form. -The SHC Host actor is implemented by the practice management system. +The SHC Host actor is implemented by the patient management system. #### SHC Host FHIR Server The SHC Host FHIR Server allows the SHC App to retrieve patient health information and writeback collected health check data. -The SHC Host actor is implemented by the practice management system. +The SHC Host actor is implemented by the patient management system. #### SHC Host Authorization Server -The SHC Host Authorization Server allows the SHC App to request authorisation from the PMS user to access patient health information to prepopulate and write back health checks data using the PMS FHIR Server. +The SHC Host Authorization Server allows the SHC App to request authorisation from the user to access patient health information to prepopulate and write back health checks data using the SHC Host FHIR Server. ### Smart Health Checks Interactions The Smart Health Check App follows a standard set of interactions which are summarised as: 1. App Launch: The SHC User initiates the SHC Host to launch SHC App with a context of the current user, patient and health check form. -2. SMART Authorization Configuration: The SHC App uses SHC Host FHIR Server to locate the SHC Host Authorization Server endpoints and capability -3. Authorization Request: SHC App redirects to the SHC Authorization Server to authorise access to patient health information using SHC Host FHR Server, the SHC User may be prompted to permit or deny access to the requested data -4. Authorization Callback: The SHC App redirects back to the SHC App to proceed with the authorised launch of the health check form -5. Token Request: SHC App requests an access token and associated launch context, including user, patient and health check form, from the SHC Host Authorization Server +2. SMART Authorization Configuration: The SHC App uses SHC Host FHIR Server to locate the SHC Host Authorization Server endpoints and capability. +3. Authorization Request: SHC App redirects to the SHC Host Authorization Server to authorise access to patient health information using the SHC Host FHR Server. The SHC User may be prompted to permit or deny access to the requested data. +4. Authorization Callback: The SHC Host redirects back to the SHC App to proceed with the authorised launch of the health check form. +5. Token Request: SHC App requests an access token and associated launch context, including user, patient and health check form, from the SHC Host Authorization Server. 6. Prepopulate Health Check: SHC App uses the launch context to use the SHC Host FHIR Server to: 1. read Practitioner; 2. read Patient; @@ -49,51 +49,14 @@ The Smart Health Check App follows a standard set of interactions which are summ Launch Interactions -7. Fill and Save Health Check: The user fills out the health check form and saves the form data -8. Writeback Questionnaire Response: The health check form data is written back to the SHC Host FHIR Server as a questionnaire response -9. Writeback Extract Transaction: The health check form data extracted from a completed form as FHIR Resources are written back to the SHC Host FHIR Server as transaction Bundle +7. Fill and Save Health Check: The user fills out the health check form and saves the form data. +8. Writeback Questionnaire Response: The health check form data is written back to the SHC Host FHIR Server as a QuestionnaireResponse. +9. Writeback Extract Transaction: The health check form data extracted from a completed form as FHIR Resources are written back to the SHC Host FHIR Server as transaction Bundle. Writeback extract Writeback extract -#### SHC App Interactions - -##### App Launch -The PMS user initiates the Health Check App within the PMS. The PMS generates a launch context related to the current user, patient and health check questionnaire, which the PMS Authorization Server can access from the parameter provided in the App launch request. - -##### SMART Authorization Configuration -The Health Check App uses the iss parameter provided in the launch request as the base URL of the PMS FHIR API to retrieve the PMS Authorization Server configuration from the .well-known/smart-configuration endpoint. The response provides, amongst other configuration elements, the authorization_endpoint and token_endpoint URLs required in the subsequent steps. - -##### Authorization Request -The Health Check App responds to the PMS browser to redirect to the authorization URL with the required authorization request parameters including the response_type, client_id, redirect_uri, scope, aud, state, code_challenge, code_challenge_method and launch. -The Authorization Server, if required by PMS organization policies, may respond with a data access consent form where the PMS User grants the App access to the requested data. - -##### Authorization Callback -When granted, the Authorization Server response redirects the PMS browser back to the Health Check App authorization callback (redirect_uri) endpoint with a code parameter. - -##### Token Request -The Health Check App authorization callback extracts the code parameter and uses the token_endpoint URL to exchange it for an access token. The HTTP POST request body includes the required parameters including the code, grant_type, client_id, redirect_uri and code_verifier. -The Authorization Server response contains the token_type, access_token, id_token, scope and the relevant launch context data stashed by the PMS such as patient, encounter and health check questionnaire, which can be used to retrieve by Id the respective FHIR resources from the PMS FHIR API. -The id_token is a signed JWT that contains an encoding of user details, including a fhirUser reference that can be used to retrieve from the FHIR API a FHIR resource representing the user. - -##### Prepopulate Health Check -The Health Check APP uses the access_token as the Authorization for any request to the PMS FHIR API including the retrieval of the fhirUser and patient resources. The Health Check App will also query any FHIR resource required in the health check’s Questionnaire pre-population expressions, using the patient context as search parameter values. - -##### Fill and Submit Health Check -The PMS User fills out the health check form and when finished, submits the form. - -##### Writeback Questionnaire Response -The Health Check App writes back the health check QuestionnaireResponse to the PMS FHIR Server using a FHIR Create request when the health check is new or a FHIR Update when a health check was previously saved as a draft and retrieved for further contribution. - -##### Writeback Extract Transaction -The Health Check App will generate an extract transaction when a health check Questionnaire contains items with specified extract expressions. The extract transaction is a FHIR Bundle that the health check App will write back to the PMS FHIR API transaction endpoint. -The resource types included in the extract transaction will be specified in the health check Questionnaire, hence the PMS is required to ensure it has writeback capability for any health check Questionnaire it launches. -The extract transaction can include writeback requests using the following FHIR interactions: -1. Create; or -2. Patch - - ### Dependencies {% include dependency-table.xhtml %} From b77100ec453348a909bf645d212626704b4d19a0 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Mon, 7 Jul 2025 17:29:32 +1000 Subject: [PATCH 115/177] Update IG and capability statement names to Smart Health Checks --- .../resources/ActorDefinition-SHCApp.json | 2 +- .../ActorDefinition-SHCHostFHIRServer.json | 2 +- ...yStatement-SHCAppCapabilityStatement.json} | 10 +- ...SHCHostFHIRServerCapabilityStatement.json} | 10 +- .../CapabilityStatement-SmartFormsServer.json | 123 ------------------ ...ntationGuide-csiro.fhir.au.smartforms.json | 36 ++--- input/fsh/actors.fsh | 4 +- input/fsh/capability.fsh | 20 +-- input/pagecontent/general-requirements.md | 2 +- sushi-config.yaml | 6 +- 10 files changed, 42 insertions(+), 173 deletions(-) rename fsh-generated/resources/{CapabilityStatement-SmartFormsApplication.json => CapabilityStatement-SHCAppCapabilityStatement.json} (97%) rename fsh-generated/resources/{CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json => CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json} (97%) delete mode 100644 fsh-generated/resources/CapabilityStatement-SmartFormsServer.json diff --git a/fsh-generated/resources/ActorDefinition-SHCApp.json b/fsh-generated/resources/ActorDefinition-SHCApp.json index 9b2406e0..411ff2e7 100644 --- a/fsh-generated/resources/ActorDefinition-SHCApp.json +++ b/fsh-generated/resources/ActorDefinition-SHCApp.json @@ -9,5 +9,5 @@ "experimental": false, "type": "system", "documentation": "The Smart Health Checks (SHC) App: \n- **SHALL** accept [App Launch](https://hl7.org/fhir/smart-app-launch/app-launch.html#launch-app-ehr-launch) request\n- **SHALL** invoke [SMART Authorization Configuration](https://hl7.org/fhir/smart-app-launch/app-launch.html#retrieve-well-knownsmart-configuration) request\n- **SHALL** redirect to [Authorization Request](https://hl7.org/fhir/smart-app-launch/app-launch.html#obtain-authorization-code)\n- **SHALL** accept Authorization Callback request\n- **SHALL** invoke [Token Request](https://hl7.org/fhir/smart-app-launch/app-launch.html#obtain-access-token)\n- **SHALL** authorise FHIR API requests using Bearer access token per [SMART APP Launch Access FHIR API](https://hl7.org/fhir/smart-app-launch/app-launch.html#access-fhir-api)\n- **SHALL** invoke read Practitioner request\n- **SHALL** invoke read Patient request\n- **SHALL** invoke search QuestionnaireResponse request\n- **SHALL** invoke read QuestionnaireResponse request\n- **SHALL** invoke create and update QuestionnaireResponse request\n- **SHALL** invoke search and read requests for resources required by this IG to pre-populate questionnaire response\n- **SHALL** invoke create and patch requests in a transaction Bundle for resources required by this IG", - "capabilities": "https://smartforms.csiro.au/ig/CapabilityStatement/SmartFormsApplication" + "capabilities": "https://smartforms.csiro.au/ig/CapabilityStatement/SHCAppCapabilityStatement" } diff --git a/fsh-generated/resources/ActorDefinition-SHCHostFHIRServer.json b/fsh-generated/resources/ActorDefinition-SHCHostFHIRServer.json index 5f6d2d23..4c7ae993 100644 --- a/fsh-generated/resources/ActorDefinition-SHCHostFHIRServer.json +++ b/fsh-generated/resources/ActorDefinition-SHCHostFHIRServer.json @@ -9,5 +9,5 @@ "experimental": false, "type": "system", "documentation": "The SHC Host FHIR Server: \n- **SHALL** respond to [SMART Authorization Configuration`](https://hl7.org/fhir/smart-app-launch/app-launch.html#retrieve-well-knownsmart-configuration) request\n- **SHALL** authorise FHIR API requests using Bearer access token per [SMART APP Launch Access FHIR API](https://hl7.org/fhir/smart-app-launch/app-launch.html#access-fhir-api)\n- **SHALL** respond to read Practitioner request\n- **SHALL** respond to read Patient request\n- **SHALL** respond to search QuestionnaireResponse request\n- **SHALL** respond to read QuestionnaireResponse request\n- **SHALL** respond to create and update QuestionnaireResponse requests\n- **SHALL** respond to search and read requests for resources required by this IG\n- **SHALL** respond to create and patch requests in a transaction Bundle for resources required by this IG", - "capabilities": "https://smartforms.csiro.au/ig/CapabilityStatement/SFLauncherServerAboriginalTorresStraitIslanderHealthCheck" + "capabilities": "https://smartforms.csiro.au/ig/CapabilityStatement/SHCHostFHIRServerCapabilityStatement" } diff --git a/fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json b/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json similarity index 97% rename from fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json rename to fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json index 66ecad08..036b58dc 100644 --- a/fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json +++ b/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json @@ -1,10 +1,10 @@ { "resourceType": "CapabilityStatement", - "id": "SmartFormsApplication", - "url": "https://smartforms.csiro.au/ig/CapabilityStatement/SmartFormsApplication", - "name": "SmartFormsApplication", - "title": "Smart Forms Application", - "description": "This CapabilityStatement describes the capabilities of the Smart Forms Application. These capabilities include supported FHIR profiles, RESTful operations, and search parameters. It covers supported tasks such as SMART App launch context, prepopulation, write-back and completion of forms.", + "id": "SHCAppCapabilityStatement", + "url": "https://smartforms.csiro.au/ig/CapabilityStatement/SHCAppCapabilityStatement", + "name": "SHCApp", + "title": "SHC App", + "description": "This CapabilityStatement describes the capabilities of the SHC App. These capabilities include supported FHIR profiles, RESTful operations, and search parameters. It covers supported tasks such as SMART App launch context, prepopulation, write-back and completion of forms.", "status": "draft", "experimental": false, "date": "2025-04-16", diff --git a/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json b/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json similarity index 97% rename from fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json rename to fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json index 41843080..c61d9098 100644 --- a/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json +++ b/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json @@ -1,10 +1,10 @@ { "resourceType": "CapabilityStatement", - "id": "SFLauncherServerAboriginalTorresStraitIslanderHealthCheck", - "url": "https://smartforms.csiro.au/ig/CapabilityStatement/SFLauncherServerAboriginalTorresStraitIslanderHealthCheck", - "name": "SmartFormsLauncherServerAboriginalTorresStraitIslanderHealthCheck", - "title": "Smart Forms Launcher Server for the Aboriginal and Torres Strait Islander Health Check", - "description": "This CapabilityStatement describes the expected capabilities for systems to launch and exchange data with the [Smart Forms client application](CapabilityStatement-SmartFormsApplication.html) to support the [Aboriginal and Torres Strait Islander Health Check](Questionnaire-AboriginalTorresStraitIslanderHealthCheck.html). It lists the server's conformance expectations for the resource types required as a launch context, resource types required to support prepopulation of the form, resource types required to support writing back to the patient record, and QuestionnaireResponse requirements for managing form responses. These expectations include supported FHIR profiles, RESTful operations, and search parameters.", + "id": "SHCHostFHIRServerCapabilityStatement", + "url": "https://smartforms.csiro.au/ig/CapabilityStatement/SHCHostFHIRServerCapabilityStatement", + "name": "SHCHostFHIRServer", + "title": "SHC Host FHIR Server", + "description": "This CapabilityStatement describes the expected capabilities for systems to launch and exchange data with the [SHC App](CapabilityStatement-SHCAppCapabilityStatement.html) to support the [Aboriginal and Torres Strait Islander Health Check](Questionnaire-AboriginalTorresStraitIslanderHealthCheck.html). It lists the server's conformance expectations for the resource types required as a launch context, resource types required to support prepopulation of the form, resource types required to support writing back to the patient record, and QuestionnaireResponse requirements for managing form responses. These expectations include supported FHIR profiles, RESTful operations, and search parameters.", "status": "draft", "experimental": false, "date": "2025-04-16", diff --git a/fsh-generated/resources/CapabilityStatement-SmartFormsServer.json b/fsh-generated/resources/CapabilityStatement-SmartFormsServer.json deleted file mode 100644 index 223abec7..00000000 --- a/fsh-generated/resources/CapabilityStatement-SmartFormsServer.json +++ /dev/null @@ -1,123 +0,0 @@ -{ - "resourceType": "CapabilityStatement", - "id": "SmartFormsServer", - "url": "https://smartforms.csiro.au/ig/CapabilityStatement/SmartFormsServer", - "name": "SmartFormsServer", - "title": "Smart Forms Server", - "description": "This CapabilityStatement describes the capabilities of the Smart Forms Server. The Smart Forms Server provides a definitional repository of resources that a client application can retrieve for use in a Smart Forms context. The capabilities listed include supported FHIR profiles, RESTful operations, and search parameters.", - "status": "draft", - "experimental": false, - "date": "2025-04-16", - "publisher": "AEHRC CSIRO", - "kind": "capability", - "instantiates": [ - "http://hl7.org/fhir/uv/sdc/CapabilityStatement/sdc-form-manager" - ], - "software": { - "name": "Smart Forms Server" - }, - "fhirVersion": "4.0.1", - "format": [ - "json", - "xml" - ], - "rest": [ - { - "mode": "server", - "documentation": "The Smart Forms Server provides interactions for hosting Questionnaire resources and the assembly of modular Questionnaires.", - "resource": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", - "extension": [ - { - "url": "required", - "valueString": "url" - }, - { - "url": "required", - "valueString": "version" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", - "extension": [ - { - "url": "required", - "valueString": "_count" - }, - { - "url": "required", - "valueString": "_sort" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", - "extension": [ - { - "url": "required", - "valueString": "title" - }, - { - "url": "required", - "valueString": "_count" - }, - { - "url": "required", - "valueString": "_sort" - } - ] - } - ], - "type": "Questionnaire", - "profile": "http://hl7.org/fhir/StructureDefinition/Questionnaire", - "supportedProfile": [ - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" - ], - "interaction": [ - { - "code": "search-type" - } - ], - "searchParam": [ - { - "name": "url", - "definition": "http://hl7.org/fhir/SearchParameter/Questionnaire-url", - "type": "uri" - }, - { - "name": "version", - "definition": "http://hl7.org/fhir/SearchParameter/Questionnaire-version", - "type": "token" - }, - { - "name": "title", - "definition": "http://hl7.org/fhir/SearchParameter/Questionnaire-title", - "type": "string", - "documentation": "The client supports search using the :contains modifier." - }, - { - "name": "_count", - "type": "number", - "documentation": "The server supports search result limiting." - }, - { - "name": "_sort", - "type": "string", - "documentation": "The server supports search result sorting by date and **MAY** support other values." - } - ], - "operation": [ - { - "name": "assemble", - "definition": "http://hl7.org/fhir/uv/sdc/OperationDefinition/Questionnaire-assemble" - } - ] - } - ] - } - ] -} diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index 31e778dd..0bbd4d55 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -3,8 +3,8 @@ "id": "csiro.fhir.au.smartforms", "url": "https://smartforms.csiro.au/ig/ImplementationGuide/csiro.fhir.au.smartforms", "version": "0.3.0", - "name": "SmartForms", - "title": "Smart Forms", + "name": "SmartHealthChecks", + "title": "Smart Health Checks", "status": "draft", "experimental": false, "publisher": "AEHRC CSIRO", @@ -19,7 +19,7 @@ ] } ], - "description": "Smart Forms FHIR Implementation Guide.", + "description": "Smart Health Checks FHIR Implementation Guide.", "copyright": "Copyright © 2022+ Australian Government Department of Health and Aged Care - All rights reserved. This content is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. See https://creativecommons.org/licenses/by-sa/4.0/.", "packageId": "csiro.fhir.au.smartforms", "license": "CC-BY-SA-4.0", @@ -501,6 +501,14 @@ "description": "The SHC App is a system that a SHC Host can launch allowing a user to fill out a health check form, prepopulated with patient health information retrieved from the SHC Host FHIR Server, and writeback data collected in the form.", "exampleBoolean": false }, + { + "reference": { + "reference": "CapabilityStatement/SHCAppCapabilityStatement" + }, + "name": "SHC App", + "description": "This CapabilityStatement describes the capabilities of the SHC App. These capabilities include supported FHIR profiles, RESTful operations, and search parameters. It covers supported tasks such as SMART App launch context, prepopulation, write-back and completion of forms.", + "exampleBoolean": false + }, { "reference": { "reference": "ActorDefinition/SHCHost" @@ -527,26 +535,10 @@ }, { "reference": { - "reference": "CapabilityStatement/SmartFormsApplication" + "reference": "CapabilityStatement/SHCHostFHIRServerCapabilityStatement" }, - "name": "Smart Forms Application", - "description": "This CapabilityStatement describes the capabilities of the Smart Forms Application. These capabilities include supported FHIR profiles, RESTful operations, and search parameters. It covers supported tasks such as SMART App launch context, prepopulation, write-back and completion of forms.", - "exampleBoolean": false - }, - { - "reference": { - "reference": "CapabilityStatement/SFLauncherServerAboriginalTorresStraitIslanderHealthCheck" - }, - "name": "Smart Forms Launcher Server for the Aboriginal and Torres Strait Islander Health Check", - "description": "This CapabilityStatement describes the expected capabilities for systems to launch and exchange data with the [Smart Forms client application](CapabilityStatement-SmartFormsApplication.html) to support the [Aboriginal and Torres Strait Islander Health Check](Questionnaire-AboriginalTorresStraitIslanderHealthCheck.html). It lists the server's conformance expectations for the resource types required as a launch context, resource types required to support prepopulation of the form, resource types required to support writing back to the patient record, and QuestionnaireResponse requirements for managing form responses. These expectations include supported FHIR profiles, RESTful operations, and search parameters.", - "exampleBoolean": false - }, - { - "reference": { - "reference": "CapabilityStatement/SmartFormsServer" - }, - "name": "Smart Forms Server", - "description": "This CapabilityStatement describes the capabilities of the Smart Forms Server. The Smart Forms Server provides a definitional repository of resources that a client application can retrieve for use in a Smart Forms context. The capabilities listed include supported FHIR profiles, RESTful operations, and search parameters.", + "name": "SHC Host FHIR Server", + "description": "This CapabilityStatement describes the expected capabilities for systems to launch and exchange data with the [SHC App](CapabilityStatement-SHCAppCapabilityStatement.html) to support the [Aboriginal and Torres Strait Islander Health Check](Questionnaire-AboriginalTorresStraitIslanderHealthCheck.html). It lists the server's conformance expectations for the resource types required as a launch context, resource types required to support prepopulation of the form, resource types required to support writing back to the patient record, and QuestionnaireResponse requirements for managing form responses. These expectations include supported FHIR profiles, RESTful operations, and search parameters.", "exampleBoolean": false }, { diff --git a/input/fsh/actors.fsh b/input/fsh/actors.fsh index 0c56feb1..6f39eee9 100644 --- a/input/fsh/actors.fsh +++ b/input/fsh/actors.fsh @@ -23,7 +23,7 @@ Description: "The SHC App is a system that a SHC Host can launch allowing a user - **SHALL** invoke search and read requests for resources required by this IG to pre-populate questionnaire response - **SHALL** invoke create and patch requests in a transaction Bundle for resources required by this IG """ -* capabilities = "https://smartforms.csiro.au/ig/CapabilityStatement/SmartFormsApplication" +* capabilities = "https://smartforms.csiro.au/ig/CapabilityStatement/SHCAppCapabilityStatement" Instance: SHCHost InstanceOf: ActorDefinition @@ -89,4 +89,4 @@ Description: "The SHC Host FHIR Server allows the SHC App to retrieve patient he - **SHALL** respond to search and read requests for resources required by this IG - **SHALL** respond to create and patch requests in a transaction Bundle for resources required by this IG """ -* capabilities = "https://smartforms.csiro.au/ig/CapabilityStatement/SFLauncherServerAboriginalTorresStraitIslanderHealthCheck" \ No newline at end of file +* capabilities = "https://smartforms.csiro.au/ig/CapabilityStatement/SHCHostFHIRServerCapabilityStatement" \ No newline at end of file diff --git a/input/fsh/capability.fsh b/input/fsh/capability.fsh index 3b93f2f9..a775b75c 100644 --- a/input/fsh/capability.fsh +++ b/input/fsh/capability.fsh @@ -1,9 +1,9 @@ -Instance: SFLauncherServerAboriginalTorresStraitIslanderHealthCheck +Instance: SHCHostFHIRServerCapabilityStatement InstanceOf: CapabilityStatement Usage: #definition -* name = "SmartFormsLauncherServerAboriginalTorresStraitIslanderHealthCheck" -* title = "Smart Forms Launcher Server for the Aboriginal and Torres Strait Islander Health Check" -* description = "This CapabilityStatement describes the expected capabilities for systems to launch and exchange data with the [Smart Forms client application](CapabilityStatement-SmartFormsApplication.html) to support the [Aboriginal and Torres Strait Islander Health Check](Questionnaire-AboriginalTorresStraitIslanderHealthCheck.html). It lists the server's conformance expectations for the resource types required as a launch context, resource types required to support prepopulation of the form, resource types required to support writing back to the patient record, and QuestionnaireResponse requirements for managing form responses. These expectations include supported FHIR profiles, RESTful operations, and search parameters." +* name = "SHCHostFHIRServer" +* title = "SHC Host FHIR Server" +* description = "This CapabilityStatement describes the expected capabilities for systems to launch and exchange data with the [SHC App](CapabilityStatement-SHCAppCapabilityStatement.html) to support the [Aboriginal and Torres Strait Islander Health Check](Questionnaire-AboriginalTorresStraitIslanderHealthCheck.html). It lists the server's conformance expectations for the resource types required as a launch context, resource types required to support prepopulation of the form, resource types required to support writing back to the patient record, and QuestionnaireResponse requirements for managing form responses. These expectations include supported FHIR profiles, RESTful operations, and search parameters." * status = #draft * experimental = false * date = "2025-04-16" @@ -517,7 +517,7 @@ The server **SHALL** support both." * rest.interaction[=].documentation = "The server **SHALL** support the transaction interaction for all resources." - +/*Remove this role Instance: SmartFormsServer InstanceOf: CapabilityStatement Usage: #definition @@ -581,14 +581,14 @@ Usage: #definition * rest.resource[=].searchParam[=].documentation = "The server supports search result sorting by date and **MAY** support other values." * rest.resource[=].operation[0].name = "assemble" * rest.resource[=].operation[0].definition = "http://hl7.org/fhir/uv/sdc/OperationDefinition/Questionnaire-assemble" +*/ - -Instance: SmartFormsApplication +Instance: SHCAppCapabilityStatement InstanceOf: CapabilityStatement Usage: #definition -* name = "SmartFormsApplication" -* title = "Smart Forms Application" -* description = "This CapabilityStatement describes the capabilities of the Smart Forms Application. These capabilities include supported FHIR profiles, RESTful operations, and search parameters. It covers supported tasks such as SMART App launch context, prepopulation, write-back and completion of forms." +* name = "SHCApp" +* title = "SHC App" +* description = "This CapabilityStatement describes the capabilities of the SHC App. These capabilities include supported FHIR profiles, RESTful operations, and search parameters. It covers supported tasks such as SMART App launch context, prepopulation, write-back and completion of forms." * status = #draft * experimental = false * date = "2025-04-16" diff --git a/input/pagecontent/general-requirements.md b/input/pagecontent/general-requirements.md index 8f7ff4f7..79b78eca 100644 --- a/input/pagecontent/general-requirements.md +++ b/input/pagecontent/general-requirements.md @@ -29,7 +29,7 @@ Profile support refers to the support of the SHC profiles, such that the system #### Interaction Support Interaction support refers to a system that supports the SHC REST API interactions. Specifically, a server with SHC Interaction support: -* SHALL implement the REST API behavior according to the FHIR specification, including *read*, *search*, *create* and *patch* interactions as required, and the required search parameters as defined in the [SHC Host FHIR Server CapabilityStatement](CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.html#resourcesSummary1). +* SHALL implement the REST API behavior according to the FHIR specification, including *read*, *search*, *create* and *patch* interactions as required, and the required search parameters as defined in the [SHC Host FHIR Server CapabilityStatement](CapabilityStatement-SHCHostFHIRServerCapabilityStatement.html#resourcesSummary1). * SHALL specify the full capability details from the SHC Host FHIR Server CapabilityStatement it claims to implement, including mandatory support for _FHIR transactions_. ### Must Support and Obligations diff --git a/sushi-config.yaml b/sushi-config.yaml index 44d4f10d..894dccb1 100644 --- a/sushi-config.yaml +++ b/sushi-config.yaml @@ -5,9 +5,9 @@ # ╰────────────────────────────────────────────────────────────────────────────────────────────────╯ id: csiro.fhir.au.smartforms canonical: https://smartforms.csiro.au/ig -name: SmartForms -title: Smart Forms -description: Smart Forms FHIR Implementation Guide. +name: SmartHealthChecks +title: Smart Health Checks +description: Smart Health Checks FHIR Implementation Guide. status: draft # draft | active | retired | unknown version: 0.3.0 fhirVersion: 4.0.1 # https://www.hl7.org/fhir/valueset-FHIR-version.html From fda428d7e3316ba22d9691849f83705cc9749680 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Mon, 7 Jul 2025 17:38:30 +1000 Subject: [PATCH 116/177] Remove capability statement name changes due to merge conflict issue. --- ...ginalTorresStraitIslanderHealthCheck.json} | 10 +- ...ilityStatement-SmartFormsApplication.json} | 10 +- .../CapabilityStatement-SmartFormsServer.json | 123 ++++++++++++++++++ ...ntationGuide-csiro.fhir.au.smartforms.json | 30 +++-- input/fsh/capability.fsh | 20 +-- 5 files changed, 162 insertions(+), 31 deletions(-) rename fsh-generated/resources/{CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json => CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json} (97%) rename fsh-generated/resources/{CapabilityStatement-SHCAppCapabilityStatement.json => CapabilityStatement-SmartFormsApplication.json} (97%) create mode 100644 fsh-generated/resources/CapabilityStatement-SmartFormsServer.json diff --git a/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json b/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json similarity index 97% rename from fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json rename to fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json index c61d9098..41843080 100644 --- a/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json +++ b/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json @@ -1,10 +1,10 @@ { "resourceType": "CapabilityStatement", - "id": "SHCHostFHIRServerCapabilityStatement", - "url": "https://smartforms.csiro.au/ig/CapabilityStatement/SHCHostFHIRServerCapabilityStatement", - "name": "SHCHostFHIRServer", - "title": "SHC Host FHIR Server", - "description": "This CapabilityStatement describes the expected capabilities for systems to launch and exchange data with the [SHC App](CapabilityStatement-SHCAppCapabilityStatement.html) to support the [Aboriginal and Torres Strait Islander Health Check](Questionnaire-AboriginalTorresStraitIslanderHealthCheck.html). It lists the server's conformance expectations for the resource types required as a launch context, resource types required to support prepopulation of the form, resource types required to support writing back to the patient record, and QuestionnaireResponse requirements for managing form responses. These expectations include supported FHIR profiles, RESTful operations, and search parameters.", + "id": "SFLauncherServerAboriginalTorresStraitIslanderHealthCheck", + "url": "https://smartforms.csiro.au/ig/CapabilityStatement/SFLauncherServerAboriginalTorresStraitIslanderHealthCheck", + "name": "SmartFormsLauncherServerAboriginalTorresStraitIslanderHealthCheck", + "title": "Smart Forms Launcher Server for the Aboriginal and Torres Strait Islander Health Check", + "description": "This CapabilityStatement describes the expected capabilities for systems to launch and exchange data with the [Smart Forms client application](CapabilityStatement-SmartFormsApplication.html) to support the [Aboriginal and Torres Strait Islander Health Check](Questionnaire-AboriginalTorresStraitIslanderHealthCheck.html). It lists the server's conformance expectations for the resource types required as a launch context, resource types required to support prepopulation of the form, resource types required to support writing back to the patient record, and QuestionnaireResponse requirements for managing form responses. These expectations include supported FHIR profiles, RESTful operations, and search parameters.", "status": "draft", "experimental": false, "date": "2025-04-16", diff --git a/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json b/fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json similarity index 97% rename from fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json rename to fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json index 036b58dc..66ecad08 100644 --- a/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json +++ b/fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json @@ -1,10 +1,10 @@ { "resourceType": "CapabilityStatement", - "id": "SHCAppCapabilityStatement", - "url": "https://smartforms.csiro.au/ig/CapabilityStatement/SHCAppCapabilityStatement", - "name": "SHCApp", - "title": "SHC App", - "description": "This CapabilityStatement describes the capabilities of the SHC App. These capabilities include supported FHIR profiles, RESTful operations, and search parameters. It covers supported tasks such as SMART App launch context, prepopulation, write-back and completion of forms.", + "id": "SmartFormsApplication", + "url": "https://smartforms.csiro.au/ig/CapabilityStatement/SmartFormsApplication", + "name": "SmartFormsApplication", + "title": "Smart Forms Application", + "description": "This CapabilityStatement describes the capabilities of the Smart Forms Application. These capabilities include supported FHIR profiles, RESTful operations, and search parameters. It covers supported tasks such as SMART App launch context, prepopulation, write-back and completion of forms.", "status": "draft", "experimental": false, "date": "2025-04-16", diff --git a/fsh-generated/resources/CapabilityStatement-SmartFormsServer.json b/fsh-generated/resources/CapabilityStatement-SmartFormsServer.json new file mode 100644 index 00000000..223abec7 --- /dev/null +++ b/fsh-generated/resources/CapabilityStatement-SmartFormsServer.json @@ -0,0 +1,123 @@ +{ + "resourceType": "CapabilityStatement", + "id": "SmartFormsServer", + "url": "https://smartforms.csiro.au/ig/CapabilityStatement/SmartFormsServer", + "name": "SmartFormsServer", + "title": "Smart Forms Server", + "description": "This CapabilityStatement describes the capabilities of the Smart Forms Server. The Smart Forms Server provides a definitional repository of resources that a client application can retrieve for use in a Smart Forms context. The capabilities listed include supported FHIR profiles, RESTful operations, and search parameters.", + "status": "draft", + "experimental": false, + "date": "2025-04-16", + "publisher": "AEHRC CSIRO", + "kind": "capability", + "instantiates": [ + "http://hl7.org/fhir/uv/sdc/CapabilityStatement/sdc-form-manager" + ], + "software": { + "name": "Smart Forms Server" + }, + "fhirVersion": "4.0.1", + "format": [ + "json", + "xml" + ], + "rest": [ + { + "mode": "server", + "documentation": "The Smart Forms Server provides interactions for hosting Questionnaire resources and the assembly of modular Questionnaires.", + "resource": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", + "extension": [ + { + "url": "required", + "valueString": "url" + }, + { + "url": "required", + "valueString": "version" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", + "extension": [ + { + "url": "required", + "valueString": "_count" + }, + { + "url": "required", + "valueString": "_sort" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", + "extension": [ + { + "url": "required", + "valueString": "title" + }, + { + "url": "required", + "valueString": "_count" + }, + { + "url": "required", + "valueString": "_sort" + } + ] + } + ], + "type": "Questionnaire", + "profile": "http://hl7.org/fhir/StructureDefinition/Questionnaire", + "supportedProfile": [ + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" + ], + "interaction": [ + { + "code": "search-type" + } + ], + "searchParam": [ + { + "name": "url", + "definition": "http://hl7.org/fhir/SearchParameter/Questionnaire-url", + "type": "uri" + }, + { + "name": "version", + "definition": "http://hl7.org/fhir/SearchParameter/Questionnaire-version", + "type": "token" + }, + { + "name": "title", + "definition": "http://hl7.org/fhir/SearchParameter/Questionnaire-title", + "type": "string", + "documentation": "The client supports search using the :contains modifier." + }, + { + "name": "_count", + "type": "number", + "documentation": "The server supports search result limiting." + }, + { + "name": "_sort", + "type": "string", + "documentation": "The server supports search result sorting by date and **MAY** support other values." + } + ], + "operation": [ + { + "name": "assemble", + "definition": "http://hl7.org/fhir/uv/sdc/OperationDefinition/Questionnaire-assemble" + } + ] + } + ] + } + ] +} diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index 0bbd4d55..ce1f18ba 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -501,14 +501,6 @@ "description": "The SHC App is a system that a SHC Host can launch allowing a user to fill out a health check form, prepopulated with patient health information retrieved from the SHC Host FHIR Server, and writeback data collected in the form.", "exampleBoolean": false }, - { - "reference": { - "reference": "CapabilityStatement/SHCAppCapabilityStatement" - }, - "name": "SHC App", - "description": "This CapabilityStatement describes the capabilities of the SHC App. These capabilities include supported FHIR profiles, RESTful operations, and search parameters. It covers supported tasks such as SMART App launch context, prepopulation, write-back and completion of forms.", - "exampleBoolean": false - }, { "reference": { "reference": "ActorDefinition/SHCHost" @@ -535,10 +527,26 @@ }, { "reference": { - "reference": "CapabilityStatement/SHCHostFHIRServerCapabilityStatement" + "reference": "CapabilityStatement/SmartFormsApplication" }, - "name": "SHC Host FHIR Server", - "description": "This CapabilityStatement describes the expected capabilities for systems to launch and exchange data with the [SHC App](CapabilityStatement-SHCAppCapabilityStatement.html) to support the [Aboriginal and Torres Strait Islander Health Check](Questionnaire-AboriginalTorresStraitIslanderHealthCheck.html). It lists the server's conformance expectations for the resource types required as a launch context, resource types required to support prepopulation of the form, resource types required to support writing back to the patient record, and QuestionnaireResponse requirements for managing form responses. These expectations include supported FHIR profiles, RESTful operations, and search parameters.", + "name": "Smart Forms Application", + "description": "This CapabilityStatement describes the capabilities of the Smart Forms Application. These capabilities include supported FHIR profiles, RESTful operations, and search parameters. It covers supported tasks such as SMART App launch context, prepopulation, write-back and completion of forms.", + "exampleBoolean": false + }, + { + "reference": { + "reference": "CapabilityStatement/SFLauncherServerAboriginalTorresStraitIslanderHealthCheck" + }, + "name": "Smart Forms Launcher Server for the Aboriginal and Torres Strait Islander Health Check", + "description": "This CapabilityStatement describes the expected capabilities for systems to launch and exchange data with the [Smart Forms client application](CapabilityStatement-SmartFormsApplication.html) to support the [Aboriginal and Torres Strait Islander Health Check](Questionnaire-AboriginalTorresStraitIslanderHealthCheck.html). It lists the server's conformance expectations for the resource types required as a launch context, resource types required to support prepopulation of the form, resource types required to support writing back to the patient record, and QuestionnaireResponse requirements for managing form responses. These expectations include supported FHIR profiles, RESTful operations, and search parameters.", + "exampleBoolean": false + }, + { + "reference": { + "reference": "CapabilityStatement/SmartFormsServer" + }, + "name": "Smart Forms Server", + "description": "This CapabilityStatement describes the capabilities of the Smart Forms Server. The Smart Forms Server provides a definitional repository of resources that a client application can retrieve for use in a Smart Forms context. The capabilities listed include supported FHIR profiles, RESTful operations, and search parameters.", "exampleBoolean": false }, { diff --git a/input/fsh/capability.fsh b/input/fsh/capability.fsh index a775b75c..3b93f2f9 100644 --- a/input/fsh/capability.fsh +++ b/input/fsh/capability.fsh @@ -1,9 +1,9 @@ -Instance: SHCHostFHIRServerCapabilityStatement +Instance: SFLauncherServerAboriginalTorresStraitIslanderHealthCheck InstanceOf: CapabilityStatement Usage: #definition -* name = "SHCHostFHIRServer" -* title = "SHC Host FHIR Server" -* description = "This CapabilityStatement describes the expected capabilities for systems to launch and exchange data with the [SHC App](CapabilityStatement-SHCAppCapabilityStatement.html) to support the [Aboriginal and Torres Strait Islander Health Check](Questionnaire-AboriginalTorresStraitIslanderHealthCheck.html). It lists the server's conformance expectations for the resource types required as a launch context, resource types required to support prepopulation of the form, resource types required to support writing back to the patient record, and QuestionnaireResponse requirements for managing form responses. These expectations include supported FHIR profiles, RESTful operations, and search parameters." +* name = "SmartFormsLauncherServerAboriginalTorresStraitIslanderHealthCheck" +* title = "Smart Forms Launcher Server for the Aboriginal and Torres Strait Islander Health Check" +* description = "This CapabilityStatement describes the expected capabilities for systems to launch and exchange data with the [Smart Forms client application](CapabilityStatement-SmartFormsApplication.html) to support the [Aboriginal and Torres Strait Islander Health Check](Questionnaire-AboriginalTorresStraitIslanderHealthCheck.html). It lists the server's conformance expectations for the resource types required as a launch context, resource types required to support prepopulation of the form, resource types required to support writing back to the patient record, and QuestionnaireResponse requirements for managing form responses. These expectations include supported FHIR profiles, RESTful operations, and search parameters." * status = #draft * experimental = false * date = "2025-04-16" @@ -517,7 +517,7 @@ The server **SHALL** support both." * rest.interaction[=].documentation = "The server **SHALL** support the transaction interaction for all resources." -/*Remove this role + Instance: SmartFormsServer InstanceOf: CapabilityStatement Usage: #definition @@ -581,14 +581,14 @@ Usage: #definition * rest.resource[=].searchParam[=].documentation = "The server supports search result sorting by date and **MAY** support other values." * rest.resource[=].operation[0].name = "assemble" * rest.resource[=].operation[0].definition = "http://hl7.org/fhir/uv/sdc/OperationDefinition/Questionnaire-assemble" -*/ -Instance: SHCAppCapabilityStatement + +Instance: SmartFormsApplication InstanceOf: CapabilityStatement Usage: #definition -* name = "SHCApp" -* title = "SHC App" -* description = "This CapabilityStatement describes the capabilities of the SHC App. These capabilities include supported FHIR profiles, RESTful operations, and search parameters. It covers supported tasks such as SMART App launch context, prepopulation, write-back and completion of forms." +* name = "SmartFormsApplication" +* title = "Smart Forms Application" +* description = "This CapabilityStatement describes the capabilities of the Smart Forms Application. These capabilities include supported FHIR profiles, RESTful operations, and search parameters. It covers supported tasks such as SMART App launch context, prepopulation, write-back and completion of forms." * status = #draft * experimental = false * date = "2025-04-16" From 33227071868d42ea9c53187a317838889226358b Mon Sep 17 00:00:00 2001 From: liambarnes Date: Mon, 7 Jul 2025 17:42:26 +1000 Subject: [PATCH 117/177] Update capability statement names to Smart Health Checks --- ...yStatement-SHCAppCapabilityStatement.json} | 63 ++++++--- ...SHCHostFHIRServerCapabilityStatement.json} | 86 +++++++++--- .../CapabilityStatement-SmartFormsServer.json | 123 ------------------ ...ntationGuide-csiro.fhir.au.smartforms.json | 30 ++--- input/fsh/capability.fsh | 77 +++++++++-- 5 files changed, 184 insertions(+), 195 deletions(-) rename fsh-generated/resources/{CapabilityStatement-SmartFormsApplication.json => CapabilityStatement-SHCAppCapabilityStatement.json} (92%) rename fsh-generated/resources/{CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json => CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json} (93%) delete mode 100644 fsh-generated/resources/CapabilityStatement-SmartFormsServer.json diff --git a/fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json b/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json similarity index 92% rename from fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json rename to fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json index 5a921fba..036b58dc 100644 --- a/fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json +++ b/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json @@ -1,10 +1,10 @@ { "resourceType": "CapabilityStatement", - "id": "SmartFormsApplication", - "url": "https://smartforms.csiro.au/ig/CapabilityStatement/SmartFormsApplication", - "name": "SmartFormsApplication", - "title": "Smart Forms Application", - "description": "This CapabilityStatement describes the capabilities of the Smart Forms Application. These capabilities include supported FHIR profiles, RESTful operations, and search parameters. It covers supported tasks such as SMART App launch context, prepopulation, write-back and completion of forms.", + "id": "SHCAppCapabilityStatement", + "url": "https://smartforms.csiro.au/ig/CapabilityStatement/SHCAppCapabilityStatement", + "name": "SHCApp", + "title": "SHC App", + "description": "This CapabilityStatement describes the capabilities of the SHC App. These capabilities include supported FHIR profiles, RESTful operations, and search parameters. It covers supported tasks such as SMART App launch context, prepopulation, write-back and completion of forms.", "status": "draft", "experimental": false, "date": "2025-04-16", @@ -46,6 +46,17 @@ }, "resource": [ { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", + "extension": [ + { + "url": "required", + "valueString": "patient" + } + ] + } + ], "type": "AllergyIntolerance", "supportedProfile": [ "http://hl7.org.au/fhir/core/StructureDefinition/au-core-allergyintolerance" @@ -257,10 +268,6 @@ "url": "required", "valueString": "code" }, - { - "url": "required", - "valueString": "_count" - }, { "url": "required", "valueString": "_sort" @@ -301,17 +308,6 @@ "type": "token", "documentation": "The client **SHALL** provide at least a code value and **MAY** provide both the code and system values. \r\n\r\nThe server **SHALL** support both." }, - { - "name": "_count", - "type": "number", - "documentation": "The client and server **SHALL** support search result limiting.", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, { "name": "_sort", "type": "string", @@ -487,6 +483,27 @@ "valueString": "questionnaire" } ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", + "extension": [ + { + "url": "required", + "valueString": "patient" + }, + { + "url": "required", + "valueString": "_count" + }, + { + "url": "required", + "valueString": "_sort" + }, + { + "url": "required", + "valueString": "status" + } + ] } ], "type": "QuestionnaireResponse", @@ -520,6 +537,12 @@ "type": "reference", "documentation": "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. \r\n\r\nThe server **SHALL** support both.\r\n\r\nThe client and server **SHALL** support chained search questionnaire.title using the :contains modifier." }, + { + "name": "status", + "definition": "http://hl7.org/fhir/SearchParameter/QuestionnaireResponse-status", + "type": "token", + "documentation": "The client **SHALL** provide at least a code value and **MAY** provide both the code and system values. \r\n\r\nThe server **SHALL** support both." + }, { "name": "_count", "type": "number", diff --git a/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json b/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json similarity index 93% rename from fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json rename to fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json index 0d7fcef7..c61d9098 100644 --- a/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json +++ b/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json @@ -1,10 +1,10 @@ { "resourceType": "CapabilityStatement", - "id": "SFLauncherServerAboriginalTorresStraitIslanderHealthCheck", - "url": "https://smartforms.csiro.au/ig/CapabilityStatement/SFLauncherServerAboriginalTorresStraitIslanderHealthCheck", - "name": "SmartFormsLauncherServerAboriginalTorresStraitIslanderHealthCheck", - "title": "Smart Forms Launcher Server for the Aboriginal and Torres Strait Islander Health Check", - "description": "This CapabilityStatement describes the expected capabilities for systems to launch and exchange data with the [Smart Forms client application](CapabilityStatement-SmartFormsApplication.html) to support the [Aboriginal and Torres Strait Islander Health Check](Questionnaire-AboriginalTorresStraitIslanderHealthCheck.html). It lists the server's conformance expectations for the resource types required as a launch context, resource types required to support prepopulation of the form, resource types required to support writing back to the patient record, and QuestionnaireResponse requirements for managing form responses. These expectations include supported FHIR profiles, RESTful operations, and search parameters.", + "id": "SHCHostFHIRServerCapabilityStatement", + "url": "https://smartforms.csiro.au/ig/CapabilityStatement/SHCHostFHIRServerCapabilityStatement", + "name": "SHCHostFHIRServer", + "title": "SHC Host FHIR Server", + "description": "This CapabilityStatement describes the expected capabilities for systems to launch and exchange data with the [SHC App](CapabilityStatement-SHCAppCapabilityStatement.html) to support the [Aboriginal and Torres Strait Islander Health Check](Questionnaire-AboriginalTorresStraitIslanderHealthCheck.html). It lists the server's conformance expectations for the resource types required as a launch context, resource types required to support prepopulation of the form, resource types required to support writing back to the patient record, and QuestionnaireResponse requirements for managing form responses. These expectations include supported FHIR profiles, RESTful operations, and search parameters.", "status": "draft", "experimental": false, "date": "2025-04-16", @@ -138,6 +138,19 @@ { "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", "valueCode": "SHALL" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + }, + { + "url": "required", + "valueString": "patient" + } + ] } ], "type": "AllergyIntolerance", @@ -369,6 +382,15 @@ "valueCode": "SHALL" } ] + }, + { + "code": "patch", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] } ], "searchParam": [ @@ -458,7 +480,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" + "valueCode": "SHOULD" } ] }, @@ -554,10 +576,6 @@ "url": "required", "valueString": "code" }, - { - "url": "required", - "valueString": "_count" - }, { "url": "required", "valueString": "_sort" @@ -688,17 +706,6 @@ } ] }, - { - "name": "_count", - "type": "number", - "documentation": "The client and server **SHALL** support search result limiting.", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, { "name": "_sort", "type": "string", @@ -832,6 +839,31 @@ "valueString": "questionnaire" } ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + }, + { + "url": "required", + "valueString": "patient" + }, + { + "url": "required", + "valueString": "_count" + }, + { + "url": "required", + "valueString": "_sort" + }, + { + "url": "required", + "valueString": "status" + } + ] } ], "type": "QuestionnaireResponse", @@ -917,6 +949,18 @@ } ] }, + { + "name": "status", + "definition": "http://hl7.org/fhir/SearchParameter/QuestionnaireResponse-status", + "type": "token", + "documentation": "The client **SHALL** provide at least a code value and **MAY** provide both the code and system values. \r\n\r\nThe server **SHALL** support both.", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, { "name": "_count", "type": "number", diff --git a/fsh-generated/resources/CapabilityStatement-SmartFormsServer.json b/fsh-generated/resources/CapabilityStatement-SmartFormsServer.json deleted file mode 100644 index 223abec7..00000000 --- a/fsh-generated/resources/CapabilityStatement-SmartFormsServer.json +++ /dev/null @@ -1,123 +0,0 @@ -{ - "resourceType": "CapabilityStatement", - "id": "SmartFormsServer", - "url": "https://smartforms.csiro.au/ig/CapabilityStatement/SmartFormsServer", - "name": "SmartFormsServer", - "title": "Smart Forms Server", - "description": "This CapabilityStatement describes the capabilities of the Smart Forms Server. The Smart Forms Server provides a definitional repository of resources that a client application can retrieve for use in a Smart Forms context. The capabilities listed include supported FHIR profiles, RESTful operations, and search parameters.", - "status": "draft", - "experimental": false, - "date": "2025-04-16", - "publisher": "AEHRC CSIRO", - "kind": "capability", - "instantiates": [ - "http://hl7.org/fhir/uv/sdc/CapabilityStatement/sdc-form-manager" - ], - "software": { - "name": "Smart Forms Server" - }, - "fhirVersion": "4.0.1", - "format": [ - "json", - "xml" - ], - "rest": [ - { - "mode": "server", - "documentation": "The Smart Forms Server provides interactions for hosting Questionnaire resources and the assembly of modular Questionnaires.", - "resource": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", - "extension": [ - { - "url": "required", - "valueString": "url" - }, - { - "url": "required", - "valueString": "version" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", - "extension": [ - { - "url": "required", - "valueString": "_count" - }, - { - "url": "required", - "valueString": "_sort" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", - "extension": [ - { - "url": "required", - "valueString": "title" - }, - { - "url": "required", - "valueString": "_count" - }, - { - "url": "required", - "valueString": "_sort" - } - ] - } - ], - "type": "Questionnaire", - "profile": "http://hl7.org/fhir/StructureDefinition/Questionnaire", - "supportedProfile": [ - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" - ], - "interaction": [ - { - "code": "search-type" - } - ], - "searchParam": [ - { - "name": "url", - "definition": "http://hl7.org/fhir/SearchParameter/Questionnaire-url", - "type": "uri" - }, - { - "name": "version", - "definition": "http://hl7.org/fhir/SearchParameter/Questionnaire-version", - "type": "token" - }, - { - "name": "title", - "definition": "http://hl7.org/fhir/SearchParameter/Questionnaire-title", - "type": "string", - "documentation": "The client supports search using the :contains modifier." - }, - { - "name": "_count", - "type": "number", - "documentation": "The server supports search result limiting." - }, - { - "name": "_sort", - "type": "string", - "documentation": "The server supports search result sorting by date and **MAY** support other values." - } - ], - "operation": [ - { - "name": "assemble", - "definition": "http://hl7.org/fhir/uv/sdc/OperationDefinition/Questionnaire-assemble" - } - ] - } - ] - } - ] -} diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index 1ab0519b..da2a3152 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -485,6 +485,14 @@ "description": "The SHC App is a system that a SHC Host can launch allowing a user to fill out a health check form, prepopulated with patient health information retrieved from the SHC Host FHIR Server, and writeback data collected in the form.", "exampleBoolean": false }, + { + "reference": { + "reference": "CapabilityStatement/SHCAppCapabilityStatement" + }, + "name": "SHC App", + "description": "This CapabilityStatement describes the capabilities of the SHC App. These capabilities include supported FHIR profiles, RESTful operations, and search parameters. It covers supported tasks such as SMART App launch context, prepopulation, write-back and completion of forms.", + "exampleBoolean": false + }, { "reference": { "reference": "ActorDefinition/SHCHost" @@ -511,26 +519,10 @@ }, { "reference": { - "reference": "CapabilityStatement/SmartFormsApplication" + "reference": "CapabilityStatement/SHCHostFHIRServerCapabilityStatement" }, - "name": "Smart Forms Application", - "description": "This CapabilityStatement describes the capabilities of the Smart Forms Application. These capabilities include supported FHIR profiles, RESTful operations, and search parameters. It covers supported tasks such as SMART App launch context, prepopulation, write-back and completion of forms.", - "exampleBoolean": false - }, - { - "reference": { - "reference": "CapabilityStatement/SFLauncherServerAboriginalTorresStraitIslanderHealthCheck" - }, - "name": "Smart Forms Launcher Server for the Aboriginal and Torres Strait Islander Health Check", - "description": "This CapabilityStatement describes the expected capabilities for systems to launch and exchange data with the [Smart Forms client application](CapabilityStatement-SmartFormsApplication.html) to support the [Aboriginal and Torres Strait Islander Health Check](Questionnaire-AboriginalTorresStraitIslanderHealthCheck.html). It lists the server's conformance expectations for the resource types required as a launch context, resource types required to support prepopulation of the form, resource types required to support writing back to the patient record, and QuestionnaireResponse requirements for managing form responses. These expectations include supported FHIR profiles, RESTful operations, and search parameters.", - "exampleBoolean": false - }, - { - "reference": { - "reference": "CapabilityStatement/SmartFormsServer" - }, - "name": "Smart Forms Server", - "description": "This CapabilityStatement describes the capabilities of the Smart Forms Server. The Smart Forms Server provides a definitional repository of resources that a client application can retrieve for use in a Smart Forms context. The capabilities listed include supported FHIR profiles, RESTful operations, and search parameters.", + "name": "SHC Host FHIR Server", + "description": "This CapabilityStatement describes the expected capabilities for systems to launch and exchange data with the [SHC App](CapabilityStatement-SHCAppCapabilityStatement.html) to support the [Aboriginal and Torres Strait Islander Health Check](Questionnaire-AboriginalTorresStraitIslanderHealthCheck.html). It lists the server's conformance expectations for the resource types required as a launch context, resource types required to support prepopulation of the form, resource types required to support writing back to the patient record, and QuestionnaireResponse requirements for managing form responses. These expectations include supported FHIR profiles, RESTful operations, and search parameters.", "exampleBoolean": false }, { diff --git a/input/fsh/capability.fsh b/input/fsh/capability.fsh index 8c5fbaed..a775b75c 100644 --- a/input/fsh/capability.fsh +++ b/input/fsh/capability.fsh @@ -1,9 +1,9 @@ -Instance: SFLauncherServerAboriginalTorresStraitIslanderHealthCheck +Instance: SHCHostFHIRServerCapabilityStatement InstanceOf: CapabilityStatement Usage: #definition -* name = "SmartFormsLauncherServerAboriginalTorresStraitIslanderHealthCheck" -* title = "Smart Forms Launcher Server for the Aboriginal and Torres Strait Islander Health Check" -* description = "This CapabilityStatement describes the expected capabilities for systems to launch and exchange data with the [Smart Forms client application](CapabilityStatement-SmartFormsApplication.html) to support the [Aboriginal and Torres Strait Islander Health Check](Questionnaire-AboriginalTorresStraitIslanderHealthCheck.html). It lists the server's conformance expectations for the resource types required as a launch context, resource types required to support prepopulation of the form, resource types required to support writing back to the patient record, and QuestionnaireResponse requirements for managing form responses. These expectations include supported FHIR profiles, RESTful operations, and search parameters." +* name = "SHCHostFHIRServer" +* title = "SHC Host FHIR Server" +* description = "This CapabilityStatement describes the expected capabilities for systems to launch and exchange data with the [SHC App](CapabilityStatement-SHCAppCapabilityStatement.html) to support the [Aboriginal and Torres Strait Islander Health Check](Questionnaire-AboriginalTorresStraitIslanderHealthCheck.html). It lists the server's conformance expectations for the resource types required as a launch context, resource types required to support prepopulation of the form, resource types required to support writing back to the patient record, and QuestionnaireResponse requirements for managing form responses. These expectations include supported FHIR profiles, RESTful operations, and search parameters." * status = #draft * experimental = false * date = "2025-04-16" @@ -67,6 +67,11 @@ Also see the [AU Core Security and Privacy](https://hl7.org.au/fhir/core/1.0.0/s //AllergyIntolerance * rest.resource[+].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].extension[0].valueCode = #SHALL +* rest.resource[=].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination" +* rest.resource[=].extension[=].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].extension[=].extension[=].valueCode = #SHALL +* rest.resource[=].extension[=].extension[+].url = "required" +* rest.resource[=].extension[=].extension[=].valueString = "patient" * rest.resource[=].type = #AllergyIntolerance * rest.resource[=].profile = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-allergyintolerance" * rest.resource[=].profile.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" @@ -190,6 +195,9 @@ The server **SHALL** support both." * rest.resource[=].interaction[+].code = #create * rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[=].extension[0].valueCode = #SHALL +* rest.resource[=].interaction[+].code = #patch +* rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].interaction[=].extension[0].valueCode = #SHALL /* * rest.resource[=].interaction[=].documentation = "**SHALL** support `create`, `conditional create`." * rest.resource[=].conditionalCreate = true @@ -238,7 +246,7 @@ The server **SHALL** support both." * rest.resource[=].type = #MedicationStatement * rest.resource[=].profile = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-medicationstatement" * rest.resource[=].profile.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].profile.extension[0].valueCode = #SHALL +* rest.resource[=].profile.extension[0].valueCode = #SHOULD * rest.resource[=].documentation = "The server **SHALL** support the MedicationStatement resource, the AU Core profile and the conformance expectations for the MedicationStatement resource." * rest.resource[=].interaction[0].code = #search-type * rest.resource[=].interaction[0].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" @@ -301,8 +309,10 @@ The client **SHALL** support this method." * rest.resource[=].extension[=].extension[=].valueString = "patient" * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "code" +/* * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "_count" +*/ * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "_sort" @@ -360,11 +370,13 @@ The server **SHALL** support both. " The server **SHALL** support both." * rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL +/* * rest.resource[=].searchParam[+].name = "_count" * rest.resource[=].searchParam[=].type = #number * rest.resource[=].searchParam[=].documentation = "The client and server **SHALL** support search result limiting." * rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL +*/ * rest.resource[=].searchParam[+].name = "_sort" * rest.resource[=].searchParam[=].type = #string * rest.resource[=].searchParam[=].documentation = "The client and server **SHALL** support search result sorting by date and **MAY** support other values." @@ -431,6 +443,17 @@ The server **SHALL** support both." * rest.resource[=].extension[=].extension[=].valueString = "_sort" * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "questionnaire" +* rest.resource[=].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination" +* rest.resource[=].extension[=].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].extension[=].extension[=].valueCode = #SHALL +* rest.resource[=].extension[=].extension[+].url = "required" +* rest.resource[=].extension[=].extension[=].valueString = "patient" +* rest.resource[=].extension[=].extension[+].url = "required" +* rest.resource[=].extension[=].extension[=].valueString = "_count" +* rest.resource[=].extension[=].extension[+].url = "required" +* rest.resource[=].extension[=].extension[=].valueString = "_sort" +* rest.resource[=].extension[=].extension[+].url = "required" +* rest.resource[=].extension[=].extension[=].valueString = "status" * rest.resource[=].type = #QuestionnaireResponse * rest.resource[=].profile = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaireresponse" * rest.resource[=].profile.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" @@ -469,6 +492,14 @@ The server **SHALL** support both. The client and server **SHALL** support chained search questionnaire.title using the :contains modifier." * rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL +* rest.resource[=].searchParam[+].name = "status" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/QuestionnaireResponse-status" +* rest.resource[=].searchParam[=].type = #token +* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a code value and **MAY** provide both the code and system values. + +The server **SHALL** support both." +* rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL * rest.resource[=].searchParam[+].name = "_count" * rest.resource[=].searchParam[=].type = #number * rest.resource[=].searchParam[=].documentation = "The client and server **SHALL** support search result limiting." @@ -486,7 +517,7 @@ The client and server **SHALL** support chained search questionnaire.title using * rest.interaction[=].documentation = "The server **SHALL** support the transaction interaction for all resources." - +/*Remove this role Instance: SmartFormsServer InstanceOf: CapabilityStatement Usage: #definition @@ -550,14 +581,14 @@ Usage: #definition * rest.resource[=].searchParam[=].documentation = "The server supports search result sorting by date and **MAY** support other values." * rest.resource[=].operation[0].name = "assemble" * rest.resource[=].operation[0].definition = "http://hl7.org/fhir/uv/sdc/OperationDefinition/Questionnaire-assemble" +*/ - -Instance: SmartFormsApplication +Instance: SHCAppCapabilityStatement InstanceOf: CapabilityStatement Usage: #definition -* name = "SmartFormsApplication" -* title = "Smart Forms Application" -* description = "This CapabilityStatement describes the capabilities of the Smart Forms Application. These capabilities include supported FHIR profiles, RESTful operations, and search parameters. It covers supported tasks such as SMART App launch context, prepopulation, write-back and completion of forms." +* name = "SHCApp" +* title = "SHC App" +* description = "This CapabilityStatement describes the capabilities of the SHC App. These capabilities include supported FHIR profiles, RESTful operations, and search parameters. It covers supported tasks such as SMART App launch context, prepopulation, write-back and completion of forms." * status = #draft * experimental = false * date = "2025-04-16" @@ -579,7 +610,10 @@ Usage: #definition //AllergyIntolerance -* rest.resource[+].type = #AllergyIntolerance +* rest.resource[+].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination" +* rest.resource[=].extension[=].extension[+].url = "required" +* rest.resource[=].extension[=].extension[=].valueString = "patient" +* rest.resource[=].type = #AllergyIntolerance * rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-allergyintolerance" * rest.resource[=].documentation = "The client supports the AllergyIntolerance resource, the AU Core profile and the conformance expectations for the AllergyIntolerance resource." * rest.resource[=].interaction[0].code = #search-type @@ -713,8 +747,10 @@ The client **SHALL** support this method." * rest.resource[=].extension[=].extension[=].valueString = "patient" * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "code" +/* * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "_count" +*/ * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "_sort" @@ -743,11 +779,13 @@ The server **SHALL** support both. " * rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a code value and **MAY** provide both the code and system values. The server **SHALL** support both." +/* * rest.resource[=].searchParam[+].name = "_count" * rest.resource[=].searchParam[=].type = #number * rest.resource[=].searchParam[=].documentation = "The client and server **SHALL** support search result limiting." * rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL +*/ * rest.resource[=].searchParam[+].name = "_sort" * rest.resource[=].searchParam[=].type = #string * rest.resource[=].searchParam[=].documentation = "The client and server **SHALL** support search result sorting by date and **MAY** support other values." @@ -831,6 +869,15 @@ The server **SHALL** support both." * rest.resource[=].extension[=].extension[=].valueString = "_sort" * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "questionnaire" +* rest.resource[=].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination" +* rest.resource[=].extension[=].extension[+].url = "required" +* rest.resource[=].extension[=].extension[=].valueString = "patient" +* rest.resource[=].extension[=].extension[+].url = "required" +* rest.resource[=].extension[=].extension[=].valueString = "_count" +* rest.resource[=].extension[=].extension[+].url = "required" +* rest.resource[=].extension[=].extension[=].valueString = "_sort" +* rest.resource[=].extension[=].extension[+].url = "required" +* rest.resource[=].extension[=].extension[=].valueString = "status" * rest.resource[=].type = #QuestionnaireResponse * rest.resource[=].profile = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaireresponse" * rest.resource[=].documentation = "The client supports the QuestionnaireResponse resource, Structured Data Capture profile and the conformance expectations for the QuestionnaireResponse resource." @@ -853,6 +900,12 @@ The server **SHALL** support both. " The server **SHALL** support both. The client and server **SHALL** support chained search questionnaire.title using the :contains modifier." +* rest.resource[=].searchParam[+].name = "status" +* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/QuestionnaireResponse-status" +* rest.resource[=].searchParam[=].type = #token +* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a code value and **MAY** provide both the code and system values. + +The server **SHALL** support both." * rest.resource[=].searchParam[+].name = "_count" * rest.resource[=].searchParam[=].type = #number * rest.resource[=].searchParam[=].documentation = "The client and server **SHALL** support search result limiting." From 1465c3379e23988571a6a6e2beba01d646b26ab1 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Tue, 8 Jul 2025 13:00:27 +1000 Subject: [PATCH 118/177] Fix minor QA errors --- fsh-generated/resources/Questionnaire-Examination.json | 6 ------ .../resources/Questionnaire-RegularMedications.json | 6 ------ fsh-generated/resources/ValueSet-heart-rhythm-1.json | 6 ------ .../resources/ValueSet-smarthealthchecks-medication.json | 6 ------ input/fsh/terminology.fsh | 5 +---- input/pagecontent/index.md | 3 ++- input/pagecontent/smart-health-check-integration.md | 4 ++-- 7 files changed, 5 insertions(+), 31 deletions(-) diff --git a/fsh-generated/resources/Questionnaire-Examination.json b/fsh-generated/resources/Questionnaire-Examination.json index 40e1da1f..55502f85 100644 --- a/fsh-generated/resources/Questionnaire-Examination.json +++ b/fsh-generated/resources/Questionnaire-Examination.json @@ -1017,12 +1017,6 @@ { "resourceType": "ValueSet", "id": "heart-rhythm-1", - "meta": { - "profile": [ - "http://hl7.org/fhir/StructureDefinition/shareablevalueset", - "https://healthterminologies.gov.au/fhir/StructureDefinition/composed-value-set-4" - ] - }, "status": "draft", "name": "HeartRythym", "title": "Heart Rhythm", diff --git a/fsh-generated/resources/Questionnaire-RegularMedications.json b/fsh-generated/resources/Questionnaire-RegularMedications.json index 053b8127..b6315be0 100644 --- a/fsh-generated/resources/Questionnaire-RegularMedications.json +++ b/fsh-generated/resources/Questionnaire-RegularMedications.json @@ -578,12 +578,6 @@ { "resourceType": "ValueSet", "id": "smarthealthchecks-medication", - "meta": { - "profile": [ - "http://hl7.org/fhir/StructureDefinition/shareablevalueset", - "https://healthterminologies.gov.au/fhir/StructureDefinition/composed-value-set-4" - ] - }, "status": "draft", "name": "SmartHealthChecksMedication", "title": "Smart Health Checks Medication", diff --git a/fsh-generated/resources/ValueSet-heart-rhythm-1.json b/fsh-generated/resources/ValueSet-heart-rhythm-1.json index 9326102d..3c6dac43 100644 --- a/fsh-generated/resources/ValueSet-heart-rhythm-1.json +++ b/fsh-generated/resources/ValueSet-heart-rhythm-1.json @@ -6,12 +6,6 @@ "title": "Heart Rhythm", "description": "The Heart Rhythm value set includes values that may be used to represent the heart rhythm of an individual.", "url": "https://smartforms.csiro.au/ig/ValueSet/heart-rhythm-1", - "meta": { - "profile": [ - "http://hl7.org/fhir/StructureDefinition/shareablevalueset", - "https://healthterminologies.gov.au/fhir/StructureDefinition/composed-value-set-4" - ] - }, "experimental": false, "expansion": { "identifier": "urn:uuid:b12cc8bf-25b0-49a8-8ee1-f641fd89cfa7", diff --git a/fsh-generated/resources/ValueSet-smarthealthchecks-medication.json b/fsh-generated/resources/ValueSet-smarthealthchecks-medication.json index c49d6f00..9f77bbc9 100644 --- a/fsh-generated/resources/ValueSet-smarthealthchecks-medication.json +++ b/fsh-generated/resources/ValueSet-smarthealthchecks-medication.json @@ -6,12 +6,6 @@ "title": "Smart Health Checks Medication", "description": "The Smart Health Checks Medication value set includes Australian Medicines Terminology (AMT) product concepts that may be used for the identification of a medicine with form, ingredient and unit of measure details.", "url": "https://smartforms.csiro.au/ig/ValueSet/smarthealthchecks-medication", - "meta": { - "profile": [ - "http://hl7.org/fhir/StructureDefinition/shareablevalueset", - "https://healthterminologies.gov.au/fhir/StructureDefinition/composed-value-set-4" - ] - }, "experimental": false, "compose": { "include": [ diff --git a/input/fsh/terminology.fsh b/input/fsh/terminology.fsh index 1b6b93f4..1a42aca8 100644 --- a/input/fsh/terminology.fsh +++ b/input/fsh/terminology.fsh @@ -1436,8 +1436,7 @@ ValueSet: SmartHealthChecksMedication Id: smarthealthchecks-medication Title: "Smart Health Checks Medication" Description: "The Smart Health Checks Medication value set includes Australian Medicines Terminology (AMT) product concepts that may be used for the identification of a medicine with form, ingredient and unit of measure details." -* ^meta.profile[0] = "http://hl7.org/fhir/StructureDefinition/shareablevalueset" -* ^meta.profile[+] = "https://healthterminologies.gov.au/fhir/StructureDefinition/composed-value-set-4" + * ^experimental = false * include codes from system http://snomed.info/sct|http://snomed.info/sct/32506021000036107 where constraint = "^ 929360081000036101|Medicinal product pack reference set| OR ^ 929360071000036103|Medicinal product unit of use reference set| OR ^ 929360041000036105|Trade product pack reference set| OR ^ 929360031000036100|Trade product unit of use reference set| OR ^ 929360051000036108|Containered trade product pack reference set|" @@ -1467,8 +1466,6 @@ ValueSet: HeartRythym Id: heart-rhythm-1 Title: "Heart Rhythm" Description: "The Heart Rhythm value set includes values that may be used to represent the heart rhythm of an individual." -* ^meta.profile[0] = "http://hl7.org/fhir/StructureDefinition/shareablevalueset" -* ^meta.profile[+] = "https://healthterminologies.gov.au/fhir/StructureDefinition/composed-value-set-4" * ^experimental = false * ^expansion.identifier = "urn:uuid:b12cc8bf-25b0-49a8-8ee1-f641fd89cfa7" * ^expansion.timestamp = "2025-06-27T12:16:28+10:00" diff --git a/input/pagecontent/index.md b/input/pagecontent/index.md index 2f430dd0..f74f3e5f 100644 --- a/input/pagecontent/index.md +++ b/input/pagecontent/index.md @@ -82,8 +82,9 @@ This guide is divided into several pages which are listed at the top of each pag - [Home](index.html): This page provides the introduction and scope for this guide. - Guidance - - [Reference Implementation](reference-implementation.html): This page describes software components of a Smart Forms reference implementation. + - [General Requirements](general-requirements.html): This page documents how CapabilityStatements declare conformance to the SHC profiles and their FHIR interactions. It also defines the expectations for mandatory and *Must Support* elements. - [Smart Health Check Integration](smart-health-check-integration.html): This page provides an overview of the integration requirements to launch the Smart Health Check Application. + - [Reference Implementation](reference-implementation.html): This page describes software components that have been developed to demonstrate the Smart Health Checks solution. - [Informative Guidance](informative-guidance.html): This page provides some informative material that implementers may find useful but does not represent normative requirements. - FHIR Artefacts: These pages provide detailed descriptions and formal definitions for all the FHIR artefacts defined in this guide. - [Artefact Summary](artifacts.html): This page lists all of the FHIR artefacts defined in this guide. diff --git a/input/pagecontent/smart-health-check-integration.md b/input/pagecontent/smart-health-check-integration.md index 1694826d..24de5cf4 100644 --- a/input/pagecontent/smart-health-check-integration.md +++ b/input/pagecontent/smart-health-check-integration.md @@ -78,7 +78,7 @@ Ontoserver is a terminology server with a FHIR API that allows the SHCA to acces ### Practice Mangement System Requirements -The conformance requirements for a system launching the SHCA and exchanging patient data are described by the [Smart Forms Launcher Server for the Aboriginal and Torres Strait Islander Health Check CapabilityStatement](CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.html). This resource forms the normative requirements for integrating the Smart Health Check solution. +The conformance requirements for a system launching the SHCA and exchanging patient data are described by the [SHC Host FHIR Server CapabilityStatement](CapabilityStatement-SHCHostFHIRServerCapabilityStatement.html). This resource forms the normative requirements for integrating the Smart Health Check solution. The two main capabilties required for integration are: 1. SMART App Launch Services; and @@ -135,7 +135,7 @@ A PMS will need to provide a FHIR compatible service that supports the requireme Fundamental requirements are defined in the [core FHIR®© specification]({{site.data.fhir.path}}) and Australian localisation requirements of the core FHIR®© specification are defined in [AU Core](https://hl7.org.au/fhir/core/1.0.0) and [AU Base](https://hl7.org.au/fhir/5.0.0). Additional detail is provided below. -The PMS FHIR Server requirements are described by the [Smart Forms Launcher Server for the Aboriginal and Torres Strait Islander Health Check CapabilityStatement](CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.html). +The PMS FHIR Server requirements are described by the [SHC Host FHIR Server CapabilityStatement](CapabilityStatement-SHCHostFHIRServerCapabilityStatement.html). A summary of the required FHIR endpoints, resources and RESTful interactions are shown below. If there are any variations between this page and the CapabilityStatement above, the CapabilityStatement takes precendence. From 51f23261d092279ad943eca604d84714154178e2 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Tue, 8 Jul 2025 13:26:40 +1000 Subject: [PATCH 119/177] Templates should not conform to specific profiles - fix --- ...estionnaire-AllergiesAdverseReactions.json | 5 - .../resources/Questionnaire-Examination.json | 318 ++++++++---------- .../resources/Questionnaire-Immunisation.json | 5 - ...onnaire-MedicalHistoryCurrentProblems.json | 5 - .../Questionnaire-RegularMedications.json | 5 - .../resources/Questionnaire-SubstanceUse.json | 19 +- input/fsh/extract-templates.fsh | 110 +++--- 7 files changed, 197 insertions(+), 270 deletions(-) diff --git a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json index 9a6ea365..f3602335 100644 --- a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json +++ b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json @@ -366,11 +366,6 @@ { "resourceType": "AllergyIntolerance", "id": "AllergyIntoleranceTemplate", - "meta": { - "profile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-allergyintolerance" - ] - }, "clinicalStatus": { "coding": [ { diff --git a/fsh-generated/resources/Questionnaire-Examination.json b/fsh-generated/resources/Questionnaire-Examination.json index 55502f85..f9d2ec09 100644 --- a/fsh-generated/resources/Questionnaire-Examination.json +++ b/fsh-generated/resources/Questionnaire-Examination.json @@ -1091,17 +1091,13 @@ { "resourceType": "Observation", "id": "BodyHeightTemplate", - "meta": { - "profile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyheight" - ] - }, + "status": "final", "category": [ { "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "vital-signs" + "code": "vital-signs", + "system": "http://terminology.hl7.org/CodeSystem/observation-category" } ] } @@ -1109,36 +1105,35 @@ "code": { "coding": [ { - "system": "http://loinc.org", - "code": "8302-2" + "code": "8302-2", + "system": "http://loinc.org" }, { - "system": "http://snomed.info/sct", - "code": "50373000" + "code": "50373000", + "system": "http://snomed.info/sct" } ], "text": "Height" }, - "valueQuantity": { - "system": "http://unitsofmeasure.org", - "unit": "cm", - "code": "cm", - "_value": { + "subject": { + "_reference": { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "$this.answer.value" + "valueString": "%resource.subject.reference" } ] } }, - "status": "final", - "subject": { - "_reference": { + "valueQuantity": { + "unit": "cm", + "system": "http://unitsofmeasure.org", + "code": "cm", + "_value": { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "%resource.subject.reference" + "valueString": "$this.answer.value" } ] } @@ -1155,17 +1150,13 @@ { "resourceType": "Observation", "id": "BodyHeightLengthTemplate", - "meta": { - "profile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyheight" - ] - }, + "status": "final", "category": [ { "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "vital-signs" + "code": "vital-signs", + "system": "http://terminology.hl7.org/CodeSystem/observation-category" } ] } @@ -1173,36 +1164,35 @@ "code": { "coding": [ { - "system": "http://loinc.org", - "code": "8302-2" + "code": "8302-2", + "system": "http://loinc.org" }, { - "system": "http://snomed.info/sct", - "code": "50373000" + "code": "50373000", + "system": "http://snomed.info/sct" } ], "text": "Height" }, - "valueQuantity": { - "system": "http://unitsofmeasure.org", - "unit": "cm", - "code": "cm", - "_value": { + "subject": { + "_reference": { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "$this.answer.value" + "valueString": "%resource.subject.reference" } ] } }, - "status": "final", - "subject": { - "_reference": { + "valueQuantity": { + "unit": "cm", + "system": "http://unitsofmeasure.org", + "code": "cm", + "_value": { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "%resource.subject.reference" + "valueString": "$this.answer.value" } ] } @@ -1219,17 +1209,13 @@ { "resourceType": "Observation", "id": "BodyWeightTemplate", - "meta": { - "profile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyweight" - ] - }, + "status": "final", "category": [ { "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "vital-signs" + "code": "vital-signs", + "system": "http://terminology.hl7.org/CodeSystem/observation-category" } ] } @@ -1237,36 +1223,35 @@ "code": { "coding": [ { - "system": "http://loinc.org", - "code": "29463-7" + "code": "29463-7", + "system": "http://loinc.org" }, { - "system": "http://snomed.info/sct", - "code": "27113001" + "code": "27113001", + "system": "http://snomed.info/sct" } ], "text": "Weight" }, - "valueQuantity": { - "system": "http://unitsofmeasure.org", - "unit": "kg", - "code": "kg", - "_value": { + "subject": { + "_reference": { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "$this.answer.value" + "valueString": "%resource.subject.reference" } ] } }, - "status": "final", - "subject": { - "_reference": { + "valueQuantity": { + "unit": "kg", + "system": "http://unitsofmeasure.org", + "code": "kg", + "_value": { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "%resource.subject.reference" + "valueString": "$this.answer.value" } ] } @@ -1283,17 +1268,13 @@ { "resourceType": "Observation", "id": "WaistCircumferenceTemplate", - "meta": { - "profile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-waistcircum" - ] - }, + "status": "final", "category": [ { "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "vital-signs" + "code": "vital-signs", + "system": "http://terminology.hl7.org/CodeSystem/observation-category" } ] } @@ -1301,36 +1282,35 @@ "code": { "coding": [ { - "system": "http://loinc.org", - "code": "8280-0" + "code": "8280-0", + "system": "http://loinc.org" }, { - "system": "http://snomed.info/sct", - "code": "276361009" + "code": "276361009", + "system": "http://snomed.info/sct" } ], "text": "Waist circumference" }, - "valueQuantity": { - "system": "http://unitsofmeasure.org", - "unit": "cm", - "code": "cm", - "_value": { + "subject": { + "_reference": { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "$this.answer.value" + "valueString": "%resource.subject.reference" } ] } }, - "status": "final", - "subject": { - "_reference": { + "valueQuantity": { + "unit": "cm", + "system": "http://unitsofmeasure.org", + "code": "cm", + "_value": { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "%resource.subject.reference" + "valueString": "$this.answer.value" } ] } @@ -1347,18 +1327,13 @@ { "resourceType": "Observation", "id": "HeadCircumferenceTemplate", - "meta": { - "profile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum" - ] - }, "status": "final", "category": [ { "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "vital-signs" + "code": "vital-signs", + "system": "http://terminology.hl7.org/CodeSystem/observation-category" } ] } @@ -1366,35 +1341,35 @@ "code": { "coding": [ { - "system": "http://loinc.org", - "code": "9843-4" + "code": "9843-4", + "system": "http://loinc.org" }, { - "system": "http://snomed.info/sct", - "code": "363812007" + "code": "363812007", + "system": "http://snomed.info/sct" } ], "text": "Head circumference" }, - "valueQuantity": { - "system": "http://unitsofmeasure.org", - "unit": "cm", - "code": "cm", - "_value": { + "subject": { + "_reference": { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "$this.answer.value" + "valueString": "%resource.subject.reference" } ] } }, - "subject": { - "_reference": { + "valueQuantity": { + "unit": "cm", + "system": "http://unitsofmeasure.org", + "code": "cm", + "_value": { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "%resource.subject.reference" + "valueString": "$this.answer.value" } ] } @@ -1411,17 +1386,13 @@ { "resourceType": "Observation", "id": "HeartRateTemplate", - "meta": { - "profile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-heartrate" - ] - }, + "status": "final", "category": [ { "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "vital-signs" + "code": "vital-signs", + "system": "http://terminology.hl7.org/CodeSystem/observation-category" } ] } @@ -1429,36 +1400,35 @@ "code": { "coding": [ { - "system": "http://loinc.org", - "code": "8867-4" + "code": "8867-4", + "system": "http://loinc.org" }, { - "system": "http://snomed.info/sct", - "code": "364075005" + "code": "364075005", + "system": "http://snomed.info/sct" } ], "text": "Heart rate" }, - "valueQuantity": { - "system": "http://unitsofmeasure.org", - "code": "/min", - "unit": "/min", - "_value": { + "subject": { + "_reference": { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "$this.answer.value.toDecimal()" + "valueString": "%resource.subject.reference" } ] } }, - "status": "final", - "subject": { - "_reference": { + "valueQuantity": { + "unit": "/min", + "system": "http://unitsofmeasure.org", + "code": "/min", + "_value": { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "%resource.subject.reference" + "valueString": "$this.answer.value.toDecimal()" } ] } @@ -1475,11 +1445,7 @@ { "resourceType": "Observation", "id": "HeartRhythmTemplate", - "meta": { - "profile": [ - "https://smartforms.csiro.au/ig/StructureDefinition/SmartHealthCheckHeartRhythm" - ] - }, + "status": "final", "category": [ { "coding": [ @@ -1493,17 +1459,16 @@ "code": { "coding": [ { - "system": "http://loinc.org", - "code": "8884-9" + "code": "8884-9", + "system": "http://loinc.org" }, { - "system": "http://snomed.info/sct", - "code": "364074009" + "code": "364074009", + "system": "http://snomed.info/sct" } ], "text": "Heart rhythm" }, - "status": "final", "subject": { "_reference": { "extension": [ @@ -1538,17 +1503,13 @@ { "resourceType": "Observation", "id": "BloodPressureTemplate", - "meta": { - "profile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bloodpressure" - ] - }, + "status": "final", "category": [ { "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "vital-signs" + "code": "vital-signs", + "system": "http://terminology.hl7.org/CodeSystem/observation-category" } ] } @@ -1556,22 +1517,41 @@ "code": { "coding": [ { - "system": "http://loinc.org", - "code": "85354-9" + "code": "85354-9", + "system": "http://loinc.org" }, { - "system": "http://snomed.info/sct", - "code": "75367002" + "code": "75367002", + "system": "http://snomed.info/sct" } ], "text": "Blood pressure" }, + "subject": { + "_reference": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.subject.reference" + } + ] + } + }, "component": [ { + "code": { + "coding": [ + { + "code": "271649006", + "system": "http://snomed.info/sct" + } + ], + "text": "Systolic" + }, "valueQuantity": { + "unit": "mm[Hg]", "system": "http://unitsofmeasure.org", "code": "mm[Hg]", - "unit": "mm[Hg]", "_value": { "extension": [ { @@ -1580,26 +1560,22 @@ } ] } - }, + } + }, + { "code": { "coding": [ { - "system": "http://loinc.org", - "code": "8480-6" - }, - { - "system": "http://snomed.info/sct", - "code": "271649006" + "code": "271650006", + "system": "http://snomed.info/sct" } ], - "text": "Systolic" - } - }, - { + "text": "Diastolic" + }, "valueQuantity": { + "unit": "mm[Hg]", "system": "http://unitsofmeasure.org", "code": "mm[Hg]", - "unit": "mm[Hg]", "_value": { "extension": [ { @@ -1608,33 +1584,9 @@ } ] } - }, - "code": { - "coding": [ - { - "system": "http://loinc.org", - "code": "8462-4" - }, - { - "system": "http://snomed.info/sct", - "code": "271650006" - } - ], - "text": "Diastolic" } } ], - "status": "final", - "subject": { - "_reference": { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "%resource.subject.reference" - } - ] - } - }, "_effectiveDateTime": { "extension": [ { diff --git a/fsh-generated/resources/Questionnaire-Immunisation.json b/fsh-generated/resources/Questionnaire-Immunisation.json index 5dae4ea1..d8e57325 100644 --- a/fsh-generated/resources/Questionnaire-Immunisation.json +++ b/fsh-generated/resources/Questionnaire-Immunisation.json @@ -555,11 +555,6 @@ { "resourceType": "Immunization", "id": "ImmunizationTemplate", - "meta": { - "profile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-immunization" - ] - }, "status": "completed", "vaccineCode": { "extension": [ diff --git a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json index b80eda59..9948f5b7 100644 --- a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json +++ b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json @@ -596,11 +596,6 @@ { "resourceType": "Condition", "id": "ConditionTemplate", - "meta": { - "profile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-condition" - ] - }, "clinicalStatus": { "coding": [ { diff --git a/fsh-generated/resources/Questionnaire-RegularMedications.json b/fsh-generated/resources/Questionnaire-RegularMedications.json index b6315be0..66ce72ba 100644 --- a/fsh-generated/resources/Questionnaire-RegularMedications.json +++ b/fsh-generated/resources/Questionnaire-RegularMedications.json @@ -653,11 +653,6 @@ { "resourceType": "MedicationStatement", "id": "MedicationStatementTemplate", - "meta": { - "profile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-medicationstatement" - ] - }, "status": "active", "medicationCodeableConcept": { "extension": [ diff --git a/fsh-generated/resources/Questionnaire-SubstanceUse.json b/fsh-generated/resources/Questionnaire-SubstanceUse.json index 6d04465c..40f98505 100644 --- a/fsh-generated/resources/Questionnaire-SubstanceUse.json +++ b/fsh-generated/resources/Questionnaire-SubstanceUse.json @@ -352,17 +352,13 @@ { "resourceType": "Observation", "id": "SmokingStatusTemplate", - "meta": { - "profile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-smokingstatus" - ] - }, + "status": "final", "category": [ { "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "social-history" + "code": "social-history", + "system": "http://terminology.hl7.org/CodeSystem/observation-category" } ] } @@ -370,17 +366,16 @@ "code": { "coding": [ { - "system": "http://snomed.info/sct", - "code": "1747861000168109" + "code": "1747861000168109", + "system": "http://snomed.info/sct" }, { - "system": "http://loinc.org", - "code": "72166-2" + "code": "72166-2", + "system": "http://loinc.org" } ], "text": "Smoking status" }, - "status": "final", "subject": { "_reference": { "extension": [ diff --git a/input/fsh/extract-templates.fsh b/input/fsh/extract-templates.fsh index ff3fbfad..14cea1f7 100644 --- a/input/fsh/extract-templates.fsh +++ b/input/fsh/extract-templates.fsh @@ -24,12 +24,12 @@ Alias: $au-core-medicationstatement = http://hl7.org.au/fhir/core/StructureDefin Alias: $observation-category = http://terminology.hl7.org/CodeSystem/observation-category Instance: SmokingStatusTemplate -InstanceOf: $au-core-smokingstatus +InstanceOf: Observation Usage: #inline * status = #final -* category[socialHistory] = $observation-category#social-history +* category[+] = $observation-category#social-history * code.coding[+] = $SCT#1747861000168109 -* code.coding[loincSmokingStatus][+] = $LNC#72166-2 +* code.coding[+] = $LNC#72166-2 * code.text = "Smoking status" * subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * subject.reference.extension[=].valueString = "%resource.subject.reference" @@ -39,12 +39,12 @@ Usage: #inline * valueCodeableConcept.coding.extension[=].valueString = "$this.answer.value" Instance: BodyHeightLengthTemplate -InstanceOf: $au-core-bodyheight +InstanceOf: Observation Usage: #inline * status = #final -* category[VSCat] = $observation-category#vital-signs -* code.coding[BodyHeightCode] = $LNC#8302-2 -* code.coding[snomedBodyHeightCode] = $SCT#50373000 +* category[+] = $observation-category#vital-signs +* code.coding[+] = $LNC#8302-2 +* code.coding[+] = $SCT#50373000 * code.text = "Height" * subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * subject.reference.extension[=].valueString = "%resource.subject.reference" @@ -57,12 +57,12 @@ Usage: #inline * valueQuantity.code = #cm Instance: BodyHeightTemplate -InstanceOf: $au-core-bodyheight +InstanceOf: Observation Usage: #inline * status = #final -* category[VSCat] = $observation-category#vital-signs -* code.coding[BodyHeightCode] = $LNC#8302-2 -* code.coding[snomedBodyHeightCode] = $SCT#50373000 +* category[+] = $observation-category#vital-signs +* code.coding[+] = $LNC#8302-2 +* code.coding[+] = $SCT#50373000 * code.text = "Height" * subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * subject.reference.extension[=].valueString = "%resource.subject.reference" @@ -76,12 +76,12 @@ Usage: #inline * valueQuantity.code = #cm Instance: BodyWeightTemplate -InstanceOf: $au-core-bodyweight +InstanceOf: Observation Usage: #inline * status = #final -* category[VSCat] = $observation-category#vital-signs -* code.coding[BodyWeightCode] = $LNC#29463-7 -* code.coding[snomedBodyWeightCode] = $SCT#27113001 +* category[+] = $observation-category#vital-signs +* code.coding[+] = $LNC#29463-7 +* code.coding[+] = $SCT#27113001 * code.text = "Weight" * subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * subject.reference.extension[=].valueString = "%resource.subject.reference" @@ -94,12 +94,12 @@ Usage: #inline * valueQuantity.code = #kg Instance: HeadCircumferenceTemplate -InstanceOf: $au-core-au-core-headcircum +InstanceOf: Observation Usage: #inline * status = #final -* category[VSCat] = $observation-category#vital-signs -* code.coding[HeadCircumCode] = $LNC#9843-4 -* code.coding[snomedHeadCircumCode] = $SCT#363812007 +* category[+] = $observation-category#vital-signs +* code.coding[+] = $LNC#9843-4 +* code.coding[+] = $SCT#363812007 * code.text = "Head circumference" * subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * subject.reference.extension[=].valueString = "%resource.subject.reference" @@ -112,12 +112,12 @@ Usage: #inline * valueQuantity.code = #cm Instance: WaistCircumferenceTemplate -InstanceOf: $au-core-waistcircum +InstanceOf: Observation Usage: #inline * status = #final -* category[VSCat] = $observation-category#vital-signs -* code.coding[loincWaistCircumCode] = $LNC#8280-0 -* code.coding[snomedWaistCircumCode] = $SCT#276361009 +* category[+] = $observation-category#vital-signs +* code.coding[+] = $LNC#8280-0 +* code.coding[+] = $SCT#276361009 * code.text = "Waist circumference" * subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * subject.reference.extension[=].valueString = "%resource.subject.reference" @@ -130,12 +130,12 @@ Usage: #inline * valueQuantity.code = #cm Instance: HeartRateTemplate -InstanceOf: $au-core-heartrate +InstanceOf: Observation Usage: #inline * status = #final -* category[VSCat] = $observation-category#vital-signs -* code.coding[HeartRateCode] = $LNC#8867-4 -* code.coding[snomedHeartRateCode] = $SCT#364075005 +* category[+] = $observation-category#vital-signs +* code.coding[+] = $LNC#8867-4 +* code.coding[+] = $SCT#364075005 * code.text = "Heart rate" * subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * subject.reference.extension[=].valueString = "%resource.subject.reference" @@ -148,12 +148,12 @@ Usage: #inline * valueQuantity.code = #/min Instance: HeartRhythmTemplate -InstanceOf: SmartHealthCheckHeartRhythm +InstanceOf: Observation Usage: #inline * status = #final -* category[vitalSignsCategory] = $observation-category#vital-signs -* code.coding[loincHeartRhythmCode] = $LNC#8884-9 -* code.coding[snomedHeartRhythmCode] = $SCT#364074009 +* category[+] = $observation-category#vital-signs +* code.coding[+] = $LNC#8884-9 +* code.coding[+] = $SCT#364074009 * code.text = "Heart rhythm" * subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * subject.reference.extension[=].valueString = "%resource.subject.reference" @@ -163,38 +163,38 @@ Usage: #inline * valueCodeableConcept.coding.extension[=].valueString = "$this.answer.value" Instance: BloodPressureTemplate -InstanceOf: $au-core-bloodpressure +InstanceOf: Observation Usage: #inline * status = #final -* category[VSCat] = $observation-category#vital-signs -* code.coding[BPCode] = $LNC#85354-9 -* code.coding[snomedBPCode] = $SCT#75367002 +* category[+] = $observation-category#vital-signs +* code.coding[+] = $LNC#85354-9 +* code.coding[+] = $SCT#75367002 * code.text = "Blood pressure" * subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * subject.reference.extension[=].valueString = "%resource.subject.reference" * effectiveDateTime.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * effectiveDateTime.extension[=].valueString = "item.where(linkId='bp-newbp-date').answer.value.toDateTime()" -* component[SystolicBP].code.coding[SBPCode] = $LNC#8480-6 -* component[SystolicBP].code.coding[snomedSBP] = $SCT#271649006 -* component[SystolicBP].code.text = "Systolic" -* component[SystolicBP].valueQuantity.value.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" -* component[SystolicBP].valueQuantity.value.extension[=].valueString = "$this.answer.value.toDecimal()" -* component[SystolicBP].valueQuantity.unit = "mm[Hg]" -* component[SystolicBP].valueQuantity.system = $UCUM -* component[SystolicBP].valueQuantity.code = #mm[Hg] -* component[DiastolicBP].code.coding[DBPCode] = $LNC#8462-4 -* component[DiastolicBP].code.coding[snomedDBP] = $SCT#271650006 -* component[DiastolicBP].code.text = "Diastolic" -* component[DiastolicBP].valueQuantity.value.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" -* component[DiastolicBP].valueQuantity.value.extension[=].valueString = "%resource.repeat(item).where(linkId='bp-newbp-diastolic').answer.value.toDecimal()" -* component[DiastolicBP].valueQuantity.unit = "mm[Hg]" -* component[DiastolicBP].valueQuantity.system = $UCUM -* component[DiastolicBP].valueQuantity.code = #mm[Hg] +* component[+].code.coding[+] = $LNC#8480-6 +* component[=].code.coding[=] = $SCT#271649006 +* component[=].code.text = "Systolic" +* component[=].valueQuantity.value.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* component[=].valueQuantity.value.extension[=].valueString = "$this.answer.value.toDecimal()" +* component[=].valueQuantity.unit = "mm[Hg]" +* component[=].valueQuantity.system = $UCUM +* component[=].valueQuantity.code = #mm[Hg] +* component[+].code.coding[+] = $LNC#8462-4 +* component[=].code.coding[=] = $SCT#271650006 +* component[=].code.text = "Diastolic" +* component[=].valueQuantity.value.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* component[=].valueQuantity.value.extension[=].valueString = "%resource.repeat(item).where(linkId='bp-newbp-diastolic').answer.value.toDecimal()" +* component[=].valueQuantity.unit = "mm[Hg]" +* component[=].valueQuantity.system = $UCUM +* component[=].valueQuantity.code = #mm[Hg] Instance: AllergyIntoleranceTemplate -InstanceOf: $au-core-allergyintolerance +InstanceOf: AllergyIntolerance Usage: #inline * clinicalStatus.coding = $allergyintolerance-clinical#active * code.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext" @@ -247,7 +247,7 @@ Usage: #inline * parameter[=].part[=].valueString = "Comment" Instance: ImmunizationTemplate -InstanceOf: $au-core-immunization +InstanceOf: Immunization Usage: #inline * status = #completed * vaccineCode.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext" @@ -266,7 +266,7 @@ Usage: #inline * note.text.extension[=].valueString = "item.where(linkId='vaccinestoday-comment').answer.value" Instance: ConditionTemplate -InstanceOf: $au-core-condition +InstanceOf: Condition Usage: #inline * clinicalStatus.coding = $condition-clinical#active * category.coding = $condition-category#problem-list-item @@ -314,7 +314,7 @@ Usage: #inline Instance: MedicationStatementTemplate -InstanceOf: $au-core-medicationstatement +InstanceOf: MedicationStatement Usage: #inline * status = #active * medicationCodeableConcept.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext" From 120320ee0c58c1439442a101448e34bde3c58370 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Tue, 8 Jul 2025 15:23:56 +1000 Subject: [PATCH 120/177] update dependencies --- .../ImplementationGuide-csiro.fhir.au.smartforms.json | 8 +++++++- sushi-config.yaml | 8 +++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index da2a3152..79fef824 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -19,7 +19,7 @@ ] } ], - "description": "Smart Health Checks FHIR Implementation Guide.", + "description": "The Smart Health Checks FHIR Implementation Guide supports the integration of the Smart Health Checks App within a patient management system enabling users to complete health check assessments such as the Aboriginal and Torres Strait Islander Health Check.", "copyright": "Copyright © 2022+ Australian Government Department of Health and Aged Care - All rights reserved. This content is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. See https://creativecommons.org/licenses/by-sa/4.0/.", "packageId": "csiro.fhir.au.smartforms", "license": "CC-BY-SA-4.0", @@ -50,6 +50,12 @@ "version": "2.2.0", "uri": "http://hl7.org/fhir/smart-app-launch/ImplementationGuide/hl7.fhir.uv.smart-app-launch", "id": "hl7_fhir_uv_smart_app_launch" + }, + { + "packageId": "hl7.fhir.uv.extensions.r4", + "version": "5.2.0", + "uri": "http://hl7.org/fhir/extensions/ImplementationGuide/hl7.fhir.uv.extensions", + "id": "hl7_fhir_uv_extensions_r4" } ], "definition": { diff --git a/sushi-config.yaml b/sushi-config.yaml index 915ca9bf..7be47158 100644 --- a/sushi-config.yaml +++ b/sushi-config.yaml @@ -6,8 +6,8 @@ id: csiro.fhir.au.smartforms canonical: https://smartforms.csiro.au/ig name: SmartHealthChecks -title: Smart Health Checks -description: Smart Health Checks FHIR Implementation Guide. +title: Smart Health Checks +description: The Smart Health Checks FHIR Implementation Guide supports the integration of the Smart Health Checks App within a patient management system enabling users to complete health check assessments such as the Aboriginal and Torres Strait Islander Health Check. status: draft # draft | active | retired | unknown version: 0.3.0 fhirVersion: 4.0.1 # https://www.hl7.org/fhir/valueset-FHIR-version.html @@ -30,7 +30,9 @@ dependencies: hl7.fhir.au.base: 5.1.0-preview hl7.fhir.uv.sdc: current hl7.fhir.uv.smart-app-launch: 2.2.0 -# hl7.fhir.uv.extensions.r5: 5.2.0 + hl7.fhir.uv.extensions.r4: 5.2.0 + hl7.fhir.extensions.r5: 4.0.1 + # # # The pages property corresponds to IG.definition.page. SUSHI can From 0cc38603f2ea65d4d2dd207f7339821d29a3ff22 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Tue, 8 Jul 2025 18:44:13 +1000 Subject: [PATCH 121/177] profile updates --- ...ctureDefinition-SHCAllergyIntolerance.json | 10 ++- .../StructureDefinition-SHCBloodPressure.json | 13 ++- .../StructureDefinition-SHCBodyHeight.json | 13 ++- .../StructureDefinition-SHCBodyWeight.json | 13 ++- .../StructureDefinition-SHCCondition.json | 4 - ...uctureDefinition-SHCHeadCircumference.json | 23 +++++- .../StructureDefinition-SHCHeartRate.json | 13 ++- .../StructureDefinition-SHCHeartRhythm.json | 18 ++++- ...tureDefinition-SHCMedicationStatement.json | 23 +++--- .../StructureDefinition-SHCSmokingStatus.json | 13 ++- ...ctureDefinition-SHCWaistCircumference.json | 18 ++++- input/fsh/profiles.fsh | 79 ++++++++++--------- 12 files changed, 172 insertions(+), 68 deletions(-) diff --git a/fsh-generated/resources/StructureDefinition-SHCAllergyIntolerance.json b/fsh-generated/resources/StructureDefinition-SHCAllergyIntolerance.json index d853b71f..8df79899 100644 --- a/fsh-generated/resources/StructureDefinition-SHCAllergyIntolerance.json +++ b/fsh-generated/resources/StructureDefinition-SHCAllergyIntolerance.json @@ -24,10 +24,6 @@ "url": "code", "valueCode": "SHALL:populate" }, - { - "url": "code", - "valueCode": "SHALL:process" - }, { "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" @@ -303,6 +299,12 @@ ], "path": "AllergyIntolerance.patient" }, + { + "id": "AllergyIntolerance.note", + "path": "AllergyIntolerance.note", + "max": "1", + "mustSupport": true + }, { "id": "AllergyIntolerance.note.text", "extension": [ diff --git a/fsh-generated/resources/StructureDefinition-SHCBloodPressure.json b/fsh-generated/resources/StructureDefinition-SHCBloodPressure.json index 70042206..a54fbf61 100644 --- a/fsh-generated/resources/StructureDefinition-SHCBloodPressure.json +++ b/fsh-generated/resources/StructureDefinition-SHCBloodPressure.json @@ -149,6 +149,10 @@ { "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, { "url": "code", "valueCode": "SHALL:process" @@ -166,6 +170,10 @@ "url": "code", "valueCode": "SHALL:populate" }, + { + "url": "code", + "valueCode": "SHALL:process" + }, { "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" @@ -214,9 +222,12 @@ { "id": "Observation.code.text", "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", + "valueBoolean": true + }, { "url": "http://hl7.org/fhir/StructureDefinition/obligation", - "valueBoolean": true, "extension": [ { "url": "code", diff --git a/fsh-generated/resources/StructureDefinition-SHCBodyHeight.json b/fsh-generated/resources/StructureDefinition-SHCBodyHeight.json index 283bec58..cd0225d8 100644 --- a/fsh-generated/resources/StructureDefinition-SHCBodyHeight.json +++ b/fsh-generated/resources/StructureDefinition-SHCBodyHeight.json @@ -149,6 +149,10 @@ { "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, { "url": "code", "valueCode": "SHALL:process" @@ -166,6 +170,10 @@ "url": "code", "valueCode": "SHALL:populate" }, + { + "url": "code", + "valueCode": "SHALL:process" + }, { "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" @@ -214,9 +222,12 @@ { "id": "Observation.code.text", "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", + "valueBoolean": true + }, { "url": "http://hl7.org/fhir/StructureDefinition/obligation", - "valueBoolean": true, "extension": [ { "url": "code", diff --git a/fsh-generated/resources/StructureDefinition-SHCBodyWeight.json b/fsh-generated/resources/StructureDefinition-SHCBodyWeight.json index 8ea56063..a04ed62e 100644 --- a/fsh-generated/resources/StructureDefinition-SHCBodyWeight.json +++ b/fsh-generated/resources/StructureDefinition-SHCBodyWeight.json @@ -149,6 +149,10 @@ { "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, { "url": "code", "valueCode": "SHALL:process" @@ -166,6 +170,10 @@ "url": "code", "valueCode": "SHALL:populate" }, + { + "url": "code", + "valueCode": "SHALL:process" + }, { "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" @@ -214,9 +222,12 @@ { "id": "Observation.code.text", "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", + "valueBoolean": true + }, { "url": "http://hl7.org/fhir/StructureDefinition/obligation", - "valueBoolean": true, "extension": [ { "url": "code", diff --git a/fsh-generated/resources/StructureDefinition-SHCCondition.json b/fsh-generated/resources/StructureDefinition-SHCCondition.json index 695b785f..b0b43fd3 100644 --- a/fsh-generated/resources/StructureDefinition-SHCCondition.json +++ b/fsh-generated/resources/StructureDefinition-SHCCondition.json @@ -24,10 +24,6 @@ "url": "code", "valueCode": "SHALL:populate" }, - { - "url": "code", - "valueCode": "SHALL:process" - }, { "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" diff --git a/fsh-generated/resources/StructureDefinition-SHCHeadCircumference.json b/fsh-generated/resources/StructureDefinition-SHCHeadCircumference.json index f2d4b149..b56f1082 100644 --- a/fsh-generated/resources/StructureDefinition-SHCHeadCircumference.json +++ b/fsh-generated/resources/StructureDefinition-SHCHeadCircumference.json @@ -17,9 +17,12 @@ { "id": "Observation.status", "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint", + "valueString": "default: final" + }, { "url": "http://hl7.org/fhir/StructureDefinition/obligation", - "valueString": "default: final", "extension": [ { "url": "code", @@ -94,6 +97,10 @@ { "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, { "url": "code", "valueCode": "SHALL:process" @@ -111,6 +118,10 @@ "url": "code", "valueCode": "SHALL:populate" }, + { + "url": "code", + "valueCode": "SHALL:process" + }, { "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" @@ -159,9 +170,12 @@ { "id": "Observation.code.text", "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", + "valueBoolean": true + }, { "url": "http://hl7.org/fhir/StructureDefinition/obligation", - "valueBoolean": true, "extension": [ { "url": "code", @@ -306,9 +320,12 @@ { "id": "Observation.value[x]:valueQuantity.unit", "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", + "valueBoolean": true + }, { "url": "http://hl7.org/fhir/StructureDefinition/obligation", - "valueBoolean": true, "extension": [ { "url": "code", diff --git a/fsh-generated/resources/StructureDefinition-SHCHeartRate.json b/fsh-generated/resources/StructureDefinition-SHCHeartRate.json index 4ae73616..18d71413 100644 --- a/fsh-generated/resources/StructureDefinition-SHCHeartRate.json +++ b/fsh-generated/resources/StructureDefinition-SHCHeartRate.json @@ -149,6 +149,10 @@ { "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, { "url": "code", "valueCode": "SHALL:process" @@ -166,6 +170,10 @@ "url": "code", "valueCode": "SHALL:populate" }, + { + "url": "code", + "valueCode": "SHALL:process" + }, { "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" @@ -214,9 +222,12 @@ { "id": "Observation.code.text", "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", + "valueBoolean": true + }, { "url": "http://hl7.org/fhir/StructureDefinition/obligation", - "valueBoolean": true, "extension": [ { "url": "code", diff --git a/fsh-generated/resources/StructureDefinition-SHCHeartRhythm.json b/fsh-generated/resources/StructureDefinition-SHCHeartRhythm.json index cd803554..55b0f074 100644 --- a/fsh-generated/resources/StructureDefinition-SHCHeartRhythm.json +++ b/fsh-generated/resources/StructureDefinition-SHCHeartRhythm.json @@ -34,9 +34,12 @@ { "id": "Observation.status", "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint", + "valueString": "default: final" + }, { "url": "http://hl7.org/fhir/StructureDefinition/obligation", - "valueString": "default: final", "extension": [ { "url": "code", @@ -218,6 +221,10 @@ { "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, { "url": "code", "valueCode": "SHALL:process" @@ -235,6 +242,10 @@ "url": "code", "valueCode": "SHALL:populate" }, + { + "url": "code", + "valueCode": "SHALL:process" + }, { "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" @@ -263,9 +274,12 @@ { "id": "Observation.code.text", "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", + "valueBoolean": true + }, { "url": "http://hl7.org/fhir/StructureDefinition/obligation", - "valueBoolean": true, "extension": [ { "url": "code", diff --git a/fsh-generated/resources/StructureDefinition-SHCMedicationStatement.json b/fsh-generated/resources/StructureDefinition-SHCMedicationStatement.json index 931b195c..b31a1147 100644 --- a/fsh-generated/resources/StructureDefinition-SHCMedicationStatement.json +++ b/fsh-generated/resources/StructureDefinition-SHCMedicationStatement.json @@ -24,10 +24,6 @@ "url": "code", "valueCode": "SHALL:populate" }, - { - "url": "code", - "valueCode": "SHALL:process" - }, { "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" @@ -85,7 +81,7 @@ "extension": [ { "url": "code", - "valueCode": "SHALL:populate" + "valueCode": "SHALL:populate-if-known" }, { "url": "code", @@ -104,10 +100,6 @@ "url": "code", "valueCode": "SHALL:populate" }, - { - "url": "code", - "valueCode": "SHALL:process" - }, { "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" @@ -273,7 +265,7 @@ "extension": [ { "url": "code", - "valueCode": "SHALL:populate-if-known" + "valueCode": "SHALL:populate" }, { "url": "actor", @@ -350,6 +342,12 @@ ], "path": "MedicationStatement.reasonCode" }, + { + "id": "MedicationStatement.note", + "path": "MedicationStatement.note", + "max": "1", + "mustSupport": true + }, { "id": "MedicationStatement.note.text", "extension": [ @@ -391,6 +389,11 @@ "path": "MedicationStatement.note.text", "mustSupport": true }, + { + "id": "MedicationStatement.dosage", + "path": "MedicationStatement.dosage", + "max": "1" + }, { "id": "MedicationStatement.dosage.text", "extension": [ diff --git a/fsh-generated/resources/StructureDefinition-SHCSmokingStatus.json b/fsh-generated/resources/StructureDefinition-SHCSmokingStatus.json index a5a5cd01..49ed322e 100644 --- a/fsh-generated/resources/StructureDefinition-SHCSmokingStatus.json +++ b/fsh-generated/resources/StructureDefinition-SHCSmokingStatus.json @@ -157,6 +157,10 @@ { "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, { "url": "code", "valueCode": "SHALL:process" @@ -174,6 +178,10 @@ "url": "code", "valueCode": "SHALL:populate" }, + { + "url": "code", + "valueCode": "SHALL:process" + }, { "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" @@ -188,9 +196,12 @@ { "id": "Observation.code.text", "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", + "valueBoolean": true + }, { "url": "http://hl7.org/fhir/StructureDefinition/obligation", - "valueBoolean": true, "extension": [ { "url": "code", diff --git a/fsh-generated/resources/StructureDefinition-SHCWaistCircumference.json b/fsh-generated/resources/StructureDefinition-SHCWaistCircumference.json index ac5be550..d063143b 100644 --- a/fsh-generated/resources/StructureDefinition-SHCWaistCircumference.json +++ b/fsh-generated/resources/StructureDefinition-SHCWaistCircumference.json @@ -149,6 +149,10 @@ { "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, { "url": "code", "valueCode": "SHALL:process" @@ -166,6 +170,10 @@ "url": "code", "valueCode": "SHALL:populate" }, + { + "url": "code", + "valueCode": "SHALL:process" + }, { "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" @@ -214,9 +222,12 @@ { "id": "Observation.code.text", "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", + "valueBoolean": true + }, { "url": "http://hl7.org/fhir/StructureDefinition/obligation", - "valueBoolean": true, "extension": [ { "url": "code", @@ -414,9 +425,12 @@ { "id": "Observation.value[x]:valueQuantity.unit", "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", + "valueBoolean": true + }, { "url": "http://hl7.org/fhir/StructureDefinition/obligation", - "valueBoolean": true, "extension": [ { "url": "code", diff --git a/input/fsh/profiles.fsh b/input/fsh/profiles.fsh index ab93d375..b0aff33a 100644 --- a/input/fsh/profiles.fsh +++ b/input/fsh/profiles.fsh @@ -99,8 +99,8 @@ Description: "This profile sets the minimum expectations for an Observation reso * . ^comment = "Heart rhythm observation using a LOINC code, a SNOMED CT code and a metric UCUM unit of measure." * obeys shc-heartrhythm-01 * status MS -* status insert obligation2Server (0, SHALL:populate, SHALL:process) -* status insert obligation2App (1, SHALL:populate, SHALL:process) +* status insert obligation2Server (1, SHALL:populate, SHALL:process) +* status insert obligation2App (2, SHALL:populate, SHALL:process) * category MS * category ^slicing.discriminator[0].type = #value * category ^slicing.discriminator[=].path = "coding.code" @@ -129,14 +129,14 @@ Description: "This profile sets the minimum expectations for an Observation reso * code.coding[loincHeartRhythmCode].system = "http://loinc.org" (exactly) * code.coding[loincHeartRhythmCode].code 1..1 * code.coding[loincHeartRhythmCode].code = #8884-9 (exactly) -* code.coding[snomedHeartRhythmCode] insert obligationServer (0, SHALL:process) -* code.coding[snomedHeartRhythmCode] insert obligationApp (1, SHALL:populate) +* code.coding[snomedHeartRhythmCode] insert obligation2Server (0, SHALL:populate, SHALL:process) +* code.coding[snomedHeartRhythmCode] insert obligation2App (1, SHALL:populate, SHALL:process) * code.coding[snomedHeartRhythmCode].system 1..1 * code.coding[snomedHeartRhythmCode].system = "http://snomed.info/sct" (exactly) * code.coding[snomedHeartRhythmCode].code 1..1 * code.coding[snomedHeartRhythmCode].code = #364074009 (exactly) * code.text MS -* code.text insert obligationApp (0, SHALL:populate) +* code.text insert obligationApp (1, SHALL:populate) * subject 1.. MS * subject only Reference($au-core-patient) * subject insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) @@ -181,7 +181,7 @@ Title: "Smart Health Check Allergy Intolerance" Description: "This profile sets the minimum expectations for an AllergyIntolerance resource to record, search and save allergy or intolerance information when used within Smart Health Checks." * id MS -* id insert obligation2Server (0, SHALL:populate, SHALL:process) +* id insert obligationServer (0, SHALL:populate) * id insert obligationApp (1, SHALL:process) * patient MS * patient insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) @@ -195,6 +195,7 @@ Description: "This profile sets the minimum expectations for an AllergyIntoleran * code MS * code insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) * code insert obligation2App (3, SHALL:populate-if-known, SHALL:process) +* note ..1 MS * note.text MS * note.text insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) * note.text insert obligation2App (1, SHALL:populate-if-known, SHALL:process) @@ -209,7 +210,7 @@ Title: "Smart Health Check Condition" Description: "This profile sets the minimum expectations for a Condition resource to record, search and save condition information when used within Smart Health Checks." * id MS -* id insert obligation2Server (0, SHALL:populate, SHALL:process) +* id insert obligationServer (0, SHALL:populate) * id insert obligationApp (1, SHALL:process) * clinicalStatus MS * clinicalStatus insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) @@ -243,11 +244,11 @@ Title: "Smart Health Check Medication Statement" Description: "This profile sets the minimum expectations for a MedicationStatement resource to record, search and save medication information when used within Smart Health Checks." * id MS -* id insert obligation2Server (0, SHALL:populate, SHALL:process) +* id insert obligationServer (0, SHALL:populate) * id insert obligationApp (1, SHALL:process) * status MS -* status insert obligation2Server (2, SHALL:populate, SHALL:process) -* status insert obligation2App (3, SHALL:populate, SHALL:process) +* status insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* status insert obligationApp (3, SHALL:populate) * medication[x][medicationCodeableConcept] MS * medication[x][medicationCodeableConcept] insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) * medication[x][medicationCodeableConcept] insert obligation2App (1, SHALL:populate-if-known, SHALL:process) @@ -256,13 +257,15 @@ Description: "This profile sets the minimum expectations for a MedicationStateme * subject insert obligationApp (3, SHALL:populate) * dateAsserted MS * dateAsserted insert obligationServer (2, SHALL:process) -* dateAsserted insert obligationApp (3, SHALL:populate-if-known) +* dateAsserted insert obligationApp (3, SHALL:populate) * reasonCode MS * reasonCode insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) * reasonCode insert obligation2App (3, SHALL:populate-if-known, SHALL:process) +* note ..1 MS * note.text MS * note.text insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) * note.text insert obligation2App (1, SHALL:populate-if-known, SHALL:process) +* dosage ..1 MS * dosage.text MS * dosage.text insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) * dosage.text insert obligation2App (1, SHALL:populate-if-known, SHALL:process) @@ -308,13 +311,13 @@ Description: "This profile sets the minimum expectations for a Blood Pressure re * category[VSCat] insert obligationServer (2, SHALL:process) * category[VSCat] insert obligationApp (3, SHALL:populate) * code.coding[BPCode] MS -* code.coding[BPCode] insert obligationServer (0, SHALL:process) -* code.coding[BPCode] insert obligationApp (1, SHALL:populate) +* code.coding[BPCode] insert obligation2Server (0, SHALL:populate, SHALL:process) +* code.coding[BPCode] insert obligation2App (1, SHALL:populate, SHALL:process) * code.coding[snomedBPCode] MS * code.coding[snomedBPCode] insert obligationServer (0, SHALL:process) * code.coding[snomedBPCode] insert obligationApp (1, SHALL:populate) * code.text MS -* code.text insert obligationApp (0, SHALL:populate) +* code.text insert obligationApp (1, SHALL:populate) * subject MS * subject insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) * subject insert obligationApp (3, SHALL:populate) @@ -344,10 +347,10 @@ Description: "This profile sets the minimum expectations for a Smoking Status re * code.coding insert obligationServer (0, SHALL:process) * code.coding insert obligationApp (1, SHALL:populate) * code.coding[loincSmokingStatus] MS -* code.coding[loincSmokingStatus] insert obligationServer (0, SHALL:process) -* code.coding[loincSmokingStatus] insert obligationApp (1, SHALL:populate) +* code.coding[loincSmokingStatus] insert obligation2Server (0, SHALL:populate, SHALL:process) +* code.coding[loincSmokingStatus] insert obligation2App (1, SHALL:populate, SHALL:process) * code.text MS -* code.text insert obligationApp (0, SHALL:populate) +* code.text insert obligationApp (1, SHALL:populate) * subject MS * subject insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) * subject insert obligationApp (3, SHALL:populate) @@ -371,13 +374,13 @@ Description: "This profile sets the minimum expectations for a Body Height resou * category[VSCat] insert obligationServer (2, SHALL:process) * category[VSCat] insert obligationApp (3, SHALL:populate) * code.coding[BodyHeightCode] MS -* code.coding[BodyHeightCode] insert obligationServer (0, SHALL:process) -* code.coding[BodyHeightCode] insert obligationApp (1, SHALL:populate) +* code.coding[BodyHeightCode] insert obligation2Server (0, SHALL:populate, SHALL:process) +* code.coding[BodyHeightCode] insert obligation2App (1, SHALL:populate, SHALL:process) * code.coding[snomedBodyHeightCode] MS * code.coding[snomedBodyHeightCode] insert obligationServer (0, SHALL:process) * code.coding[snomedBodyHeightCode] insert obligationApp (1, SHALL:populate) * code.text MS -* code.text insert obligationApp (0, SHALL:populate) +* code.text insert obligationApp (1, SHALL:populate) * subject MS * subject insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) * subject insert obligationApp (3, SHALL:populate) @@ -410,13 +413,13 @@ Description: "This profile sets the minimum expectations for a Body Weight resou * category[VSCat] insert obligationServer (2, SHALL:process) * category[VSCat] insert obligationApp (3, SHALL:populate) * code.coding[BodyWeightCode] MS -* code.coding[BodyWeightCode] insert obligationServer (0, SHALL:process) -* code.coding[BodyWeightCode] insert obligationApp (1, SHALL:populate) +* code.coding[BodyWeightCode] insert obligation2Server (0, SHALL:populate, SHALL:process) +* code.coding[BodyWeightCode] insert obligation2App (1, SHALL:populate, SHALL:process) * code.coding[snomedBodyWeightCode] MS * code.coding[snomedBodyWeightCode] insert obligationServer (0, SHALL:process) * code.coding[snomedBodyWeightCode] insert obligationApp (1, SHALL:populate) * code.text MS -* code.text insert obligationApp (0, SHALL:populate) +* code.text insert obligationApp (1, SHALL:populate) * subject MS * subject insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) * subject insert obligationApp (3, SHALL:populate) @@ -443,19 +446,19 @@ Title: "Smart Health Check Head Circumference" Description: "This profile sets the minimum expectations for a Head Circumference resource to record, search and save head circumference information when used within Smart Health Checks." * status MS -* status insert obligation2Server (0, SHALL:populate, SHALL:process) -* status insert obligation2App (1, SHALL:populate, SHALL:process) +* status insert obligation2Server (1, SHALL:populate, SHALL:process) +* status insert obligation2App (2, SHALL:populate, SHALL:process) * category[VSCat] MS * category[VSCat] insert obligationServer (0, SHALL:process) * category[VSCat] insert obligationApp (1, SHALL:populate) * code.coding[HeadCircumCode] MS -* code.coding[HeadCircumCode] insert obligationServer (0, SHALL:process) -* code.coding[HeadCircumCode] insert obligationApp (1, SHALL:populate) +* code.coding[HeadCircumCode] insert obligation2Server (0, SHALL:populate, SHALL:process) +* code.coding[HeadCircumCode] insert obligation2App (1, SHALL:populate, SHALL:process) * code.coding[snomedHeadCircumCode] MS * code.coding[snomedHeadCircumCode] insert obligationServer (0, SHALL:process) * code.coding[snomedHeadCircumCode] insert obligationApp (1, SHALL:populate) * code.text MS -* code.text insert obligationApp (0, SHALL:populate) +* code.text insert obligationApp (1, SHALL:populate) * subject MS * subject insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) * subject insert obligationApp (1, SHALL:populate) @@ -466,8 +469,8 @@ Description: "This profile sets the minimum expectations for a Head Circumferenc * valueQuantity.value insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) * valueQuantity.value insert obligation2App (1, SHALL:populate, SHALL:process) * valueQuantity.unit MS -* valueQuantity.unit insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) -* valueQuantity.unit insert obligation2App (1, SHALL:populate, SHALL:process) +* valueQuantity.unit insert obligation2Server (1, SHALL:populate-if-known, SHALL:process) +* valueQuantity.unit insert obligation2App (2, SHALL:populate, SHALL:process) * valueQuantity.system MS * valueQuantity.system insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) * valueQuantity.system insert obligation2App (1, SHALL:populate, SHALL:process) @@ -488,13 +491,13 @@ Description: "This profile sets the minimum expectations for a Waist Circumferen * category[VSCat] insert obligationServer (2, SHALL:process) * category[VSCat] insert obligationApp (3, SHALL:populate) * code.coding[loincWaistCircumCode] MS -* code.coding[loincWaistCircumCode] insert obligationServer (0, SHALL:process) -* code.coding[loincWaistCircumCode] insert obligationApp (1, SHALL:populate) +* code.coding[loincWaistCircumCode] insert obligation2Server (0, SHALL:populate, SHALL:process) +* code.coding[loincWaistCircumCode] insert obligation2App (1, SHALL:populate, SHALL:process) * code.coding[snomedWaistCircumCode] MS * code.coding[snomedWaistCircumCode] insert obligationServer (0, SHALL:process) * code.coding[snomedWaistCircumCode] insert obligationApp (1, SHALL:populate) * code.text MS -* code.text insert obligationApp (0, SHALL:populate) +* code.text insert obligationApp (1, SHALL:populate) * subject MS * subject insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) * subject insert obligationApp (3, SHALL:populate) @@ -505,8 +508,8 @@ Description: "This profile sets the minimum expectations for a Waist Circumferen * valueQuantity.value insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) * valueQuantity.value insert obligation2App (1, SHALL:populate, SHALL:process) * valueQuantity.unit MS -* valueQuantity.unit insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) -* valueQuantity.unit insert obligation2App (1, SHALL:populate, SHALL:process) +* valueQuantity.unit insert obligation2Server (1, SHALL:populate-if-known, SHALL:process) +* valueQuantity.unit insert obligation2App (2, SHALL:populate, SHALL:process) * valueQuantity.system MS * valueQuantity.system insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) * valueQuantity.system insert obligation2App (1, SHALL:populate, SHALL:process) @@ -527,13 +530,13 @@ Description: "This profile sets the minimum expectations for a Heart Rate resour * category[VSCat] insert obligationServer (2, SHALL:process) * category[VSCat] insert obligationApp (3, SHALL:populate) * code.coding[HeartRateCode] MS -* code.coding[HeartRateCode] insert obligationServer (0, SHALL:process) -* code.coding[HeartRateCode] insert obligationApp (1, SHALL:populate) +* code.coding[HeartRateCode] insert obligation2Server (0, SHALL:populate, SHALL:process) +* code.coding[HeartRateCode] insert obligation2App (1, SHALL:populate, SHALL:process) * code.coding[snomedHeartRateCode] MS * code.coding[snomedHeartRateCode] insert obligationServer (0, SHALL:process) * code.coding[snomedHeartRateCode] insert obligationApp (1, SHALL:populate) * code.text MS -* code.text insert obligationApp (0, SHALL:populate) +* code.text insert obligationApp (1, SHALL:populate) * subject MS * subject insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) * subject insert obligationApp (3, SHALL:populate) From 9b5b1109ccb42201ee2049e05d49bc8c7f5943d1 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Wed, 9 Jul 2025 08:22:54 +1000 Subject: [PATCH 122/177] Templates should not conform to specific profiles - fix --- ...estionnaire-AllergiesAdverseReactions.json | 5 - .../resources/Questionnaire-Examination.json | 322 ++++++++---------- .../resources/Questionnaire-Immunisation.json | 5 - ...onnaire-MedicalHistoryCurrentProblems.json | 5 - .../Questionnaire-RegularMedications.json | 5 - .../resources/Questionnaire-SubstanceUse.json | 19 +- input/fsh/extract-templates.fsh | 110 +++--- 7 files changed, 203 insertions(+), 268 deletions(-) diff --git a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json index 0d83e4b9..b8301b11 100644 --- a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json +++ b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json @@ -365,11 +365,6 @@ { "resourceType": "AllergyIntolerance", "id": "AllergyIntoleranceTemplate", - "meta": { - "profile": [ - "https://smartforms.csiro.au/ig/StructureDefinition/SHCAllergyIntolerance" - ] - }, "clinicalStatus": { "coding": [ { diff --git a/fsh-generated/resources/Questionnaire-Examination.json b/fsh-generated/resources/Questionnaire-Examination.json index 5db91b42..a1d12ba6 100644 --- a/fsh-generated/resources/Questionnaire-Examination.json +++ b/fsh-generated/resources/Questionnaire-Examination.json @@ -1031,17 +1031,13 @@ { "resourceType": "Observation", "id": "BodyHeightTemplate", - "meta": { - "profile": [ - "https://smartforms.csiro.au/ig/StructureDefinition/SHCBodyHeight" - ] - }, + "status": "final", "category": [ { "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "vital-signs" + "code": "vital-signs", + "system": "http://terminology.hl7.org/CodeSystem/observation-category" } ] } @@ -1049,36 +1045,35 @@ "code": { "coding": [ { - "system": "http://loinc.org", - "code": "8302-2" + "code": "8302-2", + "system": "http://loinc.org" }, { - "system": "http://snomed.info/sct", - "code": "50373000" + "code": "50373000", + "system": "http://snomed.info/sct" } ], "text": "Height" }, - "valueQuantity": { - "system": "http://unitsofmeasure.org", - "unit": "cm", - "code": "cm", - "_value": { + "subject": { + "_reference": { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "$this.answer.value" + "valueString": "%resource.subject.reference" } ] } }, - "status": "final", - "subject": { - "_reference": { + "valueQuantity": { + "unit": "cm", + "system": "http://unitsofmeasure.org", + "code": "cm", + "_value": { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "%resource.subject.reference" + "valueString": "$this.answer.value" } ] } @@ -1095,17 +1090,13 @@ { "resourceType": "Observation", "id": "BodyHeightLengthTemplate", - "meta": { - "profile": [ - "https://smartforms.csiro.au/ig/StructureDefinition/SHCBodyHeight" - ] - }, + "status": "final", "category": [ { "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "vital-signs" + "code": "vital-signs", + "system": "http://terminology.hl7.org/CodeSystem/observation-category" } ] } @@ -1113,36 +1104,35 @@ "code": { "coding": [ { - "system": "http://loinc.org", - "code": "8302-2" + "code": "8302-2", + "system": "http://loinc.org" }, { - "system": "http://snomed.info/sct", - "code": "50373000" + "code": "50373000", + "system": "http://snomed.info/sct" } ], "text": "Height" }, - "valueQuantity": { - "system": "http://unitsofmeasure.org", - "unit": "cm", - "code": "cm", - "_value": { + "subject": { + "_reference": { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "$this.answer.value" + "valueString": "%resource.subject.reference" } ] } }, - "status": "final", - "subject": { - "_reference": { + "valueQuantity": { + "unit": "cm", + "system": "http://unitsofmeasure.org", + "code": "cm", + "_value": { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "%resource.subject.reference" + "valueString": "$this.answer.value" } ] } @@ -1159,17 +1149,13 @@ { "resourceType": "Observation", "id": "BodyWeightTemplate", - "meta": { - "profile": [ - "https://smartforms.csiro.au/ig/StructureDefinition/SHCBodyWeight" - ] - }, + "status": "final", "category": [ { "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "vital-signs" + "code": "vital-signs", + "system": "http://terminology.hl7.org/CodeSystem/observation-category" } ] } @@ -1177,36 +1163,35 @@ "code": { "coding": [ { - "system": "http://loinc.org", - "code": "29463-7" + "code": "29463-7", + "system": "http://loinc.org" }, { - "system": "http://snomed.info/sct", - "code": "27113001" + "code": "27113001", + "system": "http://snomed.info/sct" } ], "text": "Weight" }, - "valueQuantity": { - "system": "http://unitsofmeasure.org", - "unit": "kg", - "code": "kg", - "_value": { + "subject": { + "_reference": { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "$this.answer.value" + "valueString": "%resource.subject.reference" } ] } }, - "status": "final", - "subject": { - "_reference": { + "valueQuantity": { + "unit": "kg", + "system": "http://unitsofmeasure.org", + "code": "kg", + "_value": { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "%resource.subject.reference" + "valueString": "$this.answer.value" } ] } @@ -1223,17 +1208,13 @@ { "resourceType": "Observation", "id": "WaistCircumferenceTemplate", - "meta": { - "profile": [ - "https://smartforms.csiro.au/ig/StructureDefinition/SHCWaistCircumference" - ] - }, + "status": "final", "category": [ { "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "vital-signs" + "code": "vital-signs", + "system": "http://terminology.hl7.org/CodeSystem/observation-category" } ] } @@ -1241,36 +1222,35 @@ "code": { "coding": [ { - "system": "http://loinc.org", - "code": "8280-0" + "code": "8280-0", + "system": "http://loinc.org" }, { - "system": "http://snomed.info/sct", - "code": "276361009" + "code": "276361009", + "system": "http://snomed.info/sct" } ], "text": "Waist circumference" }, - "valueQuantity": { - "system": "http://unitsofmeasure.org", - "unit": "cm", - "code": "cm", - "_value": { + "subject": { + "_reference": { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "$this.answer.value" + "valueString": "%resource.subject.reference" } ] } }, - "status": "final", - "subject": { - "_reference": { + "valueQuantity": { + "unit": "cm", + "system": "http://unitsofmeasure.org", + "code": "cm", + "_value": { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "%resource.subject.reference" + "valueString": "$this.answer.value" } ] } @@ -1287,18 +1267,13 @@ { "resourceType": "Observation", "id": "HeadCircumferenceTemplate", - "meta": { - "profile": [ - "https://smartforms.csiro.au/ig/StructureDefinition/SHCHeadCircumference" - ] - }, "status": "final", "category": [ { "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "vital-signs" + "code": "vital-signs", + "system": "http://terminology.hl7.org/CodeSystem/observation-category" } ] } @@ -1306,35 +1281,35 @@ "code": { "coding": [ { - "system": "http://loinc.org", - "code": "9843-4" + "code": "9843-4", + "system": "http://loinc.org" }, { - "system": "http://snomed.info/sct", - "code": "363812007" + "code": "363812007", + "system": "http://snomed.info/sct" } ], "text": "Head circumference" }, - "valueQuantity": { - "system": "http://unitsofmeasure.org", - "unit": "cm", - "code": "cm", - "_value": { + "subject": { + "_reference": { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "$this.answer.value" + "valueString": "%resource.subject.reference" } ] } }, - "subject": { - "_reference": { + "valueQuantity": { + "unit": "cm", + "system": "http://unitsofmeasure.org", + "code": "cm", + "_value": { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "%resource.subject.reference" + "valueString": "$this.answer.value" } ] } @@ -1351,17 +1326,13 @@ { "resourceType": "Observation", "id": "HeartRateTemplate", - "meta": { - "profile": [ - "https://smartforms.csiro.au/ig/StructureDefinition/SHCHeartRate" - ] - }, + "status": "final", "category": [ { "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "vital-signs" + "code": "vital-signs", + "system": "http://terminology.hl7.org/CodeSystem/observation-category" } ] } @@ -1369,36 +1340,35 @@ "code": { "coding": [ { - "system": "http://loinc.org", - "code": "8867-4" + "code": "8867-4", + "system": "http://loinc.org" }, { - "system": "http://snomed.info/sct", - "code": "364075005" + "code": "364075005", + "system": "http://snomed.info/sct" } ], "text": "Heart rate" }, - "valueQuantity": { - "system": "http://unitsofmeasure.org", - "code": "/min", - "unit": "/min", - "_value": { + "subject": { + "_reference": { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "$this.answer.value.toDecimal()" + "valueString": "%resource.subject.reference" } ] } }, - "status": "final", - "subject": { - "_reference": { + "valueQuantity": { + "unit": "/min", + "system": "http://unitsofmeasure.org", + "code": "/min", + "_value": { "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "%resource.subject.reference" + "valueString": "$this.answer.value.toDecimal()" } ] } @@ -1415,11 +1385,7 @@ { "resourceType": "Observation", "id": "HeartRhythmTemplate", - "meta": { - "profile": [ - "https://smartforms.csiro.au/ig/StructureDefinition/SHCHeartRhythm" - ] - }, + "status": "final", "category": [ { "coding": [ @@ -1433,17 +1399,16 @@ "code": { "coding": [ { - "system": "http://loinc.org", - "code": "8884-9" + "code": "8884-9", + "system": "http://loinc.org" }, { - "system": "http://snomed.info/sct", - "code": "364074009" + "code": "364074009", + "system": "http://snomed.info/sct" } ], "text": "Heart rhythm" }, - "status": "final", "subject": { "_reference": { "extension": [ @@ -1478,17 +1443,13 @@ { "resourceType": "Observation", "id": "BloodPressureTemplate", - "meta": { - "profile": [ - "https://smartforms.csiro.au/ig/StructureDefinition/SHCBloodPressure" - ] - }, + "status": "final", "category": [ { "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "vital-signs" + "code": "vital-signs", + "system": "http://terminology.hl7.org/CodeSystem/observation-category" } ] } @@ -1496,22 +1457,45 @@ "code": { "coding": [ { - "system": "http://loinc.org", - "code": "85354-9" + "code": "85354-9", + "system": "http://loinc.org" }, { - "system": "http://snomed.info/sct", - "code": "75367002" + "code": "75367002", + "system": "http://snomed.info/sct" } ], "text": "Blood pressure" }, + "subject": { + "_reference": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.subject.reference" + } + ] + } + }, "component": [ { + "code": { + "coding": [ + { + "code": "8480-6", + "system": "http://loinc.org" + }, + { + "code": "271649006", + "system": "http://snomed.info/sct" + } + ], + "text": "Systolic" + }, "valueQuantity": { + "unit": "mm[Hg]", "system": "http://unitsofmeasure.org", "code": "mm[Hg]", - "unit": "mm[Hg]", "_value": { "extension": [ { @@ -1520,26 +1504,26 @@ } ] } - }, + } + }, + { "code": { "coding": [ { - "system": "http://loinc.org", - "code": "8480-6" + "code": "8462-4", + "system": "http://loinc.org" }, { - "system": "http://snomed.info/sct", - "code": "271649006" + "code": "271650006", + "system": "http://snomed.info/sct" } ], - "text": "Systolic" - } - }, - { + "text": "Diastolic" + }, "valueQuantity": { + "unit": "mm[Hg]", "system": "http://unitsofmeasure.org", "code": "mm[Hg]", - "unit": "mm[Hg]", "_value": { "extension": [ { @@ -1548,33 +1532,9 @@ } ] } - }, - "code": { - "coding": [ - { - "system": "http://loinc.org", - "code": "8462-4" - }, - { - "system": "http://snomed.info/sct", - "code": "271650006" - } - ], - "text": "Diastolic" } } ], - "status": "final", - "subject": { - "_reference": { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "%resource.subject.reference" - } - ] - } - }, "_effectiveDateTime": { "extension": [ { diff --git a/fsh-generated/resources/Questionnaire-Immunisation.json b/fsh-generated/resources/Questionnaire-Immunisation.json index 90bb0e7d..0d3efa6d 100644 --- a/fsh-generated/resources/Questionnaire-Immunisation.json +++ b/fsh-generated/resources/Questionnaire-Immunisation.json @@ -554,11 +554,6 @@ { "resourceType": "Immunization", "id": "ImmunizationTemplate", - "meta": { - "profile": [ - "https://smartforms.csiro.au/ig/StructureDefinition/SHCImmunization" - ] - }, "status": "completed", "vaccineCode": { "extension": [ diff --git a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json index fb0c04e1..4269ca23 100644 --- a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json +++ b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json @@ -595,11 +595,6 @@ { "resourceType": "Condition", "id": "ConditionTemplate", - "meta": { - "profile": [ - "https://smartforms.csiro.au/ig/StructureDefinition/SHCCondition" - ] - }, "clinicalStatus": { "coding": [ { diff --git a/fsh-generated/resources/Questionnaire-RegularMedications.json b/fsh-generated/resources/Questionnaire-RegularMedications.json index 8eb4dba8..6984e054 100644 --- a/fsh-generated/resources/Questionnaire-RegularMedications.json +++ b/fsh-generated/resources/Questionnaire-RegularMedications.json @@ -660,11 +660,6 @@ { "resourceType": "MedicationStatement", "id": "MedicationStatementTemplate", - "meta": { - "profile": [ - "https://smartforms.csiro.au/ig/StructureDefinition/SHCMedicationStatement" - ] - }, "status": "active", "medicationCodeableConcept": { "extension": [ diff --git a/fsh-generated/resources/Questionnaire-SubstanceUse.json b/fsh-generated/resources/Questionnaire-SubstanceUse.json index a841cafd..a9266dbc 100644 --- a/fsh-generated/resources/Questionnaire-SubstanceUse.json +++ b/fsh-generated/resources/Questionnaire-SubstanceUse.json @@ -351,17 +351,13 @@ { "resourceType": "Observation", "id": "SmokingStatusTemplate", - "meta": { - "profile": [ - "https://smartforms.csiro.au/ig/StructureDefinition/SHCSmokingStatus" - ] - }, + "status": "final", "category": [ { "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "social-history" + "code": "social-history", + "system": "http://terminology.hl7.org/CodeSystem/observation-category" } ] } @@ -369,17 +365,16 @@ "code": { "coding": [ { - "system": "http://snomed.info/sct", - "code": "1747861000168109" + "code": "1747861000168109", + "system": "http://snomed.info/sct" }, { - "system": "http://loinc.org", - "code": "72166-2" + "code": "72166-2", + "system": "http://loinc.org" } ], "text": "Smoking status" }, - "status": "final", "subject": { "_reference": { "extension": [ diff --git a/input/fsh/extract-templates.fsh b/input/fsh/extract-templates.fsh index d1d8d3c0..cafb4c92 100644 --- a/input/fsh/extract-templates.fsh +++ b/input/fsh/extract-templates.fsh @@ -24,12 +24,12 @@ Alias: $au-core-medicationstatement = http://hl7.org.au/fhir/core/StructureDefin Alias: $observation-category = http://terminology.hl7.org/CodeSystem/observation-category Instance: SmokingStatusTemplate -InstanceOf: SHCSmokingStatus +InstanceOf: Observation Usage: #inline * status = #final -* category[socialHistory] = $observation-category#social-history +* category[+] = $observation-category#social-history * code.coding[+] = $SCT#1747861000168109 -* code.coding[loincSmokingStatus][+] = $LNC#72166-2 +* code.coding[+] = $LNC#72166-2 * code.text = "Smoking status" * subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * subject.reference.extension[=].valueString = "%resource.subject.reference" @@ -39,12 +39,12 @@ Usage: #inline * valueCodeableConcept.coding.extension[=].valueString = "$this.answer.value" Instance: BodyHeightLengthTemplate -InstanceOf: SHCBodyHeight +InstanceOf: Observation Usage: #inline * status = #final -* category[VSCat] = $observation-category#vital-signs -* code.coding[BodyHeightCode] = $LNC#8302-2 -* code.coding[snomedBodyHeightCode] = $SCT#50373000 +* category[+] = $observation-category#vital-signs +* code.coding[+] = $LNC#8302-2 +* code.coding[+] = $SCT#50373000 * code.text = "Height" * subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * subject.reference.extension[=].valueString = "%resource.subject.reference" @@ -57,12 +57,12 @@ Usage: #inline * valueQuantity.code = #cm Instance: BodyHeightTemplate -InstanceOf: SHCBodyHeight +InstanceOf: Observation Usage: #inline * status = #final -* category[VSCat] = $observation-category#vital-signs -* code.coding[BodyHeightCode] = $LNC#8302-2 -* code.coding[snomedBodyHeightCode] = $SCT#50373000 +* category[+] = $observation-category#vital-signs +* code.coding[+] = $LNC#8302-2 +* code.coding[+] = $SCT#50373000 * code.text = "Height" * subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * subject.reference.extension[=].valueString = "%resource.subject.reference" @@ -76,12 +76,12 @@ Usage: #inline * valueQuantity.code = #cm Instance: BodyWeightTemplate -InstanceOf: SHCBodyWeight +InstanceOf: Observation Usage: #inline * status = #final -* category[VSCat] = $observation-category#vital-signs -* code.coding[BodyWeightCode] = $LNC#29463-7 -* code.coding[snomedBodyWeightCode] = $SCT#27113001 +* category[+] = $observation-category#vital-signs +* code.coding[+] = $LNC#29463-7 +* code.coding[+] = $SCT#27113001 * code.text = "Weight" * subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * subject.reference.extension[=].valueString = "%resource.subject.reference" @@ -94,12 +94,12 @@ Usage: #inline * valueQuantity.code = #kg Instance: HeadCircumferenceTemplate -InstanceOf: SHCHeadCircumference +InstanceOf: Observation Usage: #inline * status = #final -* category[VSCat] = $observation-category#vital-signs -* code.coding[HeadCircumCode] = $LNC#9843-4 -* code.coding[snomedHeadCircumCode] = $SCT#363812007 +* category[+] = $observation-category#vital-signs +* code.coding[+] = $LNC#9843-4 +* code.coding[+] = $SCT#363812007 * code.text = "Head circumference" * subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * subject.reference.extension[=].valueString = "%resource.subject.reference" @@ -112,12 +112,12 @@ Usage: #inline * valueQuantity.code = #cm Instance: WaistCircumferenceTemplate -InstanceOf: SHCWaistCircumference +InstanceOf: Observation Usage: #inline * status = #final -* category[VSCat] = $observation-category#vital-signs -* code.coding[loincWaistCircumCode] = $LNC#8280-0 -* code.coding[snomedWaistCircumCode] = $SCT#276361009 +* category[+] = $observation-category#vital-signs +* code.coding[+] = $LNC#8280-0 +* code.coding[+] = $SCT#276361009 * code.text = "Waist circumference" * subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * subject.reference.extension[=].valueString = "%resource.subject.reference" @@ -130,12 +130,12 @@ Usage: #inline * valueQuantity.code = #cm Instance: HeartRateTemplate -InstanceOf: SHCHeartRate +InstanceOf: Observation Usage: #inline * status = #final -* category[VSCat] = $observation-category#vital-signs -* code.coding[HeartRateCode] = $LNC#8867-4 -* code.coding[snomedHeartRateCode] = $SCT#364075005 +* category[+] = $observation-category#vital-signs +* code.coding[+] = $LNC#8867-4 +* code.coding[+] = $SCT#364075005 * code.text = "Heart rate" * subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * subject.reference.extension[=].valueString = "%resource.subject.reference" @@ -148,12 +148,12 @@ Usage: #inline * valueQuantity.code = #/min Instance: HeartRhythmTemplate -InstanceOf: SHCHeartRhythm +InstanceOf: Observation Usage: #inline * status = #final -* category[vitalSignsCategory] = $observation-category#vital-signs -* code.coding[loincHeartRhythmCode] = $LNC#8884-9 -* code.coding[snomedHeartRhythmCode] = $SCT#364074009 +* category[+] = $observation-category#vital-signs +* code.coding[+] = $LNC#8884-9 +* code.coding[+] = $SCT#364074009 * code.text = "Heart rhythm" * subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * subject.reference.extension[=].valueString = "%resource.subject.reference" @@ -163,38 +163,38 @@ Usage: #inline * valueCodeableConcept.coding.extension[=].valueString = "$this.answer.value" Instance: BloodPressureTemplate -InstanceOf: SHCBloodPressure +InstanceOf: Observation Usage: #inline * status = #final -* category[VSCat] = $observation-category#vital-signs -* code.coding[BPCode] = $LNC#85354-9 -* code.coding[snomedBPCode] = $SCT#75367002 +* category[+] = $observation-category#vital-signs +* code.coding[+] = $LNC#85354-9 +* code.coding[+] = $SCT#75367002 * code.text = "Blood pressure" * subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * subject.reference.extension[=].valueString = "%resource.subject.reference" * effectiveDateTime.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * effectiveDateTime.extension[=].valueString = "item.where(linkId='bp-newbp-date').answer.value.toDateTime()" -* component[SystolicBP].code.coding[SBPCode] = $LNC#8480-6 -* component[SystolicBP].code.coding[snomedSBP] = $SCT#271649006 -* component[SystolicBP].code.text = "Systolic" -* component[SystolicBP].valueQuantity.value.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" -* component[SystolicBP].valueQuantity.value.extension[=].valueString = "$this.answer.value.toDecimal()" -* component[SystolicBP].valueQuantity.unit = "mm[Hg]" -* component[SystolicBP].valueQuantity.system = $UCUM -* component[SystolicBP].valueQuantity.code = #mm[Hg] -* component[DiastolicBP].code.coding[DBPCode] = $LNC#8462-4 -* component[DiastolicBP].code.coding[snomedDBP] = $SCT#271650006 -* component[DiastolicBP].code.text = "Diastolic" -* component[DiastolicBP].valueQuantity.value.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" -* component[DiastolicBP].valueQuantity.value.extension[=].valueString = "%resource.repeat(item).where(linkId='bp-newbp-diastolic').answer.value.toDecimal()" -* component[DiastolicBP].valueQuantity.unit = "mm[Hg]" -* component[DiastolicBP].valueQuantity.system = $UCUM -* component[DiastolicBP].valueQuantity.code = #mm[Hg] +* component[+].code.coding[+] = $LNC#8480-6 +* component[=].code.coding[+] = $SCT#271649006 +* component[=].code.text = "Systolic" +* component[=].valueQuantity.value.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* component[=].valueQuantity.value.extension[=].valueString = "$this.answer.value.toDecimal()" +* component[=].valueQuantity.unit = "mm[Hg]" +* component[=].valueQuantity.system = $UCUM +* component[=].valueQuantity.code = #mm[Hg] +* component[+].code.coding[+] = $LNC#8462-4 +* component[=].code.coding[+] = $SCT#271650006 +* component[=].code.text = "Diastolic" +* component[=].valueQuantity.value.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* component[=].valueQuantity.value.extension[=].valueString = "%resource.repeat(item).where(linkId='bp-newbp-diastolic').answer.value.toDecimal()" +* component[=].valueQuantity.unit = "mm[Hg]" +* component[=].valueQuantity.system = $UCUM +* component[=].valueQuantity.code = #mm[Hg] Instance: AllergyIntoleranceTemplate -InstanceOf: SHCAllergyIntolerance +InstanceOf: AllergyIntolerance Usage: #inline * clinicalStatus.coding = $allergyintolerance-clinical#active * code.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext" @@ -233,7 +233,7 @@ Usage: #inline * parameter[=].part[=].valueCodeableConcept.coding.extension[=].valueString = "item.where(linkId='allergysummary-status').answer.value.first()" Instance: ImmunizationTemplate -InstanceOf: SHCImmunization +InstanceOf: Immunization Usage: #inline * status = #completed * vaccineCode.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext" @@ -252,7 +252,7 @@ Usage: #inline * note.text.extension[=].valueString = "item.where(linkId='vaccinestoday-comment').answer.value" Instance: ConditionTemplate -InstanceOf: SHCCondition +InstanceOf: Condition Usage: #inline * clinicalStatus.coding = $condition-clinical#active * category.coding = $condition-category#problem-list-item @@ -296,7 +296,7 @@ Usage: #inline Instance: MedicationStatementTemplate -InstanceOf: SHCMedicationStatement +InstanceOf: MedicationStatement Usage: #inline * status = #active * medicationCodeableConcept.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractContext" From e5a38161bf990ca3550a6ae35f0284b308d1dd97 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Wed, 9 Jul 2025 08:42:37 +1000 Subject: [PATCH 123/177] Rebuild after PR merge --- ...plementationGuide-csiro.fhir.au.smartforms.json | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index aad84258..88def1e5 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -509,11 +509,6 @@ }, { "reference": { - "reference": "StructureDefinition/SHCAllergyIntolerance" - }, - "name": "Smart Health Check Allergy Intolerance", - "description": "This profile sets the minimum expectations for an AllergyIntolerance resource to record, search and save allergy or intolerance information when used within Smart Health Checks.", - "reference": "ActorDefinition/SHCHostAuthorizationServer" }, "name": "SHC Host Authorization Server", @@ -534,7 +529,14 @@ }, "name": "SHC Host FHIR Server", "description": "This CapabilityStatement describes the expected capabilities for systems to launch and exchange data with the [SHC App](CapabilityStatement-SHCAppCapabilityStatement.html) to support the [Aboriginal and Torres Strait Islander Health Check](Questionnaire-AboriginalTorresStraitIslanderHealthCheck.html). It lists the server's conformance expectations for the resource types required as a launch context, resource types required to support prepopulation of the form, resource types required to support writing back to the patient record, and QuestionnaireResponse requirements for managing form responses. These expectations include supported FHIR profiles, RESTful operations, and search parameters.", - + "exampleBoolean": false + }, + { + "reference": { + "reference": "StructureDefinition/SHCAllergyIntolerance" + }, + "name": "Smart Health Check Allergy Intolerance", + "description": "This profile sets the minimum expectations for an AllergyIntolerance resource to record, search and save allergy or intolerance information when used within Smart Health Checks.", "exampleBoolean": false }, { From 031c073dccb6c8efe2d457de004874917a0ca6ad Mon Sep 17 00:00:00 2001 From: liambarnes Date: Wed, 9 Jul 2025 09:56:13 +1000 Subject: [PATCH 124/177] Add SHC profile references to capability statements --- ...tyStatement-SHCAppCapabilityStatement.json | 33 ++++---- ...-SHCHostFHIRServerCapabilityStatement.json | 43 ++++++---- ...ntationGuide-csiro.fhir.au.smartforms.json | 40 +++++----- ...ctureDefinition-SHCAllergyIntolerance.json | 2 +- .../StructureDefinition-SHCBloodPressure.json | 2 +- .../StructureDefinition-SHCBodyHeight.json | 2 +- .../StructureDefinition-SHCBodyWeight.json | 2 +- .../StructureDefinition-SHCCondition.json | 2 +- ...uctureDefinition-SHCHeadCircumference.json | 2 +- .../StructureDefinition-SHCHeartRate.json | 2 +- .../StructureDefinition-SHCHeartRhythm.json | 2 +- .../StructureDefinition-SHCImmunization.json | 2 +- ...tureDefinition-SHCMedicationStatement.json | 2 +- .../StructureDefinition-SHCSmokingStatus.json | 2 +- ...ctureDefinition-SHCWaistCircumference.json | 2 +- input/fsh/capability.fsh | 80 ++++++++++--------- input/fsh/profiles.fsh | 24 +++--- 17 files changed, 129 insertions(+), 115 deletions(-) diff --git a/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json b/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json index 036b58dc..fc1bbcc5 100644 --- a/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json +++ b/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json @@ -59,9 +59,9 @@ ], "type": "AllergyIntolerance", "supportedProfile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-allergyintolerance" + "https://smartforms.csiro.au/ig/StructureDefinition/SHCAllergyIntolerance" ], - "documentation": "The client supports the AllergyIntolerance resource, the AU Core profile and the conformance expectations for the AllergyIntolerance resource.", + "documentation": "The client supports the AllergyIntolerance resource, the Smart Health Checks profile and the conformance expectations for the AllergyIntolerance resource.", "interaction": [ { "code": "search-type" @@ -100,9 +100,9 @@ ], "type": "Condition", "supportedProfile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-condition" + "https://smartforms.csiro.au/ig/StructureDefinition/SHCCondition" ], - "documentation": "The client supports the Condition resource, the AU Core profile and the conformance expectations for the Condition resource.", + "documentation": "The client supports the Condition resource, the Smart Health Checks and the conformance expectations for the Condition resource.", "interaction": [ { "code": "search-type" @@ -159,9 +159,9 @@ ], "type": "Immunization", "supportedProfile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-immunization" + "https://smartforms.csiro.au/ig/StructureDefinition/SHCImmunization" ], - "documentation": "The client supports the Immunization resource, the AU Core profile and the conformance expectations for the Immunization resource.", + "documentation": "The client supports the Immunization resource, the Smart Health Checks profile and the conformance expectations for the Immunization resource.", "interaction": [ { "code": "search-type" @@ -218,9 +218,9 @@ ], "type": "MedicationStatement", "supportedProfile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-medicationstatement" + "https://smartforms.csiro.au/ig/StructureDefinition/SHCMedicationStatement" ], - "documentation": "The client supports the MedicationStatement resource, the AU Core profile and the conformance expectations for the MedicationStatement resource.", + "documentation": "The client supports the MedicationStatement resource, the Smart Health Checks profile and the conformance expectations for the MedicationStatement resource.", "interaction": [ { "code": "search-type" @@ -277,16 +277,17 @@ ], "type": "Observation", "supportedProfile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bloodpressure", - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyheight", - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyweight", + "https://smartforms.csiro.au/ig/StructureDefinition/SHCBloodPressure", + "https://smartforms.csiro.au/ig/StructureDefinition/SHCBodyHeight", + "https://smartforms.csiro.au/ig/StructureDefinition/SHCBodyWeight", "http://hl7.org.au/fhir/core/StructureDefinition/au-core-diagnosticresult-path", - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum|0.2.2-preview", - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-heartrate", - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-waistcircum", - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-smokingstatus" + "https://smartforms.csiro.au/ig/StructureDefinition/SHCHeadCircumference", + "https://smartforms.csiro.au/ig/StructureDefinition/SHCHeartRate", + "https://smartforms.csiro.au/ig/StructureDefinition/SHCHeartRhythm", + "https://smartforms.csiro.au/ig/StructureDefinition/SHCWaistCircumference", + "https://smartforms.csiro.au/ig/StructureDefinition/SHCSmokingStatus" ], - "documentation": "The client supports the Observation resource, the AU Core profiles listed and the conformance expectations for the Observation resource.", + "documentation": "The client supports the Observation resource, the Smart Health Checks profiles listed and the conformance expectations for the Observation resource.", "interaction": [ { "code": "search-type" diff --git a/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json b/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json index c61d9098..f00d8b82 100644 --- a/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json +++ b/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json @@ -103,7 +103,7 @@ "rest": [ { "mode": "server", - "documentation": "Smart Forms Launcher Server **SHALL**:\r\n1. Support the [AU Core AllergyIntolerance resource profile](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-allergyintolerance.html)\r\n1. Support the [AU Core Condition resource profile](http://hl7.org.au/fhir/core/1.1.0-previewStructureDefinition-au-core-condition.html)\r\n1. Support the [AU Core Encounter resource profile](http://hl7.org.au/fhir/core/1.1.0-previewStructureDefinition-au-core-encounter.html)\r\n1. Support the [AU Core Immunization resource profile](https://build.fhir.org/ig/hl7au/au-fhir-core/StructureDefinition-au-core-immunization.html)\r\n1. Support the [AU Core Medication profile](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-medication.html)\r\n1. Support the [AU Core MedicationStatement profile](https://hl7.org.au/fhir/core/1.1.0-preview/StructureDefinition-au-core-medicationstatement.html)\r\n1. Support the [AU Core Observation resource profiles](http://hl7.org.au/fhir/core/1.1.0-previewprofiles-and-extensions.html#observation)\r\n1. Support the [AU Core Patient resource profile](http://hl7.org.au/fhir/core/1.1.0-previewStructureDefinition-au-core-patient.html)\r\n1. Support the [AU Core Practitioner resource profile](http://hl7.org.au/fhir/core/1.1.0-previewStructureDefinition-au-core-practitioner.html)\r\n1. Support the [SDC Questionnaire Response profile](https://hl7.org/fhir/uv/sdc/STU3/StructureDefinition-sdc-questionnaireresponse.html)\r\n1. Implement the RESTful behavior according to the FHIR specification\r\n1. Support JSON source formats for all interactions", + "documentation": "Smart Forms Launcher Server **SHALL**:\r\n1. Support the [Smart Health Check AllergyIntolerance resource profile](StructureDefinition-SHCAllergyIntolerance.html)\r\n1. Support the [Smart Health Check Condition resource profile](StructureDefinition-SHCCondition.html)\r\n1. Support the [AU Core Encounter resource profile](http://hl7.org.au/fhir/core/1.1.0-preview/StructureDefinition-au-core-encounter.html)\r\n1. Support the [Smart Health Check Immunization resource profile](StructureDefinition-SHCImmunization.html)\r\n1. Support the [AU Core Medication profile](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-medication.html)\r\n1. Support the [Smart Health Check MedicationStatement profile](StructureDefinition-SHCMedicationStatement.html)\r\n1. Support the [Smart Health Check Observation resource profiles](profiles-and-extensions.html#observation)\r\n1. Support the [AU Core Patient resource profile](http://hl7.org.au/fhir/core/1.1.0-previewStructureDefinition-au-core-patient.html)\r\n1. Support the [AU Core Practitioner resource profile](http://hl7.org.au/fhir/core/1.1.0-previewStructureDefinition-au-core-practitioner.html)\r\n1. Support the [SDC Questionnaire Response profile](https://hl7.org/fhir/uv/sdc/STU3/StructureDefinition-sdc-questionnaireresponse.html)\r\n1. Implement the RESTful behavior according to the FHIR specification\r\n1. Support JSON source formats for all interactions", "security": { "cors": true, "_cors": { @@ -154,7 +154,7 @@ } ], "type": "AllergyIntolerance", - "profile": "http://hl7.org.au/fhir/core/StructureDefinition/au-core-allergyintolerance", + "profile": "https://smartforms.csiro.au/ig/StructureDefinition/SHCAllergyIntolerance", "_profile": { "extension": [ { @@ -163,7 +163,7 @@ } ] }, - "documentation": "The server **SHALL** support the AllergyIntolerance resource, the AU Core profile and the conformance expectations for the AllergyIntolerance resource.", + "documentation": "The server **SHALL** support the AllergyIntolerance resource, the Smart Health Checks profile and the conformance expectations for the AllergyIntolerance resource.", "interaction": [ { "code": "search-type", @@ -233,7 +233,7 @@ } ], "type": "Condition", - "profile": "http://hl7.org.au/fhir/core/StructureDefinition/au-core-condition", + "profile": "https://smartforms.csiro.au/ig/StructureDefinition/SHCCondition", "_profile": { "extension": [ { @@ -242,7 +242,7 @@ } ] }, - "documentation": "The server **SHALL** support the Condition resource, the AU Core profile and the conformance expectations for the Condition resource.", + "documentation": "The server **SHALL** support the Condition resource, the Smart Health Checks profile and the conformance expectations for the Condition resource.", "interaction": [ { "code": "search-type", @@ -354,7 +354,7 @@ } ], "type": "Immunization", - "profile": "http://hl7.org.au/fhir/core/StructureDefinition/au-core-immunization", + "profile": "https://smartforms.csiro.au/ig/StructureDefinition/SHCImmunization", "_profile": { "extension": [ { @@ -363,7 +363,7 @@ } ] }, - "documentation": "The server **SHALL** support the Immunization resource, the AU Core profile and the conformance expectations for the Immunization resource.", + "documentation": "The server **SHALL** support the Immunization resource, the Smart Health Checks profile and the conformance expectations for the Immunization resource.", "interaction": [ { "code": "search-type", @@ -475,7 +475,7 @@ } ], "type": "MedicationStatement", - "profile": "http://hl7.org.au/fhir/core/StructureDefinition/au-core-medicationstatement", + "profile": "https://smartforms.csiro.au/ig/StructureDefinition/SHCMedicationStatement", "_profile": { "extension": [ { @@ -484,7 +484,7 @@ } ] }, - "documentation": "The server **SHALL** support the MedicationStatement resource, the AU Core profile and the conformance expectations for the MedicationStatement resource.", + "documentation": "The server **SHALL** support the MedicationStatement resource, the Smart Health Checks profile and the conformance expectations for the MedicationStatement resource.", "interaction": [ { "code": "search-type", @@ -585,14 +585,15 @@ ], "type": "Observation", "supportedProfile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bloodpressure", - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyheight", - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyweight", + "https://smartforms.csiro.au/ig/StructureDefinition/SHCBloodPressure", + "https://smartforms.csiro.au/ig/StructureDefinition/SHCBodyHeight", + "https://smartforms.csiro.au/ig/StructureDefinition/SHCBodyWeight", "http://hl7.org.au/fhir/core/StructureDefinition/au-core-diagnosticresult-path", - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum", - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-heartrate", - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-waistcircum", - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-smokingstatus" + "https://smartforms.csiro.au/ig/StructureDefinition/SHCHeadCircumference", + "https://smartforms.csiro.au/ig/StructureDefinition/SHCHeartRate", + "https://smartforms.csiro.au/ig/StructureDefinition/SHCHeartRhythm", + "https://smartforms.csiro.au/ig/StructureDefinition/SHCWaistCircumference", + "https://smartforms.csiro.au/ig/StructureDefinition/SHCSmokingStatus" ], "_supportedProfile": [ { @@ -651,6 +652,14 @@ } ] }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, { "extension": [ { @@ -660,7 +669,7 @@ ] } ], - "documentation": "The server **SHALL** support the Observation resource, the AU Core profiles listed and the conformance expectations for the Observation resource.", + "documentation": "The server **SHALL** support the Observation resource, the Smart Health Checks profiles listed and the conformance expectations for the Observation resource.", "interaction": [ { "code": "search-type", diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index 88def1e5..3da4fbaf 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -535,7 +535,7 @@ "reference": { "reference": "StructureDefinition/SHCAllergyIntolerance" }, - "name": "Smart Health Check Allergy Intolerance", + "name": "Smart Health Checks AllergyIntolerance", "description": "This profile sets the minimum expectations for an AllergyIntolerance resource to record, search and save allergy or intolerance information when used within Smart Health Checks.", "exampleBoolean": false }, @@ -543,7 +543,7 @@ "reference": { "reference": "StructureDefinition/SHCBloodPressure" }, - "name": "Smart Health Check Blood Pressure", + "name": "Smart Health Checks Blood Pressure", "description": "This profile sets the minimum expectations for a Blood Pressure resource to record, search and save blood pressure information when used within Smart Health Checks.", "exampleBoolean": false }, @@ -551,7 +551,7 @@ "reference": { "reference": "StructureDefinition/SHCBodyHeight" }, - "name": "Smart Health Check Body Height", + "name": "Smart Health Checks Body Height", "description": "This profile sets the minimum expectations for a Body Height resource to record, search and save body height information when used within Smart Health Checks.", "exampleBoolean": false }, @@ -559,7 +559,7 @@ "reference": { "reference": "StructureDefinition/SHCBodyWeight" }, - "name": "Smart Health Check Body Weight", + "name": "Smart Health Checks Body Weight", "description": "This profile sets the minimum expectations for a Body Weight resource to record, search and save body weight information when used within Smart Health Checks.", "exampleBoolean": false }, @@ -567,7 +567,7 @@ "reference": { "reference": "StructureDefinition/SHCCondition" }, - "name": "Smart Health Check Condition", + "name": "Smart Health Checks Condition", "description": "This profile sets the minimum expectations for a Condition resource to record, search and save condition information when used within Smart Health Checks.", "exampleBoolean": false }, @@ -575,7 +575,7 @@ "reference": { "reference": "StructureDefinition/SHCHeadCircumference" }, - "name": "Smart Health Check Head Circumference", + "name": "Smart Health Checks Head Circumference", "description": "This profile sets the minimum expectations for a Head Circumference resource to record, search and save head circumference information when used within Smart Health Checks.", "exampleBoolean": false }, @@ -583,7 +583,7 @@ "reference": { "reference": "StructureDefinition/SHCHeartRate" }, - "name": "Smart Health Check Heart Rate", + "name": "Smart Health Checks Heart Rate", "description": "This profile sets the minimum expectations for a Heart Rate resource to record, search and save heart rate information when used within Smart Health Checks.", "exampleBoolean": false }, @@ -591,7 +591,7 @@ "reference": { "reference": "StructureDefinition/SHCHeartRhythm" }, - "name": "Smart Health Check Heart Rhythm", + "name": "Smart Health Checks Heart Rhythm", "description": "This profile sets the minimum expectations for an Observation resource to record heart rhythm observations. It is used to represent heart rhythm data captured during a First Nations Health Check that can be used to record the observation in a clinical record.", "exampleBoolean": false }, @@ -599,15 +599,23 @@ "reference": { "reference": "StructureDefinition/SHCImmunization" }, - "name": "Smart Health Check Immunization", + "name": "Smart Health Checks Immunization", "description": "This profile sets the minimum expectations for an Immunization resource to record, search and save immunization information when used within Smart Health Checks.", "exampleBoolean": false }, + { + "reference": { + "reference": "ValueSet/smarthealthchecks-medication" + }, + "name": "Smart Health Checks Medication", + "description": "The Smart Health Checks Medication value set includes Australian Medicines Terminology (AMT) product concepts that may be used for the identification of a medicine with form, ingredient and unit of measure details.", + "exampleBoolean": false + }, { "reference": { "reference": "StructureDefinition/SHCMedicationStatement" }, - "name": "Smart Health Check Medication Statement", + "name": "Smart Health Checks MedicationStatement", "description": "This profile sets the minimum expectations for a MedicationStatement resource to record, search and save medication information when used within Smart Health Checks.", "exampleBoolean": false }, @@ -615,7 +623,7 @@ "reference": { "reference": "StructureDefinition/SHCSmokingStatus" }, - "name": "Smart Health Check Smoking Status", + "name": "Smart Health Checks Smoking Status", "description": "This profile sets the minimum expectations for a Smoking Status resource to record, search and save smoking status information when used within Smart Health Checks.", "exampleBoolean": false }, @@ -623,18 +631,10 @@ "reference": { "reference": "StructureDefinition/SHCWaistCircumference" }, - "name": "Smart Health Check Waist Circumference", + "name": "Smart Health Checks Waist Circumference", "description": "This profile sets the minimum expectations for a Waist Circumference resource to record, search and save waist circumference information when used within Smart Health Checks.", "exampleBoolean": false }, - { - "reference": { - "reference": "ValueSet/smarthealthchecks-medication" - }, - "name": "Smart Health Checks Medication", - "description": "The Smart Health Checks Medication value set includes Australian Medicines Terminology (AMT) product concepts that may be used for the identification of a medicine with form, ingredient and unit of measure details.", - "exampleBoolean": false - }, { "reference": { "reference": "ValueSet/SmokingQuitStatus-1" diff --git a/fsh-generated/resources/StructureDefinition-SHCAllergyIntolerance.json b/fsh-generated/resources/StructureDefinition-SHCAllergyIntolerance.json index 8df79899..5ed19324 100644 --- a/fsh-generated/resources/StructureDefinition-SHCAllergyIntolerance.json +++ b/fsh-generated/resources/StructureDefinition-SHCAllergyIntolerance.json @@ -3,7 +3,7 @@ "id": "SHCAllergyIntolerance", "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCAllergyIntolerance", "name": "SmartHealthCheckAllergyIntolerance", - "title": "Smart Health Check Allergy Intolerance", + "title": "Smart Health Checks AllergyIntolerance", "status": "draft", "description": "This profile sets the minimum expectations for an AllergyIntolerance resource to record, search and save allergy or intolerance information when used within Smart Health Checks.", "fhirVersion": "4.0.1", diff --git a/fsh-generated/resources/StructureDefinition-SHCBloodPressure.json b/fsh-generated/resources/StructureDefinition-SHCBloodPressure.json index a54fbf61..d60369d8 100644 --- a/fsh-generated/resources/StructureDefinition-SHCBloodPressure.json +++ b/fsh-generated/resources/StructureDefinition-SHCBloodPressure.json @@ -3,7 +3,7 @@ "id": "SHCBloodPressure", "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCBloodPressure", "name": "SmartHealthCheckBloodPressure", - "title": "Smart Health Check Blood Pressure", + "title": "Smart Health Checks Blood Pressure", "status": "draft", "description": "This profile sets the minimum expectations for a Blood Pressure resource to record, search and save blood pressure information when used within Smart Health Checks.", "fhirVersion": "4.0.1", diff --git a/fsh-generated/resources/StructureDefinition-SHCBodyHeight.json b/fsh-generated/resources/StructureDefinition-SHCBodyHeight.json index cd0225d8..379fe223 100644 --- a/fsh-generated/resources/StructureDefinition-SHCBodyHeight.json +++ b/fsh-generated/resources/StructureDefinition-SHCBodyHeight.json @@ -3,7 +3,7 @@ "id": "SHCBodyHeight", "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCBodyHeight", "name": "SmartHealthCheckBodyHeight", - "title": "Smart Health Check Body Height", + "title": "Smart Health Checks Body Height", "status": "draft", "description": "This profile sets the minimum expectations for a Body Height resource to record, search and save body height information when used within Smart Health Checks.", "fhirVersion": "4.0.1", diff --git a/fsh-generated/resources/StructureDefinition-SHCBodyWeight.json b/fsh-generated/resources/StructureDefinition-SHCBodyWeight.json index a04ed62e..2d4e64ee 100644 --- a/fsh-generated/resources/StructureDefinition-SHCBodyWeight.json +++ b/fsh-generated/resources/StructureDefinition-SHCBodyWeight.json @@ -3,7 +3,7 @@ "id": "SHCBodyWeight", "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCBodyWeight", "name": "SmartHealthCheckBodyWeight", - "title": "Smart Health Check Body Weight", + "title": "Smart Health Checks Body Weight", "status": "draft", "description": "This profile sets the minimum expectations for a Body Weight resource to record, search and save body weight information when used within Smart Health Checks.", "fhirVersion": "4.0.1", diff --git a/fsh-generated/resources/StructureDefinition-SHCCondition.json b/fsh-generated/resources/StructureDefinition-SHCCondition.json index b0b43fd3..63522f03 100644 --- a/fsh-generated/resources/StructureDefinition-SHCCondition.json +++ b/fsh-generated/resources/StructureDefinition-SHCCondition.json @@ -3,7 +3,7 @@ "id": "SHCCondition", "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCCondition", "name": "SmartHealthCheckCondition", - "title": "Smart Health Check Condition", + "title": "Smart Health Checks Condition", "status": "draft", "description": "This profile sets the minimum expectations for a Condition resource to record, search and save condition information when used within Smart Health Checks.", "fhirVersion": "4.0.1", diff --git a/fsh-generated/resources/StructureDefinition-SHCHeadCircumference.json b/fsh-generated/resources/StructureDefinition-SHCHeadCircumference.json index b56f1082..86f8ebb5 100644 --- a/fsh-generated/resources/StructureDefinition-SHCHeadCircumference.json +++ b/fsh-generated/resources/StructureDefinition-SHCHeadCircumference.json @@ -3,7 +3,7 @@ "id": "SHCHeadCircumference", "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCHeadCircumference", "name": "SmartHealthCheckHeadCircumference", - "title": "Smart Health Check Head Circumference", + "title": "Smart Health Checks Head Circumference", "status": "draft", "description": "This profile sets the minimum expectations for a Head Circumference resource to record, search and save head circumference information when used within Smart Health Checks.", "fhirVersion": "4.0.1", diff --git a/fsh-generated/resources/StructureDefinition-SHCHeartRate.json b/fsh-generated/resources/StructureDefinition-SHCHeartRate.json index 18d71413..c9890a99 100644 --- a/fsh-generated/resources/StructureDefinition-SHCHeartRate.json +++ b/fsh-generated/resources/StructureDefinition-SHCHeartRate.json @@ -3,7 +3,7 @@ "id": "SHCHeartRate", "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCHeartRate", "name": "SmartHealthCheckHeartRate", - "title": "Smart Health Check Heart Rate", + "title": "Smart Health Checks Heart Rate", "status": "draft", "description": "This profile sets the minimum expectations for a Heart Rate resource to record, search and save heart rate information when used within Smart Health Checks.", "fhirVersion": "4.0.1", diff --git a/fsh-generated/resources/StructureDefinition-SHCHeartRhythm.json b/fsh-generated/resources/StructureDefinition-SHCHeartRhythm.json index 55b0f074..acf662a2 100644 --- a/fsh-generated/resources/StructureDefinition-SHCHeartRhythm.json +++ b/fsh-generated/resources/StructureDefinition-SHCHeartRhythm.json @@ -3,7 +3,7 @@ "id": "SHCHeartRhythm", "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCHeartRhythm", "name": "SmartHealthCheckHeartRhythm", - "title": "Smart Health Check Heart Rhythm", + "title": "Smart Health Checks Heart Rhythm", "status": "draft", "description": "This profile sets the minimum expectations for an Observation resource to record heart rhythm observations. It is used to represent heart rhythm data captured during a First Nations Health Check that can be used to record the observation in a clinical record.", "fhirVersion": "4.0.1", diff --git a/fsh-generated/resources/StructureDefinition-SHCImmunization.json b/fsh-generated/resources/StructureDefinition-SHCImmunization.json index 7f617fac..dff7f00b 100644 --- a/fsh-generated/resources/StructureDefinition-SHCImmunization.json +++ b/fsh-generated/resources/StructureDefinition-SHCImmunization.json @@ -3,7 +3,7 @@ "id": "SHCImmunization", "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCImmunization", "name": "SmartHealthCheckImmunization", - "title": "Smart Health Check Immunization", + "title": "Smart Health Checks Immunization", "status": "draft", "description": "This profile sets the minimum expectations for an Immunization resource to record, search and save immunization information when used within Smart Health Checks.", "fhirVersion": "4.0.1", diff --git a/fsh-generated/resources/StructureDefinition-SHCMedicationStatement.json b/fsh-generated/resources/StructureDefinition-SHCMedicationStatement.json index b31a1147..01627982 100644 --- a/fsh-generated/resources/StructureDefinition-SHCMedicationStatement.json +++ b/fsh-generated/resources/StructureDefinition-SHCMedicationStatement.json @@ -3,7 +3,7 @@ "id": "SHCMedicationStatement", "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCMedicationStatement", "name": "SmartHealthCheckMedicationStatement", - "title": "Smart Health Check Medication Statement", + "title": "Smart Health Checks MedicationStatement", "status": "draft", "description": "This profile sets the minimum expectations for a MedicationStatement resource to record, search and save medication information when used within Smart Health Checks.", "fhirVersion": "4.0.1", diff --git a/fsh-generated/resources/StructureDefinition-SHCSmokingStatus.json b/fsh-generated/resources/StructureDefinition-SHCSmokingStatus.json index 49ed322e..3ec9ae34 100644 --- a/fsh-generated/resources/StructureDefinition-SHCSmokingStatus.json +++ b/fsh-generated/resources/StructureDefinition-SHCSmokingStatus.json @@ -3,7 +3,7 @@ "id": "SHCSmokingStatus", "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCSmokingStatus", "name": "SmartHealthCheckSmokingStatus", - "title": "Smart Health Check Smoking Status", + "title": "Smart Health Checks Smoking Status", "status": "draft", "description": "This profile sets the minimum expectations for a Smoking Status resource to record, search and save smoking status information when used within Smart Health Checks.", "fhirVersion": "4.0.1", diff --git a/fsh-generated/resources/StructureDefinition-SHCWaistCircumference.json b/fsh-generated/resources/StructureDefinition-SHCWaistCircumference.json index d063143b..efd584b9 100644 --- a/fsh-generated/resources/StructureDefinition-SHCWaistCircumference.json +++ b/fsh-generated/resources/StructureDefinition-SHCWaistCircumference.json @@ -3,7 +3,7 @@ "id": "SHCWaistCircumference", "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCWaistCircumference", "name": "SmartHealthCheckWaistCircumference", - "title": "Smart Health Check Waist Circumference", + "title": "Smart Health Checks Waist Circumference", "status": "draft", "description": "This profile sets the minimum expectations for a Waist Circumference resource to record, search and save waist circumference information when used within Smart Health Checks.", "fhirVersion": "4.0.1", diff --git a/input/fsh/capability.fsh b/input/fsh/capability.fsh index a775b75c..96767558 100644 --- a/input/fsh/capability.fsh +++ b/input/fsh/capability.fsh @@ -39,13 +39,13 @@ Usage: #definition * rest.mode = #server * rest.documentation = "Smart Forms Launcher Server **SHALL**: -1. Support the [AU Core AllergyIntolerance resource profile](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-allergyintolerance.html) -1. Support the [AU Core Condition resource profile](http://hl7.org.au/fhir/core/1.1.0-previewStructureDefinition-au-core-condition.html) -1. Support the [AU Core Encounter resource profile](http://hl7.org.au/fhir/core/1.1.0-previewStructureDefinition-au-core-encounter.html) -1. Support the [AU Core Immunization resource profile](https://build.fhir.org/ig/hl7au/au-fhir-core/StructureDefinition-au-core-immunization.html) +1. Support the [Smart Health Check AllergyIntolerance resource profile](StructureDefinition-SHCAllergyIntolerance.html) +1. Support the [Smart Health Check Condition resource profile](StructureDefinition-SHCCondition.html) +1. Support the [AU Core Encounter resource profile](http://hl7.org.au/fhir/core/1.1.0-preview/StructureDefinition-au-core-encounter.html) +1. Support the [Smart Health Check Immunization resource profile](StructureDefinition-SHCImmunization.html) 1. Support the [AU Core Medication profile](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-medication.html) -1. Support the [AU Core MedicationStatement profile](https://hl7.org.au/fhir/core/1.1.0-preview/StructureDefinition-au-core-medicationstatement.html) -1. Support the [AU Core Observation resource profiles](http://hl7.org.au/fhir/core/1.1.0-previewprofiles-and-extensions.html#observation) +1. Support the [Smart Health Check MedicationStatement profile](StructureDefinition-SHCMedicationStatement.html) +1. Support the [Smart Health Check Observation resource profiles](profiles-and-extensions.html#observation) 1. Support the [AU Core Patient resource profile](http://hl7.org.au/fhir/core/1.1.0-previewStructureDefinition-au-core-patient.html) 1. Support the [AU Core Practitioner resource profile](http://hl7.org.au/fhir/core/1.1.0-previewStructureDefinition-au-core-practitioner.html) 1. Support the [SDC Questionnaire Response profile](https://hl7.org/fhir/uv/sdc/STU3/StructureDefinition-sdc-questionnaireresponse.html) @@ -73,10 +73,10 @@ Also see the [AU Core Security and Privacy](https://hl7.org.au/fhir/core/1.0.0/s * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "patient" * rest.resource[=].type = #AllergyIntolerance -* rest.resource[=].profile = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-allergyintolerance" +* rest.resource[=].profile = "https://smartforms.csiro.au/ig/StructureDefinition/SHCAllergyIntolerance" * rest.resource[=].profile.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].profile.extension[0].valueCode = #SHALL -* rest.resource[=].documentation = "The server **SHALL** support the AllergyIntolerance resource, the AU Core profile and the conformance expectations for the AllergyIntolerance resource." +* rest.resource[=].documentation = "The server **SHALL** support the AllergyIntolerance resource, the Smart Health Checks profile and the conformance expectations for the AllergyIntolerance resource." * rest.resource[=].interaction[0].code = #search-type * rest.resource[=].interaction[0].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[0].extension[0].valueCode = #SHALL @@ -119,10 +119,10 @@ The server **SHALL** support both." * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "category" * rest.resource[=].type = #Condition -* rest.resource[=].profile = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-condition" +* rest.resource[=].profile = "https://smartforms.csiro.au/ig/StructureDefinition/SHCCondition" * rest.resource[=].profile.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].profile.extension[0].valueCode = #SHALL -* rest.resource[=].documentation = "The server **SHALL** support the Condition resource, the AU Core profile and the conformance expectations for the Condition resource." +* rest.resource[=].documentation = "The server **SHALL** support the Condition resource, the Smart Health Checks profile and the conformance expectations for the Condition resource." * rest.resource[=].interaction[0].code = #search-type * rest.resource[=].interaction[0].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[0].extension[0].valueCode = #SHALL @@ -185,10 +185,10 @@ The server **SHALL** support both." * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "status" * rest.resource[=].type = #Immunization -* rest.resource[=].profile = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-immunization" +* rest.resource[=].profile = "https://smartforms.csiro.au/ig/StructureDefinition/SHCImmunization" * rest.resource[=].profile.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].profile.extension[0].valueCode = #SHALL -* rest.resource[=].documentation = "The server **SHALL** support the Immunization resource, the AU Core profile and the conformance expectations for the Immunization resource." +* rest.resource[=].documentation = "The server **SHALL** support the Immunization resource, the Smart Health Checks profile and the conformance expectations for the Immunization resource." * rest.resource[=].interaction[0].code = #search-type * rest.resource[=].interaction[0].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[0].extension[0].valueCode = #SHALL @@ -244,10 +244,10 @@ The server **SHALL** support both." * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "status" * rest.resource[=].type = #MedicationStatement -* rest.resource[=].profile = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-medicationstatement" +* rest.resource[=].profile = "https://smartforms.csiro.au/ig/StructureDefinition/SHCMedicationStatement" * rest.resource[=].profile.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].profile.extension[0].valueCode = #SHOULD -* rest.resource[=].documentation = "The server **SHALL** support the MedicationStatement resource, the AU Core profile and the conformance expectations for the MedicationStatement resource." +* rest.resource[=].documentation = "The server **SHALL** support the MedicationStatement resource, the Smart Health Checks profile and the conformance expectations for the MedicationStatement resource." * rest.resource[=].interaction[0].code = #search-type * rest.resource[=].interaction[0].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[0].extension[0].valueCode = #SHALL @@ -317,31 +317,34 @@ The client **SHALL** support this method." * rest.resource[=].extension[=].extension[=].valueString = "_sort" * rest.resource[=].type = #Observation -* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bloodpressure" +* rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCBloodPressure" * rest.resource[=].supportedProfile[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].supportedProfile[=].extension[0].valueCode = #SHALL -* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyheight" +* rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCBodyHeight" * rest.resource[=].supportedProfile[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].supportedProfile[=].extension[0].valueCode = #SHALL -* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyweight" +* rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCBodyWeight" * rest.resource[=].supportedProfile[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].supportedProfile[=].extension[0].valueCode = #SHALL * rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-diagnosticresult-path" * rest.resource[=].supportedProfile[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].supportedProfile[=].extension[0].valueCode = #SHALL -* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum" +* rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCHeadCircumference" * rest.resource[=].supportedProfile[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].supportedProfile[=].extension[0].valueCode = #SHALL -* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-heartrate" +* rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCHeartRate" * rest.resource[=].supportedProfile[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].supportedProfile[=].extension[0].valueCode = #SHALL -* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-waistcircum" +* rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCHeartRhythm" * rest.resource[=].supportedProfile[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].supportedProfile[=].extension[0].valueCode = #SHALL -* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-smokingstatus" +* rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCWaistCircumference" * rest.resource[=].supportedProfile[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].supportedProfile[=].extension[0].valueCode = #SHALL -* rest.resource[=].documentation = "The server **SHALL** support the Observation resource, the AU Core profiles listed and the conformance expectations for the Observation resource." +* rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCSmokingStatus" +* rest.resource[=].supportedProfile[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].supportedProfile[=].extension[0].valueCode = #SHALL +* rest.resource[=].documentation = "The server **SHALL** support the Observation resource, the Smart Health Checks profiles listed and the conformance expectations for the Observation resource." * rest.resource[=].interaction[0].code = #search-type * rest.resource[=].interaction[0].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[0].extension[0].valueCode = #SHALL @@ -614,8 +617,8 @@ Usage: #definition * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "patient" * rest.resource[=].type = #AllergyIntolerance -* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-allergyintolerance" -* rest.resource[=].documentation = "The client supports the AllergyIntolerance resource, the AU Core profile and the conformance expectations for the AllergyIntolerance resource." +* rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCAllergyIntolerance" +* rest.resource[=].documentation = "The client supports the AllergyIntolerance resource, the Smart Health Checks profile and the conformance expectations for the AllergyIntolerance resource." * rest.resource[=].interaction[0].code = #search-type * rest.resource[=].interaction[+].code = #create * rest.resource[=].interaction[+].code = #patch @@ -638,8 +641,8 @@ The server **SHALL** support both." * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "category" * rest.resource[=].type = #Condition -* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-condition" -* rest.resource[=].documentation = "The client supports the Condition resource, the AU Core profile and the conformance expectations for the Condition resource." +* rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCCondition" +* rest.resource[=].documentation = "The client supports the Condition resource, the Smart Health Checks and the conformance expectations for the Condition resource." * rest.resource[=].interaction[0].code = #search-type * rest.resource[=].interaction[+].code = #create * rest.resource[=].interaction[+].code = #patch @@ -675,8 +678,8 @@ The server **SHALL** support both." * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "status" * rest.resource[=].type = #Immunization -* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-immunization" -* rest.resource[=].documentation = "The client supports the Immunization resource, the AU Core profile and the conformance expectations for the Immunization resource." +* rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCImmunization" +* rest.resource[=].documentation = "The client supports the Immunization resource, the Smart Health Checks profile and the conformance expectations for the Immunization resource." * rest.resource[=].interaction[0].code = #search-type * rest.resource[=].interaction[+].code = #create * rest.resource[=].interaction[+].code = #patch @@ -707,8 +710,8 @@ The server **SHALL** support both." * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "status" * rest.resource[=].type = #MedicationStatement -* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-medicationstatement" -* rest.resource[=].documentation = "The client supports the MedicationStatement resource, the AU Core profile and the conformance expectations for the MedicationStatement resource." +* rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCMedicationStatement" +* rest.resource[=].documentation = "The client supports the MedicationStatement resource, the Smart Health Checks profile and the conformance expectations for the MedicationStatement resource." * rest.resource[=].interaction[0].code = #search-type * rest.resource[=].interaction[+].code = #create * rest.resource[=].interaction[+].code = #patch @@ -755,15 +758,16 @@ The client **SHALL** support this method." * rest.resource[=].extension[=].extension[=].valueString = "_sort" * rest.resource[=].type = #Observation -* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bloodpressure" -* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyheight" -* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyweight" +* rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCBloodPressure" +* rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCBodyHeight" +* rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCBodyWeight" * rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-diagnosticresult-path" -* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum|0.2.2-preview" -* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-heartrate" -* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-waistcircum" -* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-smokingstatus" -* rest.resource[=].documentation = "The client supports the Observation resource, the AU Core profiles listed and the conformance expectations for the Observation resource." +* rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCHeadCircumference" +* rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCHeartRate" +* rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCHeartRhythm" +* rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCWaistCircumference" +* rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCSmokingStatus" +* rest.resource[=].documentation = "The client supports the Observation resource, the Smart Health Checks profiles listed and the conformance expectations for the Observation resource." * rest.resource[=].interaction[0].code = #search-type * rest.resource[=].interaction[+].code = #create //* rest.resource[=].conditionalCreate = true diff --git a/input/fsh/profiles.fsh b/input/fsh/profiles.fsh index b0aff33a..8a426a3e 100644 --- a/input/fsh/profiles.fsh +++ b/input/fsh/profiles.fsh @@ -91,7 +91,7 @@ Description: "Date shall be at least to day or, if not available, the Data Absen Profile: SmartHealthCheckHeartRhythm Parent: Observation Id: SHCHeartRhythm -Title: "Smart Health Check Heart Rhythm" +Title: "Smart Health Checks Heart Rhythm" Description: "This profile sets the minimum expectations for an Observation resource to record heart rhythm observations. It is used to represent heart rhythm data captured during a First Nations Health Check that can be used to record the observation in a clinical record." * . ^short = "Heart Rhythm" @@ -177,7 +177,7 @@ Description: "This extension is used to extend the Template Extract Extension to Profile: SmartHealthCheckAllergyIntolerance Parent: $au-core-allergyintolerance Id: SHCAllergyIntolerance -Title: "Smart Health Check Allergy Intolerance" +Title: "Smart Health Checks AllergyIntolerance" Description: "This profile sets the minimum expectations for an AllergyIntolerance resource to record, search and save allergy or intolerance information when used within Smart Health Checks." * id MS @@ -206,7 +206,7 @@ Description: "This profile sets the minimum expectations for an AllergyIntoleran Profile: SmartHealthCheckCondition Parent: $au-core-condition Id: SHCCondition -Title: "Smart Health Check Condition" +Title: "Smart Health Checks Condition" Description: "This profile sets the minimum expectations for a Condition resource to record, search and save condition information when used within Smart Health Checks." * id MS @@ -240,7 +240,7 @@ Description: "This profile sets the minimum expectations for a Condition resourc Profile: SmartHealthCheckMedicationStatement Parent: $au-core-medicationstatement Id: SHCMedicationStatement -Title: "Smart Health Check Medication Statement" +Title: "Smart Health Checks MedicationStatement" Description: "This profile sets the minimum expectations for a MedicationStatement resource to record, search and save medication information when used within Smart Health Checks." * id MS @@ -273,7 +273,7 @@ Description: "This profile sets the minimum expectations for a MedicationStateme Profile: SmartHealthCheckImmunization Parent: $au-core-immunization Id: SHCImmunization -Title: "Smart Health Check Immunization" +Title: "Smart Health Checks Immunization" Description: "This profile sets the minimum expectations for an Immunization resource to record, search and save immunization information when used within Smart Health Checks." * status MS @@ -301,7 +301,7 @@ Description: "This profile sets the minimum expectations for an Immunization res Profile: SmartHealthCheckBloodPressure Parent: $au-core-bloodpressure Id: SHCBloodPressure -Title: "Smart Health Check Blood Pressure" +Title: "Smart Health Checks Blood Pressure" Description: "This profile sets the minimum expectations for a Blood Pressure resource to record, search and save blood pressure information when used within Smart Health Checks." * status MS @@ -334,7 +334,7 @@ Description: "This profile sets the minimum expectations for a Blood Pressure re Profile: SmartHealthCheckSmokingStatus Parent: $au-core-smokingstatus Id: SHCSmokingStatus -Title: "Smart Health Check Smoking Status" +Title: "Smart Health Checks Smoking Status" Description: "This profile sets the minimum expectations for a Smoking Status resource to record, search and save smoking status information when used within Smart Health Checks." * status MS @@ -364,7 +364,7 @@ Description: "This profile sets the minimum expectations for a Smoking Status re Profile: SmartHealthCheckBodyHeight Parent: $au-core-bodyheight Id: SHCBodyHeight -Title: "Smart Health Check Body Height" +Title: "Smart Health Checks Body Height" Description: "This profile sets the minimum expectations for a Body Height resource to record, search and save body height information when used within Smart Health Checks." * status MS @@ -403,7 +403,7 @@ Description: "This profile sets the minimum expectations for a Body Height resou Profile: SmartHealthCheckBodyWeight Parent: $au-core-bodyweight Id: SHCBodyWeight -Title: "Smart Health Check Body Weight" +Title: "Smart Health Checks Body Weight" Description: "This profile sets the minimum expectations for a Body Weight resource to record, search and save body weight information when used within Smart Health Checks." * status MS @@ -442,7 +442,7 @@ Description: "This profile sets the minimum expectations for a Body Weight resou Profile: SmartHealthCheckHeadCircumference Parent: $au-core-headcircum Id: SHCHeadCircumference -Title: "Smart Health Check Head Circumference" +Title: "Smart Health Checks Head Circumference" Description: "This profile sets the minimum expectations for a Head Circumference resource to record, search and save head circumference information when used within Smart Health Checks." * status MS @@ -481,7 +481,7 @@ Description: "This profile sets the minimum expectations for a Head Circumferenc Profile: SmartHealthCheckWaistCircumference Parent: $au-core-waistcircum Id: SHCWaistCircumference -Title: "Smart Health Check Waist Circumference" +Title: "Smart Health Checks Waist Circumference" Description: "This profile sets the minimum expectations for a Waist Circumference resource to record, search and save waist circumference information when used within Smart Health Checks." * status MS @@ -520,7 +520,7 @@ Description: "This profile sets the minimum expectations for a Waist Circumferen Profile: SmartHealthCheckHeartRate Parent: $au-core-heartrate Id: SHCHeartRate -Title: "Smart Health Check Heart Rate" +Title: "Smart Health Checks Heart Rate" Description: "This profile sets the minimum expectations for a Heart Rate resource to record, search and save heart rate information when used within Smart Health Checks." * status MS From bc83ce7a4a259d6e48cb031c624ae302065f393b Mon Sep 17 00:00:00 2001 From: liambarnes Date: Wed, 9 Jul 2025 14:21:22 +1000 Subject: [PATCH 125/177] QA fixes, update assembled questionnaire --- .../Questionnaire-RegularMedications.json | 8 +- .../resources/Questionnaire-SubstanceUse.json | 3 +- .../fsh/715-Assessment-RegularMedications.fsh | 8 +- input/fsh/715-Assessment-SubstanceUse.fsh | 1 - input/fsh/extensions.fsh | 13 +++ input/fsh/profiles.fsh | 12 --- ...esStraitIslanderHealthCheck-assembled.json | 88 ++----------------- 7 files changed, 27 insertions(+), 106 deletions(-) diff --git a/fsh-generated/resources/Questionnaire-RegularMedications.json b/fsh-generated/resources/Questionnaire-RegularMedications.json index 66ce72ba..5910af99 100644 --- a/fsh-generated/resources/Questionnaire-RegularMedications.json +++ b/fsh-generated/resources/Questionnaire-RegularMedications.json @@ -196,28 +196,28 @@ { "valueCoding": { "code": "active", - "system": "http://terminology.hl7.org/CodeSystem/medication-statement-status", + "system": "http://hl7.org/fhir/CodeSystem/medication-statement-status", "display": "Active" } }, { "valueCoding": { "code": "completed", - "system": "http://terminology.hl7.org/CodeSystem/medication-statement-status", + "system": "http://hl7.org/fhir/CodeSystem/medication-statement-status", "display": "Completed" } }, { "valueCoding": { "code": "stopped", - "system": "http://terminology.hl7.org/CodeSystem/medication-statement-status", + "system": "http://hl7.org/fhir/CodeSystem/medication-statement-status", "display": "Stopped" } }, { "valueCoding": { "code": "on-hold", - "system": "http://terminology.hl7.org/CodeSystem/medication-statement-status", + "system": "http://hl7.org/fhir/CodeSystem/medication-statement-status", "display": "On Hold" } } diff --git a/fsh-generated/resources/Questionnaire-SubstanceUse.json b/fsh-generated/resources/Questionnaire-SubstanceUse.json index 40f98505..e8a6f869 100644 --- a/fsh-generated/resources/Questionnaire-SubstanceUse.json +++ b/fsh-generated/resources/Questionnaire-SubstanceUse.json @@ -121,8 +121,7 @@ } ] }, - "type": "display", - "repeats": false + "type": "display" }, { "extension": [ diff --git a/input/fsh/715-Assessment-RegularMedications.fsh b/input/fsh/715-Assessment-RegularMedications.fsh index 298232a7..dcee1262 100644 --- a/input/fsh/715-Assessment-RegularMedications.fsh +++ b/input/fsh/715-Assessment-RegularMedications.fsh @@ -176,10 +176,10 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * item.item[=].item[=].item[=].text = "Status" * item.item[=].item[=].item[=].type = #choice * item.item[=].item[=].item[=].repeats = false -* item.item[=].item[=].item[=].answerOption[0].valueCoding = http://terminology.hl7.org/CodeSystem/medication-statement-status#active "Active" -* item.item[=].item[=].item[=].answerOption[+].valueCoding = http://terminology.hl7.org/CodeSystem/medication-statement-status#completed "Completed" -* item.item[=].item[=].item[=].answerOption[+].valueCoding = http://terminology.hl7.org/CodeSystem/medication-statement-status#stopped "Stopped" -* item.item[=].item[=].item[=].answerOption[+].valueCoding = http://terminology.hl7.org/CodeSystem/medication-statement-status#on-hold "On Hold" +* item.item[=].item[=].item[=].answerOption[0].valueCoding = http://hl7.org/fhir/CodeSystem/medication-statement-status#active "Active" +* item.item[=].item[=].item[=].answerOption[+].valueCoding = http://hl7.org/fhir/CodeSystem/medication-statement-status#completed "Completed" +* item.item[=].item[=].item[=].answerOption[+].valueCoding = http://hl7.org/fhir/CodeSystem/medication-statement-status#stopped "Stopped" +* item.item[=].item[=].item[=].answerOption[+].valueCoding = http://hl7.org/fhir/CodeSystem/medication-statement-status#on-hold "On Hold" * item.item[=].item[=].item[=].answerValueSet = "#smarthealthchecks-medication" * item.item[=].item[=].item[+].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression" diff --git a/input/fsh/715-Assessment-SubstanceUse.fsh b/input/fsh/715-Assessment-SubstanceUse.fsh index 7954de0f..14cd0d11 100644 --- a/input/fsh/715-Assessment-SubstanceUse.fsh +++ b/input/fsh/715-Assessment-SubstanceUse.fsh @@ -136,7 +136,6 @@ Description: "Substance Use sub-questionnaire for Aboriginal and Torres Strait I * language = #text/fhirpath * expression = "iif(%ObsTobaccoSmokingStatus.entry.resource.where(status='final').value.coding.where(system='http://snomed.info/sct').empty(), 'Not available', %ObsTobaccoSmokingStatus.entry.resource.where(status='final').value.coding.where(system='http://snomed.info/sct').first().display + ' (' + %ObsTobaccoSmokingStatus.entry.resource.where(status='final').effective.toDate().toString() + ')')" * type = #display - * repeats = false * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#SmokingStatusTemplate" * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#drop-down diff --git a/input/fsh/extensions.fsh b/input/fsh/extensions.fsh index fafe05d9..0cfb3ab2 100644 --- a/input/fsh/extensions.fsh +++ b/input/fsh/extensions.fsh @@ -4,3 +4,16 @@ Title: "Contained Resource Reference" Description: "This extension is intended to be used as a work around to a known bug whereby contained resources that are not referenced with the type, 'Reference' are removed before a resource is created in a HAPI FHIR server. This is problematic when referencing with the type, 'canonical'. The extension can be used to reference contained resources so they are retained when added to a HAPI FHIR server." * value[x] only Reference + +Extension: TemplateExtractExtensionExtended +Parent: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract +Id: TemplateExtractExtensionExtended +Title: "Template Extract Extension Extended" +Description: "This extension is used to extend the Template Extract Extension to include additional information." + +* extension contains type 0..1 +* extension[type] ^short = "Patch resource type" +* extension[type] ^definition = "When templating a Parameters resource, this is the kind of resource to be patched. It is used to help populate the request url." +* extension[type].value[x] 1.. +* extension[type].value[x] only code +* extension[type].value[x] from ResourceType (required) \ No newline at end of file diff --git a/input/fsh/profiles.fsh b/input/fsh/profiles.fsh index 8a426a3e..9561c7da 100644 --- a/input/fsh/profiles.fsh +++ b/input/fsh/profiles.fsh @@ -160,18 +160,6 @@ Description: "This profile sets the minimum expectations for an Observation reso * dataAbsentReason MS * dataAbsentReason ^condition = "shc-heartrhythm-01" -Extension: TemplateExtractExtensionExtended -Parent: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract -Id: TemplateExtractExtensionExtended -Title: "Template Extract Extension Extended" -Description: "This extension is used to extend the Template Extract Extension to include additional information." - -* extension contains type 0..1 -* extension[type] ^short = "Patch resource type" -* extension[type] ^definition = "When templating a Parameters resource, this is the kind of resource to be patched. It is used to help populate the request url." -* extension[type].value[x] 1.. -* extension[type].value[x] only code -* extension[type].value[x] from ResourceType (required) Profile: SmartHealthCheckAllergyIntolerance diff --git a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json index 2979f5a7..c16ee312 100644 --- a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json +++ b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json @@ -1131,11 +1131,6 @@ { "resourceType": "Condition", "id": "ConditionTemplate", - "meta": { - "profile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-condition" - ] - }, "clinicalStatus": { "coding": [ { @@ -1278,12 +1273,6 @@ { "resourceType": "ValueSet", "id": "smarthealthchecks-medication", - "meta": { - "profile": [ - "http://hl7.org/fhir/StructureDefinition/shareablevalueset", - "https://healthterminologies.gov.au/fhir/StructureDefinition/composed-value-set-4" - ] - }, "url": "https://smartforms.csiro.au/ig/ValueSet/smarthealthchecks-medication", "name": "SmartHealthChecksMedication", "title": "Smart Health Checks Medication", @@ -1359,11 +1348,6 @@ { "resourceType": "MedicationStatement", "id": "MedicationStatementTemplate", - "meta": { - "profile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-medicationstatement" - ] - }, "status": "completed", "medicationCodeableConcept": { "extension": [ @@ -1571,11 +1555,6 @@ { "resourceType": "AllergyIntolerance", "id": "AllergyIntoleranceTemplate", - "meta": { - "profile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-allergyintolerance" - ] - }, "clinicalStatus": { "coding": [ { @@ -1740,11 +1719,6 @@ { "resourceType": "Observation", "id": "SmokingStatusTemplate", - "meta": { - "profile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-smokingstatus" - ] - }, "status": "final", "category": [ { @@ -2219,11 +2193,6 @@ { "resourceType": "Immunization", "id": "ImmunizationTemplate", - "meta": { - "profile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-immunization" - ] - }, "status": "completed", "vaccineCode": { "extension": [ @@ -2283,12 +2252,6 @@ { "resourceType": "ValueSet", "id": "heart-rhythm-1", - "meta": { - "profile": [ - "http://hl7.org/fhir/StructureDefinition/shareablevalueset", - "https://healthterminologies.gov.au/fhir/StructureDefinition/composed-value-set-4" - ] - }, "url": "https://smartforms.csiro.au/ig/ValueSet/heart-rhythm-1", "name": "HeartRythym", "title": "Heart Rhythm", @@ -2363,11 +2326,6 @@ { "resourceType": "Observation", "id": "BodyHeightTemplate", - "meta": { - "profile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyheight" - ] - }, "status": "final", "category": [ { @@ -2417,11 +2375,6 @@ { "resourceType": "Observation", "id": "BodyHeightLengthTemplate", - "meta": { - "profile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyheight" - ] - }, "status": "final", "category": [ { @@ -2471,11 +2424,6 @@ { "resourceType": "Observation", "id": "BodyWeightTemplate", - "meta": { - "profile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyweight" - ] - }, "status": "final", "category": [ { @@ -2525,11 +2473,6 @@ { "resourceType": "Observation", "id": "WaistCircumferenceTemplate", - "meta": { - "profile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-waistcircum" - ] - }, "status": "final", "category": [ { @@ -2579,11 +2522,6 @@ { "resourceType": "Observation", "id": "HeadCircumferenceTemplate", - "meta": { - "profile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum" - ] - }, "status": "final", "category": [ { @@ -2633,11 +2571,6 @@ { "resourceType": "Observation", "id": "HeartRateTemplate", - "meta": { - "profile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-heartrate" - ] - }, "status": "final", "category": [ { @@ -2687,11 +2620,6 @@ { "resourceType": "Observation", "id": "HeartRhythmTemplate", - "meta": { - "profile": [ - "https://smartforms.csiro.au/ig/StructureDefinition/SmartHealthCheckHeartRhythm" - ] - }, "status": "final", "category": [ { @@ -2740,11 +2668,6 @@ { "resourceType": "Observation", "id": "BloodPressureTemplate", - "meta": { - "profile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-bloodpressure" - ] - }, "status": "final", "category": [ { @@ -6490,28 +6413,28 @@ "answerOption": [ { "valueCoding": { - "system": "http://terminology.hl7.org/CodeSystem/medication-statement-status", + "system": "http://hl7.org/fhir/CodeSystem/medication-statement-status", "code": "active", "display": "Active" } }, { "valueCoding": { - "system": "http://terminology.hl7.org/CodeSystem/medication-statement-status", + "system": "http://hl7.org/fhir/CodeSystem/medication-statement-status", "code": "completed", "display": "Completed" } }, { "valueCoding": { - "system": "http://terminology.hl7.org/CodeSystem/medication-statement-status", + "system": "http://hl7.org/fhir/CodeSystem/medication-statement-status", "code": "stopped", "display": "Stopped" } }, { "valueCoding": { - "system": "http://terminology.hl7.org/CodeSystem/medication-statement-status", + "system": "http://hl7.org/fhir/CodeSystem/medication-statement-status", "code": "on-hold", "display": "On Hold" } @@ -12041,8 +11964,7 @@ } ] }, - "type": "display", - "repeats": false + "type": "display" }, { "extension": [ From f21747f805c821f10947a46f3e4c12d88b1dee88 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Wed, 9 Jul 2025 16:43:25 +1000 Subject: [PATCH 126/177] Update publisher + scripts, add Observation _count requirement to capability statement, fix QA errors --- _build.new.bat | 386 ++++++++++++++++++ ...tyStatement-SHCAppCapabilityStatement.json | 15 + ...-SHCHostFHIRServerCapabilityStatement.json | 15 + .../resources/Questionnaire-Examination.json | 36 +- .../Questionnaire-RegularMedications.json | 3 +- input/fsh/715-Assessment-Examination.fsh | 18 - .../fsh/715-Assessment-RegularMedications.fsh | 4 +- input/fsh/capability.fsh | 8 - 8 files changed, 429 insertions(+), 56 deletions(-) create mode 100644 _build.new.bat diff --git a/_build.new.bat b/_build.new.bat new file mode 100644 index 00000000..2bf0d793 --- /dev/null +++ b/_build.new.bat @@ -0,0 +1,386 @@ +@ECHO OFF +setlocal enabledelayedexpansion + +SET "dlurl=https://github.com/HL7/fhir-ig-publisher/releases/latest/download/publisher.jar" +SET "publisher_jar=publisher.jar" +SET "input_cache_path=%CD%\input-cache\" +SET "skipPrompts=false" +SET "upper_path=..\" +SET "scriptdlroot=https://raw.githubusercontent.com/HL7/ig-publisher-scripts/main" +SET "build_bat_url=%scriptdlroot%/_build.bat" +SET "build_sh_url=%scriptdlroot%/_build.sh" + + + +:: Debugging statements to check jar file location +ECHO Checking for publisher.jar in %input_cache_path% +IF EXIST "%input_cache_path%%publisher_jar%" ( + SET "jar_location=%input_cache_path%%publisher_jar%" + ECHO Found publisher.jar in input-cache +) ELSE ( + ECHO Checking for publisher.jar in %upper_path% + IF EXIST "%upper_path%%publisher_jar%" ( + SET "jar_location=%upper_path%%publisher_jar%" + ECHO Found publisher.jar in parent folder + ) ELSE ( + SET "jar_location=not_found" + SET "default_choice=1" + ECHO publisher.jar not found in input-cache or parent folder + ) +) + + +:: Handle command-line argument to bypass the menu +IF NOT "%~1"=="" ( + IF /I "%~1"=="update" SET "userChoice=1" + IF /I "%~1"=="build" SET "userChoice=2" + IF /I "%~1"=="nosushi" SET "userChoice=3" + IF /I "%~1"=="notx" SET "userChoice=4" + IF /I "%~1"=="jekyll" SET "userChoice=5" + IF /I "%~1"=="clean" SET "userChoice=6" + IF /I "%~1"=="exit" SET "userChoice=0" + GOTO executeChoice +) + +echo --------------------------------------------------------------- +ECHO Checking internet connection... +PING tx.fhir.org -4 -n 1 -w 4000 >nul 2>&1 && SET "online_status=true" || SET "online_status=false" + +IF "%online_status%"=="true" ( + ECHO We're online and tx.fhir.org is available. + FOR /F "tokens=2 delims=:" %%a IN ('curl -s https://api.github.com/repos/HL7/fhir-ig-publisher/releases/latest ^| findstr "tag_name"') DO SET "latest_version=%%a" + SET "latest_version=!latest_version:"=!" + SET "latest_version=!latest_version: =!" + SET "latest_version=!latest_version:~0,-1!" +) ELSE ( + ECHO We're offline or tx.fhir.org is not available, can only run the publisher without TX... + SET "txoption=-tx n/a" + SET "latest_version=unknown" + SET "default_choice=4" +) + +echo --------------------------------------------------------------- + + +IF NOT "%jar_location%"=="not_found" ( + FOR /F "tokens=*" %%i IN ('java "-Dfile.encoding=UTF-8" -jar "%jar_location%" -v 2^>^&1') DO SET "publisher_version=%%i" + SET "publisher_version=!publisher_version:"=!" + ECHO Detected publisher version: !publisher_version! +) ELSE ( + SET "publisher_version=unknown" + ECHO publisher.jar location is not found +) + +ECHO Publisher version: !publisher_version!; Latest is !latest_version! + +IF NOT "%online_status%"=="true" ( + ECHO We're offline. +) ELSE ( + IF NOT "!publisher_version!"=="!latest_version!" ( + ECHO An update is recommended. + SET "default_choice=1" + ) ELSE ( + ECHO Publisher is up to date. + SET "default_choice=2" + ) +) + +echo --------------------------------------------------------------- +echo. + +echo Please select an option: +echo 1. Download or upload publisher +echo 2. Build IG +echo 3. Build IG - no sushi +echo 4. Build IG - force no TX server +echo 5. Jekyll build +echo 6. Clean up temp directories +echo 0. Exit +:: echo [Press Enter for default (%default_choice%) or type an option number:] +echo. + +:: Using CHOICE to handle input with timeout +:: ECHO [Enter=Continue, 1-7=Option, 0=Exit] +choice /C 12345670 /N /CS /D %default_choice% /T 5 /M "Choose an option number or wait 5 seconds for default (%default_choice%):" +SET "userChoice=%ERRORLEVEL%" + + +:executeChoice +echo You selected: %userChoice% + +IF "%userChoice%"=="1" GOTO downloadpublisher +IF "%userChoice%"=="2" GOTO publish_once +IF "%userChoice%"=="3" GOTO publish_nosushi +IF "%userChoice%"=="4" GOTO publish_notx +IF "%userChoice%"=="5" GOTO debugjekyll +IF "%userChoice%"=="6" GOTO clean +IF "%userChoice%"=="0" EXIT /B + +:end + + + +:debugjekyll + echo Running Jekyll build... + jekyll build -s temp/pages -d output +GOTO end + + +:clean + echo Cleaning up directories... + if exist ".\input-cache\publisher.jar" ( + echo Preserving publisher.jar and removing other files in .\input-cache... + move ".\input-cache\publisher.jar" ".\" + rmdir /s /q ".\input-cache" + mkdir ".\input-cache" + move ".\publisher.jar" ".\input-cache" + ) else ( + if exist ".\input-cache\" ( + rmdir /s /q ".\input-cache" + ) + ) + if exist ".\temp\" ( + rmdir /s /q ".\temp" + echo Removed: .\temp + ) + if exist ".\output\" ( + rmdir /s /q ".\output" + echo Removed: .\output + ) + if exist ".\template\" ( + rmdir /s /q ".\template" + echo Removed: .\template + ) + +GOTO end + + + + + +:downloadpublisher +ECHO Downloading Publisher... +:processflags +SET ARG=%1 +IF DEFINED ARG ( + IF "%ARG%"=="-f" SET FORCE=true + IF "%ARG%"=="--force" SET FORCE=true + SHIFT + GOTO processflags +) + +FOR %%x IN ("%CD%") DO SET upper_path=%%~dpx + +ECHO. +IF NOT EXIST "%input_cache_path%%publisher_jar%" ( + IF NOT EXIST "%upper_path%%publisher_jar%" ( + SET jarlocation="%input_cache_path%%publisher_jar%" + SET jarlocationname=Input Cache + ECHO IG Publisher is not yet in input-cache or parent folder. + REM we don't use jarlocation below because it will be empty because we're in a bracketed if statement + GOTO create + ) ELSE ( + ECHO IG Publisher FOUND in parent folder + SET jarlocation="%upper_path%%publisher_jar%" + SET jarlocationname=Parent folder + GOTO upgrade + ) +) ELSE ( + ECHO IG Publisher FOUND in input-cache + SET jarlocation="%input_cache_path%%publisher_jar%" + SET jarlocationname=Input Cache + GOTO upgrade +) + +:create +IF DEFINED FORCE ( + MKDIR "%input_cache_path%" 2> NUL + GOTO download +) + +IF "%skipPrompts%"=="y" ( + SET create=Y +) ELSE ( + SET /p create="Download? (Y/N) " +) +IF /I "%create%"=="Y" ( + ECHO Will place publisher jar here: %input_cache_path%%publisher_jar% + MKDIR "%input_cache_path%" 2> NUL + GOTO download +) +GOTO done + +:upgrade +IF "%skipPrompts%"=="y" ( + SET overwrite=Y +) ELSE ( + SET /p overwrite="Overwrite %jarlocation%? (Y/N) " +) + +IF /I "%overwrite%"=="Y" ( + GOTO download +) +GOTO done + +:download +ECHO Downloading most recent publisher to %jarlocationname% - it's ~200 MB, so this may take a bit + +FOR /f "tokens=4-5 delims=. " %%i IN ('ver') DO SET VERSION=%%i.%%j +IF "%version%" == "10.0" GOTO win10 +IF "%version%" == "6.3" GOTO win8.1 +IF "%version%" == "6.2" GOTO win8 +IF "%version%" == "6.1" GOTO win7 +IF "%version%" == "6.0" GOTO vista + +ECHO Unrecognized version: %version% +GOTO done + +:win10 +CALL POWERSHELL -command if ('System.Net.WebClient' -as [type]) {(new-object System.Net.WebClient).DownloadFile(\"%dlurl%\",\"%jarlocation%\") } else { Invoke-WebRequest -Uri "%dlurl%" -Outfile "%jarlocation%" } + +GOTO done + +:win7 +rem this may be triggering the antivirus - bitsadmin.exe is a known threat +rem CALL bitsadmin /transfer GetPublisher /download /priority normal "%dlurl%" "%jarlocation%" + +rem this didn't work in win 10 +rem CALL Start-BitsTransfer /priority normal "%dlurl%" "%jarlocation%" + +rem this should work - untested +call (New-Object Net.WebClient).DownloadFile('%dlurl%', '%jarlocation%') +GOTO done + +:win8.1 +:win8 +:vista +GOTO done + + + +:done + + + + +ECHO. +ECHO Updating scripts +IF "%skipPrompts%"=="y" ( + SET updateScripts=Y +) ELSE ( + SET /p updateScripts="Update scripts? (Y/N) " +) +IF /I "%updateScripts%"=="Y" ( + GOTO scripts +) +GOTO end + + +:scripts + +REM Download all batch files (and this one with a new name) + +SETLOCAL DisableDelayedExpansion + + + +:dl_script_1 +ECHO Updating _build.sh +call POWERSHELL -command if ('System.Net.WebClient' -as [type]) {(new-object System.Net.WebClient).DownloadFile(\"%build_sh_url%\",\"_build.new.sh\") } else { Invoke-WebRequest -Uri "%build_sh_url%" -Outfile "_build.new.sh" } +if %ERRORLEVEL% == 0 goto upd_script_1 +echo "Errors encountered during download: %errorlevel%" +goto dl_script_2 +:upd_script_1 +start copy /y "_build.new.sh" "_build.sh" ^&^& del "_build.new.sh" ^&^& exit + + +:dl_script_2 +ECHO Updating _build.bat +call POWERSHELL -command if ('System.Net.WebClient' -as [type]) {(new-object System.Net.WebClient).DownloadFile(\"%build_bat_url%\",\"_build.new.bat\") } else { Invoke-WebRequest -Uri "%build_bat_url%" -Outfile "_build.new.bat" } +if %ERRORLEVEL% == 0 goto upd_script_2 +echo "Errors encountered during download: %errorlevel%" +goto end +:upd_script_2 +start copy /y "_build.new.bat" "_build.bat" ^&^& del "_build.new.bat" ^&^& exit + + +GOTO end + + +:publish_once + +SET JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8 + +:: Debugging statements before running publisher +ECHO 1jar_location is: %jar_location% +IF NOT "%jar_location%"=="not_found" ( + java %JAVA_OPTS% -jar "%jar_location%" -ig . %txoption% %* +) ELSE ( + ECHO IG Publisher NOT FOUND in input-cache or parent folder. Please run _updatePublisher. Aborting... +) + +GOTO end + + + +:publish_nosushi + +SET JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8 + +:: Debugging statements before running publisher +ECHO 3jar_location is: %jar_location% +IF NOT "%jar_location%"=="not_found" ( + java %JAVA_OPTS% -jar "%jar_location%" -ig . %txoption% -no-sushi %* +) ELSE ( + ECHO IG Publisher NOT FOUND in input-cache or parent folder. Please run _updatePublisher. Aborting... +) + +GOTO end + + +:publish_notx +SET txoption=-tx n/a + +SET JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8 + +:: Debugging statements before running publisher +ECHO 2jar_location is: %jar_location% +IF NOT "%jar_location%"=="not_found" ( + java %JAVA_OPTS% -jar "%jar_location%" -ig . %txoption% %* +) ELSE ( + ECHO IG Publisher NOT FOUND in input-cache or parent folder. Please run _updatePublisher. Aborting... +) + +GOTO end + + + + +:publish_continuous + +SET JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8 + +:: Debugging statements before running publisher +ECHO Checking %input_cache_path% for publisher.jar +IF EXIST "%input_cache_path%\%publisher_jar%" ( + java %JAVA_OPTS% -jar "%input_cache_path%\%publisher_jar%" -ig . %txoption% -watch %* +) ELSE ( + ECHO Checking %upper_path% for publisher.jar + IF EXIST "..\%publisher_jar%" ( + java %JAVA_OPTS% -jar "..\%publisher_jar%" -ig . %txoption% -watch %* + ) ELSE ( + ECHO IG Publisher NOT FOUND in input-cache or parent folder. Please run _updatePublisher. Aborting... + ) +) + +GOTO end + + +:end + +:: Pausing at the end + + +IF NOT "%skipPrompts%"=="true" ( + PAUSE +) diff --git a/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json b/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json index fc1bbcc5..f14879ff 100644 --- a/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json +++ b/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json @@ -268,6 +268,10 @@ "url": "required", "valueString": "code" }, + { + "url": "required", + "valueString": "_count" + }, { "url": "required", "valueString": "_sort" @@ -309,6 +313,17 @@ "type": "token", "documentation": "The client **SHALL** provide at least a code value and **MAY** provide both the code and system values. \r\n\r\nThe server **SHALL** support both." }, + { + "name": "_count", + "type": "number", + "documentation": "The client and server **SHALL** support search result limiting.", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, { "name": "_sort", "type": "string", diff --git a/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json b/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json index f00d8b82..de0c7f8c 100644 --- a/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json +++ b/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json @@ -576,6 +576,10 @@ "url": "required", "valueString": "code" }, + { + "url": "required", + "valueString": "_count" + }, { "url": "required", "valueString": "_sort" @@ -715,6 +719,17 @@ } ] }, + { + "name": "_count", + "type": "number", + "documentation": "The client and server **SHALL** support search result limiting.", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, { "name": "_sort", "type": "string", diff --git a/fsh-generated/resources/Questionnaire-Examination.json b/fsh-generated/resources/Questionnaire-Examination.json index 76945bf4..05570f99 100644 --- a/fsh-generated/resources/Questionnaire-Examination.json +++ b/fsh-generated/resources/Questionnaire-Examination.json @@ -142,9 +142,7 @@ } ] }, - "type": "display", - "repeats": false, - "readOnly": true + "type": "display" }, { "extension": [ @@ -229,9 +227,7 @@ } ] }, - "type": "display", - "repeats": false, - "readOnly": true + "type": "display" }, { "extension": [ @@ -307,9 +303,7 @@ } ] }, - "type": "display", - "repeats": false, - "readOnly": true + "type": "display" }, { "extension": [ @@ -394,9 +388,7 @@ } ] }, - "type": "display", - "repeats": false, - "readOnly": true + "type": "display" }, { "extension": [ @@ -473,9 +465,7 @@ } ] }, - "type": "display", - "repeats": false, - "readOnly": true + "type": "display" }, { "extension": [ @@ -560,9 +550,7 @@ } ] }, - "type": "display", - "repeats": false, - "readOnly": true + "type": "display" }, { "extension": [ @@ -631,9 +619,7 @@ } ] }, - "type": "display", - "repeats": false, - "readOnly": true + "type": "display" }, { "extension": [ @@ -709,9 +695,7 @@ } ] }, - "type": "display", - "repeats": false, - "readOnly": true + "type": "display" }, { "extension": [ @@ -809,9 +793,7 @@ } ] }, - "type": "display", - "repeats": false, - "readOnly": true + "type": "display" }, { "extension": [ diff --git a/fsh-generated/resources/Questionnaire-RegularMedications.json b/fsh-generated/resources/Questionnaire-RegularMedications.json index 5910af99..1d877e51 100644 --- a/fsh-generated/resources/Questionnaire-RegularMedications.json +++ b/fsh-generated/resources/Questionnaire-RegularMedications.json @@ -221,8 +221,7 @@ "display": "On Hold" } } - ], - "answerValueSet": "#smarthealthchecks-medication" + ] }, { "extension": [ diff --git a/input/fsh/715-Assessment-Examination.fsh b/input/fsh/715-Assessment-Examination.fsh index 3c3a4064..78cf1a62 100644 --- a/input/fsh/715-Assessment-Examination.fsh +++ b/input/fsh/715-Assessment-Examination.fsh @@ -202,8 +202,6 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * language = #text/fhirpath * expression = "iif(%ObsBodyHeight.entry.resource.where(status='final').value.value.empty(), 'Not available', %ObsBodyHeight.entry.resource.where(status='final').value.value.toString() + ' cm' + ' (' + %ObsBodyHeight.entry.resource.where(status='final').effective.toDate().toString() + ')')" * type = #display - * repeats = false - * readOnly = true * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#BodyHeightLengthTemplate" * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#cm @@ -236,8 +234,6 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * language = #text/fhirpath * expression = "iif(%ObsBodyHeight.entry.resource.where(status='final').value.value.empty(), 'Not available', %ObsBodyHeight.entry.resource.where(status='final').value.value.toString() + ' cm' + ' (' + %ObsBodyHeight.entry.resource.where(status='final').effective.toDate().toString() + ')')" * type = #display - * repeats = false - * readOnly = true * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#BodyHeightTemplate" * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#cm @@ -267,8 +263,6 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * language = #text/fhirpath * expression = "iif(%ObsBodyWeight.entry.resource.where(status='final').value.value.empty(), 'Not available', %ObsBodyWeight.entry.resource.where(status='final').value.value.toString() + ' kg' + ' (' + %ObsBodyWeight.entry.resource.where(status='final').effective.toDate().toString() + ')')" * type = #display - * repeats = false - * readOnly = true * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#BodyWeightTemplate" * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#kg @@ -301,8 +295,6 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * language = #text/fhirpath * expression = "iif(%ObsBodyWeight.entry.resource.where(status='final').value.value.empty() or %ObsBodyHeight.entry.resource.where(status='final').value.value.empty(), 'Not available', (%ObsBodyWeight.entry.resource.where(status='final').value.value/((%ObsBodyHeight.entry.resource.where(status='final').value.value/100).power(2))).round(1).toString() + ' kg/m2')" * type = #display - * repeats = false - * readOnly = true * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression].valueExpression * description = "BMI calculation" @@ -334,8 +326,6 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * language = #text/fhirpath * expression = "iif(%ObsHeadCircumference.entry.resource.where(status='final').value.value.empty(), 'Not available', %ObsHeadCircumference.entry.resource.where(status='final').value.value.toString() + ' cm' + ' (' + %ObsHeadCircumference.entry.resource.where(status='final').effective.toDate().toString() + ')')" * type = #display - * repeats = false - * readOnly = true * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#HeadCircumferenceTemplate" * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#cm @@ -368,8 +358,6 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * language = #text/fhirpath * expression = "iif(%ObsWaistCircumference.entry.resource.where(status='final').value.value.empty(), 'Not available', %ObsWaistCircumference.entry.resource.where(status='final').value.value.toString() + ' cm' + ' (' + %ObsWaistCircumference.entry.resource.where(status='final').effective.toDate().toString() + ')')" * type = #display - * repeats = false - * readOnly = true * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#WaistCircumferenceTemplate" * linkId = "obs-waistcircumference-newresult" @@ -398,8 +386,6 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * language = #text/fhirpath * expression = "iif(%ObsHeartRate.entry.resource.where(status='final').value.value.empty(), 'Not available', %ObsHeartRate.entry.resource.where(status='final').value.value.round().toString() + ' /min' + ' (' + %ObsHeartRate.entry.resource.where(status='final').effective.toDate().toString() + ')')" * type = #display - * repeats = false - * readOnly = true * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#HeartRateTemplate" * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#/min @@ -429,8 +415,6 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * language = #text/fhirpath * expression = "iif(%ObsHeartRhythm.entry.resource.where(status='final').value.coding.where(system='http://snomed.info/sct').first().empty(), 'Not available', %ObsHeartRhythm.entry.resource.where(status='final').value.coding.where(system='http://snomed.info/sct').first().display + ' (' + %ObsHeartRhythm.entry.resource.where(status='final').effective.toDate().toString() + ')')" * type = #display - * repeats = false - * readOnly = true * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#HeartRhythmTemplate" * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#radio-button @@ -467,8 +451,6 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * language = #text/fhirpath * expression = "iif(%ObsBloodPressure.entry.resource.where(status='final').component.where(code.coding.exists(code='8480-6')).value.value.empty() or %ObsBloodPressure.entry.resource.where(status='final').component.where(code.coding.exists(code='8462-4')).value.value.empty(), 'Not available', %ObsBloodPressure.entry.resource.where(status='final').component.where(code.coding.exists(code='8480-6')).value.value.round().toString() + ' / ' + %ObsBloodPressure.entry.resource.where(status='final').component.where(code.coding.exists(code='8462-4')).value.value.round().toString() + ' mm Hg (' + %ObsBloodPressure.entry.resource.where(status='final').effective.toDate().toString() + ')')" * type = #display - * repeats = false - * readOnly = true * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#BloodPressureTemplate" * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#mm[Hg] diff --git a/input/fsh/715-Assessment-RegularMedications.fsh b/input/fsh/715-Assessment-RegularMedications.fsh index dcee1262..40d56838 100644 --- a/input/fsh/715-Assessment-RegularMedications.fsh +++ b/input/fsh/715-Assessment-RegularMedications.fsh @@ -17,6 +17,7 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * extension[0].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assemble-expectation" * extension[=].valueCode = #assemble-child + * extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" * extension[=].extension[0].url = "name" * extension[=].extension[=].valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#patient @@ -38,10 +39,12 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * extension[=].extension[=].valueCode = #Encounter * extension[=].extension[+].url = "description" * extension[=].extension[=].valueString = "The encounter that is to be used to pre-populate the form" + * extension[+].url = "http://hl7.org/fhir/StructureDefinition/variable" * extension[=].valueExpression.name = "MedicationStatement" * extension[=].valueExpression.language = #application/x-fhir-query * extension[=].valueExpression.expression = "MedicationStatement?patient={{%patient.id}}&status=active" + * extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * extension[=].valueString = "age" @@ -181,7 +184,6 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * item.item[=].item[=].item[=].answerOption[+].valueCoding = http://hl7.org/fhir/CodeSystem/medication-statement-status#stopped "Stopped" * item.item[=].item[=].item[=].answerOption[+].valueCoding = http://hl7.org/fhir/CodeSystem/medication-statement-status#on-hold "On Hold" -* item.item[=].item[=].item[=].answerValueSet = "#smarthealthchecks-medication" * item.item[=].item[=].item[+].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression" * item.item[=].item[=].item[=].extension[=].valueExpression[+].language = #text/fhirpath * item.item[=].item[=].item[=].extension[=].valueExpression[=].expression = "%MedicationStatementRepeat.dosage.text" diff --git a/input/fsh/capability.fsh b/input/fsh/capability.fsh index 96767558..43f11978 100644 --- a/input/fsh/capability.fsh +++ b/input/fsh/capability.fsh @@ -309,10 +309,8 @@ The client **SHALL** support this method." * rest.resource[=].extension[=].extension[=].valueString = "patient" * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "code" -/* * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "_count" -*/ * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "_sort" @@ -373,13 +371,11 @@ The server **SHALL** support both. " The server **SHALL** support both." * rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL -/* * rest.resource[=].searchParam[+].name = "_count" * rest.resource[=].searchParam[=].type = #number * rest.resource[=].searchParam[=].documentation = "The client and server **SHALL** support search result limiting." * rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL -*/ * rest.resource[=].searchParam[+].name = "_sort" * rest.resource[=].searchParam[=].type = #string * rest.resource[=].searchParam[=].documentation = "The client and server **SHALL** support search result sorting by date and **MAY** support other values." @@ -750,10 +746,8 @@ The client **SHALL** support this method." * rest.resource[=].extension[=].extension[=].valueString = "patient" * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "code" -/* * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "_count" -*/ * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "_sort" @@ -783,13 +777,11 @@ The server **SHALL** support both. " * rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a code value and **MAY** provide both the code and system values. The server **SHALL** support both." -/* * rest.resource[=].searchParam[+].name = "_count" * rest.resource[=].searchParam[=].type = #number * rest.resource[=].searchParam[=].documentation = "The client and server **SHALL** support search result limiting." * rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL -*/ * rest.resource[=].searchParam[+].name = "_sort" * rest.resource[=].searchParam[=].type = #string * rest.resource[=].searchParam[=].documentation = "The client and server **SHALL** support search result sorting by date and **MAY** support other values." From abd2385ed5c31e0ef2983677b5a9c4a75c6d07db Mon Sep 17 00:00:00 2001 From: liambarnes Date: Wed, 9 Jul 2025 17:02:48 +1000 Subject: [PATCH 127/177] Obligation updates --- ...ctureDefinition-SHCAllergyIntolerance.json | 2 +- .../StructureDefinition-SHCBloodPressure.json | 2 +- .../StructureDefinition-SHCBodyHeight.json | 2 +- .../StructureDefinition-SHCBodyWeight.json | 2 +- .../StructureDefinition-SHCCondition.json | 6 +--- ...uctureDefinition-SHCHeadCircumference.json | 2 +- .../StructureDefinition-SHCHeartRate.json | 2 +- .../StructureDefinition-SHCHeartRhythm.json | 2 +- .../StructureDefinition-SHCImmunization.json | 6 +--- ...tureDefinition-SHCMedicationStatement.json | 4 +-- .../StructureDefinition-SHCSmokingStatus.json | 2 +- ...ctureDefinition-SHCWaistCircumference.json | 2 +- input/fsh/profiles.fsh | 30 +++++++++---------- 13 files changed, 28 insertions(+), 36 deletions(-) diff --git a/fsh-generated/resources/StructureDefinition-SHCAllergyIntolerance.json b/fsh-generated/resources/StructureDefinition-SHCAllergyIntolerance.json index 5ed19324..c850926d 100644 --- a/fsh-generated/resources/StructureDefinition-SHCAllergyIntolerance.json +++ b/fsh-generated/resources/StructureDefinition-SHCAllergyIntolerance.json @@ -271,7 +271,7 @@ "extension": [ { "url": "code", - "valueCode": "SHALL:populate-if-known" + "valueCode": "SHALL:populate" }, { "url": "code", diff --git a/fsh-generated/resources/StructureDefinition-SHCBloodPressure.json b/fsh-generated/resources/StructureDefinition-SHCBloodPressure.json index d60369d8..b40f2777 100644 --- a/fsh-generated/resources/StructureDefinition-SHCBloodPressure.json +++ b/fsh-generated/resources/StructureDefinition-SHCBloodPressure.json @@ -277,7 +277,7 @@ "extension": [ { "url": "code", - "valueCode": "SHALL:populate-if-known" + "valueCode": "SHALL:populate" }, { "url": "code", diff --git a/fsh-generated/resources/StructureDefinition-SHCBodyHeight.json b/fsh-generated/resources/StructureDefinition-SHCBodyHeight.json index 379fe223..931c40a4 100644 --- a/fsh-generated/resources/StructureDefinition-SHCBodyHeight.json +++ b/fsh-generated/resources/StructureDefinition-SHCBodyHeight.json @@ -277,7 +277,7 @@ "extension": [ { "url": "code", - "valueCode": "SHALL:populate-if-known" + "valueCode": "SHALL:populate" }, { "url": "code", diff --git a/fsh-generated/resources/StructureDefinition-SHCBodyWeight.json b/fsh-generated/resources/StructureDefinition-SHCBodyWeight.json index 2d4e64ee..fbdaf956 100644 --- a/fsh-generated/resources/StructureDefinition-SHCBodyWeight.json +++ b/fsh-generated/resources/StructureDefinition-SHCBodyWeight.json @@ -277,7 +277,7 @@ "extension": [ { "url": "code", - "valueCode": "SHALL:populate-if-known" + "valueCode": "SHALL:populate" }, { "url": "code", diff --git a/fsh-generated/resources/StructureDefinition-SHCCondition.json b/fsh-generated/resources/StructureDefinition-SHCCondition.json index 63522f03..fa08e3e9 100644 --- a/fsh-generated/resources/StructureDefinition-SHCCondition.json +++ b/fsh-generated/resources/StructureDefinition-SHCCondition.json @@ -224,10 +224,6 @@ "url": "code", "valueCode": "SHALL:populate" }, - { - "url": "code", - "valueCode": "SHALL:process" - }, { "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" @@ -337,7 +333,7 @@ "extension": [ { "url": "code", - "valueCode": "SHALL:populate-if-known" + "valueCode": "SHALL:populate" }, { "url": "code", diff --git a/fsh-generated/resources/StructureDefinition-SHCHeadCircumference.json b/fsh-generated/resources/StructureDefinition-SHCHeadCircumference.json index 86f8ebb5..e72f436d 100644 --- a/fsh-generated/resources/StructureDefinition-SHCHeadCircumference.json +++ b/fsh-generated/resources/StructureDefinition-SHCHeadCircumference.json @@ -199,7 +199,7 @@ "extension": [ { "url": "code", - "valueCode": "SHALL:populate-if-known" + "valueCode": "SHALL:populate" }, { "url": "code", diff --git a/fsh-generated/resources/StructureDefinition-SHCHeartRate.json b/fsh-generated/resources/StructureDefinition-SHCHeartRate.json index c9890a99..91c12126 100644 --- a/fsh-generated/resources/StructureDefinition-SHCHeartRate.json +++ b/fsh-generated/resources/StructureDefinition-SHCHeartRate.json @@ -277,7 +277,7 @@ "extension": [ { "url": "code", - "valueCode": "SHALL:populate-if-known" + "valueCode": "SHALL:populate" }, { "url": "code", diff --git a/fsh-generated/resources/StructureDefinition-SHCHeartRhythm.json b/fsh-generated/resources/StructureDefinition-SHCHeartRhythm.json index acf662a2..630c88f9 100644 --- a/fsh-generated/resources/StructureDefinition-SHCHeartRhythm.json +++ b/fsh-generated/resources/StructureDefinition-SHCHeartRhythm.json @@ -303,7 +303,7 @@ "extension": [ { "url": "code", - "valueCode": "SHALL:populate-if-known" + "valueCode": "SHALL:populate" }, { "url": "code", diff --git a/fsh-generated/resources/StructureDefinition-SHCImmunization.json b/fsh-generated/resources/StructureDefinition-SHCImmunization.json index dff7f00b..223b03ba 100644 --- a/fsh-generated/resources/StructureDefinition-SHCImmunization.json +++ b/fsh-generated/resources/StructureDefinition-SHCImmunization.json @@ -67,10 +67,6 @@ "url": "code", "valueCode": "SHALL:populate" }, - { - "url": "code", - "valueCode": "SHALL:process" - }, { "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" @@ -247,7 +243,7 @@ "extension": [ { "url": "code", - "valueCode": "SHALL:populate-if-known" + "valueCode": "SHALL:populate" }, { "url": "code", diff --git a/fsh-generated/resources/StructureDefinition-SHCMedicationStatement.json b/fsh-generated/resources/StructureDefinition-SHCMedicationStatement.json index 01627982..91ba4345 100644 --- a/fsh-generated/resources/StructureDefinition-SHCMedicationStatement.json +++ b/fsh-generated/resources/StructureDefinition-SHCMedicationStatement.json @@ -81,7 +81,7 @@ "extension": [ { "url": "code", - "valueCode": "SHALL:populate-if-known" + "valueCode": "SHALL:populate" }, { "url": "code", @@ -190,7 +190,7 @@ "extension": [ { "url": "code", - "valueCode": "SHALL:populate-if-known" + "valueCode": "SHALL:populate" }, { "url": "code", diff --git a/fsh-generated/resources/StructureDefinition-SHCSmokingStatus.json b/fsh-generated/resources/StructureDefinition-SHCSmokingStatus.json index 3ec9ae34..c886729e 100644 --- a/fsh-generated/resources/StructureDefinition-SHCSmokingStatus.json +++ b/fsh-generated/resources/StructureDefinition-SHCSmokingStatus.json @@ -251,7 +251,7 @@ "extension": [ { "url": "code", - "valueCode": "SHALL:populate-if-known" + "valueCode": "SHALL:populate" }, { "url": "code", diff --git a/fsh-generated/resources/StructureDefinition-SHCWaistCircumference.json b/fsh-generated/resources/StructureDefinition-SHCWaistCircumference.json index efd584b9..b8aeaa72 100644 --- a/fsh-generated/resources/StructureDefinition-SHCWaistCircumference.json +++ b/fsh-generated/resources/StructureDefinition-SHCWaistCircumference.json @@ -277,7 +277,7 @@ "extension": [ { "url": "code", - "valueCode": "SHALL:populate-if-known" + "valueCode": "SHALL:populate" }, { "url": "code", diff --git a/input/fsh/profiles.fsh b/input/fsh/profiles.fsh index 9561c7da..acdc0d5b 100644 --- a/input/fsh/profiles.fsh +++ b/input/fsh/profiles.fsh @@ -139,7 +139,7 @@ Description: "This profile sets the minimum expectations for an Observation reso * code.text insert obligationApp (1, SHALL:populate) * subject 1.. MS * subject only Reference($au-core-patient) -* subject insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) +* subject insert obligation2Server (0, SHALL:populate, SHALL:process) * subject insert obligationApp (1, SHALL:populate) * effective[x] 1.. MS * effective[x] only dateTime @@ -172,7 +172,7 @@ Description: "This profile sets the minimum expectations for an AllergyIntoleran * id insert obligationServer (0, SHALL:populate) * id insert obligationApp (1, SHALL:process) * patient MS -* patient insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* patient insert obligation2Server (2, SHALL:populate, SHALL:process) * patient insert obligationApp (3, SHALL:populate) * clinicalStatus MS * clinicalStatus insert obligation2Server (2, SHALL:populate, SHALL:process) @@ -208,12 +208,12 @@ Description: "This profile sets the minimum expectations for a Condition resourc * verificationStatus insert obligationApp (3, SHALL:process) * category MS * category insert obligation2Server (2, SHALL:populate, SHALL:process) -* category insert obligation2App (3, SHALL:populate, SHALL:process) +* category insert obligationApp (3, SHALL:populate) * code MS * code insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) * code insert obligation2App (3, SHALL:populate-if-known, SHALL:process) * subject MS -* subject insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* subject insert obligation2Server (2, SHALL:populate, SHALL:process) * subject insert obligationApp (3, SHALL:populate) * onsetDateTime MS * onsetDateTime insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) @@ -235,13 +235,13 @@ Description: "This profile sets the minimum expectations for a MedicationStateme * id insert obligationServer (0, SHALL:populate) * id insert obligationApp (1, SHALL:process) * status MS -* status insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* status insert obligation2Server (2, SHALL:populate, SHALL:process) * status insert obligationApp (3, SHALL:populate) * medication[x][medicationCodeableConcept] MS * medication[x][medicationCodeableConcept] insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) * medication[x][medicationCodeableConcept] insert obligation2App (1, SHALL:populate-if-known, SHALL:process) * subject MS -* subject insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* subject insert obligation2Server (2, SHALL:populate, SHALL:process) * subject insert obligationApp (3, SHALL:populate) * dateAsserted MS * dateAsserted insert obligationServer (2, SHALL:process) @@ -266,7 +266,7 @@ Description: "This profile sets the minimum expectations for an Immunization res * status MS * status insert obligation2Server (2, SHALL:populate, SHALL:process) -* status insert obligation2App (3, SHALL:populate, SHALL:process) +* status insert obligationApp (3, SHALL:populate) * vaccineCode MS * vaccineCode insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) * vaccineCode insert obligation2App (3, SHALL:populate-if-known, SHALL:process) @@ -274,7 +274,7 @@ Description: "This profile sets the minimum expectations for an Immunization res * vaccineCode.coding[amtVaccineCode] insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) * vaccineCode.coding[amtVaccineCode] insert obligation2App (3, SHALL:populate-if-known, SHALL:process) * patient MS -* patient insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* patient insert obligation2Server (2, SHALL:populate, SHALL:process) * patient insert obligationApp (3, SHALL:populate) * occurrenceDateTime MS * occurrenceDateTime insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) @@ -307,7 +307,7 @@ Description: "This profile sets the minimum expectations for a Blood Pressure re * code.text MS * code.text insert obligationApp (1, SHALL:populate) * subject MS -* subject insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* subject insert obligation2Server (2, SHALL:populate, SHALL:process) * subject insert obligationApp (3, SHALL:populate) * effectiveDateTime MS * effectiveDateTime insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) @@ -340,7 +340,7 @@ Description: "This profile sets the minimum expectations for a Smoking Status re * code.text MS * code.text insert obligationApp (1, SHALL:populate) * subject MS -* subject insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* subject insert obligation2Server (2, SHALL:populate, SHALL:process) * subject insert obligationApp (3, SHALL:populate) * effectiveDateTime MS * effectiveDateTime insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) @@ -370,7 +370,7 @@ Description: "This profile sets the minimum expectations for a Body Height resou * code.text MS * code.text insert obligationApp (1, SHALL:populate) * subject MS -* subject insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* subject insert obligation2Server (2, SHALL:populate, SHALL:process) * subject insert obligationApp (3, SHALL:populate) * effectiveDateTime MS * effectiveDateTime insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) @@ -409,7 +409,7 @@ Description: "This profile sets the minimum expectations for a Body Weight resou * code.text MS * code.text insert obligationApp (1, SHALL:populate) * subject MS -* subject insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* subject insert obligation2Server (2, SHALL:populate, SHALL:process) * subject insert obligationApp (3, SHALL:populate) * effectiveDateTime MS * effectiveDateTime insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) @@ -448,7 +448,7 @@ Description: "This profile sets the minimum expectations for a Head Circumferenc * code.text MS * code.text insert obligationApp (1, SHALL:populate) * subject MS -* subject insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) +* subject insert obligation2Server (0, SHALL:populate, SHALL:process) * subject insert obligationApp (1, SHALL:populate) * effectiveDateTime MS * effectiveDateTime insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) @@ -487,7 +487,7 @@ Description: "This profile sets the minimum expectations for a Waist Circumferen * code.text MS * code.text insert obligationApp (1, SHALL:populate) * subject MS -* subject insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* subject insert obligation2Server (2, SHALL:populate, SHALL:process) * subject insert obligationApp (3, SHALL:populate) * effectiveDateTime MS * effectiveDateTime insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) @@ -526,7 +526,7 @@ Description: "This profile sets the minimum expectations for a Heart Rate resour * code.text MS * code.text insert obligationApp (1, SHALL:populate) * subject MS -* subject insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* subject insert obligation2Server (2, SHALL:populate, SHALL:process) * subject insert obligationApp (3, SHALL:populate) * effectiveDateTime MS * effectiveDateTime insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) From 3240c9eb4cdcf049d000a0018fe0c8972249013b Mon Sep 17 00:00:00 2001 From: Sean Fong Date: Thu, 10 Jul 2025 09:24:27 +0930 Subject: [PATCH 128/177] Change fhirContext role to "http://ns.electronichealth.net.au/smart/role/new" - see https://github.com/aehrc/smart-forms/issues/1331 --- input/pagecontent/smart-health-check-integration.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/input/pagecontent/smart-health-check-integration.md b/input/pagecontent/smart-health-check-integration.md index 24de5cf4..02de212d 100644 --- a/input/pagecontent/smart-health-check-integration.md +++ b/input/pagecontent/smart-health-check-integration.md @@ -111,7 +111,7 @@ The SHCA has the following launch context requirements: | sub | required | Unique identifier of the user as known by the PMS authorization service. | | preferred_username | optional | Username used to login to PMS. | | fhirUser | required | Current user identifier used to retrieve the user’s Practitioner resource via the FHIR API. | -| fhirContext | required | The Health Check Questionnare context to be launched
    `[{ "canonical": " http://www.health.gov.au/assessments/mbs/715", "role": "https://smartforms.csiro.au/smart/role/questionnaire-to-display", "type": "Questionnaire" }] ` | +| fhirContext | required | The Health Check Questionnare context to be launched
    `[{ "role": "http://ns.electronichealth.net.au/smart/role/new", "type": "Questionnaire", "canonical": " http://www.health.gov.au/assessments/mbs/715" }]` | ##### Authorization Request SHCA will request the following access scopes in the authorization request `scope` parameter: From fcee1a8f171caa60518f53fa9f31a31c4e4662c3 Mon Sep 17 00:00:00 2001 From: Sean Fong <52597778+fongsean@users.noreply.github.com> Date: Thu, 10 Jul 2025 09:27:53 +0930 Subject: [PATCH 129/177] Update input/pagecontent/smart-health-check-integration.md Change by GitHub Copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- input/pagecontent/smart-health-check-integration.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/input/pagecontent/smart-health-check-integration.md b/input/pagecontent/smart-health-check-integration.md index 02de212d..ebd6f2d0 100644 --- a/input/pagecontent/smart-health-check-integration.md +++ b/input/pagecontent/smart-health-check-integration.md @@ -111,7 +111,7 @@ The SHCA has the following launch context requirements: | sub | required | Unique identifier of the user as known by the PMS authorization service. | | preferred_username | optional | Username used to login to PMS. | | fhirUser | required | Current user identifier used to retrieve the user’s Practitioner resource via the FHIR API. | -| fhirContext | required | The Health Check Questionnare context to be launched
    `[{ "role": "http://ns.electronichealth.net.au/smart/role/new", "type": "Questionnaire", "canonical": " http://www.health.gov.au/assessments/mbs/715" }]` | +| fhirContext | required | The Health Check Questionnaire context to be launched
    `[{ "role": "http://ns.electronichealth.net.au/smart/role/new", "type": "Questionnaire", "canonical": " http://www.health.gov.au/assessments/mbs/715" }]` | ##### Authorization Request SHCA will request the following access scopes in the authorization request `scope` parameter: From 549dd79f815160fd303135fcb7020c864d387885 Mon Sep 17 00:00:00 2001 From: Sean Fong Date: Thu, 10 Jul 2025 14:48:41 +0930 Subject: [PATCH 130/177] Add pre-pop support for contained and externally referenced Medication codes (JSON only) --- .../Questionnaire-RegularMedications.json | 22 +++++++++++-- ...esStraitIslanderHealthCheck-assembled.json | 32 ++++++++++++++----- 2 files changed, 43 insertions(+), 11 deletions(-) diff --git a/fsh-generated/resources/Questionnaire-RegularMedications.json b/fsh-generated/resources/Questionnaire-RegularMedications.json index 1d877e51..b2344856 100644 --- a/fsh-generated/resources/Questionnaire-RegularMedications.json +++ b/fsh-generated/resources/Questionnaire-RegularMedications.json @@ -109,7 +109,7 @@ "valueExpression": { "name": "MedicationStatementRepeat", "language": "text/fhirpath", - "expression": "%MedicationStatement.entry.resource" + "expression": "%MedicationStatement.entry.resource.where(resourceType = 'MedicationStatement')" } }, { @@ -167,7 +167,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%MedicationStatementRepeat.medication.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first())" + "expression": "iif(%MedicationStatementRepeat.medicationReference.reference.replace('#', '') in %medicationsFromContained.id, %medicationsFromContained.where(id = %MedicationStatementRepeat.medicationReference.reference.replace('#', '')).code.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first()), iif(%MedicationStatementRepeat.medicationReference.reference.replace('Medication/', '') in %medicationsFromRef.id , %medicationsFromRef.where(id = %MedicationStatementRepeat.medicationReference.reference.replace('Medication/', '')).code.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first()) ,%MedicationStatementRepeat.medication.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first())))" } } ], @@ -937,7 +937,23 @@ "valueExpression": { "name": "MedicationStatement", "language": "application/x-fhir-query", - "expression": "MedicationStatement?patient={{%patient.id}}&status=active" + "expression": "MedicationStatement?patient={{%patient.id}}&status=active&_include=MedicationStatement:medication" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "medicationsFromContained", + "language": "text/fhirpath", + "expression": "%MedicationStatement.entry.resource.contained.where(resourceType = 'Medication' and id in %MedicationStatement.entry.resource.medicationReference.select(reference.replace('#', '')))" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "medicationsFromRef", + "language": "text/fhirpath", + "expression": "%MedicationStatement.entry.resource.where(resourceType = 'Medication' and id in %MedicationStatement.entry.resource.medicationReference.select(reference.replace('Medication/', '')))" } }, { diff --git a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json index c16ee312..c0c32482 100644 --- a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json +++ b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json @@ -3414,7 +3414,7 @@ "valueExpression": { "name": "MedicationStatement", "language": "application/x-fhir-query", - "expression": "MedicationStatement?patient={{%patient.id}}&status=active" + "expression": "MedicationStatement?patient={{%patient.id}}&status=active&_include=MedicationStatement:medication" } }, { @@ -3489,6 +3489,22 @@ "expression": "Observation?code=9843-4&_count=1&_sort=-date&patient={{%patient.id}}" } }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "medicationsFromContained", + "language": "text/fhirpath", + "expression": "%MedicationStatement.entry.resource.contained.where(resourceType = 'Medication' and id in %MedicationStatement.entry.resource.medicationReference.select(reference.replace('#', '')))" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "medicationsFromRef", + "language": "text/fhirpath", + "expression": "%MedicationStatement.entry.resource.where(resourceType = 'Medication' and id in %MedicationStatement.entry.resource.medicationReference.select(reference.replace('Medication/', '')))" + } + }, { "url": "http://hl7.org/fhir/StructureDefinition/variable", "valueExpression": { @@ -6323,7 +6339,7 @@ "valueExpression": { "name": "MedicationStatementRepeat", "language": "text/fhirpath", - "expression": "%MedicationStatement.entry.resource" + "expression": "%MedicationStatement.entry.resource.where(resourceType = 'MedicationStatement')" } }, { @@ -6381,11 +6397,11 @@ } }, { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%MedicationStatementRepeat.medication.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first())" - } + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%MedicationStatementRepeat.medicationReference.reference.replace('#', '') in %medicationsFromContained.id, %medicationsFromContained.where(id = %MedicationStatementRepeat.medicationReference.reference.replace('#', '')).code.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first()), iif(%MedicationStatementRepeat.medicationReference.reference.replace('Medication/', '') in %medicationsFromRef.id , %medicationsFromRef.where(id = %MedicationStatementRepeat.medicationReference.reference.replace('Medication/', '')).code.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first()) ,%MedicationStatementRepeat.medication.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first())))" + } } ], "linkId": "regularmedications-summary-current-medication", @@ -18421,4 +18437,4 @@ ] } ] -} \ No newline at end of file +} From 5c9c47c626739f15d44a382a4711844d5b0b2e88 Mon Sep 17 00:00:00 2001 From: Sean Fong Date: Thu, 10 Jul 2025 14:55:35 +0930 Subject: [PATCH 131/177] Add prepop-referenced-meds changes from JSON to FSH --- .../fsh/715-Assessment-RegularMedications.fsh | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/input/fsh/715-Assessment-RegularMedications.fsh b/input/fsh/715-Assessment-RegularMedications.fsh index 40d56838..3ba63c64 100644 --- a/input/fsh/715-Assessment-RegularMedications.fsh +++ b/input/fsh/715-Assessment-RegularMedications.fsh @@ -43,7 +43,17 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * extension[+].url = "http://hl7.org/fhir/StructureDefinition/variable" * extension[=].valueExpression.name = "MedicationStatement" * extension[=].valueExpression.language = #application/x-fhir-query -* extension[=].valueExpression.expression = "MedicationStatement?patient={{%patient.id}}&status=active" +* extension[=].valueExpression.expression = "MedicationStatement?patient={{%patient.id}}&status=active&_include=MedicationStatement:medication" + +* extension[+].url = "http://hl7.org/fhir/StructureDefinition/variable" +* extension[=].valueExpression.name = "medicationsFromContained" +* extension[=].valueExpression.language = #text/fhirpath +* extension[=].valueExpression.expression = "%MedicationStatement.entry.resource.contained.where(resourceType = 'Medication' and id in %MedicationStatement.entry.resource.medicationReference.select(reference.replace('#', '')))" + +* extension[+].url = "http://hl7.org/fhir/StructureDefinition/variable" +* extension[=].valueExpression.name = "medicationsFromRef" +* extension[=].valueExpression.language = #text/fhirpath +* extension[=].valueExpression.expression = "%MedicationStatement.entry.resource.where(resourceType = 'Medication' and id in %MedicationStatement.entry.resource.medicationReference.select(reference.replace('Medication/', '')))" * extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * extension[=].valueString = "age" @@ -110,7 +120,7 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St // Current medications * item.item[=].item[0].extension[sdc-questionnaire-itemPopulationContext][+].valueExpression[+].name = "MedicationStatementRepeat" * item.item[=].item[0].extension[sdc-questionnaire-itemPopulationContext][=].valueExpression[=].language = #text/fhirpath -* item.item[=].item[0].extension[sdc-questionnaire-itemPopulationContext][=].valueExpression[=].expression = "%MedicationStatement.entry.resource" +* item.item[=].item[0].extension[sdc-questionnaire-itemPopulationContext][=].valueExpression[=].expression = "%MedicationStatement.entry.resource.where(resourceType = 'MedicationStatement')" * item.item[=].item[=].extension[TemplateExtractExtensionExtended][+].extension[template][+].valueReference = Reference(MedicationStatementPatchTemplate) * item.item[=].item[=].extension[TemplateExtractExtensionExtended][=].extension[resourceId][+].valueString = "item.where(linkId='medicationStatementId').answer.value" * item.item[=].item[=].extension[TemplateExtractExtensionExtended][=].extension[type][+].valueCode = #MedicationStatement @@ -131,7 +141,7 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St */ * item.item[=].item[=].item[=].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression" * item.item[=].item[=].item[=].extension[=].valueExpression[+].language = #text/fhirpath -* item.item[=].item[=].item[=].extension[=].valueExpression[=].expression = "%MedicationStatementRepeat.medication.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first())" +* item.item[=].item[=].item[=].extension[=].valueExpression[=].expression = "iif(%MedicationStatementRepeat.medicationReference.reference.replace('#', '') in %medicationsFromContained.id, %medicationsFromContained.where(id = %MedicationStatementRepeat.medicationReference.reference.replace('#', '')).code.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first()), iif(%MedicationStatementRepeat.medicationReference.reference.replace('Medication/', '') in %medicationsFromRef.id , %medicationsFromRef.where(id = %MedicationStatementRepeat.medicationReference.reference.replace('Medication/', '')).code.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first()) ,%MedicationStatementRepeat.medication.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first())))" * item.item[=].item[=].item[=].linkId = "regularmedications-summary-current-medication" * item.item[=].item[=].item[=].text = "Medication" * item.item[=].item[=].item[=].type = #open-choice @@ -301,4 +311,4 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * item.item[=].text = "Mark section as complete" * item.item[=].text.extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
    \r\n\r\n \r\n\r\n\r\n
    Mark section as complete
    \r\n\r\n
    " * item.item[=].type = #boolean -* item.item[=].repeats = false \ No newline at end of file +* item.item[=].repeats = false From 39f38ff2dfcc278418ededde7ff0d79a0162a5c2 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Thu, 10 Jul 2025 17:57:22 +1000 Subject: [PATCH 132/177] reformat previous results --- .../resources/Questionnaire-Examination.json | 258 +++++++++++++++--- input/fsh/715-Assessment-Examination.fsh | 195 +++++++++---- 2 files changed, 369 insertions(+), 84 deletions(-) diff --git a/fsh-generated/resources/Questionnaire-Examination.json b/fsh-generated/resources/Questionnaire-Examination.json index 76945bf4..dc8fc220 100644 --- a/fsh-generated/resources/Questionnaire-Examination.json +++ b/fsh-generated/resources/Questionnaire-Examination.json @@ -137,14 +137,16 @@ "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(%ObsBodyHeight.entry.resource.where(status='final').value.value.empty(), 'Not available', %ObsBodyHeight.entry.resource.where(status='final').value.value.toString() + ' cm' + ' (' + %ObsBodyHeight.entry.resource.where(status='final').effective.toDate().toString() + ')')" + "expression": "iif(%ObsBodyHeightValue.exists() and %ObsBodyHeightDateFormatted.exists(), %ObsBodyHeightValue.round(0).toString() + ' cm ( ' + %ObsBodyHeightDateFormatted + ' )', 'Not available')" } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-style", + "valueString": "text-align: left;" } ] }, - "type": "display", - "repeats": false, - "readOnly": true + "type": "display" }, { "extension": [ @@ -224,14 +226,16 @@ "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(%ObsBodyHeight.entry.resource.where(status='final').value.value.empty(), 'Not available', %ObsBodyHeight.entry.resource.where(status='final').value.value.toString() + ' cm' + ' (' + %ObsBodyHeight.entry.resource.where(status='final').effective.toDate().toString() + ')')" + "expression": "iif(%ObsBodyHeightValue.exists() and %ObsBodyHeightDateFormatted.exists(), %ObsBodyHeightValue.round(0).toString() + ' cm ( ' + %ObsBodyHeightDateFormatted + ' )', 'Not available')" } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-style", + "valueString": "text-align: left;" } ] }, - "type": "display", - "repeats": false, - "readOnly": true + "type": "display" }, { "extension": [ @@ -302,14 +306,16 @@ "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(%ObsBodyWeight.entry.resource.where(status='final').value.value.empty(), 'Not available', %ObsBodyWeight.entry.resource.where(status='final').value.value.toString() + ' kg' + ' (' + %ObsBodyWeight.entry.resource.where(status='final').effective.toDate().toString() + ')')" + "expression": "iif(%ObsBodyWeightValue.exists() and %ObsBodyWeightDateFormatted.exists(), %ObsBodyWeightValue.round(1).toString() + ' kg ( ' + %ObsBodyWeightDateFormatted + ' )', 'Not available')" } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-style", + "valueString": "text-align: left;" } ] }, - "type": "display", - "repeats": false, - "readOnly": true + "type": "display" }, { "extension": [ @@ -389,14 +395,16 @@ "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(%ObsBodyWeight.entry.resource.where(status='final').value.value.empty() or %ObsBodyHeight.entry.resource.where(status='final').value.value.empty(), 'Not available', (%ObsBodyWeight.entry.resource.where(status='final').value.value/((%ObsBodyHeight.entry.resource.where(status='final').value.value/100).power(2))).round(1).toString() + ' kg/m2')" + "expression": "iif(%ObsBodyWeightValue.exists() and %ObsBodyHeightValue.exists(), (%ObsBodyWeightValue/((%ObsBodyHeightValue/100).power(2))).round(1).toString() + ' kg/m2', 'Not available')" } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-style", + "valueString": "text-align: left;" } ] }, - "type": "display", - "repeats": false, - "readOnly": true + "type": "display" }, { "extension": [ @@ -468,14 +476,16 @@ "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(%ObsHeadCircumference.entry.resource.where(status='final').value.value.empty(), 'Not available', %ObsHeadCircumference.entry.resource.where(status='final').value.value.toString() + ' cm' + ' (' + %ObsHeadCircumference.entry.resource.where(status='final').effective.toDate().toString() + ')')" + "expression": "iif(%ObsHeadCircumferenceValue.exists() and %ObsHeadCircumferenceDateFormatted.exists(), %ObsHeadCircumferenceValue.round(0).toString() + ' cm ( ' + %ObsHeadCircumferenceDateFormatted + ' )', 'Not available')" } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-style", + "valueString": "text-align: left;" } ] }, - "type": "display", - "repeats": false, - "readOnly": true + "type": "display" }, { "extension": [ @@ -555,14 +565,16 @@ "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(%ObsWaistCircumference.entry.resource.where(status='final').value.value.empty(), 'Not available', %ObsWaistCircumference.entry.resource.where(status='final').value.value.toString() + ' cm' + ' (' + %ObsWaistCircumference.entry.resource.where(status='final').effective.toDate().toString() + ')')" + "expression": "iif(%ObsWaistCircumferenceValue.exists() and %ObsWaistCircumferenceDateFormatted.exists(), %ObsWaistCircumferenceValue.round(0).toString() + ' cm ( ' + %ObsWaistCircumferenceDateFormatted + ' )', 'Not available')" } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-style", + "valueString": "text-align: left;" } ] }, - "type": "display", - "repeats": false, - "readOnly": true + "type": "display" }, { "extension": [ @@ -626,14 +638,16 @@ "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(%ObsHeartRate.entry.resource.where(status='final').value.value.empty(), 'Not available', %ObsHeartRate.entry.resource.where(status='final').value.value.round().toString() + ' /min' + ' (' + %ObsHeartRate.entry.resource.where(status='final').effective.toDate().toString() + ')')" + "expression": "iif(%ObsHeartRateValue.exists() and %ObsHeartRateDateFormatted.exists(), %ObsHeartRateValue.round(0).toString() + ' /min ( ' + %ObsHeartRateDateFormatted + ' )', 'Not available')" } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-style", + "valueString": "text-align: left;" } ] }, - "type": "display", - "repeats": false, - "readOnly": true + "type": "display" }, { "extension": [ @@ -704,14 +718,16 @@ "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(%ObsHeartRhythm.entry.resource.where(status='final').value.coding.where(system='http://snomed.info/sct').first().empty(), 'Not available', %ObsHeartRhythm.entry.resource.where(status='final').value.coding.where(system='http://snomed.info/sct').first().display + ' (' + %ObsHeartRhythm.entry.resource.where(status='final').effective.toDate().toString() + ')')" + "expression": "iif(%ObsHeartRhythmValue.exists() and %ObsHeartRhythmDateFormatted.exists(), %ObsHeartRhythmValue.display + ' ( ' + %ObsHeartRhythmDateFormatted + ' )', 'Not available')" } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-style", + "valueString": "text-align: left;" } ] }, - "type": "display", - "repeats": false, - "readOnly": true + "type": "display" }, { "extension": [ @@ -804,14 +820,16 @@ "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(%ObsBloodPressure.entry.resource.where(status='final').component.where(code.coding.exists(code='8480-6')).value.value.empty() or %ObsBloodPressure.entry.resource.where(status='final').component.where(code.coding.exists(code='8462-4')).value.value.empty(), 'Not available', %ObsBloodPressure.entry.resource.where(status='final').component.where(code.coding.exists(code='8480-6')).value.value.round().toString() + ' / ' + %ObsBloodPressure.entry.resource.where(status='final').component.where(code.coding.exists(code='8462-4')).value.value.round().toString() + ' mm Hg (' + %ObsBloodPressure.entry.resource.where(status='final').effective.toDate().toString() + ')')" + "expression": "iif(%ObsBloodPressureValue.exists() and %ObsBloodPressureDateFormatted.exists(), %ObsBloodPressureValue + ' mm Hg ( ' + %bsBloodPressureDateFormatted + ' )', 'Not available')" } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-style", + "valueString": "text-align: left;" } ] }, - "type": "display", - "repeats": false, - "readOnly": true + "type": "display" }, { "extension": [ @@ -1726,6 +1744,174 @@ "expression": "Observation?code=9843-4&_count=1&_sort=-date&patient={{%patient.id}}" } }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsBodyHeightValue", + "language": "text/fhirpath", + "expression": "%ObsBodyHeight.entry.resource.where(status='final').value.value" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsBodyHeightDateString", + "language": "text/fhirpath", + "expression": "%ObsBodyHeight.entry.resource.where(status='final').effective.toDate().toString()" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsBodyHeightDateFormatted", + "language": "text/fhirpath", + "expression": "%ObsBodyHeightDateString.substring(8,2).toInteger().toString() + ' ' + %ObsBodyHeightDateString.substring(5,2).replace('01','Jan').replace('02','Feb').replace('03','Mar').replace('04','Apr').replace('05','May').replace('06','Jun').replace('07','Jul').replace('08','Aug').replace('09','Sep').replace('10','Oct').replace('11','Nov').replace('12','Dec') + ' ' + %ObsBodyHeightDateString.substring(0,4)" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsBodyWeightValue", + "language": "text/fhirpath", + "expression": "%ObsBodyWeight.entry.resource.where(status='final').value.value" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsBodyWeightDateString", + "language": "text/fhirpath", + "expression": "%ObsBodyWeight.entry.resource.where(status='final').effective.toDate().toString()" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsBodyWeightDateFormatted", + "language": "text/fhirpath", + "expression": "%ObsBodyWeightDateString.substring(8,2).toInteger().toString() + ' ' + %ObsBodyWeightDateString.substring(5,2).replace('01','Jan').replace('02','Feb').replace('03','Mar').replace('04','Apr').replace('05','May').replace('06','Jun').replace('07','Jul').replace('08','Aug').replace('09','Sep').replace('10','Oct').replace('11','Nov').replace('12','Dec') + ' ' + %ObsBodyWeightDateString.substring(0,4)" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsHeadCircumferenceValue", + "language": "text/fhirpath", + "expression": "%ObsHeadCircumference.entry.resource.where(status='final').value.value" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsHeadCircumferenceDateString", + "language": "text/fhirpath", + "expression": "%ObsHeadCircumference.entry.resource.where(status='final').effective.toDate().toString" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsHeadCircumferenceDateFormatted", + "language": "text/fhirpath", + "expression": "%ObsHeadCircumferenceDateString.substring(8,2).toInteger().toString() + ' ' + %ObsHeadCircumferenceDateString.substring(5,2).replace('01','Jan').replace('02','Feb').replace('03','Mar').replace('04','Apr').replace('05','May').replace('06','Jun').replace('07','Jul').replace('08','Aug').replace('09','Sep').replace('10','Oct').replace('11','Nov').replace('12','Dec') + ' ' + %ObsHeadCircumferenceDateString.substring(0,4)" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsWaistCircumferenceValue", + "language": "text/fhirpath", + "expression": "%ObsWaistCircumference.entry.resource.where(status='final').value.value" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsWaistCircumferenceDateString", + "language": "text/fhirpath", + "expression": "%ObsWaistCircumference.entry.resource.where(status='final').effective.toDate().toString()" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsWaistCircumferenceDateFormatted", + "language": "text/fhirpath", + "expression": "%ObsWaistCircumferenceDateString.substring(8,2).toInteger().toString() + ' ' + %ObsWaistCircumferenceDateString.substring(5,2).replace('01','Jan').replace('02','Feb').replace('03','Mar').replace('04','Apr').replace('05','May').replace('06','Jun').replace('07','Jul').replace('08','Aug').replace('09','Sep').replace('10','Oct').replace('11','Nov').replace('12','Dec') + ' ' + %ObsWaistCircumferenceDateString.substring(0,4)" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsHeartRateValue", + "language": "text/fhirpath", + "expression": "%ObsHeartRate.entry.resource.where(status='final').value.value" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsHeartRateDateString", + "language": "text/fhirpath", + "expression": "%ObsHeartRate.entry.resource.where(status='final').effective.toDate().toString()" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsHeartRateDateFormatted", + "language": "text/fhirpath", + "expression": "%ObsHeartRateDateString.substring(8,2).toInteger().toString() + ' ' + %ObsHeartRateDateString.substring(5,2).replace('01','Jan').replace('02','Feb').replace('03','Mar').replace('04','Apr').replace('05','May').replace('06','Jun').replace('07','Jul').replace('08','Aug').replace('09','Sep').replace('10','Oct').replace('11','Nov').replace('12','Dec') + ' ' + %ObsHeartRateDateString.substring(0,4)" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsHeartRhythmValue", + "language": "text/fhirpath", + "expression": "%ObsHeartRhythm.entry.resource.where(status='final').value.coding.where(system='http://snomed.info/sct').first()" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsHeartRhythmDateString", + "language": "text/fhirpath", + "expression": "%ObsHeartRhythm.entry.resource.where(status='final').effective.toDate().toString()" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsHeartRhythmDateFormatted", + "language": "text/fhirpath", + "expression": "%ObsHeartRhythmDateString.substring(8,2).toInteger().toString() + ' ' + %ObsHeartRhythmDateString.substring(5,2).replace('01','Jan').replace('02','Feb').replace('03','Mar').replace('04','Apr').replace('05','May').replace('06','Jun').replace('07','Jul').replace('08','Aug').replace('09','Sep').replace('10','Oct').replace('11','Nov').replace('12','Dec') + ' ' + %ObsHeartRhythmDateString.substring(0,4)" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsBloodPressureValue", + "language": "text/fhirpath", + "expression": "%ObsBloodPressure.entry.resource.where(status='final').component.where(code.coding.exists(code='8480-6')).value.value.round(0).toString() + ' / ' + %ObsBloodPressure.entry.resource.where(status='final').component.where(code.coding.exists(code='8462-4')).value.value.round(0).toString()" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsBloodPressureDateString", + "language": "text/fhirpath", + "expression": "%ObsBloodPressure.entry.resource.where(status='final').effective.toDate().toString()" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsBloodPressureDateFormatted", + "language": "text/fhirpath", + "expression": "%ObsBloodPressureDateString.substring(8,2).toInteger().toString() + ' ' + %ObsBloodPressureDateString.substring(5,2).replace('01','Jan').replace('02','Feb').replace('03','Mar').replace('04','Apr').replace('05','May').replace('06','Jun').replace('07','Jul').replace('08','Aug').replace('09','Sep').replace('10','Oct').replace('11','Nov').replace('12','Dec') + ' ' + %ObsBloodPressureDateString.substring(0,4)" + } + }, { "url": "http://hl7.org/fhir/StructureDefinition/variable", "valueExpression": { diff --git a/input/fsh/715-Assessment-Examination.fsh b/input/fsh/715-Assessment-Examination.fsh index 3c3a4064..bd73b725 100644 --- a/input/fsh/715-Assessment-Examination.fsh +++ b/input/fsh/715-Assessment-Examination.fsh @@ -106,7 +106,135 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * expression = "Observation?code=9843-4&_count=1&_sort=-date&patient={{%patient.id}}" //fhirpath variables +//Previous examination results variables +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "ObsBodyHeightValue" + * language = #text/fhirpath + * expression = "%ObsBodyHeight.entry.resource.where(status='final').value.value" +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "ObsBodyHeightDateString" + * language = #text/fhirpath + * expression = "%ObsBodyHeight.entry.resource.where(status='final').effective.toDate().toString()" +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "ObsBodyHeightDateFormatted" + * language = #text/fhirpath + * expression = "%ObsBodyHeightDateString.substring(8,2).toInteger().toString() + ' ' + %ObsBodyHeightDateString.substring(5,2).replace('01','Jan').replace('02','Feb').replace('03','Mar').replace('04','Apr').replace('05','May').replace('06','Jun').replace('07','Jul').replace('08','Aug').replace('09','Sep').replace('10','Oct').replace('11','Nov').replace('12','Dec') + ' ' + %ObsBodyHeightDateString.substring(0,4)" +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "ObsBodyWeightValue" + * language = #text/fhirpath + * expression = "%ObsBodyWeight.entry.resource.where(status='final').value.value" +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "ObsBodyWeightDateString" + * language = #text/fhirpath + * expression = "%ObsBodyWeight.entry.resource.where(status='final').effective.toDate().toString()" +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "ObsBodyWeightDateFormatted" + * language = #text/fhirpath + * expression = "%ObsBodyWeightDateString.substring(8,2).toInteger().toString() + ' ' + %ObsBodyWeightDateString.substring(5,2).replace('01','Jan').replace('02','Feb').replace('03','Mar').replace('04','Apr').replace('05','May').replace('06','Jun').replace('07','Jul').replace('08','Aug').replace('09','Sep').replace('10','Oct').replace('11','Nov').replace('12','Dec') + ' ' + %ObsBodyWeightDateString.substring(0,4)" +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "ObsHeadCircumferenceValue" + * language = #text/fhirpath + * expression = "%ObsHeadCircumference.entry.resource.where(status='final').value.value" +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "ObsHeadCircumferenceDateString" + * language = #text/fhirpath + * expression = "%ObsHeadCircumference.entry.resource.where(status='final').effective.toDate().toString" +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "ObsHeadCircumferenceDateFormatted" + * language = #text/fhirpath + * expression = "%ObsHeadCircumferenceDateString.substring(8,2).toInteger().toString() + ' ' + %ObsHeadCircumferenceDateString.substring(5,2).replace('01','Jan').replace('02','Feb').replace('03','Mar').replace('04','Apr').replace('05','May').replace('06','Jun').replace('07','Jul').replace('08','Aug').replace('09','Sep').replace('10','Oct').replace('11','Nov').replace('12','Dec') + ' ' + %ObsHeadCircumferenceDateString.substring(0,4)" +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "ObsWaistCircumferenceValue" + * language = #text/fhirpath + * expression = "%ObsWaistCircumference.entry.resource.where(status='final').value.value" +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "ObsWaistCircumferenceDateString" + * language = #text/fhirpath + * expression = "%ObsWaistCircumference.entry.resource.where(status='final').effective.toDate().toString()" +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "ObsWaistCircumferenceDateFormatted" + * language = #text/fhirpath + * expression = "%ObsWaistCircumferenceDateString.substring(8,2).toInteger().toString() + ' ' + %ObsWaistCircumferenceDateString.substring(5,2).replace('01','Jan').replace('02','Feb').replace('03','Mar').replace('04','Apr').replace('05','May').replace('06','Jun').replace('07','Jul').replace('08','Aug').replace('09','Sep').replace('10','Oct').replace('11','Nov').replace('12','Dec') + ' ' + %ObsWaistCircumferenceDateString.substring(0,4)" +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "ObsHeartRateValue" + * language = #text/fhirpath + * expression = "%ObsHeartRate.entry.resource.where(status='final').value.value" +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "ObsHeartRateDateString" + * language = #text/fhirpath + * expression = "%ObsHeartRate.entry.resource.where(status='final').effective.toDate().toString()" +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "ObsHeartRateDateFormatted" + * language = #text/fhirpath + * expression = "%ObsHeartRateDateString.substring(8,2).toInteger().toString() + ' ' + %ObsHeartRateDateString.substring(5,2).replace('01','Jan').replace('02','Feb').replace('03','Mar').replace('04','Apr').replace('05','May').replace('06','Jun').replace('07','Jul').replace('08','Aug').replace('09','Sep').replace('10','Oct').replace('11','Nov').replace('12','Dec') + ' ' + %ObsHeartRateDateString.substring(0,4)" +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "ObsHeartRhythmValue" + * language = #text/fhirpath + * expression = "%ObsHeartRhythm.entry.resource.where(status='final').value.coding.where(system='http://snomed.info/sct').first()" +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "ObsHeartRhythmDateString" + * language = #text/fhirpath + * expression = "%ObsHeartRhythm.entry.resource.where(status='final').effective.toDate().toString()" +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "ObsHeartRhythmDateFormatted" + * language = #text/fhirpath + * expression = "%ObsHeartRhythmDateString.substring(8,2).toInteger().toString() + ' ' + %ObsHeartRhythmDateString.substring(5,2).replace('01','Jan').replace('02','Feb').replace('03','Mar').replace('04','Apr').replace('05','May').replace('06','Jun').replace('07','Jul').replace('08','Aug').replace('09','Sep').replace('10','Oct').replace('11','Nov').replace('12','Dec') + ' ' + %ObsHeartRhythmDateString.substring(0,4)" +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "ObsBloodPressureValue" + * language = #text/fhirpath + * expression = "%ObsBloodPressure.entry.resource.where(status='final').component.where(code.coding.exists(code='8480-6')).value.value.round(0).toString() + ' / ' + %ObsBloodPressure.entry.resource.where(status='final').component.where(code.coding.exists(code='8462-4')).value.value.round(0).toString()" +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "ObsBloodPressureDateString" + * language = #text/fhirpath + * expression = "%ObsBloodPressure.entry.resource.where(status='final').effective.toDate().toString()" +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "ObsBloodPressureDateFormatted" + * language = #text/fhirpath + * expression = "%ObsBloodPressureDateString.substring(8,2).toInteger().toString() + ' ' + %ObsBloodPressureDateString.substring(5,2).replace('01','Jan').replace('02','Feb').replace('03','Mar').replace('04','Apr').replace('05','May').replace('06','Jun').replace('07','Jul').replace('08','Aug').replace('09','Sep').replace('10','Oct').replace('11','Nov').replace('12','Dec') + ' ' + %ObsBloodPressureDateString.substring(0,4)" +//BMI calculation variables * extension[+] * url = "http://hl7.org/fhir/StructureDefinition/variable" * valueExpression @@ -200,10 +328,9 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * text = "Last result" * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression * language = #text/fhirpath - * expression = "iif(%ObsBodyHeight.entry.resource.where(status='final').value.value.empty(), 'Not available', %ObsBodyHeight.entry.resource.where(status='final').value.value.toString() + ' cm' + ' (' + %ObsBodyHeight.entry.resource.where(status='final').effective.toDate().toString() + ')')" + * expression = "iif(%ObsBodyHeightValue.exists() and %ObsBodyHeightDateFormatted.exists(), %ObsBodyHeightValue.round(0).toString() + ' cm ( ' + %ObsBodyHeightDateFormatted + ' )', 'Not available')" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-style].valueString = "text-align: left;" * type = #display - * repeats = false - * readOnly = true * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#BodyHeightLengthTemplate" * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#cm @@ -234,10 +361,9 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * text = "Last result" * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression * language = #text/fhirpath - * expression = "iif(%ObsBodyHeight.entry.resource.where(status='final').value.value.empty(), 'Not available', %ObsBodyHeight.entry.resource.where(status='final').value.value.toString() + ' cm' + ' (' + %ObsBodyHeight.entry.resource.where(status='final').effective.toDate().toString() + ')')" + * expression = "iif(%ObsBodyHeightValue.exists() and %ObsBodyHeightDateFormatted.exists(), %ObsBodyHeightValue.round(0).toString() + ' cm ( ' + %ObsBodyHeightDateFormatted + ' )', 'Not available')" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-style].valueString = "text-align: left;" * type = #display - * repeats = false - * readOnly = true * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#BodyHeightTemplate" * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#cm @@ -265,10 +391,9 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * text = "Last result" * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression * language = #text/fhirpath - * expression = "iif(%ObsBodyWeight.entry.resource.where(status='final').value.value.empty(), 'Not available', %ObsBodyWeight.entry.resource.where(status='final').value.value.toString() + ' kg' + ' (' + %ObsBodyWeight.entry.resource.where(status='final').effective.toDate().toString() + ')')" + * expression = "iif(%ObsBodyWeightValue.exists() and %ObsBodyWeightDateFormatted.exists(), %ObsBodyWeightValue.round(1).toString() + ' kg ( ' + %ObsBodyWeightDateFormatted + ' )', 'Not available')" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-style].valueString = "text-align: left;" * type = #display - * repeats = false - * readOnly = true * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#BodyWeightTemplate" * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#kg @@ -299,10 +424,9 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * text = "Last result" * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression * language = #text/fhirpath - * expression = "iif(%ObsBodyWeight.entry.resource.where(status='final').value.value.empty() or %ObsBodyHeight.entry.resource.where(status='final').value.value.empty(), 'Not available', (%ObsBodyWeight.entry.resource.where(status='final').value.value/((%ObsBodyHeight.entry.resource.where(status='final').value.value/100).power(2))).round(1).toString() + ' kg/m2')" + * expression = "iif(%ObsBodyWeightValue.exists() and %ObsBodyHeightValue.exists(), (%ObsBodyWeightValue/((%ObsBodyHeightValue/100).power(2))).round(1).toString() + ' kg/m2', 'Not available')" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-style].valueString = "text-align: left;" * type = #display - * repeats = false - * readOnly = true * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression].valueExpression * description = "BMI calculation" @@ -332,10 +456,9 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * text = "Last result" * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression * language = #text/fhirpath - * expression = "iif(%ObsHeadCircumference.entry.resource.where(status='final').value.value.empty(), 'Not available', %ObsHeadCircumference.entry.resource.where(status='final').value.value.toString() + ' cm' + ' (' + %ObsHeadCircumference.entry.resource.where(status='final').effective.toDate().toString() + ')')" + * expression = "iif(%ObsHeadCircumferenceValue.exists() and %ObsHeadCircumferenceDateFormatted.exists(), %ObsHeadCircumferenceValue.round(0).toString() + ' cm ( ' + %ObsHeadCircumferenceDateFormatted + ' )', 'Not available')" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-style].valueString = "text-align: left;" * type = #display - * repeats = false - * readOnly = true * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#HeadCircumferenceTemplate" * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#cm @@ -366,10 +489,9 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * text = "Last result" * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression * language = #text/fhirpath - * expression = "iif(%ObsWaistCircumference.entry.resource.where(status='final').value.value.empty(), 'Not available', %ObsWaistCircumference.entry.resource.where(status='final').value.value.toString() + ' cm' + ' (' + %ObsWaistCircumference.entry.resource.where(status='final').effective.toDate().toString() + ')')" + * expression = "iif(%ObsWaistCircumferenceValue.exists() and %ObsWaistCircumferenceDateFormatted.exists(), %ObsWaistCircumferenceValue.round(0).toString() + ' cm ( ' + %ObsWaistCircumferenceDateFormatted + ' )', 'Not available')" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-style].valueString = "text-align: left;" * type = #display - * repeats = false - * readOnly = true * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#WaistCircumferenceTemplate" * linkId = "obs-waistcircumference-newresult" @@ -396,10 +518,9 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * text = "Last result" * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression * language = #text/fhirpath - * expression = "iif(%ObsHeartRate.entry.resource.where(status='final').value.value.empty(), 'Not available', %ObsHeartRate.entry.resource.where(status='final').value.value.round().toString() + ' /min' + ' (' + %ObsHeartRate.entry.resource.where(status='final').effective.toDate().toString() + ')')" + * expression = "iif(%ObsHeartRateValue.exists() and %ObsHeartRateDateFormatted.exists(), %ObsHeartRateValue.round(0).toString() + ' /min ( ' + %ObsHeartRateDateFormatted + ' )', 'Not available')" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-style].valueString = "text-align: left;" * type = #display - * repeats = false - * readOnly = true * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#HeartRateTemplate" * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#/min @@ -427,10 +548,9 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * text = "Last result" * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression * language = #text/fhirpath - * expression = "iif(%ObsHeartRhythm.entry.resource.where(status='final').value.coding.where(system='http://snomed.info/sct').first().empty(), 'Not available', %ObsHeartRhythm.entry.resource.where(status='final').value.coding.where(system='http://snomed.info/sct').first().display + ' (' + %ObsHeartRhythm.entry.resource.where(status='final').effective.toDate().toString() + ')')" + * expression = "iif(%ObsHeartRhythmValue.exists() and %ObsHeartRhythmDateFormatted.exists(), %ObsHeartRhythmValue.display + ' ( ' + %ObsHeartRhythmDateFormatted + ' )', 'Not available')" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-style].valueString = "text-align: left;" * type = #display - * repeats = false - * readOnly = true * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#HeartRhythmTemplate" * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#radio-button @@ -465,10 +585,9 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * text = "Last result" * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression * language = #text/fhirpath - * expression = "iif(%ObsBloodPressure.entry.resource.where(status='final').component.where(code.coding.exists(code='8480-6')).value.value.empty() or %ObsBloodPressure.entry.resource.where(status='final').component.where(code.coding.exists(code='8462-4')).value.value.empty(), 'Not available', %ObsBloodPressure.entry.resource.where(status='final').component.where(code.coding.exists(code='8480-6')).value.value.round().toString() + ' / ' + %ObsBloodPressure.entry.resource.where(status='final').component.where(code.coding.exists(code='8462-4')).value.value.round().toString() + ' mm Hg (' + %ObsBloodPressure.entry.resource.where(status='final').effective.toDate().toString() + ')')" + * expression = "iif(%ObsBloodPressureValue.exists() and %ObsBloodPressureDateFormatted.exists(), %ObsBloodPressureValue + ' mm Hg ( ' + %bsBloodPressureDateFormatted + ' )', 'Not available')" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-style].valueString = "text-align: left;" * type = #display - * repeats = false - * readOnly = true * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#BloodPressureTemplate" * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#mm[Hg] @@ -498,26 +617,6 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * type = #date * repeats = false -/* - * item[+] - * extension[sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%ObsBloodPressure.entry.resource.select(component[0].value.select(value.toString()) + '/' + component[1].value.select(value.toString()) )" - * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#mm[Hg] - * linkId = "15200593-ab79-47ec-babe-4fdcb2327737" - * text = "Blood pressure" - * type = #string - * repeats = false - * enableWhen[+] - * question = "e2a16e4d-2765-4b61-b286-82cfc6356b30" // age item which has initial population from variable - * operator = #> - * answerInteger = 12 - * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit - * linkId = "eb022a99-7bd0-4635-aaad-04ac0d0334c8" - * text = "mm Hg" - * type = #display -*/ // needs assessment for potentional coded response * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression @@ -572,4 +671,4 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * text = "Mark section as complete" * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
    \r\n\r\n \r\n\r\n\r\n
    Mark section as complete
    \r\n\r\n
    " * type = #boolean - * repeats = false \ No newline at end of file + * repeats = false From fe6326bfb42f82edcad899960733df32b970bba8 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Thu, 10 Jul 2025 18:26:33 +1000 Subject: [PATCH 133/177] update assembled questionnaire --- ...esStraitIslanderHealthCheck-assembled.json | 259 +++++++++++++++--- 1 file changed, 222 insertions(+), 37 deletions(-) diff --git a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json index c16ee312..3ff6010f 100644 --- a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json +++ b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json @@ -3489,6 +3489,174 @@ "expression": "Observation?code=9843-4&_count=1&_sort=-date&patient={{%patient.id}}" } }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsBodyHeightValue", + "language": "text/fhirpath", + "expression": "%ObsBodyHeight.entry.resource.where(status='final').value.value" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsBodyHeightDateString", + "language": "text/fhirpath", + "expression": "%ObsBodyHeight.entry.resource.where(status='final').effective.toDate().toString()" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsBodyHeightDateFormatted", + "language": "text/fhirpath", + "expression": "%ObsBodyHeightDateString.substring(8,2).toInteger().toString() + ' ' + %ObsBodyHeightDateString.substring(5,2).replace('01','Jan').replace('02','Feb').replace('03','Mar').replace('04','Apr').replace('05','May').replace('06','Jun').replace('07','Jul').replace('08','Aug').replace('09','Sep').replace('10','Oct').replace('11','Nov').replace('12','Dec') + ' ' + %ObsBodyHeightDateString.substring(0,4)" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsBodyWeightValue", + "language": "text/fhirpath", + "expression": "%ObsBodyWeight.entry.resource.where(status='final').value.value" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsBodyWeightDateString", + "language": "text/fhirpath", + "expression": "%ObsBodyWeight.entry.resource.where(status='final').effective.toDate().toString()" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsBodyWeightDateFormatted", + "language": "text/fhirpath", + "expression": "%ObsBodyWeightDateString.substring(8,2).toInteger().toString() + ' ' + %ObsBodyWeightDateString.substring(5,2).replace('01','Jan').replace('02','Feb').replace('03','Mar').replace('04','Apr').replace('05','May').replace('06','Jun').replace('07','Jul').replace('08','Aug').replace('09','Sep').replace('10','Oct').replace('11','Nov').replace('12','Dec') + ' ' + %ObsBodyWeightDateString.substring(0,4)" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsHeadCircumferenceValue", + "language": "text/fhirpath", + "expression": "%ObsHeadCircumference.entry.resource.where(status='final').value.value" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsHeadCircumferenceDateString", + "language": "text/fhirpath", + "expression": "%ObsHeadCircumference.entry.resource.where(status='final').effective.toDate().toString" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsHeadCircumferenceDateFormatted", + "language": "text/fhirpath", + "expression": "%ObsHeadCircumferenceDateString.substring(8,2).toInteger().toString() + ' ' + %ObsHeadCircumferenceDateString.substring(5,2).replace('01','Jan').replace('02','Feb').replace('03','Mar').replace('04','Apr').replace('05','May').replace('06','Jun').replace('07','Jul').replace('08','Aug').replace('09','Sep').replace('10','Oct').replace('11','Nov').replace('12','Dec') + ' ' + %ObsHeadCircumferenceDateString.substring(0,4)" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsWaistCircumferenceValue", + "language": "text/fhirpath", + "expression": "%ObsWaistCircumference.entry.resource.where(status='final').value.value" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsWaistCircumferenceDateString", + "language": "text/fhirpath", + "expression": "%ObsWaistCircumference.entry.resource.where(status='final').effective.toDate().toString()" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsWaistCircumferenceDateFormatted", + "language": "text/fhirpath", + "expression": "%ObsWaistCircumferenceDateString.substring(8,2).toInteger().toString() + ' ' + %ObsWaistCircumferenceDateString.substring(5,2).replace('01','Jan').replace('02','Feb').replace('03','Mar').replace('04','Apr').replace('05','May').replace('06','Jun').replace('07','Jul').replace('08','Aug').replace('09','Sep').replace('10','Oct').replace('11','Nov').replace('12','Dec') + ' ' + %ObsWaistCircumferenceDateString.substring(0,4)" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsHeartRateValue", + "language": "text/fhirpath", + "expression": "%ObsHeartRate.entry.resource.where(status='final').value.value" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsHeartRateDateString", + "language": "text/fhirpath", + "expression": "%ObsHeartRate.entry.resource.where(status='final').effective.toDate().toString()" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsHeartRateDateFormatted", + "language": "text/fhirpath", + "expression": "%ObsHeartRateDateString.substring(8,2).toInteger().toString() + ' ' + %ObsHeartRateDateString.substring(5,2).replace('01','Jan').replace('02','Feb').replace('03','Mar').replace('04','Apr').replace('05','May').replace('06','Jun').replace('07','Jul').replace('08','Aug').replace('09','Sep').replace('10','Oct').replace('11','Nov').replace('12','Dec') + ' ' + %ObsHeartRateDateString.substring(0,4)" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsHeartRhythmValue", + "language": "text/fhirpath", + "expression": "%ObsHeartRhythm.entry.resource.where(status='final').value.coding.where(system='http://snomed.info/sct').first()" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsHeartRhythmDateString", + "language": "text/fhirpath", + "expression": "%ObsHeartRhythm.entry.resource.where(status='final').effective.toDate().toString()" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsHeartRhythmDateFormatted", + "language": "text/fhirpath", + "expression": "%ObsHeartRhythmDateString.substring(8,2).toInteger().toString() + ' ' + %ObsHeartRhythmDateString.substring(5,2).replace('01','Jan').replace('02','Feb').replace('03','Mar').replace('04','Apr').replace('05','May').replace('06','Jun').replace('07','Jul').replace('08','Aug').replace('09','Sep').replace('10','Oct').replace('11','Nov').replace('12','Dec') + ' ' + %ObsHeartRhythmDateString.substring(0,4)" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsBloodPressureValue", + "language": "text/fhirpath", + "expression": "%ObsBloodPressure.entry.resource.where(status='final').component.where(code.coding.exists(code='8480-6')).value.value.round(0).toString() + ' / ' + %ObsBloodPressure.entry.resource.where(status='final').component.where(code.coding.exists(code='8462-4')).value.value.round(0).toString()" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsBloodPressureDateString", + "language": "text/fhirpath", + "expression": "%ObsBloodPressure.entry.resource.where(status='final').effective.toDate().toString()" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsBloodPressureDateFormatted", + "language": "text/fhirpath", + "expression": "%ObsBloodPressureDateString.substring(8,2).toInteger().toString() + ' ' + %ObsBloodPressureDateString.substring(5,2).replace('01','Jan').replace('02','Feb').replace('03','Mar').replace('04','Apr').replace('05','May').replace('06','Jun').replace('07','Jul').replace('08','Aug').replace('09','Sep').replace('10','Oct').replace('11','Nov').replace('12','Dec') + ' ' + %ObsBloodPressureDateString.substring(0,4)" + } + }, { "url": "http://hl7.org/fhir/StructureDefinition/variable", "valueExpression": { @@ -6409,7 +6577,6 @@ "text": "Status", "type": "choice", "repeats": false, - "answerValueSet": "#smarthealthchecks-medication", "answerOption": [ { "valueCoding": { @@ -15067,14 +15234,16 @@ "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(%ObsBodyHeight.entry.resource.where(status='final').value.value.empty(), 'Not available', %ObsBodyHeight.entry.resource.where(status='final').value.value.toString() + ' cm' + ' (' + %ObsBodyHeight.entry.resource.where(status='final').effective.toDate().toString() + ')')" + "expression": "iif(%ObsBodyHeightValue.exists() and %ObsBodyHeightDateFormatted.exists(), %ObsBodyHeightValue.round(0).toString() + ' cm ( ' + %ObsBodyHeightDateFormatted + ' )', 'Not available')" } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-style", + "valueString": "text-align: left;" } ] }, - "type": "display", - "repeats": false, - "readOnly": true + "type": "display" }, { "extension": [ @@ -15154,14 +15323,16 @@ "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(%ObsBodyHeight.entry.resource.where(status='final').value.value.empty(), 'Not available', %ObsBodyHeight.entry.resource.where(status='final').value.value.toString() + ' cm' + ' (' + %ObsBodyHeight.entry.resource.where(status='final').effective.toDate().toString() + ')')" + "expression": "iif(%ObsBodyHeightValue.exists() and %ObsBodyHeightDateFormatted.exists(), %ObsBodyHeightValue.round(0).toString() + ' cm ( ' + %ObsBodyHeightDateFormatted + ' )', 'Not available')" } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-style", + "valueString": "text-align: left;" } ] }, - "type": "display", - "repeats": false, - "readOnly": true + "type": "display" }, { "extension": [ @@ -15232,14 +15403,16 @@ "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(%ObsBodyWeight.entry.resource.where(status='final').value.value.empty(), 'Not available', %ObsBodyWeight.entry.resource.where(status='final').value.value.toString() + ' kg' + ' (' + %ObsBodyWeight.entry.resource.where(status='final').effective.toDate().toString() + ')')" + "expression": "iif(%ObsBodyWeightValue.exists() and %ObsBodyWeightDateFormatted.exists(), %ObsBodyWeightValue.round(1).toString() + ' kg ( ' + %ObsBodyWeightDateFormatted + ' )', 'Not available')" } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-style", + "valueString": "text-align: left;" } ] }, - "type": "display", - "repeats": false, - "readOnly": true + "type": "display" }, { "extension": [ @@ -15319,14 +15492,16 @@ "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(%ObsBodyWeight.entry.resource.where(status='final').value.value.empty() or %ObsBodyHeight.entry.resource.where(status='final').value.value.empty(), 'Not available', (%ObsBodyWeight.entry.resource.where(status='final').value.value/((%ObsBodyHeight.entry.resource.where(status='final').value.value/100).power(2))).round(1).toString() + ' kg/m2')" + "expression": "iif(%ObsBodyWeightValue.exists() and %ObsBodyHeightValue.exists(), (%ObsBodyWeightValue/((%ObsBodyHeightValue/100).power(2))).round(1).toString() + ' kg/m2', 'Not available')" } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-style", + "valueString": "text-align: left;" } ] }, - "type": "display", - "repeats": false, - "readOnly": true + "type": "display" }, { "extension": [ @@ -15398,14 +15573,16 @@ "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(%ObsHeadCircumference.entry.resource.where(status='final').value.value.empty(), 'Not available', %ObsHeadCircumference.entry.resource.where(status='final').value.value.toString() + ' cm' + ' (' + %ObsHeadCircumference.entry.resource.where(status='final').effective.toDate().toString() + ')')" + "expression": "iif(%ObsHeadCircumferenceValue.exists() and %ObsHeadCircumferenceDateFormatted.exists(), %ObsHeadCircumferenceValue.round(0).toString() + ' cm ( ' + %ObsHeadCircumferenceDateFormatted + ' )', 'Not available')" } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-style", + "valueString": "text-align: left;" } ] }, - "type": "display", - "repeats": false, - "readOnly": true + "type": "display" }, { "extension": [ @@ -15485,14 +15662,16 @@ "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(%ObsWaistCircumference.entry.resource.where(status='final').value.value.empty(), 'Not available', %ObsWaistCircumference.entry.resource.where(status='final').value.value.toString() + ' cm' + ' (' + %ObsWaistCircumference.entry.resource.where(status='final').effective.toDate().toString() + ')')" + "expression": "iif(%ObsWaistCircumferenceValue.exists() and %ObsWaistCircumferenceDateFormatted.exists(), %ObsWaistCircumferenceValue.round(0).toString() + ' cm ( ' + %ObsWaistCircumferenceDateFormatted + ' )', 'Not available')" } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-style", + "valueString": "text-align: left;" } ] }, - "type": "display", - "repeats": false, - "readOnly": true + "type": "display" }, { "extension": [ @@ -15556,14 +15735,16 @@ "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(%ObsHeartRate.entry.resource.where(status='final').value.value.empty(), 'Not available', %ObsHeartRate.entry.resource.where(status='final').value.value.round().toString() + ' /min' + ' (' + %ObsHeartRate.entry.resource.where(status='final').effective.toDate().toString() + ')')" + "expression": "iif(%ObsHeartRateValue.exists() and %ObsHeartRateDateFormatted.exists(), %ObsHeartRateValue.round(0).toString() + ' /min ( ' + %ObsHeartRateDateFormatted + ' )', 'Not available')" } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-style", + "valueString": "text-align: left;" } ] }, - "type": "display", - "repeats": false, - "readOnly": true + "type": "display" }, { "extension": [ @@ -15634,14 +15815,16 @@ "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(%ObsHeartRhythm.entry.resource.where(status='final').value.coding.where(system='http://snomed.info/sct').first().empty(), 'Not available', %ObsHeartRhythm.entry.resource.where(status='final').value.coding.where(system='http://snomed.info/sct').first().display + ' (' + %ObsHeartRhythm.entry.resource.where(status='final').effective.toDate().toString() + ')')" + "expression": "iif(%ObsHeartRhythmValue.exists() and %ObsHeartRhythmDateFormatted.exists(), %ObsHeartRhythmValue.display + ' ( ' + %ObsHeartRhythmDateFormatted + ' )', 'Not available')" } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-style", + "valueString": "text-align: left;" } ] }, - "type": "display", - "repeats": false, - "readOnly": true + "type": "display" }, { "extension": [ @@ -15725,14 +15908,16 @@ "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(%ObsBloodPressure.entry.resource.where(status='final').component.where(code.coding.exists(code='8480-6')).value.value.empty() or %ObsBloodPressure.entry.resource.where(status='final').component.where(code.coding.exists(code='8462-4')).value.value.empty(), 'Not available', %ObsBloodPressure.entry.resource.where(status='final').component.where(code.coding.exists(code='8480-6')).value.value.round().toString() + ' / ' + %ObsBloodPressure.entry.resource.where(status='final').component.where(code.coding.exists(code='8462-4')).value.value.round().toString() + ' mm Hg (' + %ObsBloodPressure.entry.resource.where(status='final').effective.toDate().toString() + ')')" + "expression": "iif(%ObsBloodPressureValue.exists() and %ObsBloodPressureDateFormatted.exists(), %ObsBloodPressureValue + ' mm Hg ( ' + %bsBloodPressureDateFormatted + ' )', 'Not available')" } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-style", + "valueString": "text-align: left;" } ] }, - "type": "display", - "repeats": false, - "readOnly": true + "type": "display" }, { "extension": [ From faad457b8bd845f73a2f0d09df10f3b7d7bd1d66 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Fri, 11 Jul 2025 09:52:49 +1000 Subject: [PATCH 134/177] Add combination search param requirement to capability statement, reformat previous smoking status result --- ...tyStatement-SHCAppCapabilityStatement.json | 17 ++++++++++++ ...-SHCHostFHIRServerCapabilityStatement.json | 21 +++++++++++++++ .../resources/Questionnaire-SubstanceUse.json | 26 ++++++++++++++++++- input/fsh/715-Assessment-SubstanceUse.fsh | 24 ++++++++++++++++- input/fsh/capability.fsh | 16 ++++++++++++ 5 files changed, 102 insertions(+), 2 deletions(-) diff --git a/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json b/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json index f14879ff..fabe8535 100644 --- a/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json +++ b/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json @@ -214,6 +214,23 @@ "valueString": "status" } ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", + "extension": [ + { + "url": "required", + "valueString": "patient" + }, + { + "url": "required", + "valueString": "status" + }, + { + "url": "required", + "valueString": "_include" + } + ] } ], "type": "MedicationStatement", diff --git a/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json b/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json index de0c7f8c..4372e938 100644 --- a/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json +++ b/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json @@ -472,6 +472,27 @@ "valueString": "status" } ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHOULD" + }, + { + "url": "required", + "valueString": "patient" + }, + { + "url": "required", + "valueString": "status" + }, + { + "url": "required", + "valueString": "_include" + } + ] } ], "type": "MedicationStatement", diff --git a/fsh-generated/resources/Questionnaire-SubstanceUse.json b/fsh-generated/resources/Questionnaire-SubstanceUse.json index e8a6f869..7800eb3a 100644 --- a/fsh-generated/resources/Questionnaire-SubstanceUse.json +++ b/fsh-generated/resources/Questionnaire-SubstanceUse.json @@ -116,7 +116,7 @@ "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(%ObsTobaccoSmokingStatus.entry.resource.where(status='final').value.coding.where(system='http://snomed.info/sct').empty(), 'Not available', %ObsTobaccoSmokingStatus.entry.resource.where(status='final').value.coding.where(system='http://snomed.info/sct').first().display + ' (' + %ObsTobaccoSmokingStatus.entry.resource.where(status='final').effective.toDate().toString() + ')')" + "expression": "iif(%ObsTobaccoSmokingStatusValue.exists() and %ObsTobaccoSmokingStatusDateFormatted.exists(), %ObsTobaccoSmokingStatusValue.display + ' ( ' + %ObsTobaccoSmokingStatusDateFormatted + ' )', 'Not available')" } } ] @@ -672,6 +672,30 @@ "expression": "Observation?code=72166-2&_count=1&_sort=-date&patient={{%patient.id}}" } }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsTobaccoSmokingStatusValue", + "language": "text/fhirpath", + "expression": "%ObsTobaccoSmokingStatus.entry.resource.where(status='final').value.coding.where(system='http://snomed.info/sct').first()" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsTobaccoSmokingStatusDateString", + "language": "text/fhirpath", + "expression": "%ObsTobaccoSmokingStatus.entry.resource.where(status='final').effective.toDate().toString()" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsTobaccoSmokingStatusDateFormatted", + "language": "text/fhirpath", + "expression": "%ObsTobaccoSmokingStatusDateString.substring(8,2).toInteger().toString() + ' ' + %ObsTobaccoSmokingStatusDateString.substring(5,2).replace('01','Jan').replace('02','Feb').replace('03','Mar').replace('04','Apr').replace('05','May').replace('06','Jun').replace('07','Jul').replace('08','Aug').replace('09','Sep').replace('10','Oct').replace('11','Nov').replace('12','Dec') + ' ' + %ObsTobaccoSmokingStatusDateString.substring(0,4)" + } + }, { "url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]", "valueCoding": { diff --git a/input/fsh/715-Assessment-SubstanceUse.fsh b/input/fsh/715-Assessment-SubstanceUse.fsh index 14cd0d11..96b39ead 100644 --- a/input/fsh/715-Assessment-SubstanceUse.fsh +++ b/input/fsh/715-Assessment-SubstanceUse.fsh @@ -65,6 +65,28 @@ Description: "Substance Use sub-questionnaire for Aboriginal and Torres Strait I * language = #application/x-fhir-query * expression = "Observation?code=72166-2&_count=1&_sort=-date&patient={{%patient.id}}" +//fhirpath variables +//Previous examination results variables +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "ObsTobaccoSmokingStatusValue" + * language = #text/fhirpath + * expression = "%ObsTobaccoSmokingStatus.entry.resource.where(status='final').value.coding.where(system='http://snomed.info/sct').first()" +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "ObsTobaccoSmokingStatusDateString" + * language = #text/fhirpath + * expression = "%ObsTobaccoSmokingStatus.entry.resource.where(status='final').effective.toDate().toString()" +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "ObsTobaccoSmokingStatusDateFormatted" + * language = #text/fhirpath + * expression = "%ObsTobaccoSmokingStatusDateString.substring(8,2).toInteger().toString() + ' ' + %ObsTobaccoSmokingStatusDateString.substring(5,2).replace('01','Jan').replace('02','Feb').replace('03','Mar').replace('04','Apr').replace('05','May').replace('06','Jun').replace('07','Jul').replace('08','Aug').replace('09','Sep').replace('10','Oct').replace('11','Nov').replace('12','Dec') + ' ' + %ObsTobaccoSmokingStatusDateString.substring(0,4)" + + //R5 preadoption extensions * extension[+] * url = "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]" @@ -134,7 +156,7 @@ Description: "Substance Use sub-questionnaire for Aboriginal and Torres Strait I * text = "Last status" * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression * language = #text/fhirpath - * expression = "iif(%ObsTobaccoSmokingStatus.entry.resource.where(status='final').value.coding.where(system='http://snomed.info/sct').empty(), 'Not available', %ObsTobaccoSmokingStatus.entry.resource.where(status='final').value.coding.where(system='http://snomed.info/sct').first().display + ' (' + %ObsTobaccoSmokingStatus.entry.resource.where(status='final').effective.toDate().toString() + ')')" + * expression = "iif(%ObsTobaccoSmokingStatusValue.exists() and %ObsTobaccoSmokingStatusDateFormatted.exists(), %ObsTobaccoSmokingStatusValue.display + ' ( ' + %ObsTobaccoSmokingStatusDateFormatted + ' )', 'Not available')" * type = #display * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract].extension[template].valueReference.reference = "#SmokingStatusTemplate" diff --git a/input/fsh/capability.fsh b/input/fsh/capability.fsh index 43f11978..b0857a8a 100644 --- a/input/fsh/capability.fsh +++ b/input/fsh/capability.fsh @@ -243,6 +243,15 @@ The server **SHALL** support both." * rest.resource[=].extension[=].extension[=].valueString = "patient" * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "status" +* rest.resource[=].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination" +* rest.resource[=].extension[=].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].extension[=].extension[=].valueCode = #SHOULD +* rest.resource[=].extension[=].extension[+].url = "required" +* rest.resource[=].extension[=].extension[=].valueString = "patient" +* rest.resource[=].extension[=].extension[+].url = "required" +* rest.resource[=].extension[=].extension[=].valueString = "status" +* rest.resource[=].extension[=].extension[+].url = "required" +* rest.resource[=].extension[=].extension[=].valueString = "_include" * rest.resource[=].type = #MedicationStatement * rest.resource[=].profile = "https://smartforms.csiro.au/ig/StructureDefinition/SHCMedicationStatement" * rest.resource[=].profile.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" @@ -705,6 +714,13 @@ The server **SHALL** support both." * rest.resource[=].extension[=].extension[=].valueString = "patient" * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "status" +* rest.resource[=].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination" +* rest.resource[=].extension[=].extension[+].url = "required" +* rest.resource[=].extension[=].extension[=].valueString = "patient" +* rest.resource[=].extension[=].extension[+].url = "required" +* rest.resource[=].extension[=].extension[=].valueString = "status" +* rest.resource[=].extension[=].extension[+].url = "required" +* rest.resource[=].extension[=].extension[=].valueString = "_include" * rest.resource[=].type = #MedicationStatement * rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCMedicationStatement" * rest.resource[=].documentation = "The client supports the MedicationStatement resource, the Smart Health Checks profile and the conformance expectations for the MedicationStatement resource." From ae74ee766c50066a318994bdbe240f52a3ee4e68 Mon Sep 17 00:00:00 2001 From: Sean Fong Date: Fri, 11 Jul 2025 10:06:29 +0930 Subject: [PATCH 135/177] Add comments for regular medications coding pre-pop expression --- input/fsh/715-Assessment-RegularMedications.fsh | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/input/fsh/715-Assessment-RegularMedications.fsh b/input/fsh/715-Assessment-RegularMedications.fsh index 3ba63c64..22097868 100644 --- a/input/fsh/715-Assessment-RegularMedications.fsh +++ b/input/fsh/715-Assessment-RegularMedications.fsh @@ -141,6 +141,17 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St */ * item.item[=].item[=].item[=].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression" * item.item[=].item[=].item[=].extension[=].valueExpression[+].language = #text/fhirpath +/* + This expression selects the SNOMED coding from MedicationStatements. + In some cases, medicationReference may be a reference to a contained Medication resource or an external Medication resource. + %medicationsFromContained and %medicationsFromRef contains a list of contained Medication resources and externally referenced Medication resources respectively. + + Step 1: Check if the medicationReference is a contained resource (starts with '#') and if its ID is in %medicationsFromContained. + Step 2: If it is, use the ID to find the corresponding Medication resource in %medicationsFromContained and select its SNOMED coding. + Step 3: Otherwise, check if the medicationReference is an external resource (starts with 'Medication/') and if its ID is in %medicationsFromRef. + Step 4: If it is, use the ID to find the corresponding Medication resource in %medicationsFromRef and select its SNOMED coding. + Step 5: Otherwise, use the SNOMED coding from MedicationStatement.medication (medicationCodeableConcept to be specific). +*/ * item.item[=].item[=].item[=].extension[=].valueExpression[=].expression = "iif(%MedicationStatementRepeat.medicationReference.reference.replace('#', '') in %medicationsFromContained.id, %medicationsFromContained.where(id = %MedicationStatementRepeat.medicationReference.reference.replace('#', '')).code.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first()), iif(%MedicationStatementRepeat.medicationReference.reference.replace('Medication/', '') in %medicationsFromRef.id , %medicationsFromRef.where(id = %MedicationStatementRepeat.medicationReference.reference.replace('Medication/', '')).code.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first()) ,%MedicationStatementRepeat.medication.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first())))" * item.item[=].item[=].item[=].linkId = "regularmedications-summary-current-medication" * item.item[=].item[=].item[=].text = "Medication" From b01763e316577676881b2ec0bd960c42d129fec3 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Mon, 14 Jul 2025 11:49:40 +1000 Subject: [PATCH 136/177] Additional profiles(Medication, PathResult, Patient, QR) added, capability statements updated in line, minor fixes --- ...tyStatement-SHCAppCapabilityStatement.json | 16 +- ...-SHCHostFHIRServerCapabilityStatement.json | 36 +- ...ntationGuide-csiro.fhir.au.smartforms.json | 32 + .../resources/Questionnaire-Examination.json | 2 +- .../Questionnaire-PatientDetails.json | 15 +- ...ctureDefinition-SHCAllergyIntolerance.json | 2 +- .../StructureDefinition-SHCBloodPressure.json | 2 +- .../StructureDefinition-SHCBodyHeight.json | 2 +- .../StructureDefinition-SHCBodyWeight.json | 2 +- .../StructureDefinition-SHCCondition.json | 2 +- ...uctureDefinition-SHCHeadCircumference.json | 2 +- .../StructureDefinition-SHCHeartRate.json | 2 +- .../StructureDefinition-SHCHeartRhythm.json | 4 +- .../StructureDefinition-SHCImmunization.json | 2 +- .../StructureDefinition-SHCMedication.json | 110 ++ ...tureDefinition-SHCMedicationStatement.json | 70 +- ...tructureDefinition-SHCPathologyResult.json | 272 +++ .../StructureDefinition-SHCPatient.json | 1476 +++++++++++++++++ ...reDefinition-SHCQuestionnaireResponse.json | 626 +++++++ .../StructureDefinition-SHCSmokingStatus.json | 2 +- ...ctureDefinition-SHCWaistCircumference.json | 2 +- .../resources/ValueSet-heart-rhythm-1.json | 2 +- input/fsh/715-PatientDetails.fsh | 5 + input/fsh/capability.fsh | 69 +- input/fsh/profiles.fsh | 428 +++-- input/fsh/terminology.fsh | 2 +- 26 files changed, 2994 insertions(+), 191 deletions(-) create mode 100644 fsh-generated/resources/StructureDefinition-SHCMedication.json create mode 100644 fsh-generated/resources/StructureDefinition-SHCPathologyResult.json create mode 100644 fsh-generated/resources/StructureDefinition-SHCPatient.json create mode 100644 fsh-generated/resources/StructureDefinition-SHCQuestionnaireResponse.json diff --git a/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json b/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json index fabe8535..670c3a49 100644 --- a/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json +++ b/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json @@ -191,9 +191,9 @@ { "type": "Medication", "supportedProfile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-medication" + "https://smartforms.csiro.au/ig/StructureDefinition/SHCMedication" ], - "documentation": "The client supports the Medication resource, the AU Core profile and the conformance expectations for the Medication resource.", + "documentation": "The client supports the Medication resource, the Smart Health Checks profile and the conformance expectations for the Medication resource.", "interaction": [ { "code": "read" @@ -268,7 +268,7 @@ { "name": "_include", "type": "reference", - "documentation": "If a medication in a MedicationStatement resource is represented as an external Medication resource reference, the server **SHOULD** support the `_include` parameter for searching this element (`MedicationRequest:medication`).\r\n\r\nThe client **SHALL** support this method." + "documentation": "If a medication in a MedicationStatement resource is represented as an external Medication resource reference, the server **SHALL** support the `_include` parameter for searching this element (`MedicationStatement:medication`).\r\n\r\nThe client **SHALL** support this method." } ] }, @@ -301,7 +301,7 @@ "https://smartforms.csiro.au/ig/StructureDefinition/SHCBloodPressure", "https://smartforms.csiro.au/ig/StructureDefinition/SHCBodyHeight", "https://smartforms.csiro.au/ig/StructureDefinition/SHCBodyWeight", - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-diagnosticresult-path", + "https://smartforms.csiro.au/ig/StructureDefinition/SHCPathologyResult", "https://smartforms.csiro.au/ig/StructureDefinition/SHCHeadCircumference", "https://smartforms.csiro.au/ig/StructureDefinition/SHCHeartRate", "https://smartforms.csiro.au/ig/StructureDefinition/SHCHeartRhythm", @@ -357,9 +357,9 @@ { "type": "Patient", "supportedProfile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-patient" + "https://smartforms.csiro.au/ig/StructureDefinition/SHCPatient" ], - "documentation": "The client supports the Patient resource, AU Core profile and the conformance expectations for the Patient resource.", + "documentation": "The client supports the Patient resource, Smart Health Checks profile and the conformance expectations for the Patient resource.", "interaction": [ { "code": "read" @@ -540,8 +540,8 @@ } ], "type": "QuestionnaireResponse", - "profile": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaireresponse", - "documentation": "The client supports the QuestionnaireResponse resource, Structured Data Capture profile and the conformance expectations for the QuestionnaireResponse resource.", + "profile": "https://smartforms.csiro.au/ig/StructureDefinition/SHCQuestionnaireResponse", + "documentation": "The client supports the QuestionnaireResponse resource, Smart Health Checks profile and the conformance expectations for the QuestionnaireResponse resource.", "interaction": [ { "code": "read" diff --git a/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json b/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json index 4372e938..aef88ee9 100644 --- a/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json +++ b/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json @@ -103,7 +103,7 @@ "rest": [ { "mode": "server", - "documentation": "Smart Forms Launcher Server **SHALL**:\r\n1. Support the [Smart Health Check AllergyIntolerance resource profile](StructureDefinition-SHCAllergyIntolerance.html)\r\n1. Support the [Smart Health Check Condition resource profile](StructureDefinition-SHCCondition.html)\r\n1. Support the [AU Core Encounter resource profile](http://hl7.org.au/fhir/core/1.1.0-preview/StructureDefinition-au-core-encounter.html)\r\n1. Support the [Smart Health Check Immunization resource profile](StructureDefinition-SHCImmunization.html)\r\n1. Support the [AU Core Medication profile](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-medication.html)\r\n1. Support the [Smart Health Check MedicationStatement profile](StructureDefinition-SHCMedicationStatement.html)\r\n1. Support the [Smart Health Check Observation resource profiles](profiles-and-extensions.html#observation)\r\n1. Support the [AU Core Patient resource profile](http://hl7.org.au/fhir/core/1.1.0-previewStructureDefinition-au-core-patient.html)\r\n1. Support the [AU Core Practitioner resource profile](http://hl7.org.au/fhir/core/1.1.0-previewStructureDefinition-au-core-practitioner.html)\r\n1. Support the [SDC Questionnaire Response profile](https://hl7.org/fhir/uv/sdc/STU3/StructureDefinition-sdc-questionnaireresponse.html)\r\n1. Implement the RESTful behavior according to the FHIR specification\r\n1. Support JSON source formats for all interactions", + "documentation": "Smart Forms Launcher Server **SHALL**:\r\n1. Support the [Smart Health Checks AllergyIntolerance resource profile](StructureDefinition-SHCAllergyIntolerance.html)\r\n1. Support the [Smart Health Checks Condition resource profile](StructureDefinition-SHCCondition.html)\r\n1. Support the [AU Core Encounter resource profile](http://hl7.org.au/fhir/core/1.1.0-preview/StructureDefinition-au-core-encounter.html)\r\n1. Support the [Smart Health Checks Immunization resource profile](StructureDefinition-SHCImmunization.html)\r\n1. Support the [Smart Health Checks Medication profile](StructureDefinition-SHCMedication.html)\r\n1. Support the [Smart Health Checks MedicationStatement profile](StructureDefinition-SHCMedicationStatement.html)\r\n1. Support the [Smart Health Checks Observation resource profiles](profiles-and-extensions.html#observation)\r\n1. Support the [Smart Health Checks Patient resource profile](StructureDefinition-SHCPatient.html)\r\n1. Support the [AU Core Practitioner resource profile](http://hl7.org.au/fhir/core/1.1.0-previewStructureDefinition-au-core-practitioner.html)\r\n1. Support the [Smart Health Checks Questionnaire Response profile](StructureDefinition-SHCQuestionnaireResponse.html)\r\n1. Implement the RESTful behavior according to the FHIR specification\r\n1. Support JSON source formats for all interactions", "security": { "cors": true, "_cors": { @@ -424,27 +424,27 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHOULD" + "valueCode": "MAY" } ], "type": "Medication", - "profile": "http://hl7.org.au/fhir/core/StructureDefinition/au-core-medication", + "profile": "https://smartforms.csiro.au/ig/StructureDefinition/SHCMedication", "_profile": { "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHOULD" + "valueCode": "SHALL" } ] }, - "documentation": "If an external reference to a Medication resource is used in MedicationRequest, then the server **SHOULD** support the Medication resource, the AU Core profile and the conformance expectations for the Medication resource.", + "documentation": "If an external reference to a Medication resource is used in MedicationStatement, then the server **SHALL** support the Medication resource, the Smart Health Checks profile and the conformance expectations for the Medication resource.", "interaction": [ { "code": "read", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHOULD" + "valueCode": "SHALL" } ] } @@ -454,7 +454,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHOULD" + "valueCode": "SHALL" }, { "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", @@ -478,7 +478,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHOULD" + "valueCode": "MAY" }, { "url": "required", @@ -501,11 +501,11 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHOULD" + "valueCode": "SHALL" } ] }, - "documentation": "The server **SHALL** support the MedicationStatement resource, the Smart Health Checks profile and the conformance expectations for the MedicationStatement resource.", + "documentation": "The server **SHALL** support the MedicationStatement resource, the Smart Health Checks profile and the conformance expectations for the MedicationStatement resource.\r\n\r\nIf a medication in a MedicationStatement resource is represented as an external Medication resource reference, the server **SHALL** support the `_include` parameter for searching this element (`MedicationStatement:medication`)\r\n", "interaction": [ { "code": "search-type", @@ -536,7 +536,7 @@ } ], "searchInclude": [ - "MedicationRequest:medication" + "MedicationStatement:medication" ], "searchParam": [ { @@ -566,11 +566,11 @@ { "name": "_include", "type": "reference", - "documentation": "If a medication in a MedicationStatement resource is represented as an external Medication resource reference, the server **SHOULD** support the `_include` parameter for searching this element (`MedicationRequest:medication`).\r\n\r\nThe client **SHALL** support this method.", + "documentation": "If a medication in a MedicationStatement resource is represented as an external Medication resource reference, the server **SHALL** support the `_include` parameter for searching this element (`MedicationStatement:medication`).\r\n\r\nThe client **SHALL** support this method.", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHOULD" + "valueCode": "MAY" } ] } @@ -613,7 +613,7 @@ "https://smartforms.csiro.au/ig/StructureDefinition/SHCBloodPressure", "https://smartforms.csiro.au/ig/StructureDefinition/SHCBodyHeight", "https://smartforms.csiro.au/ig/StructureDefinition/SHCBodyWeight", - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-diagnosticresult-path", + "https://smartforms.csiro.au/ig/StructureDefinition/SHCPathologyResult", "https://smartforms.csiro.au/ig/StructureDefinition/SHCHeadCircumference", "https://smartforms.csiro.au/ig/StructureDefinition/SHCHeartRate", "https://smartforms.csiro.au/ig/StructureDefinition/SHCHeartRhythm", @@ -772,7 +772,7 @@ } ], "type": "Patient", - "profile": "http://hl7.org.au/fhir/core/StructureDefinition/au-core-patient", + "profile": "https://smartforms.csiro.au/ig/StructureDefinition/SHCPatient", "_profile": { "extension": [ { @@ -781,7 +781,7 @@ } ] }, - "documentation": "The server **SHALL** support the Patient resource, AU Core profile and the conformance expectations for the Patient resource.", + "documentation": "The server **SHALL** support the Patient resource, Smart Health Checks profile and the conformance expectations for the Patient resource.", "interaction": [ { "code": "read", @@ -912,7 +912,7 @@ } ], "type": "QuestionnaireResponse", - "profile": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaireresponse", + "profile": "https://smartforms.csiro.au/ig/StructureDefinition/SHCQuestionnaireResponse", "_profile": { "extension": [ { @@ -921,7 +921,7 @@ } ] }, - "documentation": "The server **SHALL** support the QuestionnaireResponse resource, Structured Data Capture profile and the conformance expectations for the QuestionnaireResponse resource.", + "documentation": "The server **SHALL** support the QuestionnaireResponse resource, Smart Health Checks profile and the conformance expectations for the QuestionnaireResponse resource.", "interaction": [ { "code": "read", diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index 3da4fbaf..97935194 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -603,6 +603,14 @@ "description": "This profile sets the minimum expectations for an Immunization resource to record, search and save immunization information when used within Smart Health Checks.", "exampleBoolean": false }, + { + "reference": { + "reference": "StructureDefinition/SHCMedication" + }, + "name": "Smart Health Checks Medication", + "description": "This profile sets the minimum expectations for a Medication resource to search and retrieve medication information when used within Smart Health Checks.", + "exampleBoolean": false + }, { "reference": { "reference": "ValueSet/smarthealthchecks-medication" @@ -619,6 +627,30 @@ "description": "This profile sets the minimum expectations for a MedicationStatement resource to record, search and save medication information when used within Smart Health Checks.", "exampleBoolean": false }, + { + "reference": { + "reference": "StructureDefinition/SHCPathologyResult" + }, + "name": "Smart Health Checks Pathology Result", + "description": "This profile sets the minimum expectations for an Observation resource to search and retrieve pathology result information when used within Smart Health Checks.", + "exampleBoolean": false + }, + { + "reference": { + "reference": "StructureDefinition/SHCPatient" + }, + "name": "Smart Health Checks Patient", + "description": "This profile sets the minimum expectations for a Patient resource to record, search and save patient information when used within Smart Health Checks.", + "exampleBoolean": false + }, + { + "reference": { + "reference": "StructureDefinition/SHCQuestionnaireResponse" + }, + "name": "Smart Health Checks Questionnaire Response", + "description": "This profile sets the minimum expectations for a QuestionnaireResponse resource to record, search and save form information when used within Smart Health Checks.", + "exampleBoolean": false + }, { "reference": { "reference": "StructureDefinition/SHCSmokingStatus" diff --git a/fsh-generated/resources/Questionnaire-Examination.json b/fsh-generated/resources/Questionnaire-Examination.json index dc8fc220..52232252 100644 --- a/fsh-generated/resources/Questionnaire-Examination.json +++ b/fsh-generated/resources/Questionnaire-Examination.json @@ -1036,7 +1036,7 @@ "resourceType": "ValueSet", "id": "heart-rhythm-1", "status": "draft", - "name": "HeartRythym", + "name": "HeartRhythm", "title": "Heart Rhythm", "description": "The Heart Rhythm value set includes values that may be used to represent the heart rhythm of an individual.", "url": "https://smartforms.csiro.au/ig/ValueSet/heart-rhythm-1", diff --git a/fsh-generated/resources/Questionnaire-PatientDetails.json b/fsh-generated/resources/Questionnaire-PatientDetails.json index 33f0ad7a..0240610b 100644 --- a/fsh-generated/resources/Questionnaire-PatientDetails.json +++ b/fsh-generated/resources/Questionnaire-PatientDetails.json @@ -552,7 +552,8 @@ "linkId": "f1262ade-843c-4eba-a86d-51a9c97d134b", "text": "Home address", "type": "group", - "repeats": false + "repeats": false, + "readOnly": true }, { "extension": [ @@ -693,7 +694,8 @@ "linkId": "9541f0b0-f5ba-4fe7-a8e9-ad003cef897b", "text": "Home phone", "type": "string", - "repeats": true + "repeats": true, + "readOnly": true }, { "extension": [ @@ -708,7 +710,8 @@ "linkId": "4037a02b-4a85-40e0-9be6-5b17df1aac56", "text": "Mobile phone", "type": "string", - "repeats": true + "repeats": true, + "readOnly": true }, { "extension": [ @@ -786,7 +789,8 @@ "linkId": "c22390d3-1be6-4fd1-b775-6443b7239a6b", "text": "Emergency contact", "type": "group", - "repeats": true + "repeats": true, + "readOnly": true }, { "item": [ @@ -847,7 +851,8 @@ "linkId": "df1475ea-bf7e-4bf0-a69f-7f9608c3ed3c", "text": "Medicare number", "type": "group", - "repeats": false + "repeats": false, + "readOnly": true }, { "extension": [ diff --git a/fsh-generated/resources/StructureDefinition-SHCAllergyIntolerance.json b/fsh-generated/resources/StructureDefinition-SHCAllergyIntolerance.json index c850926d..b0d35119 100644 --- a/fsh-generated/resources/StructureDefinition-SHCAllergyIntolerance.json +++ b/fsh-generated/resources/StructureDefinition-SHCAllergyIntolerance.json @@ -2,7 +2,7 @@ "resourceType": "StructureDefinition", "id": "SHCAllergyIntolerance", "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCAllergyIntolerance", - "name": "SmartHealthCheckAllergyIntolerance", + "name": "SmartHealthChecksAllergyIntolerance", "title": "Smart Health Checks AllergyIntolerance", "status": "draft", "description": "This profile sets the minimum expectations for an AllergyIntolerance resource to record, search and save allergy or intolerance information when used within Smart Health Checks.", diff --git a/fsh-generated/resources/StructureDefinition-SHCBloodPressure.json b/fsh-generated/resources/StructureDefinition-SHCBloodPressure.json index b40f2777..090de41c 100644 --- a/fsh-generated/resources/StructureDefinition-SHCBloodPressure.json +++ b/fsh-generated/resources/StructureDefinition-SHCBloodPressure.json @@ -2,7 +2,7 @@ "resourceType": "StructureDefinition", "id": "SHCBloodPressure", "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCBloodPressure", - "name": "SmartHealthCheckBloodPressure", + "name": "SmartHealthChecksBloodPressure", "title": "Smart Health Checks Blood Pressure", "status": "draft", "description": "This profile sets the minimum expectations for a Blood Pressure resource to record, search and save blood pressure information when used within Smart Health Checks.", diff --git a/fsh-generated/resources/StructureDefinition-SHCBodyHeight.json b/fsh-generated/resources/StructureDefinition-SHCBodyHeight.json index 931c40a4..8dd85df1 100644 --- a/fsh-generated/resources/StructureDefinition-SHCBodyHeight.json +++ b/fsh-generated/resources/StructureDefinition-SHCBodyHeight.json @@ -2,7 +2,7 @@ "resourceType": "StructureDefinition", "id": "SHCBodyHeight", "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCBodyHeight", - "name": "SmartHealthCheckBodyHeight", + "name": "SmartHealthChecksBodyHeight", "title": "Smart Health Checks Body Height", "status": "draft", "description": "This profile sets the minimum expectations for a Body Height resource to record, search and save body height information when used within Smart Health Checks.", diff --git a/fsh-generated/resources/StructureDefinition-SHCBodyWeight.json b/fsh-generated/resources/StructureDefinition-SHCBodyWeight.json index fbdaf956..599b4ed0 100644 --- a/fsh-generated/resources/StructureDefinition-SHCBodyWeight.json +++ b/fsh-generated/resources/StructureDefinition-SHCBodyWeight.json @@ -2,7 +2,7 @@ "resourceType": "StructureDefinition", "id": "SHCBodyWeight", "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCBodyWeight", - "name": "SmartHealthCheckBodyWeight", + "name": "SmartHealthChecksBodyWeight", "title": "Smart Health Checks Body Weight", "status": "draft", "description": "This profile sets the minimum expectations for a Body Weight resource to record, search and save body weight information when used within Smart Health Checks.", diff --git a/fsh-generated/resources/StructureDefinition-SHCCondition.json b/fsh-generated/resources/StructureDefinition-SHCCondition.json index fa08e3e9..43a8540c 100644 --- a/fsh-generated/resources/StructureDefinition-SHCCondition.json +++ b/fsh-generated/resources/StructureDefinition-SHCCondition.json @@ -2,7 +2,7 @@ "resourceType": "StructureDefinition", "id": "SHCCondition", "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCCondition", - "name": "SmartHealthCheckCondition", + "name": "SmartHealthChecksCondition", "title": "Smart Health Checks Condition", "status": "draft", "description": "This profile sets the minimum expectations for a Condition resource to record, search and save condition information when used within Smart Health Checks.", diff --git a/fsh-generated/resources/StructureDefinition-SHCHeadCircumference.json b/fsh-generated/resources/StructureDefinition-SHCHeadCircumference.json index e72f436d..7f368cb9 100644 --- a/fsh-generated/resources/StructureDefinition-SHCHeadCircumference.json +++ b/fsh-generated/resources/StructureDefinition-SHCHeadCircumference.json @@ -2,7 +2,7 @@ "resourceType": "StructureDefinition", "id": "SHCHeadCircumference", "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCHeadCircumference", - "name": "SmartHealthCheckHeadCircumference", + "name": "SmartHealthChecksHeadCircumference", "title": "Smart Health Checks Head Circumference", "status": "draft", "description": "This profile sets the minimum expectations for a Head Circumference resource to record, search and save head circumference information when used within Smart Health Checks.", diff --git a/fsh-generated/resources/StructureDefinition-SHCHeartRate.json b/fsh-generated/resources/StructureDefinition-SHCHeartRate.json index 91c12126..ffe121de 100644 --- a/fsh-generated/resources/StructureDefinition-SHCHeartRate.json +++ b/fsh-generated/resources/StructureDefinition-SHCHeartRate.json @@ -2,7 +2,7 @@ "resourceType": "StructureDefinition", "id": "SHCHeartRate", "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCHeartRate", - "name": "SmartHealthCheckHeartRate", + "name": "SmartHealthChecksHeartRate", "title": "Smart Health Checks Heart Rate", "status": "draft", "description": "This profile sets the minimum expectations for a Heart Rate resource to record, search and save heart rate information when used within Smart Health Checks.", diff --git a/fsh-generated/resources/StructureDefinition-SHCHeartRhythm.json b/fsh-generated/resources/StructureDefinition-SHCHeartRhythm.json index 630c88f9..b568048f 100644 --- a/fsh-generated/resources/StructureDefinition-SHCHeartRhythm.json +++ b/fsh-generated/resources/StructureDefinition-SHCHeartRhythm.json @@ -2,7 +2,7 @@ "resourceType": "StructureDefinition", "id": "SHCHeartRhythm", "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCHeartRhythm", - "name": "SmartHealthCheckHeartRhythm", + "name": "SmartHealthChecksHeartRhythm", "title": "Smart Health Checks Heart Rhythm", "status": "draft", "description": "This profile sets the minimum expectations for an Observation resource to record heart rhythm observations. It is used to represent heart rhythm data captured during a First Nations Health Check that can be used to record the observation in a clinical record.", @@ -18,7 +18,7 @@ "id": "Observation", "path": "Observation", "short": "Heart Rhythm", - "definition": "Measurement of a patient's heart rhytym at a point in time.", + "definition": "Measurement of a patient's heart rhythm at a point in time.", "comment": "Heart rhythm observation using a LOINC code, a SNOMED CT code and a metric UCUM unit of measure.", "constraint": [ { diff --git a/fsh-generated/resources/StructureDefinition-SHCImmunization.json b/fsh-generated/resources/StructureDefinition-SHCImmunization.json index 223b03ba..96ee2dac 100644 --- a/fsh-generated/resources/StructureDefinition-SHCImmunization.json +++ b/fsh-generated/resources/StructureDefinition-SHCImmunization.json @@ -2,7 +2,7 @@ "resourceType": "StructureDefinition", "id": "SHCImmunization", "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCImmunization", - "name": "SmartHealthCheckImmunization", + "name": "SmartHealthChecksImmunization", "title": "Smart Health Checks Immunization", "status": "draft", "description": "This profile sets the minimum expectations for an Immunization resource to record, search and save immunization information when used within Smart Health Checks.", diff --git a/fsh-generated/resources/StructureDefinition-SHCMedication.json b/fsh-generated/resources/StructureDefinition-SHCMedication.json new file mode 100644 index 00000000..aa599a25 --- /dev/null +++ b/fsh-generated/resources/StructureDefinition-SHCMedication.json @@ -0,0 +1,110 @@ +{ + "resourceType": "StructureDefinition", + "id": "SHCMedication", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCMedication", + "name": "SmartHealthChecksMedication", + "title": "Smart Health Checks Medication", + "status": "draft", + "description": "This profile sets the minimum expectations for a Medication resource to search and retrieve medication information when used within Smart Health Checks.", + "fhirVersion": "4.0.1", + "kind": "resource", + "abstract": false, + "type": "Medication", + "baseDefinition": "http://hl7.org.au/fhir/core/StructureDefinition/au-core-medication", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Medication.id", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Medication.id", + "mustSupport": true + }, + { + "id": "Medication.code", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Medication.code" + } + ] + } +} diff --git a/fsh-generated/resources/StructureDefinition-SHCMedicationStatement.json b/fsh-generated/resources/StructureDefinition-SHCMedicationStatement.json index 91ba4345..4ba15d76 100644 --- a/fsh-generated/resources/StructureDefinition-SHCMedicationStatement.json +++ b/fsh-generated/resources/StructureDefinition-SHCMedicationStatement.json @@ -2,7 +2,7 @@ "resourceType": "StructureDefinition", "id": "SHCMedicationStatement", "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCMedicationStatement", - "name": "SmartHealthCheckMedicationStatement", + "name": "SmartHealthChecksMedicationStatement", "title": "Smart Health Checks MedicationStatement", "status": "draft", "description": "This profile sets the minimum expectations for a MedicationStatement resource to record, search and save medication information when used within Smart Health Checks.", @@ -156,6 +156,74 @@ ], "mustSupport": true }, + { + "id": "MedicationStatement.medication[x]:medicationReference", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "MedicationStatement.medication[x]", + "sliceName": "medicationReference", + "type": [ + { + "code": "Reference", + "targetProfile": [ + "https://smartforms.csiro.au/ig/StructureDefinition/SHCMedication" + ] + } + ], + "mustSupport": true + }, { "id": "MedicationStatement.subject", "extension": [ diff --git a/fsh-generated/resources/StructureDefinition-SHCPathologyResult.json b/fsh-generated/resources/StructureDefinition-SHCPathologyResult.json new file mode 100644 index 00000000..b73d177f --- /dev/null +++ b/fsh-generated/resources/StructureDefinition-SHCPathologyResult.json @@ -0,0 +1,272 @@ +{ + "resourceType": "StructureDefinition", + "id": "SHCPathologyResult", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCPathologyResult", + "name": "SmartHealthChecksPathologyResult", + "title": "Smart Health Checks Pathology Result", + "status": "draft", + "description": "This profile sets the minimum expectations for an Observation resource to search and retrieve pathology result information when used within Smart Health Checks.", + "fhirVersion": "4.0.1", + "kind": "resource", + "abstract": false, + "type": "Observation", + "baseDefinition": "http://hl7.org.au/fhir/core/StructureDefinition/au-core-diagnosticresult-path", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Observation.status", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint", + "valueString": "default: final" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Observation.status" + }, + { + "id": "Observation.code.coding", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Observation.code.coding", + "mustSupport": true + }, + { + "id": "Observation.subject", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + } + ], + "path": "Observation.subject" + }, + { + "id": "Observation.effective[x]", + "path": "Observation.effective[x]", + "slicing": { + "discriminator": [ + { + "type": "type", + "path": "$this" + } + ], + "ordered": false, + "rules": "open" + } + }, + { + "id": "Observation.effective[x]:effectiveDateTime", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Observation.effective[x]", + "sliceName": "effectiveDateTime", + "min": 0, + "max": "1", + "type": [ + { + "code": "dateTime" + } + ], + "mustSupport": true + }, + { + "id": "Observation.value[x]", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Observation.value[x]" + } + ] + } +} diff --git a/fsh-generated/resources/StructureDefinition-SHCPatient.json b/fsh-generated/resources/StructureDefinition-SHCPatient.json new file mode 100644 index 00000000..f361ae5d --- /dev/null +++ b/fsh-generated/resources/StructureDefinition-SHCPatient.json @@ -0,0 +1,1476 @@ +{ + "resourceType": "StructureDefinition", + "id": "SHCPatient", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCPatient", + "name": "SmartHealthChecksPatient", + "title": "Smart Health Checks Patient", + "status": "draft", + "description": "This profile sets the minimum expectations for a Patient resource to record, search and save patient information when used within Smart Health Checks.", + "fhirVersion": "4.0.1", + "kind": "resource", + "abstract": false, + "type": "Patient", + "baseDefinition": "http://hl7.org.au/fhir/core/StructureDefinition/au-core-patient", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Patient.extension:indigenousStatus", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Patient.extension", + "sliceName": "indigenousStatus" + }, + { + "id": "Patient.extension:closingTheGapRegistration", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Patient.extension", + "sliceName": "closingTheGapRegistration", + "mustSupport": true + }, + { + "id": "Patient.extension:genderIdentity", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Patient.extension", + "sliceName": "genderIdentity" + }, + { + "id": "Patient.extension:individualPronouns", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Patient.extension", + "sliceName": "individualPronouns" + }, + { + "id": "Patient.extension:recordedSexOrGender", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Patient.extension", + "sliceName": "recordedSexOrGender", + "mustSupport": true + }, + { + "id": "Patient.identifier:medicare", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Patient.identifier", + "sliceName": "medicare" + }, + { + "id": "Patient.identifier:pensionerCard", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Patient.identifier", + "sliceName": "pensionerCard", + "min": 0, + "max": "1", + "type": [ + { + "code": "Identifier", + "profile": [ + "http://hl7.org.au/fhir/StructureDefinition/au-pensionerconcessioncardnumber" + ] + } + ], + "mustSupport": true + }, + { + "id": "Patient.identifier:healthCareCard", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + } + ], + "path": "Patient.identifier", + "sliceName": "healthCareCard", + "min": 0, + "max": "1", + "type": [ + { + "code": "Identifier", + "profile": [ + "http://hl7.org.au/fhir/StructureDefinition/au-healthcarecardnumber" + ] + } + ], + "mustSupport": true + }, + { + "id": "Patient.name", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Patient.name" + }, + { + "id": "Patient.name.use", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Patient.name.use" + }, + { + "id": "Patient.name.text", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Patient.name.text" + }, + { + "id": "Patient.name.family", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Patient.name.family" + }, + { + "id": "Patient.name.given", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Patient.name.given" + }, + { + "id": "Patient.name.prefix", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Patient.name.prefix", + "mustSupport": true + }, + { + "id": "Patient.telecom", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Patient.telecom" + }, + { + "id": "Patient.telecom.system", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Patient.telecom.system", + "mustSupport": true + }, + { + "id": "Patient.telecom.value", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Patient.telecom.value", + "mustSupport": true + }, + { + "id": "Patient.telecom.use", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Patient.telecom.use", + "mustSupport": true + }, + { + "id": "Patient.gender", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Patient.gender" + }, + { + "id": "Patient.birthDate", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Patient.birthDate" + }, + { + "id": "Patient.address", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Patient.address", + "type": [ + { + "code": "Address", + "profile": [ + "http://hl7.org.au/fhir/StructureDefinition/au-address" + ] + } + ] + }, + { + "id": "Patient.address.use", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Patient.address.use", + "mustSupport": true + }, + { + "id": "Patient.address.type", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Patient.address.type", + "mustSupport": true + }, + { + "id": "Patient.address.line", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Patient.address.line", + "mustSupport": true + }, + { + "id": "Patient.address.city", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Patient.address.city", + "mustSupport": true + }, + { + "id": "Patient.address.state", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Patient.address.state", + "mustSupport": true + }, + { + "id": "Patient.address.postalCode", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Patient.address.postalCode", + "mustSupport": true + }, + { + "id": "Patient.contact", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Patient.contact", + "mustSupport": true + }, + { + "id": "Patient.contact.relationship", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Patient.contact.relationship", + "mustSupport": true + }, + { + "id": "Patient.contact.name", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Patient.contact.name", + "mustSupport": true + }, + { + "id": "Patient.contact.name.family", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Patient.contact.name.family", + "mustSupport": true + }, + { + "id": "Patient.contact.name.given", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Patient.contact.name.given", + "mustSupport": true + }, + { + "id": "Patient.contact.name.prefix", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Patient.contact.name.prefix", + "mustSupport": true + }, + { + "id": "Patient.contact.telecom", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Patient.contact.telecom", + "mustSupport": true + } + ] + } +} diff --git a/fsh-generated/resources/StructureDefinition-SHCQuestionnaireResponse.json b/fsh-generated/resources/StructureDefinition-SHCQuestionnaireResponse.json new file mode 100644 index 00000000..18867e76 --- /dev/null +++ b/fsh-generated/resources/StructureDefinition-SHCQuestionnaireResponse.json @@ -0,0 +1,626 @@ +{ + "resourceType": "StructureDefinition", + "id": "SHCQuestionnaireResponse", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCQuestionnaireResponse", + "name": "SmartHealthChecksQuestionnaireResponse", + "title": "Smart Health Checks Questionnaire Response", + "status": "draft", + "description": "This profile sets the minimum expectations for a QuestionnaireResponse resource to record, search and save form information when used within Smart Health Checks.", + "fhirVersion": "4.0.1", + "kind": "resource", + "abstract": false, + "type": "QuestionnaireResponse", + "baseDefinition": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaireresponse", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "QuestionnaireResponse.id", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:persist" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "QuestionnaireResponse.id", + "min": 1, + "mustSupport": true + }, + { + "id": "QuestionnaireResponse.text", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:persist" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "QuestionnaireResponse.text", + "mustSupport": true + }, + { + "id": "QuestionnaireResponse.questionnaire", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:persist" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "QuestionnaireResponse.questionnaire" + }, + { + "id": "QuestionnaireResponse.questionnaire.extension:questionnaireDisplay", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:persist" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "QuestionnaireResponse.questionnaire.extension", + "sliceName": "questionnaireDisplay" + }, + { + "id": "QuestionnaireResponse.status", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:persist" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "QuestionnaireResponse.status" + }, + { + "id": "QuestionnaireResponse.subject", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:persist" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "QuestionnaireResponse.subject", + "min": 1 + }, + { + "id": "QuestionnaireResponse.encounter", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:persist" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "QuestionnaireResponse.encounter", + "mustSupport": true + }, + { + "id": "QuestionnaireResponse.authored", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:persist" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "QuestionnaireResponse.authored" + }, + { + "id": "QuestionnaireResponse.author", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:persist" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "QuestionnaireResponse.author", + "min": 1 + }, + { + "id": "QuestionnaireResponse.item", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:persist" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "QuestionnaireResponse.item" + }, + { + "id": "QuestionnaireResponse.item.linkId", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:persist" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "QuestionnaireResponse.item.linkId" + }, + { + "id": "QuestionnaireResponse.item.text", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:persist" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "QuestionnaireResponse.item.text" + }, + { + "id": "QuestionnaireResponse.item.answer", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:persist" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "QuestionnaireResponse.item.answer" + }, + { + "id": "QuestionnaireResponse.item.answer.value[x]", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:persist" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "QuestionnaireResponse.item.answer.value[x]" + }, + { + "id": "QuestionnaireResponse.item.item", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:persist" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "QuestionnaireResponse.item.item" + } + ] + } +} diff --git a/fsh-generated/resources/StructureDefinition-SHCSmokingStatus.json b/fsh-generated/resources/StructureDefinition-SHCSmokingStatus.json index c886729e..35d94970 100644 --- a/fsh-generated/resources/StructureDefinition-SHCSmokingStatus.json +++ b/fsh-generated/resources/StructureDefinition-SHCSmokingStatus.json @@ -2,7 +2,7 @@ "resourceType": "StructureDefinition", "id": "SHCSmokingStatus", "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCSmokingStatus", - "name": "SmartHealthCheckSmokingStatus", + "name": "SmartHealthChecksSmokingStatus", "title": "Smart Health Checks Smoking Status", "status": "draft", "description": "This profile sets the minimum expectations for a Smoking Status resource to record, search and save smoking status information when used within Smart Health Checks.", diff --git a/fsh-generated/resources/StructureDefinition-SHCWaistCircumference.json b/fsh-generated/resources/StructureDefinition-SHCWaistCircumference.json index b8aeaa72..d8f0270b 100644 --- a/fsh-generated/resources/StructureDefinition-SHCWaistCircumference.json +++ b/fsh-generated/resources/StructureDefinition-SHCWaistCircumference.json @@ -2,7 +2,7 @@ "resourceType": "StructureDefinition", "id": "SHCWaistCircumference", "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCWaistCircumference", - "name": "SmartHealthCheckWaistCircumference", + "name": "SmartHealthChecksWaistCircumference", "title": "Smart Health Checks Waist Circumference", "status": "draft", "description": "This profile sets the minimum expectations for a Waist Circumference resource to record, search and save waist circumference information when used within Smart Health Checks.", diff --git a/fsh-generated/resources/ValueSet-heart-rhythm-1.json b/fsh-generated/resources/ValueSet-heart-rhythm-1.json index 3c6dac43..eed74d5c 100644 --- a/fsh-generated/resources/ValueSet-heart-rhythm-1.json +++ b/fsh-generated/resources/ValueSet-heart-rhythm-1.json @@ -1,7 +1,7 @@ { "resourceType": "ValueSet", "status": "draft", - "name": "HeartRythym", + "name": "HeartRhythm", "id": "heart-rhythm-1", "title": "Heart Rhythm", "description": "The Heart Rhythm value set includes values that may be used to represent the heart rhythm of an individual.", diff --git a/input/fsh/715-PatientDetails.fsh b/input/fsh/715-PatientDetails.fsh index a5c6536f..24c270b1 100644 --- a/input/fsh/715-PatientDetails.fsh +++ b/input/fsh/715-PatientDetails.fsh @@ -269,6 +269,7 @@ Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait * text = "Home address" * type = #group * repeats = false + * readOnly = true * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath @@ -397,6 +398,7 @@ Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait * text = "Home phone" * type = #string * repeats = true + * readOnly = true * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath @@ -405,6 +407,7 @@ Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait * text = "Mobile phone" * type = #string * repeats = true + * readOnly = true * item[+] * extension[sdc-questionnaire-itemPopulationContext].valueExpression * name = "EmergencyContactRepeat" @@ -414,6 +417,7 @@ Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait * text = "Emergency contact" * type = #group * repeats = true + * readOnly = true * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath @@ -451,6 +455,7 @@ Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait * text = "Medicare number" * type = #group * repeats = false + * readOnly = true * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath diff --git a/input/fsh/capability.fsh b/input/fsh/capability.fsh index b0857a8a..49f5d6cd 100644 --- a/input/fsh/capability.fsh +++ b/input/fsh/capability.fsh @@ -39,16 +39,16 @@ Usage: #definition * rest.mode = #server * rest.documentation = "Smart Forms Launcher Server **SHALL**: -1. Support the [Smart Health Check AllergyIntolerance resource profile](StructureDefinition-SHCAllergyIntolerance.html) -1. Support the [Smart Health Check Condition resource profile](StructureDefinition-SHCCondition.html) +1. Support the [Smart Health Checks AllergyIntolerance resource profile](StructureDefinition-SHCAllergyIntolerance.html) +1. Support the [Smart Health Checks Condition resource profile](StructureDefinition-SHCCondition.html) 1. Support the [AU Core Encounter resource profile](http://hl7.org.au/fhir/core/1.1.0-preview/StructureDefinition-au-core-encounter.html) -1. Support the [Smart Health Check Immunization resource profile](StructureDefinition-SHCImmunization.html) -1. Support the [AU Core Medication profile](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-medication.html) -1. Support the [Smart Health Check MedicationStatement profile](StructureDefinition-SHCMedicationStatement.html) -1. Support the [Smart Health Check Observation resource profiles](profiles-and-extensions.html#observation) -1. Support the [AU Core Patient resource profile](http://hl7.org.au/fhir/core/1.1.0-previewStructureDefinition-au-core-patient.html) +1. Support the [Smart Health Checks Immunization resource profile](StructureDefinition-SHCImmunization.html) +1. Support the [Smart Health Checks Medication profile](StructureDefinition-SHCMedication.html) +1. Support the [Smart Health Checks MedicationStatement profile](StructureDefinition-SHCMedicationStatement.html) +1. Support the [Smart Health Checks Observation resource profiles](profiles-and-extensions.html#observation) +1. Support the [Smart Health Checks Patient resource profile](StructureDefinition-SHCPatient.html) 1. Support the [AU Core Practitioner resource profile](http://hl7.org.au/fhir/core/1.1.0-previewStructureDefinition-au-core-practitioner.html) -1. Support the [SDC Questionnaire Response profile](https://hl7.org/fhir/uv/sdc/STU3/StructureDefinition-sdc-questionnaireresponse.html) +1. Support the [Smart Health Checks Questionnaire Response profile](StructureDefinition-SHCQuestionnaireResponse.html) 1. Implement the RESTful behavior according to the FHIR specification 1. Support JSON source formats for all interactions" @@ -223,19 +223,19 @@ The server **SHALL** support both." //Medication * rest.resource[+].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].extension[0].valueCode = #SHOULD +* rest.resource[=].extension[0].valueCode = #MAY * rest.resource[=].type = #Medication -* rest.resource[=].profile = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-medication" +* rest.resource[=].profile = "https://smartforms.csiro.au/ig/StructureDefinition/SHCMedication" * rest.resource[=].profile.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].profile.extension[0].valueCode = #SHOULD -* rest.resource[=].documentation = "If an external reference to a Medication resource is used in MedicationRequest, then the server **SHOULD** support the Medication resource, the AU Core profile and the conformance expectations for the Medication resource." +* rest.resource[=].profile.extension[0].valueCode = #SHALL +* rest.resource[=].documentation = "If an external reference to a Medication resource is used in MedicationStatement, then the server **SHALL** support the Medication resource, the Smart Health Checks profile and the conformance expectations for the Medication resource." * rest.resource[=].interaction[0].code = #read * rest.resource[=].interaction[0].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].interaction[0].extension[0].valueCode = #SHOULD +* rest.resource[=].interaction[0].extension[0].valueCode = #SHALL //MedicationStatement * rest.resource[+].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].extension[0].valueCode = #SHOULD +* rest.resource[=].extension[0].valueCode = #SHALL * rest.resource[=].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination" * rest.resource[=].extension[=].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].extension[=].extension[=].valueCode = #SHALL @@ -245,7 +245,7 @@ The server **SHALL** support both." * rest.resource[=].extension[=].extension[=].valueString = "status" * rest.resource[=].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination" * rest.resource[=].extension[=].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].extension[=].extension[=].valueCode = #SHOULD +* rest.resource[=].extension[=].extension[=].valueCode = #MAY * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "patient" * rest.resource[=].extension[=].extension[+].url = "required" @@ -255,8 +255,11 @@ The server **SHALL** support both." * rest.resource[=].type = #MedicationStatement * rest.resource[=].profile = "https://smartforms.csiro.au/ig/StructureDefinition/SHCMedicationStatement" * rest.resource[=].profile.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].profile.extension[0].valueCode = #SHOULD -* rest.resource[=].documentation = "The server **SHALL** support the MedicationStatement resource, the Smart Health Checks profile and the conformance expectations for the MedicationStatement resource." +* rest.resource[=].profile.extension[0].valueCode = #SHALL +* rest.resource[=].documentation = "The server **SHALL** support the MedicationStatement resource, the Smart Health Checks profile and the conformance expectations for the MedicationStatement resource. + +If a medication in a MedicationStatement resource is represented as an external Medication resource reference, the server **SHALL** support the `_include` parameter for searching this element (`MedicationStatement:medication`) +" * rest.resource[=].interaction[0].code = #search-type * rest.resource[=].interaction[0].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[0].extension[0].valueCode = #SHALL @@ -279,7 +282,7 @@ The server **SHALL** support both." * rest.resource[=].conditionalUpdate.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].conditionalUpdate.extension[0].valueCode = #SHALL */ -* rest.resource[=].searchInclude[+] = "MedicationRequest:medication" +* rest.resource[=].searchInclude[+] = "MedicationStatement:medication" * rest.resource[=].searchParam[+].name = "patient" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" * rest.resource[=].searchParam[=].type = #reference @@ -302,11 +305,11 @@ The server **SHALL** support `multipleOr`." * rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL * rest.resource[=].searchParam[+].name = "_include" * rest.resource[=].searchParam[=].type = #reference -* rest.resource[=].searchParam[=].documentation = "If a medication in a MedicationStatement resource is represented as an external Medication resource reference, the server **SHOULD** support the `_include` parameter for searching this element (`MedicationRequest:medication`). +* rest.resource[=].searchParam[=].documentation = "If a medication in a MedicationStatement resource is represented as an external Medication resource reference, the server **SHALL** support the `_include` parameter for searching this element (`MedicationStatement:medication`). The client **SHALL** support this method." * rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].searchParam[=].extension[0].valueCode = #SHOULD +* rest.resource[=].searchParam[=].extension[0].valueCode = #MAY //Observation * rest.resource[+].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" @@ -333,7 +336,7 @@ The client **SHALL** support this method." * rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCBodyWeight" * rest.resource[=].supportedProfile[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].supportedProfile[=].extension[0].valueCode = #SHALL -* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-diagnosticresult-path" +* rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCPathologyResult" * rest.resource[=].supportedProfile[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].supportedProfile[=].extension[0].valueCode = #SHALL * rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCHeadCircumference" @@ -396,10 +399,10 @@ The server **SHALL** support both." * rest.resource[+].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].extension[0].valueCode = #SHALL * rest.resource[=].type = #Patient -* rest.resource[=].profile = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-patient" +* rest.resource[=].profile = "https://smartforms.csiro.au/ig/StructureDefinition/SHCPatient" * rest.resource[=].profile.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].profile.extension[0].valueCode = #SHALL -* rest.resource[=].documentation = "The server **SHALL** support the Patient resource, AU Core profile and the conformance expectations for the Patient resource." +* rest.resource[=].documentation = "The server **SHALL** support the Patient resource, Smart Health Checks profile and the conformance expectations for the Patient resource." * rest.resource[=].interaction[0].code = #read * rest.resource[=].interaction[0].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[0].extension[0].valueCode = #SHALL @@ -463,10 +466,10 @@ The server **SHALL** support both." * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "status" * rest.resource[=].type = #QuestionnaireResponse -* rest.resource[=].profile = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaireresponse" +* rest.resource[=].profile = "https://smartforms.csiro.au/ig/StructureDefinition/SHCQuestionnaireResponse" * rest.resource[=].profile.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].profile.extension[0].valueCode = #SHALL -* rest.resource[=].documentation = "The server **SHALL** support the QuestionnaireResponse resource, Structured Data Capture profile and the conformance expectations for the QuestionnaireResponse resource." +* rest.resource[=].documentation = "The server **SHALL** support the QuestionnaireResponse resource, Smart Health Checks profile and the conformance expectations for the QuestionnaireResponse resource." * rest.resource[=].interaction[+].code = #read * rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[=].extension[0].valueCode = #SHALL @@ -704,8 +707,8 @@ The server **SHALL** support both." //Medication * rest.resource[+].type = #Medication -* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-medication" -* rest.resource[=].documentation = "The client supports the Medication resource, the AU Core profile and the conformance expectations for the Medication resource." +* rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCMedication" +* rest.resource[=].documentation = "The client supports the Medication resource, the Smart Health Checks profile and the conformance expectations for the Medication resource." * rest.resource[=].interaction[0].code = #read //MedicationStatement @@ -752,7 +755,7 @@ The client **SHALL** support `multipleOr`. The server **SHALL** support `multipleOr`." * rest.resource[=].searchParam[+].name = "_include" * rest.resource[=].searchParam[=].type = #reference -* rest.resource[=].searchParam[=].documentation = "If a medication in a MedicationStatement resource is represented as an external Medication resource reference, the server **SHOULD** support the `_include` parameter for searching this element (`MedicationRequest:medication`). +* rest.resource[=].searchParam[=].documentation = "If a medication in a MedicationStatement resource is represented as an external Medication resource reference, the server **SHALL** support the `_include` parameter for searching this element (`MedicationStatement:medication`). The client **SHALL** support this method." @@ -771,7 +774,7 @@ The client **SHALL** support this method." * rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCBloodPressure" * rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCBodyHeight" * rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCBodyWeight" -* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-diagnosticresult-path" +* rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCPathologyResult" * rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCHeadCircumference" * rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCHeartRate" * rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCHeartRhythm" @@ -806,8 +809,8 @@ The server **SHALL** support both." //Patient * rest.resource[+].type = #Patient -* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-patient" -* rest.resource[=].documentation = "The client supports the Patient resource, AU Core profile and the conformance expectations for the Patient resource." +* rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCPatient" +* rest.resource[=].documentation = "The client supports the Patient resource, Smart Health Checks profile and the conformance expectations for the Patient resource." * rest.resource[=].interaction[0].code = #read * rest.resource[=].interaction[+].code = #patch //* rest.resource[=].interaction[+].code = #update @@ -891,8 +894,8 @@ The server **SHALL** support both." * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "status" * rest.resource[=].type = #QuestionnaireResponse -* rest.resource[=].profile = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaireresponse" -* rest.resource[=].documentation = "The client supports the QuestionnaireResponse resource, Structured Data Capture profile and the conformance expectations for the QuestionnaireResponse resource." +* rest.resource[=].profile = "https://smartforms.csiro.au/ig/StructureDefinition/SHCQuestionnaireResponse" +* rest.resource[=].documentation = "The client supports the QuestionnaireResponse resource, Smart Health Checks profile and the conformance expectations for the QuestionnaireResponse resource." * rest.resource[=].interaction[+].code = #read * rest.resource[=].interaction[+].code = #search-type * rest.resource[=].interaction[+].code = #create diff --git a/input/fsh/profiles.fsh b/input/fsh/profiles.fsh index acdc0d5b..3a9c0e65 100644 --- a/input/fsh/profiles.fsh +++ b/input/fsh/profiles.fsh @@ -22,6 +22,10 @@ Alias: $au-core-patient = http://hl7.org.au/fhir/core/StructureDefinition/au-cor Alias: $au-core-practitioner = http://hl7.org.au/fhir/core/StructureDefinition/au-core-practitioner Alias: $sdc-questionnaireresponse = http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaireresponse +Alias: $au-address = http://hl7.org.au/fhir/StructureDefinition/au-address +Alias: $au-pensionerconcessioncardnumber = http://hl7.org.au/fhir/StructureDefinition/au-pensionerconcessioncardnumber +Alias: $au-healthcarecardnumber = http://hl7.org.au/fhir/StructureDefinition/au-healthcarecardnumber + /* Old RuleSets to be reinstated following SUSHI bug fix RuleSet: obligationApp(index, appCode) * ^extension[$obligation][{index}].extension[code].valueCode = #"{appCode}" @@ -88,81 +92,8 @@ Description: "Date shall be at least to day or, if not available, the Data Absen * xpath = "((self::dateTime and string-length(.) >= 10 and not(extension[@url='http://hl7.org/fhir/StructureDefinition/data-absent-reason'])) xor (self::dateTime and not(.) and extension[@url='http://hl7.org/fhir/StructureDefinition/data-absent-reason']))" -Profile: SmartHealthCheckHeartRhythm -Parent: Observation -Id: SHCHeartRhythm -Title: "Smart Health Checks Heart Rhythm" -Description: "This profile sets the minimum expectations for an Observation resource to record heart rhythm observations. It is used to represent heart rhythm data captured during a First Nations Health Check that can be used to record the observation in a clinical record." - -* . ^short = "Heart Rhythm" -* . ^definition = "Measurement of a patient's heart rhytym at a point in time." -* . ^comment = "Heart rhythm observation using a LOINC code, a SNOMED CT code and a metric UCUM unit of measure." -* obeys shc-heartrhythm-01 -* status MS -* status insert obligation2Server (1, SHALL:populate, SHALL:process) -* status insert obligation2App (2, SHALL:populate, SHALL:process) -* category MS -* category ^slicing.discriminator[0].type = #value -* category ^slicing.discriminator[=].path = "coding.code" -* category ^slicing.discriminator[+].type = #value -* category ^slicing.discriminator[=].path = "coding.system" -* category ^slicing.ordered = false -* category ^slicing.rules = #open -* category contains vitalSignsCategory 1..1 MS -* category[vitalSignsCategory] = http://terminology.hl7.org/CodeSystem/observation-category#vital-signs (exactly) -* category[vitalSignsCategory] insert obligationServer (0, SHALL:process) -* category[vitalSignsCategory] insert obligationApp (1, SHALL:populate) -* code MS -* code ^short = "Heart Rhythm" -* code ^definition = "Heart Rhythm." -* code.coding MS -* code.coding ^slicing.discriminator[0].type = #value -* code.coding ^slicing.discriminator[=].path = "code" -* code.coding ^slicing.discriminator[+].type = #value -* code.coding ^slicing.discriminator[=].path = "system" -* code.coding ^slicing.ordered = false -* code.coding ^slicing.rules = #open -* code.coding contains loincHeartRhythmCode 1..1 MS and snomedHeartRhythmCode 1..1 MS -* code.coding[loincHeartRhythmCode] insert obligationServer (0, SHALL:process) -* code.coding[loincHeartRhythmCode] insert obligationApp (1, SHALL:populate) -* code.coding[loincHeartRhythmCode].system 1..1 -* code.coding[loincHeartRhythmCode].system = "http://loinc.org" (exactly) -* code.coding[loincHeartRhythmCode].code 1..1 -* code.coding[loincHeartRhythmCode].code = #8884-9 (exactly) -* code.coding[snomedHeartRhythmCode] insert obligation2Server (0, SHALL:populate, SHALL:process) -* code.coding[snomedHeartRhythmCode] insert obligation2App (1, SHALL:populate, SHALL:process) -* code.coding[snomedHeartRhythmCode].system 1..1 -* code.coding[snomedHeartRhythmCode].system = "http://snomed.info/sct" (exactly) -* code.coding[snomedHeartRhythmCode].code 1..1 -* code.coding[snomedHeartRhythmCode].code = #364074009 (exactly) -* code.text MS -* code.text insert obligationApp (1, SHALL:populate) -* subject 1.. MS -* subject only Reference($au-core-patient) -* subject insert obligation2Server (0, SHALL:populate, SHALL:process) -* subject insert obligationApp (1, SHALL:populate) -* effective[x] 1.. MS -* effective[x] only dateTime -* effective[x] obeys shc-heartrhythm-02 -* effective[x] ^short = "Date, and optionally time, the observation was performed" -* effective[x] ^definition = "Date, and optionally time, the observation was performed." -* effective[x] ^condition = "shc-heartrhythm-02" -* effectiveDateTime MS -* effectiveDateTime insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) -* effectiveDateTime insert obligation2App (1, SHALL:populate-if-known, SHALL:process) -* value[x] only CodeableConcept -* value[x] MS -* value[x] from HeartRythym (extensible) -* value[x] ^condition = "shc-heartrhythm-01" -* valueCodeableConcept.coding MS -* valueCodeableConcept.coding insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) -* valueCodeableConcept.coding insert obligation2App (1, SHALL:populate, SHALL:process) -* dataAbsentReason MS -* dataAbsentReason ^condition = "shc-heartrhythm-01" - - -Profile: SmartHealthCheckAllergyIntolerance +Profile: SmartHealthChecksAllergyIntolerance Parent: $au-core-allergyintolerance Id: SHCAllergyIntolerance Title: "Smart Health Checks AllergyIntolerance" @@ -191,7 +122,7 @@ Description: "This profile sets the minimum expectations for an AllergyIntoleran * reaction.manifestation insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) * reaction.manifestation insert obligation2App (3, SHALL:populate-if-known, SHALL:process) -Profile: SmartHealthCheckCondition +Profile: SmartHealthChecksCondition Parent: $au-core-condition Id: SHCCondition Title: "Smart Health Checks Condition" @@ -225,7 +156,35 @@ Description: "This profile sets the minimum expectations for a Condition resourc * note.text insert obligationServer (0, SHALL:process) * note.text insert obligationApp (1, SHALL:populate-if-known) -Profile: SmartHealthCheckMedicationStatement +Profile: SmartHealthChecksImmunization +Parent: $au-core-immunization +Id: SHCImmunization +Title: "Smart Health Checks Immunization" +Description: "This profile sets the minimum expectations for an Immunization resource to record, search and save immunization information when used within Smart Health Checks." + +* status MS +* status insert obligation2Server (2, SHALL:populate, SHALL:process) +* status insert obligationApp (3, SHALL:populate) +* vaccineCode MS +* vaccineCode insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* vaccineCode insert obligation2App (3, SHALL:populate-if-known, SHALL:process) +* vaccineCode.coding[amtVaccineCode] MS +* vaccineCode.coding[amtVaccineCode] insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* vaccineCode.coding[amtVaccineCode] insert obligation2App (3, SHALL:populate-if-known, SHALL:process) +* patient MS +* patient insert obligation2Server (2, SHALL:populate, SHALL:process) +* patient insert obligationApp (3, SHALL:populate) +* occurrenceDateTime MS +* occurrenceDateTime insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* occurrenceDateTime insert obligation2App (3, SHALL:populate-if-known, SHALL:process) +* lotNumber MS +* lotNumber insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) +* lotNumber insert obligation2App (1, SHALL:populate-if-known, SHALL:process) +* note.text MS +* note.text insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) +* note.text insert obligation2App (1, SHALL:populate-if-known, SHALL:process) + +Profile: SmartHealthChecksMedicationStatement Parent: $au-core-medicationstatement Id: SHCMedicationStatement Title: "Smart Health Checks MedicationStatement" @@ -238,8 +197,12 @@ Description: "This profile sets the minimum expectations for a MedicationStateme * status insert obligation2Server (2, SHALL:populate, SHALL:process) * status insert obligationApp (3, SHALL:populate) * medication[x][medicationCodeableConcept] MS -* medication[x][medicationCodeableConcept] insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) -* medication[x][medicationCodeableConcept] insert obligation2App (1, SHALL:populate-if-known, SHALL:process) +* medication[x][medicationCodeableConcept] insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) // NOTE: When migrating to AU Core v2.0.0, update the extension array index from (0) to (2) for medication[x][medicationCodeableConcept] +* medication[x][medicationCodeableConcept] insert obligation2App (1, SHALL:populate-if-known, SHALL:process) // When upgrading to AU Core v2.0.0, update the extension array index from (1) to (3) for medication[x][medicationCodeableConcept] to match the new element order. +* medication[x][medicationReference] MS +* medication[x][medicationReference] only Reference(SHCMedication) +* medication[x][medicationReference] insert obligationServer (2, SHALL:populate-if-known) +* medication[x][medicationReference] insert obligationApp (3, SHALL:process) * subject MS * subject insert obligation2Server (2, SHALL:populate, SHALL:process) * subject insert obligationApp (3, SHALL:populate) @@ -258,35 +221,279 @@ Description: "This profile sets the minimum expectations for a MedicationStateme * dosage.text insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) * dosage.text insert obligation2App (1, SHALL:populate-if-known, SHALL:process) -Profile: SmartHealthCheckImmunization -Parent: $au-core-immunization -Id: SHCImmunization -Title: "Smart Health Checks Immunization" -Description: "This profile sets the minimum expectations for an Immunization resource to record, search and save immunization information when used within Smart Health Checks." +Profile: SmartHealthChecksMedication +Parent: $au-core-medication +Id: SHCMedication +Title: "Smart Health Checks Medication" +Description: "This profile sets the minimum expectations for a Medication resource to search and retrieve medication information when used within Smart Health Checks." + +* id MS +* id insert obligationServer (0, SHALL:populate) +* id insert obligationApp (1, SHALL:process) +* code MS +* code insert obligationServer (2, SHALL:populate-if-known) +* code insert obligationApp (3, SHALL:process) + +Profile: SmartHealthChecksPathologyResult +Parent: $au-core-diagnosticresult-path +Id: SHCPathologyResult +Title: "Smart Health Checks Pathology Result" +Description: "This profile sets the minimum expectations for an Observation resource to search and retrieve pathology result information when used within Smart Health Checks." * status MS -* status insert obligation2Server (2, SHALL:populate, SHALL:process) -* status insert obligationApp (3, SHALL:populate) -* vaccineCode MS -* vaccineCode insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) -* vaccineCode insert obligation2App (3, SHALL:populate-if-known, SHALL:process) -* vaccineCode.coding[amtVaccineCode] MS -* vaccineCode.coding[amtVaccineCode] insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) -* vaccineCode.coding[amtVaccineCode] insert obligation2App (3, SHALL:populate-if-known, SHALL:process) -* patient MS -* patient insert obligation2Server (2, SHALL:populate, SHALL:process) -* patient insert obligationApp (3, SHALL:populate) -* occurrenceDateTime MS -* occurrenceDateTime insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) -* occurrenceDateTime insert obligation2App (3, SHALL:populate-if-known, SHALL:process) -* lotNumber MS -* lotNumber insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) -* lotNumber insert obligation2App (1, SHALL:populate-if-known, SHALL:process) -* note.text MS -* note.text insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) -* note.text insert obligation2App (1, SHALL:populate-if-known, SHALL:process) +* status insert obligationServer (3, SHALL:populate) +* status insert obligationApp (4, SHALL:process) +* code.coding MS +* code.coding insert obligationServer (0, SHALL:populate) +* code.coding insert obligationApp (1, SHALL:process) +* subject MS +* subject insert obligationServer (2, SHALL:populate) +* effectiveDateTime MS +* effectiveDateTime insert obligationServer (2, SHALL:populate-if-known) +* effectiveDateTime insert obligationApp (3, SHALL:process) +* value[x] MS +* value[x] insert obligationServer (0, SHALL:populate-if-known) +* value[x] insert obligationApp (1, SHALL:process) + + +Profile: SmartHealthChecksPatient +Parent: $au-core-patient +Id: SHCPatient +Title: "Smart Health Checks Patient" +Description: "This profile sets the minimum expectations for a Patient resource to record, search and save patient information when used within Smart Health Checks." + +* extension[indigenousStatus] MS +* extension[indigenousStatus] insert obligationServer (2, SHALL:populate-if-known) +* extension[indigenousStatus] insert obligationApp (3, SHALL:process) +* extension[closingTheGapRegistration] MS +* extension[closingTheGapRegistration] insert obligationServer (0, SHALL:populate-if-known) +* extension[closingTheGapRegistration] insert obligationApp (1, SHALL:process) +* extension[genderIdentity] MS +* extension[genderIdentity] insert obligationServer (2, SHALL:populate-if-known) +* extension[genderIdentity] insert obligationApp (3, SHALL:process) +* extension[individualPronouns] MS +* extension[individualPronouns] insert obligationServer (2, SHALL:populate-if-known) +* extension[individualPronouns] insert obligationApp (3, SHALL:process) +* extension[recordedSexOrGender] MS +* extension[recordedSexOrGender] insert obligationServer (0, SHALL:populate-if-known) +* extension[recordedSexOrGender] insert obligationApp (1, SHALL:process) +* identifier contains + pensionerCard ..1 MS and + healthCareCard ..1 MS +* identifier[pensionerCard] only $au-pensionerconcessioncardnumber +* identifier[pensionerCard] insert obligationServer (0, SHALL:populate-if-known) +* identifier[pensionerCard] insert obligationApp (1, SHALL:process) +* identifier[healthCareCard] only $au-healthcarecardnumber +* identifier[healthCareCard] insert obligationServer (0, SHALL:populate-if-known) +* identifier[healthCareCard] insert obligationApp (1, SHALL:process) +* identifier[medicare] MS +* identifier[medicare] insert obligationServer (2, SHALL:populate-if-known) +* identifier[medicare] insert obligationApp (3, SHALL:process) +* name MS +* name insert obligationServer (2, SHALL:populate-if-known) +* name insert obligationApp (3, SHALL:process) +* name.use MS +* name.use insert obligationServer (2, SHALL:populate-if-known) +* name.use insert obligationApp (3, SHALL:process) +* name.text MS +* name.text insert obligationServer (2, SHALL:populate-if-known) +* name.text insert obligationApp (3, SHALL:process) +* name.family MS +* name.family insert obligationServer (2, SHALL:populate-if-known) +* name.family insert obligationApp (3, SHALL:process) +* name.given MS +* name.given insert obligationServer (2, SHALL:populate-if-known) +* name.given insert obligationApp (3, SHALL:process) +* name.prefix MS +* name.prefix insert obligationApp (0, SHALL:process) +* telecom MS +* telecom insert obligationServer (2, SHALL:populate-if-known) +* telecom insert obligationApp (3, SHALL:process) +* telecom.system MS +* telecom.system insert obligationServer (0, SHALL:populate-if-known) +* telecom.system insert obligationApp (1, SHALL:process) +* telecom.value MS +* telecom.value insert obligationServer (0, SHALL:populate-if-known) +* telecom.value insert obligationApp (1, SHALL:process) +* telecom.use MS +* telecom.use insert obligationServer (0, SHALL:populate-if-known) +* telecom.use insert obligationApp (1, SHALL:process) +* gender MS +* gender insert obligationServer (2, SHALL:populate-if-known) +* gender insert obligationApp (3, SHALL:process) +* birthDate MS +* birthDate insert obligationServer (2, SHALL:populate) +* birthDate insert obligationApp (3, SHALL:process) +* address MS +* address only $au-address +* address insert obligationServer (2, SHALL:populate) +* address insert obligationApp (3, SHALL:process) +* address.use MS +* address.use insert obligationServer (0, SHALL:populate-if-known) +* address.use insert obligationApp (1, SHALL:process) +* address.type MS +* address.type insert obligationServer (0, SHALL:populate-if-known) +* address.type insert obligationApp (1, SHALL:process) +* address.line MS +* address.line insert obligationServer (0, SHALL:populate-if-known) +* address.line insert obligationApp (1, SHALL:process) +* address.city MS +* address.city insert obligationServer (0, SHALL:populate-if-known) +* address.city insert obligationApp (1, SHALL:process) +* address.state MS +* address.state insert obligationServer (0, SHALL:populate-if-known) +* address.state insert obligationApp (1, SHALL:process) +* address.postalCode MS +* address.postalCode insert obligationServer (0, SHALL:populate-if-known) +* address.postalCode insert obligationApp (1, SHALL:process) +* contact MS +* contact insert obligationServer (0, SHALL:populate-if-known) +* contact insert obligationApp (1, SHALL:process) +* contact.relationship MS +* contact.relationship insert obligationServer (0, SHALL:populate-if-known) +* contact.relationship insert obligationApp (1, SHALL:process) +* contact.name MS +* contact.name insert obligationServer (0, SHALL:populate-if-known) +* contact.name insert obligationApp (1, SHALL:process) +* contact.name.family MS +* contact.name.family insert obligationServer (0, SHALL:populate-if-known) +* contact.name.family insert obligationApp (1, SHALL:process) +* contact.name.given MS +* contact.name.given insert obligationServer (0, SHALL:populate-if-known) +* contact.name.given insert obligationApp (1, SHALL:process) +* contact.name.prefix MS +* contact.name.prefix insert obligationApp (0, SHALL:process) +* contact.telecom MS +* contact.telecom insert obligationServer (0, SHALL:populate-if-known) +* contact.telecom insert obligationApp (1, SHALL:process) + + +Profile: SmartHealthChecksQuestionnaireResponse +Parent: $sdc-questionnaireresponse +Id: SHCQuestionnaireResponse +Title: "Smart Health Checks Questionnaire Response" +Description: "This profile sets the minimum expectations for a QuestionnaireResponse resource to record, search and save form information when used within Smart Health Checks." + +* id 1.. MS +* id insert obligation2Server (0, SHALL:populate, SHALL:persist) +* id insert obligation2App (1, SHALL:populate, SHALL:process) +* text MS +* text insert obligation2Server (0, SHALL:populate-if-known, SHALL:persist) +* text insert obligation2App (1, SHALL:populate, SHALL:process) +* questionnaire MS +* questionnaire insert obligation2Server (0, SHALL:populate-if-known, SHALL:persist) +* questionnaire insert obligation2App (1, SHALL:populate, SHALL:process) +* questionnaire.extension[questionnaireDisplay] MS +* questionnaire.extension[questionnaireDisplay] insert obligation2Server (0, SHALL:populate-if-known, SHALL:persist) +* questionnaire.extension[questionnaireDisplay] insert obligation2App (1, SHALL:populate, SHALL:process) +* status MS +* status insert obligation2Server (0, SHALL:populate, SHALL:persist) +* status insert obligation2App (1, SHALL:populate, SHALL:process) +* subject 1.. MS +* subject insert obligation2Server (0, SHALL:populate, SHALL:persist) +* subject insert obligation2App (1, SHALL:populate, SHALL:process) +* encounter MS +* encounter insert obligation2Server (0, SHALL:populate-if-known, SHALL:persist) +* encounter insert obligation2App (1, SHALL:populate-if-known, SHALL:process) +* authored MS +* authored insert obligation2Server (0, SHALL:populate, SHALL:persist) +* authored insert obligation2App (1, SHALL:populate, SHALL:process) +* author 1.. MS +* author insert obligation2Server (0, SHALL:populate, SHALL:persist) +* author insert obligation2App (1, SHALL:populate, SHALL:process) +* item MS +* item insert obligation2Server (0, SHALL:populate-if-known, SHALL:persist) +* item insert obligation2App (1, SHALL:populate-if-known, SHALL:process) +* item.linkId MS +* item.linkId insert obligation2Server (0, SHALL:populate-if-known, SHALL:persist) +* item.linkId insert obligation2App (1, SHALL:populate-if-known, SHALL:process) +* item.text MS +* item.text insert obligation2Server (0, SHALL:populate-if-known, SHALL:persist) +* item.text insert obligation2App (1, SHALL:populate-if-known, SHALL:process) +* item.answer MS +* item.answer insert obligation2Server (0, SHALL:populate-if-known, SHALL:persist) +* item.answer insert obligation2App (1, SHALL:populate-if-known, SHALL:process) +* item.answer.value[x] MS +* item.answer.value[x] insert obligation2Server (0, SHALL:populate-if-known, SHALL:persist) +* item.answer.value[x] insert obligation2App (1, SHALL:populate-if-known, SHALL:process) +* item.item MS +* item.item insert obligation2Server (0, SHALL:populate-if-known, SHALL:persist) +* item.item insert obligation2App (1, SHALL:populate-if-known, SHALL:process) + + +Profile: SmartHealthChecksHeartRhythm +Parent: Observation +Id: SHCHeartRhythm +Title: "Smart Health Checks Heart Rhythm" +Description: "This profile sets the minimum expectations for an Observation resource to record heart rhythm observations. It is used to represent heart rhythm data captured during a First Nations Health Check that can be used to record the observation in a clinical record." -Profile: SmartHealthCheckBloodPressure +* . ^short = "Heart Rhythm" +* . ^definition = "Measurement of a patient's heart rhythm at a point in time." +* . ^comment = "Heart rhythm observation using a LOINC code, a SNOMED CT code and a metric UCUM unit of measure." +* obeys shc-heartrhythm-01 +* status MS +* status insert obligation2Server (1, SHALL:populate, SHALL:process) +* status insert obligation2App (2, SHALL:populate, SHALL:process) +* category MS +* category ^slicing.discriminator[0].type = #value +* category ^slicing.discriminator[=].path = "coding.code" +* category ^slicing.discriminator[+].type = #value +* category ^slicing.discriminator[=].path = "coding.system" +* category ^slicing.ordered = false +* category ^slicing.rules = #open +* category contains vitalSignsCategory 1..1 MS +* category[vitalSignsCategory] = http://terminology.hl7.org/CodeSystem/observation-category#vital-signs (exactly) +* category[vitalSignsCategory] insert obligationServer (0, SHALL:process) +* category[vitalSignsCategory] insert obligationApp (1, SHALL:populate) +* code MS +* code ^short = "Heart Rhythm" +* code ^definition = "Heart Rhythm." +* code.coding MS +* code.coding ^slicing.discriminator[0].type = #value +* code.coding ^slicing.discriminator[=].path = "code" +* code.coding ^slicing.discriminator[+].type = #value +* code.coding ^slicing.discriminator[=].path = "system" +* code.coding ^slicing.ordered = false +* code.coding ^slicing.rules = #open +* code.coding contains loincHeartRhythmCode 1..1 MS and snomedHeartRhythmCode 1..1 MS +* code.coding[loincHeartRhythmCode] insert obligationServer (0, SHALL:process) +* code.coding[loincHeartRhythmCode] insert obligationApp (1, SHALL:populate) +* code.coding[loincHeartRhythmCode].system 1..1 +* code.coding[loincHeartRhythmCode].system = "http://loinc.org" (exactly) +* code.coding[loincHeartRhythmCode].code 1..1 +* code.coding[loincHeartRhythmCode].code = #8884-9 (exactly) +* code.coding[snomedHeartRhythmCode] insert obligation2Server (0, SHALL:populate, SHALL:process) +* code.coding[snomedHeartRhythmCode] insert obligation2App (1, SHALL:populate, SHALL:process) +* code.coding[snomedHeartRhythmCode].system 1..1 +* code.coding[snomedHeartRhythmCode].system = "http://snomed.info/sct" (exactly) +* code.coding[snomedHeartRhythmCode].code 1..1 +* code.coding[snomedHeartRhythmCode].code = #364074009 (exactly) +* code.text MS +* code.text insert obligationApp (1, SHALL:populate) +* subject 1.. MS +* subject only Reference($au-core-patient) +* subject insert obligation2Server (0, SHALL:populate, SHALL:process) +* subject insert obligationApp (1, SHALL:populate) +* effective[x] 1.. MS +* effective[x] only dateTime +* effective[x] obeys shc-heartrhythm-02 +* effective[x] ^short = "Date, and optionally time, the observation was performed" +* effective[x] ^definition = "Date, and optionally time, the observation was performed." +* effective[x] ^condition = "shc-heartrhythm-02" +* effectiveDateTime MS +* effectiveDateTime insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) +* effectiveDateTime insert obligation2App (1, SHALL:populate-if-known, SHALL:process) +* value[x] only CodeableConcept +* value[x] MS +* value[x] from HeartRhythm (extensible) +* value[x] ^condition = "shc-heartrhythm-01" +* valueCodeableConcept.coding MS +* valueCodeableConcept.coding insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) +* valueCodeableConcept.coding insert obligation2App (1, SHALL:populate, SHALL:process) +* dataAbsentReason MS +* dataAbsentReason ^condition = "shc-heartrhythm-01" + +Profile: SmartHealthChecksBloodPressure Parent: $au-core-bloodpressure Id: SHCBloodPressure Title: "Smart Health Checks Blood Pressure" @@ -319,7 +526,7 @@ Description: "This profile sets the minimum expectations for a Blood Pressure re * component[DiastolicBP] insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) * component[DiastolicBP] insert obligation2App (3, SHALL:populate-if-known, SHALL:process) -Profile: SmartHealthCheckSmokingStatus +Profile: SmartHealthChecksSmokingStatus Parent: $au-core-smokingstatus Id: SHCSmokingStatus Title: "Smart Health Checks Smoking Status" @@ -349,7 +556,7 @@ Description: "This profile sets the minimum expectations for a Smoking Status re * valueCodeableConcept.coding insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) * valueCodeableConcept.coding insert obligation2App (1, SHALL:populate, SHALL:process) -Profile: SmartHealthCheckBodyHeight +Profile: SmartHealthChecksBodyHeight Parent: $au-core-bodyheight Id: SHCBodyHeight Title: "Smart Health Checks Body Height" @@ -388,7 +595,7 @@ Description: "This profile sets the minimum expectations for a Body Height resou * valueQuantity.code insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) * valueQuantity.code insert obligation2App (3, SHALL:populate, SHALL:process) -Profile: SmartHealthCheckBodyWeight +Profile: SmartHealthChecksBodyWeight Parent: $au-core-bodyweight Id: SHCBodyWeight Title: "Smart Health Checks Body Weight" @@ -427,7 +634,7 @@ Description: "This profile sets the minimum expectations for a Body Weight resou * valueQuantity.code insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) * valueQuantity.code insert obligation2App (3, SHALL:populate, SHALL:process) -Profile: SmartHealthCheckHeadCircumference +Profile: SmartHealthChecksHeadCircumference Parent: $au-core-headcircum Id: SHCHeadCircumference Title: "Smart Health Checks Head Circumference" @@ -466,7 +673,7 @@ Description: "This profile sets the minimum expectations for a Head Circumferenc * valueQuantity.code insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) * valueQuantity.code insert obligation2App (1, SHALL:populate, SHALL:process) -Profile: SmartHealthCheckWaistCircumference +Profile: SmartHealthChecksWaistCircumference Parent: $au-core-waistcircum Id: SHCWaistCircumference Title: "Smart Health Checks Waist Circumference" @@ -505,7 +712,7 @@ Description: "This profile sets the minimum expectations for a Waist Circumferen * valueQuantity.code insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) * valueQuantity.code insert obligation2App (1, SHALL:populate, SHALL:process) -Profile: SmartHealthCheckHeartRate +Profile: SmartHealthChecksHeartRate Parent: $au-core-heartrate Id: SHCHeartRate Title: "Smart Health Checks Heart Rate" @@ -543,4 +750,3 @@ Description: "This profile sets the minimum expectations for a Heart Rate resour * valueQuantity.code MS * valueQuantity.code insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) * valueQuantity.code insert obligation2App (3, SHALL:populate, SHALL:process) - diff --git a/input/fsh/terminology.fsh b/input/fsh/terminology.fsh index 1a42aca8..9066e468 100644 --- a/input/fsh/terminology.fsh +++ b/input/fsh/terminology.fsh @@ -1462,7 +1462,7 @@ Description: "The Medication Reason Taken value set includes values that identif * include codes from system SNOMED_CT where constraint = "^ 32570581000036105|Problem/Diagnosis reference set| OR ^ 1184831000168105|Drug prophylaxis reference set| OR << 399097000|Administration of anaesthesia| OR 169443000|Preventive procedure|" -ValueSet: HeartRythym +ValueSet: HeartRhythm Id: heart-rhythm-1 Title: "Heart Rhythm" Description: "The Heart Rhythm value set includes values that may be used to represent the heart rhythm of an individual." From 8db811c04aa42100d5c752fe37ab36f5be29aef1 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Mon, 14 Jul 2025 13:06:35 +1000 Subject: [PATCH 137/177] De dupe resource names by changing value set name --- ...ImplementationGuide-csiro.fhir.au.smartforms.json | 12 ++++++------ .../resources/Questionnaire-RegularMedications.json | 12 ++++++------ ...ueSet-smart-health-checks-medicine-products.json} | 10 +++++----- input/fsh/715-Assessment-RegularMedications.fsh | 4 ++-- input/fsh/terminology.fsh | 8 ++++---- 5 files changed, 23 insertions(+), 23 deletions(-) rename fsh-generated/resources/{ValueSet-smarthealthchecks-medication.json => ValueSet-smart-health-checks-medicine-products.json} (59%) diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index 97935194..7ec38f62 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -613,18 +613,18 @@ }, { "reference": { - "reference": "ValueSet/smarthealthchecks-medication" + "reference": "StructureDefinition/SHCMedicationStatement" }, - "name": "Smart Health Checks Medication", - "description": "The Smart Health Checks Medication value set includes Australian Medicines Terminology (AMT) product concepts that may be used for the identification of a medicine with form, ingredient and unit of measure details.", + "name": "Smart Health Checks MedicationStatement", + "description": "This profile sets the minimum expectations for a MedicationStatement resource to record, search and save medication information when used within Smart Health Checks.", "exampleBoolean": false }, { "reference": { - "reference": "StructureDefinition/SHCMedicationStatement" + "reference": "ValueSet/smart-health-checks-medicine-products" }, - "name": "Smart Health Checks MedicationStatement", - "description": "This profile sets the minimum expectations for a MedicationStatement resource to record, search and save medication information when used within Smart Health Checks.", + "name": "Smart Health Checks Medicine Products", + "description": "The Smart Health Checks Medicine Products value set includes Australian Medicines Terminology (AMT) product concepts that may be used for the identification of a medicine with form, ingredient and unit of measure details.", "exampleBoolean": false }, { diff --git a/fsh-generated/resources/Questionnaire-RegularMedications.json b/fsh-generated/resources/Questionnaire-RegularMedications.json index 1d877e51..df6834d6 100644 --- a/fsh-generated/resources/Questionnaire-RegularMedications.json +++ b/fsh-generated/resources/Questionnaire-RegularMedications.json @@ -176,7 +176,7 @@ "type": "open-choice", "repeats": false, "readOnly": true, - "answerValueSet": "#smarthealthchecks-medication" + "answerValueSet": "#smart-health-checks-medicine-products" }, { "extension": [ @@ -576,12 +576,12 @@ }, { "resourceType": "ValueSet", - "id": "smarthealthchecks-medication", + "id": "smart-health-checks-medicine-products", "status": "draft", - "name": "SmartHealthChecksMedication", - "title": "Smart Health Checks Medication", - "description": "The Smart Health Checks Medication value set includes Australian Medicines Terminology (AMT) product concepts that may be used for the identification of a medicine with form, ingredient and unit of measure details.", - "url": "https://smartforms.csiro.au/ig/ValueSet/smarthealthchecks-medication", + "name": "SmartHealthChecksMedicineProducts", + "title": "Smart Health Checks Medicine Products", + "description": "The Smart Health Checks Medicine Products value set includes Australian Medicines Terminology (AMT) product concepts that may be used for the identification of a medicine with form, ingredient and unit of measure details.", + "url": "https://smartforms.csiro.au/ig/ValueSet/smart-health-checks-medicine-products", "experimental": false, "compose": { "include": [ diff --git a/fsh-generated/resources/ValueSet-smarthealthchecks-medication.json b/fsh-generated/resources/ValueSet-smart-health-checks-medicine-products.json similarity index 59% rename from fsh-generated/resources/ValueSet-smarthealthchecks-medication.json rename to fsh-generated/resources/ValueSet-smart-health-checks-medicine-products.json index 9f77bbc9..e3900bab 100644 --- a/fsh-generated/resources/ValueSet-smarthealthchecks-medication.json +++ b/fsh-generated/resources/ValueSet-smart-health-checks-medicine-products.json @@ -1,11 +1,11 @@ { "resourceType": "ValueSet", "status": "draft", - "name": "SmartHealthChecksMedication", - "id": "smarthealthchecks-medication", - "title": "Smart Health Checks Medication", - "description": "The Smart Health Checks Medication value set includes Australian Medicines Terminology (AMT) product concepts that may be used for the identification of a medicine with form, ingredient and unit of measure details.", - "url": "https://smartforms.csiro.au/ig/ValueSet/smarthealthchecks-medication", + "name": "SmartHealthChecksMedicineProducts", + "id": "smart-health-checks-medicine-products", + "title": "Smart Health Checks Medicine Products", + "description": "The Smart Health Checks Medicine Products value set includes Australian Medicines Terminology (AMT) product concepts that may be used for the identification of a medicine with form, ingredient and unit of measure details.", + "url": "https://smartforms.csiro.au/ig/ValueSet/smart-health-checks-medicine-products", "experimental": false, "compose": { "include": [ diff --git a/input/fsh/715-Assessment-RegularMedications.fsh b/input/fsh/715-Assessment-RegularMedications.fsh index 40d56838..d0c8d24a 100644 --- a/input/fsh/715-Assessment-RegularMedications.fsh +++ b/input/fsh/715-Assessment-RegularMedications.fsh @@ -9,7 +9,7 @@ Title: "Aboriginal and Torres Strait Islander Health Check - Regular Medications Description: "Regular Medications sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." * contained[+] = YesNo -* contained[+] = smarthealthchecks-medication +* contained[+] = smart-health-checks-medicine-products * contained[+] = medication-reason-taken-1 * contained[+] = MedicationStatementTemplate * contained[+] = MedicationStatementPatchTemplate @@ -137,7 +137,7 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * item.item[=].item[=].item[=].type = #open-choice * item.item[=].item[=].item[=].repeats = false * item.item[=].item[=].item[=].readOnly = true -* item.item[=].item[=].item[=].answerValueSet = "#smarthealthchecks-medication" +* item.item[=].item[=].item[=].answerValueSet = "#smart-health-checks-medicine-products" /* * item.item[=].item[=].item[+].extension.url = "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl" * item.item[=].item[=].item[=].extension.valueCodeableConcept = $questionnaire-item-control#autocomplete diff --git a/input/fsh/terminology.fsh b/input/fsh/terminology.fsh index 9066e468..815a1a3b 100644 --- a/input/fsh/terminology.fsh +++ b/input/fsh/terminology.fsh @@ -1432,10 +1432,10 @@ Description: "The Australian Medicines Terminology (AMT) Vaccine value set inclu * ^copyright = "Copyright © 2018 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\n This resource includes SNOMED Clinical Terms™ (SNOMED CT®) which is used by permission of the International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. “SNOMED” and “SNOMED CT” are registered trademarks of the IHTSDO. \n\nThe rights to use and implement or implementation of SNOMED CT content are limited to the extent it is necessary to allow for the end use of this material. No further rights are granted in respect of the International Release and no further use of any SNOMED CT content by any other party is permitted. \n\nAll copies of this resource must include this copyright statement and all information contained in this statement." * include codes from system SNOMED_CT where concept in "1156291000168106" -ValueSet: SmartHealthChecksMedication -Id: smarthealthchecks-medication -Title: "Smart Health Checks Medication" -Description: "The Smart Health Checks Medication value set includes Australian Medicines Terminology (AMT) product concepts that may be used for the identification of a medicine with form, ingredient and unit of measure details." +ValueSet: SmartHealthChecksMedicineProducts +Id: smart-health-checks-medicine-products +Title: "Smart Health Checks Medicine Products" +Description: "The Smart Health Checks Medicine Products value set includes Australian Medicines Terminology (AMT) product concepts that may be used for the identification of a medicine with form, ingredient and unit of measure details." * ^experimental = false * include codes from system http://snomed.info/sct|http://snomed.info/sct/32506021000036107 where constraint = "^ 929360081000036101|Medicinal product pack reference set| OR ^ 929360071000036103|Medicinal product unit of use reference set| OR ^ 929360041000036105|Trade product pack reference set| OR ^ 929360031000036100|Trade product unit of use reference set| OR ^ 929360051000036108|Containered trade product pack reference set|" From e7a01971f1be59e2a38842dfd8eb6586de994a38 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Mon, 14 Jul 2025 18:15:11 +1000 Subject: [PATCH 138/177] update, publisher, add jurisdiction to IG, minor sushi-config fixes, patient details updates (writeback instruction, additional read only fields, closing the gap prepop) --- _build.new.bat | 386 ------------------ ...ntationGuide-csiro.fhir.au.smartforms.json | 13 +- .../Questionnaire-PatientDetails.json | 26 +- input/fsh/715-PatientDetails.fsh | 14 +- sushi-config.yaml | 17 +- 5 files changed, 55 insertions(+), 401 deletions(-) delete mode 100644 _build.new.bat diff --git a/_build.new.bat b/_build.new.bat deleted file mode 100644 index 2bf0d793..00000000 --- a/_build.new.bat +++ /dev/null @@ -1,386 +0,0 @@ -@ECHO OFF -setlocal enabledelayedexpansion - -SET "dlurl=https://github.com/HL7/fhir-ig-publisher/releases/latest/download/publisher.jar" -SET "publisher_jar=publisher.jar" -SET "input_cache_path=%CD%\input-cache\" -SET "skipPrompts=false" -SET "upper_path=..\" -SET "scriptdlroot=https://raw.githubusercontent.com/HL7/ig-publisher-scripts/main" -SET "build_bat_url=%scriptdlroot%/_build.bat" -SET "build_sh_url=%scriptdlroot%/_build.sh" - - - -:: Debugging statements to check jar file location -ECHO Checking for publisher.jar in %input_cache_path% -IF EXIST "%input_cache_path%%publisher_jar%" ( - SET "jar_location=%input_cache_path%%publisher_jar%" - ECHO Found publisher.jar in input-cache -) ELSE ( - ECHO Checking for publisher.jar in %upper_path% - IF EXIST "%upper_path%%publisher_jar%" ( - SET "jar_location=%upper_path%%publisher_jar%" - ECHO Found publisher.jar in parent folder - ) ELSE ( - SET "jar_location=not_found" - SET "default_choice=1" - ECHO publisher.jar not found in input-cache or parent folder - ) -) - - -:: Handle command-line argument to bypass the menu -IF NOT "%~1"=="" ( - IF /I "%~1"=="update" SET "userChoice=1" - IF /I "%~1"=="build" SET "userChoice=2" - IF /I "%~1"=="nosushi" SET "userChoice=3" - IF /I "%~1"=="notx" SET "userChoice=4" - IF /I "%~1"=="jekyll" SET "userChoice=5" - IF /I "%~1"=="clean" SET "userChoice=6" - IF /I "%~1"=="exit" SET "userChoice=0" - GOTO executeChoice -) - -echo --------------------------------------------------------------- -ECHO Checking internet connection... -PING tx.fhir.org -4 -n 1 -w 4000 >nul 2>&1 && SET "online_status=true" || SET "online_status=false" - -IF "%online_status%"=="true" ( - ECHO We're online and tx.fhir.org is available. - FOR /F "tokens=2 delims=:" %%a IN ('curl -s https://api.github.com/repos/HL7/fhir-ig-publisher/releases/latest ^| findstr "tag_name"') DO SET "latest_version=%%a" - SET "latest_version=!latest_version:"=!" - SET "latest_version=!latest_version: =!" - SET "latest_version=!latest_version:~0,-1!" -) ELSE ( - ECHO We're offline or tx.fhir.org is not available, can only run the publisher without TX... - SET "txoption=-tx n/a" - SET "latest_version=unknown" - SET "default_choice=4" -) - -echo --------------------------------------------------------------- - - -IF NOT "%jar_location%"=="not_found" ( - FOR /F "tokens=*" %%i IN ('java "-Dfile.encoding=UTF-8" -jar "%jar_location%" -v 2^>^&1') DO SET "publisher_version=%%i" - SET "publisher_version=!publisher_version:"=!" - ECHO Detected publisher version: !publisher_version! -) ELSE ( - SET "publisher_version=unknown" - ECHO publisher.jar location is not found -) - -ECHO Publisher version: !publisher_version!; Latest is !latest_version! - -IF NOT "%online_status%"=="true" ( - ECHO We're offline. -) ELSE ( - IF NOT "!publisher_version!"=="!latest_version!" ( - ECHO An update is recommended. - SET "default_choice=1" - ) ELSE ( - ECHO Publisher is up to date. - SET "default_choice=2" - ) -) - -echo --------------------------------------------------------------- -echo. - -echo Please select an option: -echo 1. Download or upload publisher -echo 2. Build IG -echo 3. Build IG - no sushi -echo 4. Build IG - force no TX server -echo 5. Jekyll build -echo 6. Clean up temp directories -echo 0. Exit -:: echo [Press Enter for default (%default_choice%) or type an option number:] -echo. - -:: Using CHOICE to handle input with timeout -:: ECHO [Enter=Continue, 1-7=Option, 0=Exit] -choice /C 12345670 /N /CS /D %default_choice% /T 5 /M "Choose an option number or wait 5 seconds for default (%default_choice%):" -SET "userChoice=%ERRORLEVEL%" - - -:executeChoice -echo You selected: %userChoice% - -IF "%userChoice%"=="1" GOTO downloadpublisher -IF "%userChoice%"=="2" GOTO publish_once -IF "%userChoice%"=="3" GOTO publish_nosushi -IF "%userChoice%"=="4" GOTO publish_notx -IF "%userChoice%"=="5" GOTO debugjekyll -IF "%userChoice%"=="6" GOTO clean -IF "%userChoice%"=="0" EXIT /B - -:end - - - -:debugjekyll - echo Running Jekyll build... - jekyll build -s temp/pages -d output -GOTO end - - -:clean - echo Cleaning up directories... - if exist ".\input-cache\publisher.jar" ( - echo Preserving publisher.jar and removing other files in .\input-cache... - move ".\input-cache\publisher.jar" ".\" - rmdir /s /q ".\input-cache" - mkdir ".\input-cache" - move ".\publisher.jar" ".\input-cache" - ) else ( - if exist ".\input-cache\" ( - rmdir /s /q ".\input-cache" - ) - ) - if exist ".\temp\" ( - rmdir /s /q ".\temp" - echo Removed: .\temp - ) - if exist ".\output\" ( - rmdir /s /q ".\output" - echo Removed: .\output - ) - if exist ".\template\" ( - rmdir /s /q ".\template" - echo Removed: .\template - ) - -GOTO end - - - - - -:downloadpublisher -ECHO Downloading Publisher... -:processflags -SET ARG=%1 -IF DEFINED ARG ( - IF "%ARG%"=="-f" SET FORCE=true - IF "%ARG%"=="--force" SET FORCE=true - SHIFT - GOTO processflags -) - -FOR %%x IN ("%CD%") DO SET upper_path=%%~dpx - -ECHO. -IF NOT EXIST "%input_cache_path%%publisher_jar%" ( - IF NOT EXIST "%upper_path%%publisher_jar%" ( - SET jarlocation="%input_cache_path%%publisher_jar%" - SET jarlocationname=Input Cache - ECHO IG Publisher is not yet in input-cache or parent folder. - REM we don't use jarlocation below because it will be empty because we're in a bracketed if statement - GOTO create - ) ELSE ( - ECHO IG Publisher FOUND in parent folder - SET jarlocation="%upper_path%%publisher_jar%" - SET jarlocationname=Parent folder - GOTO upgrade - ) -) ELSE ( - ECHO IG Publisher FOUND in input-cache - SET jarlocation="%input_cache_path%%publisher_jar%" - SET jarlocationname=Input Cache - GOTO upgrade -) - -:create -IF DEFINED FORCE ( - MKDIR "%input_cache_path%" 2> NUL - GOTO download -) - -IF "%skipPrompts%"=="y" ( - SET create=Y -) ELSE ( - SET /p create="Download? (Y/N) " -) -IF /I "%create%"=="Y" ( - ECHO Will place publisher jar here: %input_cache_path%%publisher_jar% - MKDIR "%input_cache_path%" 2> NUL - GOTO download -) -GOTO done - -:upgrade -IF "%skipPrompts%"=="y" ( - SET overwrite=Y -) ELSE ( - SET /p overwrite="Overwrite %jarlocation%? (Y/N) " -) - -IF /I "%overwrite%"=="Y" ( - GOTO download -) -GOTO done - -:download -ECHO Downloading most recent publisher to %jarlocationname% - it's ~200 MB, so this may take a bit - -FOR /f "tokens=4-5 delims=. " %%i IN ('ver') DO SET VERSION=%%i.%%j -IF "%version%" == "10.0" GOTO win10 -IF "%version%" == "6.3" GOTO win8.1 -IF "%version%" == "6.2" GOTO win8 -IF "%version%" == "6.1" GOTO win7 -IF "%version%" == "6.0" GOTO vista - -ECHO Unrecognized version: %version% -GOTO done - -:win10 -CALL POWERSHELL -command if ('System.Net.WebClient' -as [type]) {(new-object System.Net.WebClient).DownloadFile(\"%dlurl%\",\"%jarlocation%\") } else { Invoke-WebRequest -Uri "%dlurl%" -Outfile "%jarlocation%" } - -GOTO done - -:win7 -rem this may be triggering the antivirus - bitsadmin.exe is a known threat -rem CALL bitsadmin /transfer GetPublisher /download /priority normal "%dlurl%" "%jarlocation%" - -rem this didn't work in win 10 -rem CALL Start-BitsTransfer /priority normal "%dlurl%" "%jarlocation%" - -rem this should work - untested -call (New-Object Net.WebClient).DownloadFile('%dlurl%', '%jarlocation%') -GOTO done - -:win8.1 -:win8 -:vista -GOTO done - - - -:done - - - - -ECHO. -ECHO Updating scripts -IF "%skipPrompts%"=="y" ( - SET updateScripts=Y -) ELSE ( - SET /p updateScripts="Update scripts? (Y/N) " -) -IF /I "%updateScripts%"=="Y" ( - GOTO scripts -) -GOTO end - - -:scripts - -REM Download all batch files (and this one with a new name) - -SETLOCAL DisableDelayedExpansion - - - -:dl_script_1 -ECHO Updating _build.sh -call POWERSHELL -command if ('System.Net.WebClient' -as [type]) {(new-object System.Net.WebClient).DownloadFile(\"%build_sh_url%\",\"_build.new.sh\") } else { Invoke-WebRequest -Uri "%build_sh_url%" -Outfile "_build.new.sh" } -if %ERRORLEVEL% == 0 goto upd_script_1 -echo "Errors encountered during download: %errorlevel%" -goto dl_script_2 -:upd_script_1 -start copy /y "_build.new.sh" "_build.sh" ^&^& del "_build.new.sh" ^&^& exit - - -:dl_script_2 -ECHO Updating _build.bat -call POWERSHELL -command if ('System.Net.WebClient' -as [type]) {(new-object System.Net.WebClient).DownloadFile(\"%build_bat_url%\",\"_build.new.bat\") } else { Invoke-WebRequest -Uri "%build_bat_url%" -Outfile "_build.new.bat" } -if %ERRORLEVEL% == 0 goto upd_script_2 -echo "Errors encountered during download: %errorlevel%" -goto end -:upd_script_2 -start copy /y "_build.new.bat" "_build.bat" ^&^& del "_build.new.bat" ^&^& exit - - -GOTO end - - -:publish_once - -SET JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8 - -:: Debugging statements before running publisher -ECHO 1jar_location is: %jar_location% -IF NOT "%jar_location%"=="not_found" ( - java %JAVA_OPTS% -jar "%jar_location%" -ig . %txoption% %* -) ELSE ( - ECHO IG Publisher NOT FOUND in input-cache or parent folder. Please run _updatePublisher. Aborting... -) - -GOTO end - - - -:publish_nosushi - -SET JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8 - -:: Debugging statements before running publisher -ECHO 3jar_location is: %jar_location% -IF NOT "%jar_location%"=="not_found" ( - java %JAVA_OPTS% -jar "%jar_location%" -ig . %txoption% -no-sushi %* -) ELSE ( - ECHO IG Publisher NOT FOUND in input-cache or parent folder. Please run _updatePublisher. Aborting... -) - -GOTO end - - -:publish_notx -SET txoption=-tx n/a - -SET JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8 - -:: Debugging statements before running publisher -ECHO 2jar_location is: %jar_location% -IF NOT "%jar_location%"=="not_found" ( - java %JAVA_OPTS% -jar "%jar_location%" -ig . %txoption% %* -) ELSE ( - ECHO IG Publisher NOT FOUND in input-cache or parent folder. Please run _updatePublisher. Aborting... -) - -GOTO end - - - - -:publish_continuous - -SET JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8 - -:: Debugging statements before running publisher -ECHO Checking %input_cache_path% for publisher.jar -IF EXIST "%input_cache_path%\%publisher_jar%" ( - java %JAVA_OPTS% -jar "%input_cache_path%\%publisher_jar%" -ig . %txoption% -watch %* -) ELSE ( - ECHO Checking %upper_path% for publisher.jar - IF EXIST "..\%publisher_jar%" ( - java %JAVA_OPTS% -jar "..\%publisher_jar%" -ig . %txoption% -watch %* - ) ELSE ( - ECHO IG Publisher NOT FOUND in input-cache or parent folder. Please run _updatePublisher. Aborting... - ) -) - -GOTO end - - -:end - -:: Pausing at the end - - -IF NOT "%skipPrompts%"=="true" ( - PAUSE -) diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index 7ec38f62..ce6aac9e 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -20,7 +20,18 @@ } ], "description": "The Smart Health Checks FHIR Implementation Guide supports the integration of the Smart Health Checks App within a patient management system enabling users to complete health check assessments such as the Aboriginal and Torres Strait Islander Health Check.", - "copyright": "Copyright © 2022+ Australian Government Department of Health and Aged Care - All rights reserved. This content is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. See https://creativecommons.org/licenses/by-sa/4.0/.", + "jurisdiction": [ + { + "coding": [ + { + "code": "AU", + "system": "urn:iso:std:iso:3166", + "display": "Australia" + } + ] + } + ], + "copyright": "Copyright © 2022+ Australian Government Department of Health and Aged Care - All rights reserved.\nThis content is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.\nSee https://creativecommons.org/licenses/by-sa/4.0/.\n", "packageId": "csiro.fhir.au.smartforms", "license": "CC-BY-SA-4.0", "fhirVersion": [ diff --git a/fsh-generated/resources/Questionnaire-PatientDetails.json b/fsh-generated/resources/Questionnaire-PatientDetails.json index 0240610b..5910be78 100644 --- a/fsh-generated/resources/Questionnaire-PatientDetails.json +++ b/fsh-generated/resources/Questionnaire-PatientDetails.json @@ -78,6 +78,19 @@ } ] }, + { + "linkId": "patientdetails-writebackinstruction", + "text": "This section contains several read only, non-editable items. Updates to these items will need to be done in the patient record. The form can be repopulated to include any updates.", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
    This section contains several read only, non-editable items. Updates to these items will need to be done in the patient record. The form can be repopulated to include any updates.
    " + } + ] + }, + "type": "display" + }, { "extension": [ { @@ -868,6 +881,7 @@ "text": "Pensioner Card Number", "type": "string", "repeats": false, + "readOnly": true, "maxLength": 10 }, { @@ -884,10 +898,18 @@ "text": "Health Care Card Number", "type": "string", "repeats": false, + "readOnly": true, "maxLength": 10 }, { "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%patient.extension.where(url='http://hl7.org.au/fhir/StructureDefinition/closing-the-gap-registration').value" + } + }, { "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", "valueCodeableConcept": { @@ -906,9 +928,9 @@ ], "linkId": "83814495-3a81-43f4-88df-42186cce516a", "text": "Registered for Closing the Gap PBS Co-payment Measure (CTG)", - "type": "choice", + "type": "boolean", "repeats": false, - "answerValueSet": "#YesNoNA" + "readOnly": true }, { "extension": [ diff --git a/input/fsh/715-PatientDetails.fsh b/input/fsh/715-PatientDetails.fsh index 24c270b1..d52a3b49 100644 --- a/input/fsh/715-PatientDetails.fsh +++ b/input/fsh/715-PatientDetails.fsh @@ -115,6 +115,11 @@ Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait * question = "MarkComplete-32" // Section complete item * operator = #= * answerBoolean = true + * item[+] + * linkId = "patientdetails-writebackinstruction" + * text = "This section contains several read only, non-editable items. Updates to these items will need to be done in the patient record. The form can be repopulated to include any updates." + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
    This section contains several read only, non-editable items. Updates to these items will need to be done in the patient record. The form can be repopulated to include any updates.
    " + * type = #display * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath @@ -490,6 +495,7 @@ Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait * text = "Pensioner Card Number" * type = #string * repeats = false + * readOnly = true * maxLength = 10 * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression @@ -499,15 +505,19 @@ Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait * text = "Health Care Card Number" * type = #string * repeats = false + * readOnly = true * maxLength = 10 * item[+] + * extension[sdc-questionnaire-initialExpression].valueExpression + * language = #text/fhirpath + * expression = "%patient.extension.where(url='http://hl7.org.au/fhir/StructureDefinition/closing-the-gap-registration').value" * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#radio-button * extension[questionnaire-choiceOrientation].valueCode = #horizontal * linkId = "83814495-3a81-43f4-88df-42186cce516a" * text = "Registered for Closing the Gap PBS Co-payment Measure (CTG)" - * type = #choice + * type = #boolean * repeats = false - * answerValueSet = "#YesNoNA" + * readOnly = true * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath diff --git a/sushi-config.yaml b/sushi-config.yaml index 7be47158..1bcbabbc 100644 --- a/sushi-config.yaml +++ b/sushi-config.yaml @@ -6,7 +6,7 @@ id: csiro.fhir.au.smartforms canonical: https://smartforms.csiro.au/ig name: SmartHealthChecks -title: Smart Health Checks +title: Smart Health Checks description: The Smart Health Checks FHIR Implementation Guide supports the integration of the Smart Health Checks App within a patient management system enabling users to complete health check assessments such as the Aboriginal and Torres Strait Islander Health Check. status: draft # draft | active | retired | unknown version: 0.3.0 @@ -14,7 +14,7 @@ fhirVersion: 4.0.1 # https://www.hl7.org/fhir/valueset-FHIR-version.html copyrightYear: 2022+ releaseLabel: ci-build # ci-build | draft | qa-preview | ballot | trial-use | release | update | normative+trial-use license: CC-BY-SA-4.0 # https://www.hl7.org/fhir/valueset-spdx-license.html -# jurisdiction: urn:iso:std:iso:3166#US "United States of America" # https://www.hl7.org/fhir/valueset-jurisdiction.html +jurisdiction: urn:iso:std:iso:3166#AU "Australia" # https://www.hl7.org/fhir/valueset-jurisdiction.html publisher: name: AEHRC CSIRO url: https://confluence.csiro.au/display/PCDQFPhase2/Primary+Care+Data+Quality+Foundations+-+Phase+2 @@ -25,14 +25,12 @@ publisher: # use cases, the value can be an object with keys for id, uri, and version. # dependencies: - hl7.fhir.au.core: 1.1.0-preview hl7.fhir.au.base: 5.1.0-preview hl7.fhir.uv.sdc: current hl7.fhir.uv.smart-app-launch: 2.2.0 hl7.fhir.uv.extensions.r4: 5.2.0 hl7.fhir.extensions.r5: 4.0.1 - # # # The pages property corresponds to IG.definition.page. SUSHI can @@ -121,11 +119,7 @@ parameters: apply-contact: false default-contact: true apply-copyright: false - default-copyright: true - - - - + default-copyright: true # excludettl: true # validation: [allow-any-extensions, no-broken-links] # @@ -252,7 +246,10 @@ menu: # * modifierExtension experimental: false # * useContext -copyright: Copyright © 2022+ Australian Government Department of Health and Aged Care - All rights reserved. This content is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. See https://creativecommons.org/licenses/by-sa/4.0/. +copyright: | + Copyright © 2022+ Australian Government Department of Health and Aged Care - All rights reserved. + This content is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. + See https://creativecommons.org/licenses/by-sa/4.0/. packageId: csiro.fhir.au.smartforms # # From d31d5c161e9684198938f2ef7c4ace9b1c2c891c Mon Sep 17 00:00:00 2001 From: liambarnes Date: Mon, 14 Jul 2025 18:18:01 +1000 Subject: [PATCH 139/177] update assembled questionnaire --- ...esStraitIslanderHealthCheck-assembled.json | 262 +++++++++++++++--- 1 file changed, 227 insertions(+), 35 deletions(-) diff --git a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json index cb619dd9..86ca9332 100644 --- a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json +++ b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json @@ -1175,6 +1175,16 @@ ] } }, + "subject": { + "_reference": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.subject.reference" + } + ] + } + }, "_onsetDateTime": { "extension": [ { @@ -1272,13 +1282,13 @@ }, { "resourceType": "ValueSet", - "id": "smarthealthchecks-medication", - "url": "https://smartforms.csiro.au/ig/ValueSet/smarthealthchecks-medication", - "name": "SmartHealthChecksMedication", - "title": "Smart Health Checks Medication", + "id": "smart-health-checks-medicine-products", + "url": "https://smartforms.csiro.au/ig/ValueSet/smart-health-checks-medicine-products", + "name": "SmartHealthChecksMedicineProducts", + "title": "Smart Health Checks Medicine Products", "status": "draft", "experimental": false, - "description": "The Smart Health Checks Medication value set includes Australian Medicines Terminology (AMT) product concepts that may be used for the identification of a medicine with form, ingredient and unit of measure details.", + "description": "The Smart Health Checks Medicine Products value set includes Australian Medicines Terminology (AMT) product concepts that may be used for the identification of a medicine with form, ingredient and unit of measure details.", "compose": { "include": [ { @@ -1375,6 +1385,16 @@ ] } }, + "subject": { + "_reference": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.subject.reference" + } + ] + } + }, "_dateAsserted": { "extension": [ { @@ -1589,6 +1609,16 @@ ] } }, + "patient": { + "_reference": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.subject.reference" + } + ] + } + }, "note": [ { "_text": { @@ -1743,6 +1773,16 @@ ], "text": "Smoking status" }, + "subject": { + "_reference": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.subject.reference" + } + ] + } + }, "_effectiveDateTime": { "extension": [ { @@ -2220,6 +2260,16 @@ ] } }, + "patient": { + "_reference": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.subject.reference" + } + ] + } + }, "_occurrenceDateTime": { "extension": [ { @@ -2253,7 +2303,7 @@ "resourceType": "ValueSet", "id": "heart-rhythm-1", "url": "https://smartforms.csiro.au/ig/ValueSet/heart-rhythm-1", - "name": "HeartRythym", + "name": "HeartRhythm", "title": "Heart Rhythm", "status": "draft", "experimental": false, @@ -2350,6 +2400,16 @@ ], "text": "Height" }, + "subject": { + "_reference": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.subject.reference" + } + ] + } + }, "_effectiveDateTime": { "extension": [ { @@ -2399,6 +2459,16 @@ ], "text": "Height" }, + "subject": { + "_reference": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.subject.reference" + } + ] + } + }, "_effectiveDateTime": { "extension": [ { @@ -2448,6 +2518,16 @@ ], "text": "Weight" }, + "subject": { + "_reference": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.subject.reference" + } + ] + } + }, "_effectiveDateTime": { "extension": [ { @@ -2497,6 +2577,16 @@ ], "text": "Waist circumference" }, + "subject": { + "_reference": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.subject.reference" + } + ] + } + }, "_effectiveDateTime": { "extension": [ { @@ -2546,6 +2636,16 @@ ], "text": "Head circumference" }, + "subject": { + "_reference": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.subject.reference" + } + ] + } + }, "_effectiveDateTime": { "extension": [ { @@ -2595,6 +2695,16 @@ ], "text": "Heart rate" }, + "subject": { + "_reference": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.subject.reference" + } + ] + } + }, "_effectiveDateTime": { "extension": [ { @@ -2644,6 +2754,16 @@ ], "text": "Heart rhythm" }, + "subject": { + "_reference": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.subject.reference" + } + ] + } + }, "_effectiveDateTime": { "extension": [ { @@ -2692,6 +2812,16 @@ ], "text": "Blood pressure" }, + "subject": { + "_reference": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "%resource.subject.reference" + } + ] + } + }, "_effectiveDateTime": { "extension": [ { @@ -3089,7 +3219,18 @@ ] } ], - "copyright": "Copyright © 2022+ Australian Government Department of Health and Aged Care - All rights reserved. This content is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. See https://creativecommons.org/licenses/by-sa/4.0/.", + "jurisdiction": [ + { + "coding": [ + { + "system": "urn:iso:std:iso:3166", + "code": "AU", + "display": "Australia" + } + ] + } + ], + "copyright": "Copyright © 2022+ Australian Government Department of Health and Aged Care - All rights reserved.\nThis content is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.\nSee https://creativecommons.org/licenses/by-sa/4.0/.\n", "item": [ { "extension": [ @@ -3417,6 +3558,22 @@ "expression": "MedicationStatement?patient={{%patient.id}}&status=active&_include=MedicationStatement:medication" } }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "medicationsFromContained", + "language": "text/fhirpath", + "expression": "%MedicationStatement.entry.resource.contained.where(resourceType = 'Medication' and id in %MedicationStatement.entry.resource.medicationReference.select(reference.replace('#', '')))" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "medicationsFromRef", + "language": "text/fhirpath", + "expression": "%MedicationStatement.entry.resource.where(resourceType = 'Medication' and id in %MedicationStatement.entry.resource.medicationReference.select(reference.replace('Medication/', '')))" + } + }, { "url": "http://hl7.org/fhir/StructureDefinition/variable", "valueExpression": { @@ -3433,6 +3590,30 @@ "expression": "Observation?code=72166-2&_count=1&_sort=-date&patient={{%patient.id}}" } }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsTobaccoSmokingStatusValue", + "language": "text/fhirpath", + "expression": "%ObsTobaccoSmokingStatus.entry.resource.where(status='final').value.coding.where(system='http://snomed.info/sct').first()" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsTobaccoSmokingStatusDateString", + "language": "text/fhirpath", + "expression": "%ObsTobaccoSmokingStatus.entry.resource.where(status='final').effective.toDate().toString()" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsTobaccoSmokingStatusDateFormatted", + "language": "text/fhirpath", + "expression": "%ObsTobaccoSmokingStatusDateString.substring(8,2).toInteger().toString() + ' ' + %ObsTobaccoSmokingStatusDateString.substring(5,2).replace('01','Jan').replace('02','Feb').replace('03','Mar').replace('04','Apr').replace('05','May').replace('06','Jun').replace('07','Jul').replace('08','Aug').replace('09','Sep').replace('10','Oct').replace('11','Nov').replace('12','Dec') + ' ' + %ObsTobaccoSmokingStatusDateString.substring(0,4)" + } + }, { "url": "http://hl7.org/fhir/StructureDefinition/variable", "valueExpression": { @@ -3489,22 +3670,6 @@ "expression": "Observation?code=9843-4&_count=1&_sort=-date&patient={{%patient.id}}" } }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": { - "name": "medicationsFromContained", - "language": "text/fhirpath", - "expression": "%MedicationStatement.entry.resource.contained.where(resourceType = 'Medication' and id in %MedicationStatement.entry.resource.medicationReference.select(reference.replace('#', '')))" - } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": { - "name": "medicationsFromRef", - "language": "text/fhirpath", - "expression": "%MedicationStatement.entry.resource.where(resourceType = 'Medication' and id in %MedicationStatement.entry.resource.medicationReference.select(reference.replace('Medication/', '')))" - } - }, { "url": "http://hl7.org/fhir/StructureDefinition/variable", "valueExpression": { @@ -4371,6 +4536,19 @@ } ] }, + { + "linkId": "patientdetails-writebackinstruction", + "text": "This section contains several read only, non-editable items. Updates to these items will need to be done in the patient record. The form can be repopulated to include any updates.", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
    This section contains several read only, non-editable items. Updates to these items will need to be done in the patient record. The form can be repopulated to include any updates.
    " + } + ] + }, + "type": "display" + }, { "extension": [ { @@ -4719,6 +4897,7 @@ "text": "Home address", "type": "group", "repeats": false, + "readOnly": true, "item": [ { "extension": [ @@ -4986,7 +5165,8 @@ "linkId": "9541f0b0-f5ba-4fe7-a8e9-ad003cef897b", "text": "Home phone", "type": "string", - "repeats": true + "repeats": true, + "readOnly": true }, { "extension": [ @@ -5001,7 +5181,8 @@ "linkId": "4037a02b-4a85-40e0-9be6-5b17df1aac56", "text": "Mobile phone", "type": "string", - "repeats": true + "repeats": true, + "readOnly": true }, { "extension": [ @@ -5018,6 +5199,7 @@ "text": "Emergency contact", "type": "group", "repeats": true, + "readOnly": true, "item": [ { "extension": [ @@ -5086,6 +5268,7 @@ "text": "Medicare number", "type": "group", "repeats": false, + "readOnly": true, "item": [ { "extension": [ @@ -5156,6 +5339,7 @@ "text": "Pensioner Card Number", "type": "string", "repeats": false, + "readOnly": true, "maxLength": 10 }, { @@ -5172,10 +5356,18 @@ "text": "Health Care Card Number", "type": "string", "repeats": false, + "readOnly": true, "maxLength": 10 }, { "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%patient.extension.where(url='http://hl7.org.au/fhir/StructureDefinition/closing-the-gap-registration').value" + } + }, { "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", "valueCodeableConcept": { @@ -5194,9 +5386,9 @@ ], "linkId": "83814495-3a81-43f4-88df-42186cce516a", "text": "Registered for Closing the Gap PBS Co-payment Measure (CTG)", - "type": "choice", + "type": "boolean", "repeats": false, - "answerValueSet": "#YesNoNA" + "readOnly": true }, { "extension": [ @@ -6565,11 +6757,11 @@ } }, { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "iif(%MedicationStatementRepeat.medicationReference.reference.replace('#', '') in %medicationsFromContained.id, %medicationsFromContained.where(id = %MedicationStatementRepeat.medicationReference.reference.replace('#', '')).code.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first()), iif(%MedicationStatementRepeat.medicationReference.reference.replace('Medication/', '') in %medicationsFromRef.id , %medicationsFromRef.where(id = %MedicationStatementRepeat.medicationReference.reference.replace('Medication/', '')).code.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first()) ,%MedicationStatementRepeat.medication.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first())))" - } + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%MedicationStatementRepeat.medicationReference.reference.replace('#', '') in %medicationsFromContained.id, %medicationsFromContained.where(id = %MedicationStatementRepeat.medicationReference.reference.replace('#', '')).code.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first()), iif(%MedicationStatementRepeat.medicationReference.reference.replace('Medication/', '') in %medicationsFromRef.id , %medicationsFromRef.where(id = %MedicationStatementRepeat.medicationReference.reference.replace('Medication/', '')).code.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first()) ,%MedicationStatementRepeat.medication.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first())))" + } } ], "linkId": "regularmedications-summary-current-medication", @@ -6577,7 +6769,7 @@ "type": "open-choice", "repeats": false, "readOnly": true, - "answerValueSet": "#smarthealthchecks-medication" + "answerValueSet": "#smart-health-checks-medicine-products" }, { "extension": [ @@ -12142,7 +12334,7 @@ "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(%ObsTobaccoSmokingStatus.entry.resource.where(status='final').value.coding.where(system='http://snomed.info/sct').empty(), 'Not available', %ObsTobaccoSmokingStatus.entry.resource.where(status='final').value.coding.where(system='http://snomed.info/sct').first().display + ' (' + %ObsTobaccoSmokingStatus.entry.resource.where(status='final').effective.toDate().toString() + ')')" + "expression": "iif(%ObsTobaccoSmokingStatusValue.exists() and %ObsTobaccoSmokingStatusDateFormatted.exists(), %ObsTobaccoSmokingStatusValue.display + ' ( ' + %ObsTobaccoSmokingStatusDateFormatted + ' )', 'Not available')" } } ] @@ -18622,4 +18814,4 @@ ] } ] -} +} \ No newline at end of file From 8bb744a164155f13bb64f812bc09814b4b8066ae Mon Sep 17 00:00:00 2001 From: liambarnes Date: Tue, 15 Jul 2025 13:57:03 +1000 Subject: [PATCH 140/177] prototype development --- ...ntationGuide-csiro.fhir.au.smartforms.json | 14 +- ...stionnaire-AbsoluteCVDRiskCalculation.json | 371 ++++++++++-------- .../Questionnaire-AssemblyInstructions.json | 38 +- .../Questionnaire-PatientDetails.json | 6 +- .../resources/Questionnaire-SubstanceUse.json | 8 +- input/fsh/715-AssemblyInstructions.fsh | 26 +- ...-Assessment-AbsoluteCVDRiskCalculation.fsh | 160 +++++--- input/fsh/715-Assessment-SubstanceUse.fsh | 9 +- input/fsh/715-PatientDetails.fsh | 5 +- 9 files changed, 354 insertions(+), 283 deletions(-) diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index ce6aac9e..84521323 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -73,18 +73,18 @@ "resource": [ { "reference": { - "reference": "Questionnaire/AssemblyInstructions" + "reference": "Questionnaire/AboriginalTorresStraitIslanderHealthCheck" }, - "name": "Aboriginal and Torres Strait Islander Health Check", - "description": "Aboriginal and Torres Strait Islander Health Check assessment form.", - "exampleBoolean": true + "exampleBoolean": false, + "name": "Aboriginal and Torres Strait Islander Health Check" }, { "reference": { - "reference": "Questionnaire/AboriginalTorresStraitIslanderHealthCheck" + "reference": "Questionnaire/AssemblyInstructions" }, - "exampleBoolean": false, - "name": "Aboriginal and Torres Strait Islander Health Check" + "name": "Aboriginal and Torres Strait Islander Health Check (CVD)", + "description": "Aboriginal and Torres Strait Islander Health Check assessment form (CVD).", + "exampleBoolean": true }, { "reference": { diff --git a/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json b/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json index c8b87598..c71dfee6 100644 --- a/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json +++ b/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json @@ -87,19 +87,6 @@ } ] }, - { - "linkId": "RecordUpdate-CVDRisk", - "text": "Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there.", - "_text": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
    \r\n Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there first.\r\n
    " - } - ] - }, - "type": "display" - }, { "linkId": "Guidance-CVDRisk", "text": "Australian CVD risk calculator - https://www.cvdcheck.org.au/calculator", @@ -107,12 +94,101 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
    " + "valueString": "
    \r\n

    AusCVDRisk

    \r\n

    The Australian guideline for assessing and managing cardiovascular disease risk recommends the use of the AusCVDRisk calculator.

    \r\n

    AusCVDRisk-i application

    \r\n

    Clinical systems that utlise the AusCVDRisk-i calculator should assess CVD risk with this application. As this application integrates direcly with the patient record, once the CVD risk result has been saved using AusCVDRisk-i, this form can be repopulated to retrieve and include the result.

    \r\n

    AusCVDRisk online calculator

    \r\n

    Clinical systems that do not utlise AusCVDRisk-i, the Australian CVD risk calculator on the AusCVDRisk website should be used. This section includes a read only view of a subset of variables that can be used as inputs for the online calculator. The CVD risk result can be entered below.

    \r\n
    " } ] }, "type": "display" }, + { + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%CVDRiskResultValue.exists() and %CVDRiskResultDateFormatted.exists(), %CVDRiskResultValue + ' ( ' + %CVDRiskResultDateFormatted + ' )', 'Not available')" + } + } + ], + "linkId": "cvdrisk-latestresult", + "text": "Latest available result", + "type": "string", + "repeats": false, + "readOnly": true + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", + "valueCoding": { + "code": "%", + "system": "http://unitsofmeasure.org" + } + } + ], + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "unit", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + } + ], + "linkId": "0162854e-c124-4b58-acd9-93c17562d407", + "text": "%", + "type": "display" + } + ], + "linkId": "4c52fcec-0695-4916-b185-24a5c2711631", + "text": "Risk result", + "type": "integer", + "repeats": false + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "radio-button", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + } + ], + "linkId": "28ff9463-b77f-435d-9ba7-427682a61f96", + "text": "Assessed risk category", + "type": "choice", + "repeats": false, + "answerOption": [ + { + "valueString": "High Risk" + }, + { + "valueString": "Intermediate Risk" + }, + { + "valueString": "Low Risk" + } + ] + } + ], + "linkId": "dabdc7b4-51db-44a0-9d59-77a88587cbe9", + "text": "CVD risk result", + "type": "group", + "repeats": false + }, { "item": [ { @@ -164,7 +240,7 @@ "valueExpression": { "description": "CVD Risk Sex At Birth", "language": "text/fhirpath", - "expression": "%sex" + "expression": "%SexAtBirthCoding" } } ], @@ -174,58 +250,6 @@ "repeats": false, "answerValueSet": "#biological-sex-1" }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression", - "valueExpression": { - "description": "CVD Risk Smoking Status", - "language": "text/fhirpath", - "expression": "%smoker" - } - } - ], - "linkId": "bac0f824-3784-400e-80f9-ad18d46bd8cb", - "text": "Smoking status", - "type": "choice", - "repeats": false, - "answerOption": [ - { - "valueCoding": { - "code": "266919005", - "system": "http://snomed.info/sct", - "display": "Lifetime non-smoker" - } - }, - { - "valueCoding": { - "code": "77176002", - "system": "http://snomed.info/sct", - "display": "Current smoker" - } - }, - { - "valueCoding": { - "code": "8517006", - "system": "http://snomed.info/sct", - "display": "Ex-smoker" - } - }, - { - "valueCoding": { - "code": "16090371000119103", - "system": "http://snomed.info/sct", - "display": "Exposure to second hand tobacco smoke" - } - }, - { - "valueString": "Wants to quit" - }, - { - "valueString": "Other tobacco use" - } - ] - }, { "extension": [ { @@ -242,6 +266,80 @@ } ], "item": [ + { + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%ObsTobaccoSmokingStatus.entry.resource.value.coding.where(system='http://snomed.info/sct').first()" + } + } + ], + "linkId": "818ce640-c8dd-457d-b607-3aaa8da38524", + "text": "Value", + "type": "choice", + "repeats": false, + "answerOption": [ + { + "valueCoding": { + "code": "266919005", + "system": "http://snomed.info/sct", + "display": "Lifetime non-smoker" + } + }, + { + "valueCoding": { + "code": "77176002", + "system": "http://snomed.info/sct", + "display": "Current smoker" + } + }, + { + "valueCoding": { + "code": "8517006", + "system": "http://snomed.info/sct", + "display": "Ex-smoker" + } + }, + { + "valueCoding": { + "code": "16090371000119103", + "system": "http://snomed.info/sct", + "display": "Exposure to second hand tobacco smoke" + } + }, + { + "valueString": "Wants to quit" + }, + { + "valueString": "Other tobacco use" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%ObsTobaccoSmokingStatus.entry.resource.effective" + } + } + ], + "linkId": "cvdrisk-smokingstatus-date", + "text": "Date performed", + "type": "date", + "repeats": false + } + ], + "linkId": "bac0f824-3784-400e-80f9-ad18d46bd8cb", + "text": "Smoking status", + "type": "group", + "repeats": false + }, { "item": [ { @@ -479,109 +577,6 @@ "repeats": false, "readOnly": true }, - { - "item": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", - "valueCoding": { - "code": "%", - "system": "http://unitsofmeasure.org" - } - } - ], - "item": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "code": "unit", - "system": "http://hl7.org/fhir/questionnaire-item-control" - } - ] - } - } - ], - "linkId": "0162854e-c124-4b58-acd9-93c17562d407", - "text": "%", - "type": "display" - } - ], - "linkId": "4c52fcec-0695-4916-b185-24a5c2711631", - "text": "Calculated risk", - "type": "integer", - "repeats": false - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "code": "radio-button", - "system": "http://hl7.org/fhir/questionnaire-item-control" - } - ] - } - } - ], - "linkId": "28ff9463-b77f-435d-9ba7-427682a61f96", - "text": "Assessed risk category", - "type": "choice", - "repeats": false, - "answerOption": [ - { - "valueString": "High Risk" - }, - { - "valueString": "Intermediate Risk" - }, - { - "valueString": "Low Risk" - } - ] - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "code": "radio-button", - "system": "http://hl7.org/fhir/questionnaire-item-control" - } - ] - } - } - ], - "linkId": "041a589e-7bb5-441d-a4ba-a22db8040b3f", - "text": "Reclassification decision", - "type": "choice", - "repeats": false, - "answerOption": [ - { - "valueString": "Reclassified up" - }, - { - "valueString": "Reclassified down" - }, - { - "valueString": "Did not reclassify" - } - ] - } - ], - "linkId": "dabdc7b4-51db-44a0-9d59-77a88587cbe9", - "text": "CVD risk result", - "type": "group", - "repeats": false - }, { "linkId": "f8022f3f-21fe-42c0-8abd-95f24e2e37e5", "text": "Health priorities, actions and follow-up", @@ -797,11 +792,11 @@ }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", - "valueString": "sex" + "valueString": "SexAtBirthCoding" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", - "valueString": "smoker" + "valueString": "ObsTobaccoSmokingStatus" }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", @@ -823,6 +818,38 @@ "expression": "Observation?code=14646-4&_count=1&_sort=-date&patient={{%patient.id}}" } }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "CVDRiskResult", + "language": "application/x-fhir-query", + "expression": "Observation?code=441829007&status=final&_count=1&_sort=-date&patient={{%patient.id}}" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "CVDRiskResultValue", + "language": "text/fhirpath", + "expression": "%CVDRiskResult.entry.resource.select((((value.ofType(Quantity).comparator + value.ofType(Quantity).value.toString() + value.ofType(Quantity).unit | value.ofType(Quantity).value.toString() + value.ofType(Quantity).unit).first() | (value.ofType(Range).low.value.toString() + ' - ' + value.ofType(Range).high.value.toString() + value.ofType(Range).high.unit)).first()) + ' ' + interpretation.coding.display)" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "CVDRiskResultDateString", + "language": "text/fhirpath", + "expression": "%CVDRiskResult.entry.resource.effective.toString()" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "CVDRiskResultDateFormatted", + "language": "text/fhirpath", + "expression": "%CVDRiskResultDateString.substring(8,2).toInteger().toString() + ' ' + %CVDRiskResultDateString.substring(5,2).replace('01','Jan').replace('02','Feb').replace('03','Mar').replace('04','Apr').replace('05','May').replace('06','Jun').replace('07','Jul').replace('08','Aug').replace('09','Sep').replace('10','Oct').replace('11','Nov').replace('12','Dec') + ' ' + %CVDRiskResultDateString.substring(0,4)" + } + }, { "url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]", "valueCoding": { diff --git a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json index 9a954841..2103360e 100644 --- a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json +++ b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json @@ -29,22 +29,6 @@ "expression": "item.where(linkId='5b224753-9365-44e3-823b-9c17e7394005').item.where(linkId='e2a16e4d-2765-4b61-b286-82cfc6356b30').answer.value" } }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": { - "name": "sex", - "language": "text/fhirpath", - "expression": "item.where(linkId='5b224753-9365-44e3-823b-9c17e7394005').item.where(linkId='56ef44bb-3d1d-4972-aad1-834b69185d61').answer.value" - } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": { - "name": "smoker", - "language": "text/fhirpath", - "expression": "repeat(item).where(linkId='b639a3a8-f476-4cc8-b5c7-f5d2abb23511').answer.value" - } - }, { "url": "http://hl7.org/fhir/StructureDefinition/variable", "valueExpression": { @@ -2256,6 +2240,22 @@ "expression": "Observation?code=85354-9&_count=1&_sort=-date&patient={{%patient.id}}" } }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsTobaccoSmokingStatus", + "language": "application/x-fhir-query", + "expression": "Observation?code=72166-2&_count=1&_sort=-date&patient={{%patient.id}}" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "SexAtBirthCoding", + "language": "text/fhirpath", + "expression": "%patient.extension.where(exists(url='http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender' and extension.where(exists(url='type' and value.coding.code='1515311000168102')) and extension.where(url='effectivePeriod').value.end.empty())).extension.where(url='value').value.coding" + } + }, { "url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]", "valueCoding": { @@ -2354,9 +2354,9 @@ } } ], - "url": "http://www.health.gov.au/assessments/mbs/715", - "name": "AboriginalTorresStraitIslanderHealthCheck", - "title": "Aboriginal and Torres Strait Islander Health Check", + "url": "http://www.health.gov.au/assessments/mbs/715/cvd", + "name": "AboriginalTorresStraitIslanderHealthCheckCVD", + "title": "Aboriginal and Torres Strait Islander Health Check (CVD)", "status": "draft", "experimental": false, "subjectType": [ diff --git a/fsh-generated/resources/Questionnaire-PatientDetails.json b/fsh-generated/resources/Questionnaire-PatientDetails.json index 5910be78..b8d1b1ec 100644 --- a/fsh-generated/resources/Questionnaire-PatientDetails.json +++ b/fsh-generated/resources/Questionnaire-PatientDetails.json @@ -216,7 +216,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%patient.extension.where(exists(url='http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender' and extension.where(exists(url='type' and value.coding.code='1515311000168102')) and extension.where(url='effectivePeriod').value.end.empty())).extension.where(url='value').value.coding" + "expression": "%SexAtBirthCoding" } }, { @@ -2367,6 +2367,10 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", + "valueString": "SexAtBirthCoding" + }, { "url": "http://hl7.org/fhir/StructureDefinition/variable", "valueExpression": { diff --git a/fsh-generated/resources/Questionnaire-SubstanceUse.json b/fsh-generated/resources/Questionnaire-SubstanceUse.json index 7800eb3a..8e147adc 100644 --- a/fsh-generated/resources/Questionnaire-SubstanceUse.json +++ b/fsh-generated/resources/Questionnaire-SubstanceUse.json @@ -665,12 +665,8 @@ "valueString": "age" }, { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": { - "name": "ObsTobaccoSmokingStatus", - "language": "application/x-fhir-query", - "expression": "Observation?code=72166-2&_count=1&_sort=-date&patient={{%patient.id}}" - } + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", + "valueString": "ObsTobaccoSmokingStatus" }, { "url": "http://hl7.org/fhir/StructureDefinition/variable", diff --git a/input/fsh/715-AssemblyInstructions.fsh b/input/fsh/715-AssemblyInstructions.fsh index 21ea9abd..08d8ec6c 100644 --- a/input/fsh/715-AssemblyInstructions.fsh +++ b/input/fsh/715-AssemblyInstructions.fsh @@ -5,8 +5,8 @@ Alias: $UCUM = http://unitsofmeasure.org Instance: AssemblyInstructions InstanceOf: Questionnaire Usage: #example -Title: "Aboriginal and Torres Strait Islander Health Check" -Description: "Aboriginal and Torres Strait Islander Health Check assessment form." +Title: "Aboriginal and Torres Strait Islander Health Check (CVD)" +Description: "Aboriginal and Torres Strait Islander Health Check assessment form (CVD)." * contained[+] = YesNo * contained[+] = YesNoNA @@ -76,7 +76,19 @@ Description: "Aboriginal and Torres Strait Islander Health Check assessment form * valueExpression * name = "ObsBloodPressure" * language = #application/x-fhir-query - * expression = "Observation?code=85354-9&_count=1&_sort=-date&patient={{%patient.id}}" + * expression = "Observation?code=85354-9&_count=1&_sort=-date&patient={{%patient.id}}" +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "ObsTobaccoSmokingStatus" + * language = #application/x-fhir-query + * expression = "Observation?code=72166-2&_count=1&_sort=-date&patient={{%patient.id}}" +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "SexAtBirthCoding" + * language = #text/fhirpath + * expression = "%patient.extension.where(exists(url='http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender' and extension.where(exists(url='type' and value.coding.code='1515311000168102')) and extension.where(url='effectivePeriod').value.end.empty())).extension.where(url='value').value.coding" //R5 preadoption extensions * extension[+] @@ -134,9 +146,9 @@ Description: "Aboriginal and Torres Strait Islander Health Check assessment form * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" -* url = "http://www.health.gov.au/assessments/mbs/715" -* name = "AboriginalTorresStraitIslanderHealthCheck" -* title = "Aboriginal and Torres Strait Islander Health Check" +* url = "http://www.health.gov.au/assessments/mbs/715/cvd" +* name = "AboriginalTorresStraitIslanderHealthCheckCVD" +* title = "Aboriginal and Torres Strait Islander Health Check (CVD)" * status = #draft * experimental = false * subjectType[+] = #Patient @@ -153,6 +165,7 @@ Description: "Aboriginal and Torres Strait Islander Health Check assessment form * name = "age" * language = #text/fhirpath * expression = "item.where(linkId='5b224753-9365-44e3-823b-9c17e7394005').item.where(linkId='e2a16e4d-2765-4b61-b286-82cfc6356b30').answer.value" + /* * extension[http://hl7.org/fhir/StructureDefinition/variable][+].valueExpression * name = "sex" * language = #text/fhirpath @@ -161,6 +174,7 @@ Description: "Aboriginal and Torres Strait Islander Health Check assessment form * name = "smoker" * language = #text/fhirpath * expression = "repeat(item).where(linkId='b639a3a8-f476-4cc8-b5c7-f5d2abb23511').answer.value" + */ * extension[http://hl7.org/fhir/StructureDefinition/variable][+].valueExpression * name = "postcode" * language = #text/fhirpath diff --git a/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh b/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh index 840d395b..feff5684 100644 --- a/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh +++ b/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh @@ -64,10 +64,10 @@ Description: "Absolute Cardiovascular Disease Risk Calculation sub-questionnaire * valueString = "ObsBloodPressure" * extension[+] * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" - * valueString = "sex" + * valueString = "SexAtBirthCoding" * extension[+] * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" - * valueString = "smoker" + * valueString = "ObsTobaccoSmokingStatus" * extension[+] * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * valueString = "postcode" @@ -85,6 +85,31 @@ Description: "Absolute Cardiovascular Disease Risk Calculation sub-questionnaire * name = "ObsHDLCholesterol" * language = #application/x-fhir-query * expression = "Observation?code=14646-4&_count=1&_sort=-date&patient={{%patient.id}}" +//Previous CVD risk result variables +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "CVDRiskResult" + * language = #application/x-fhir-query + * expression = "Observation?code=441829007&status=final&_count=1&_sort=-date&patient={{%patient.id}}" +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "CVDRiskResultValue" + * language = #text/fhirpath + * expression = "%CVDRiskResult.entry.resource.select((((value.ofType(Quantity).comparator + value.ofType(Quantity).value.toString() + value.ofType(Quantity).unit | value.ofType(Quantity).value.toString() + value.ofType(Quantity).unit).first() | (value.ofType(Range).low.value.toString() + ' - ' + value.ofType(Range).high.value.toString() + value.ofType(Range).high.unit)).first()) + ' ' + interpretation.coding.display)" +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "CVDRiskResultDateString" + * language = #text/fhirpath + * expression = "%CVDRiskResult.entry.resource.effective.toString()" +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "CVDRiskResultDateFormatted" + * language = #text/fhirpath + * expression = "%CVDRiskResultDateString.substring(8,2).toInteger().toString() + ' ' + %CVDRiskResultDateString.substring(5,2).replace('01','Jan').replace('02','Feb').replace('03','Mar').replace('04','Apr').replace('05','May').replace('06','Jun').replace('07','Jul').replace('08','Aug').replace('09','Sep').replace('10','Oct').replace('11','Nov').replace('12','Dec') + ' ' + %CVDRiskResultDateString.substring(0,4)" //R5 preadoption extensions * extension[+] @@ -135,22 +160,52 @@ Description: "Absolute Cardiovascular Disease Risk Calculation sub-questionnaire * question = "MarkComplete-2" // Section complete item * operator = #= * answerBoolean = true - * item[+] - * linkId = "RecordUpdate-CVDRisk" - * text = "Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there." - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
    - Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there first. -
    " - * type = #display * item[+] * linkId = "Guidance-CVDRisk" * text = "Australian CVD risk calculator - https://www.cvdcheck.org.au/calculator" * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
    -

    The Australian guideline for assessing and managing cardiovascular disease risk recommends the use of the online Australian CVD risk calculator.

    -

    The items included in this section are a subset of variables that can be used as inputs for the online calculator.

    -

    The final CVD risk result can be entered in the item at the bottom of this section.

    +

    AusCVDRisk

    +

    The Australian guideline for assessing and managing cardiovascular disease risk recommends the use of the AusCVDRisk calculator.

    +

    AusCVDRisk-i application

    +

    Clinical systems that utlise the AusCVDRisk-i calculator should assess CVD risk with this application. As this application integrates direcly with the patient record, once the CVD risk result has been saved using AusCVDRisk-i, this form can be repopulated to retrieve and include the result.

    +

    AusCVDRisk online calculator

    +

    Clinical systems that do not utlise AusCVDRisk-i, the Australian CVD risk calculator on the AusCVDRisk website should be used. This section includes a read only view of a subset of variables that can be used as inputs for the online calculator. The CVD risk result can be entered below.

    " * type = #display + * item[+] + * linkId = "dabdc7b4-51db-44a0-9d59-77a88587cbe9" + * text = "CVD risk result" + * type = #group + * repeats = false + * item[+] + * extension[sdc-questionnaire-initialExpression].valueExpression + * language = #text/fhirpath + * expression = "iif(%CVDRiskResultValue.exists() and %CVDRiskResultDateFormatted.exists(), %CVDRiskResultValue + ' ( ' + %CVDRiskResultDateFormatted + ' )', 'Not available')" + * linkId = "cvdrisk-latestresult" + * text = "Latest available result" + * type = #string + * repeats = false + * readOnly = true + * item[+] + * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#% + * linkId = "4c52fcec-0695-4916-b185-24a5c2711631" + * text = "Risk result" + * type = #integer + * repeats = false + * item[+] + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit + * linkId = "0162854e-c124-4b58-acd9-93c17562d407" + * text = "%" + * type = #display + * item[+] + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#radio-button + * linkId = "28ff9463-b77f-435d-9ba7-427682a61f96" + * text = "Assessed risk category" + * type = #choice + * repeats = false + * answerOption[+].valueString = "High Risk" + * answerOption[+].valueString = "Intermediate Risk" + * answerOption[+].valueString = "Low Risk" * item[+] * linkId = "8d02ef36-3f48-4912-b001-e9fec6aa7101" * text = "CVD risk calculator variables" @@ -175,34 +230,44 @@ Description: "Absolute Cardiovascular Disease Risk Calculation sub-questionnaire * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression].valueExpression * description = "CVD Risk Sex At Birth" * language = #text/fhirpath - * expression = "%sex" + * expression = "%SexAtBirthCoding" * linkId = "3dbb0e63-3b28-4567-8ef3-bac242fd95f6" * text = "Sex at birth" * type = #choice * repeats = false * answerValueSet = "#biological-sex-1" - * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression].valueExpression - * description = "CVD Risk Smoking Status" - * language = #text/fhirpath - * expression = "%smoker" - * linkId = "bac0f824-3784-400e-80f9-ad18d46bd8cb" - * text = "Smoking status" - * type = #choice - * repeats = false - // better as a standard answerValueSet when missing concepts are available - * answerOption[+].valueCoding = http://snomed.info/sct#266919005 "Lifetime non-smoker" - * answerOption[+].valueCoding = http://snomed.info/sct#77176002 "Current smoker" - * answerOption[+].valueCoding = http://snomed.info/sct#8517006 "Ex-smoker" - * answerOption[+].valueCoding = http://snomed.info/sct#16090371000119103 "Exposure to second hand tobacco smoke" - * answerOption[+].valueString = "Wants to quit" - * answerOption[+].valueString = "Other tobacco use" - * item[+] * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control|1.0.0#grid * linkId = "fe9feec6-593a-4106-8a7d-f9965a632ea2" * type = #group * repeats = false + * item[+] + * linkId = "bac0f824-3784-400e-80f9-ad18d46bd8cb" + * text = "Smoking status" + * type = #group + * repeats = false + * item[+] + * extension[sdc-questionnaire-initialExpression].valueExpression + * language = #text/fhirpath + * expression = "%ObsTobaccoSmokingStatus.entry.resource.value.coding.where(system='http://snomed.info/sct').first()" + * linkId = "818ce640-c8dd-457d-b607-3aaa8da38524" + * text = "Value" + * type = #choice + * repeats = false + * answerOption[+].valueCoding = http://snomed.info/sct#266919005 "Lifetime non-smoker" + * answerOption[+].valueCoding = http://snomed.info/sct#77176002 "Current smoker" + * answerOption[+].valueCoding = http://snomed.info/sct#8517006 "Ex-smoker" + * answerOption[+].valueCoding = http://snomed.info/sct#16090371000119103 "Exposure to second hand tobacco smoke" + * answerOption[+].valueString = "Wants to quit" + * answerOption[+].valueString = "Other tobacco use" + * item[+] + * extension[sdc-questionnaire-initialExpression].valueExpression + * language = #text/fhirpath + * expression = "%ObsTobaccoSmokingStatus.entry.resource.effective" + * linkId = "cvdrisk-smokingstatus-date" + * text = "Date performed" + * type = #date + * repeats = false * item[+] * linkId = "fa4f73a3-7633-410c-9177-8aa43b117122" * text = "Systolic Blood Pressure" @@ -301,40 +366,7 @@ Description: "Absolute Cardiovascular Disease Risk Calculation sub-questionnaire * type = #boolean * repeats = false - * item[+] - * linkId = "dabdc7b4-51db-44a0-9d59-77a88587cbe9" - * text = "CVD risk result" - * type = #group - * repeats = false - * item[+] - * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#% - * linkId = "4c52fcec-0695-4916-b185-24a5c2711631" - * text = "Calculated risk" - * type = #integer - * repeats = false - * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit - * linkId = "0162854e-c124-4b58-acd9-93c17562d407" - * text = "%" - * type = #display - * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#radio-button - * linkId = "28ff9463-b77f-435d-9ba7-427682a61f96" - * text = "Assessed risk category" - * type = #choice - * repeats = false - * answerOption[+].valueString = "High Risk" - * answerOption[+].valueString = "Intermediate Risk" - * answerOption[+].valueString = "Low Risk" - * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#radio-button - * linkId = "041a589e-7bb5-441d-a4ba-a22db8040b3f" - * text = "Reclassification decision" - * type = #choice - * repeats = false - * answerOption[+].valueString = "Reclassified up" - * answerOption[+].valueString = "Reclassified down" - * answerOption[+].valueString = "Did not reclassify" + /* Deprecated CVD Risk calculator * item[+] diff --git a/input/fsh/715-Assessment-SubstanceUse.fsh b/input/fsh/715-Assessment-SubstanceUse.fsh index 96b39ead..137d9ebc 100644 --- a/input/fsh/715-Assessment-SubstanceUse.fsh +++ b/input/fsh/715-Assessment-SubstanceUse.fsh @@ -56,14 +56,9 @@ Description: "Substance Use sub-questionnaire for Aboriginal and Torres Strait I * extension[+] * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * valueString = "age" - -//fhir query variables * extension[+] - * url = "http://hl7.org/fhir/StructureDefinition/variable" - * valueExpression - * name = "ObsTobaccoSmokingStatus" - * language = #application/x-fhir-query - * expression = "Observation?code=72166-2&_count=1&_sort=-date&patient={{%patient.id}}" + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" + * valueString = "ObsTobaccoSmokingStatus" //fhirpath variables //Previous examination results variables diff --git a/input/fsh/715-PatientDetails.fsh b/input/fsh/715-PatientDetails.fsh index d52a3b49..41d117c1 100644 --- a/input/fsh/715-PatientDetails.fsh +++ b/input/fsh/715-PatientDetails.fsh @@ -61,6 +61,9 @@ Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait * extension[+] * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * valueString = "age" +* extension[+] + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" + * valueString = "SexAtBirthCoding" //fhirpath variables * extension[+] @@ -174,7 +177,7 @@ Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath - * expression = "%patient.extension.where(exists(url='http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender' and extension.where(exists(url='type' and value.coding.code='1515311000168102')) and extension.where(url='effectivePeriod').value.end.empty())).extension.where(url='value').value.coding" + * expression = "%SexAtBirthCoding" * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#drop-down * linkId = "56ef44bb-3d1d-4972-aad1-834b69185d61" * text = "Sex assigned at birth" From 6812e431b779db071d64536e8aed0dd8c95a1642 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Tue, 15 Jul 2025 16:36:05 +1000 Subject: [PATCH 141/177] Encounter and Practitioner profiles added --- ...tyStatement-SHCAppCapabilityStatement.json | 8 +- ...-SHCHostFHIRServerCapabilityStatement.json | 10 +- ...ntationGuide-csiro.fhir.au.smartforms.json | 18 ++- .../StructureDefinition-SHCEncounter.json | 52 +++++++++ .../StructureDefinition-SHCPatient.json | 2 +- .../StructureDefinition-SHCPractitioner.json | 110 ++++++++++++++++++ input/fsh/capability.fsh | 20 ++-- input/fsh/profiles.fsh | 25 +++- 8 files changed, 223 insertions(+), 22 deletions(-) create mode 100644 fsh-generated/resources/StructureDefinition-SHCEncounter.json create mode 100644 fsh-generated/resources/StructureDefinition-SHCPractitioner.json diff --git a/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json b/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json index 670c3a49..8a58f301 100644 --- a/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json +++ b/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json @@ -132,9 +132,9 @@ { "type": "Encounter", "supportedProfile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-encounter" + "https://smartforms.csiro.au/ig/StructureDefinition/SHCEncounter" ], - "documentation": "The client supports the Encounter resource, the AU Core profile and the conformance expectations for the Encounter resource.", + "documentation": "The client supports the Encounter resource, the Smart Health Checks profile and the conformance expectations for the Encounter resource.", "interaction": [ { "code": "read" @@ -372,9 +372,9 @@ { "type": "Practitioner", "supportedProfile": [ - "http://hl7.org.au/fhir/core/StructureDefinition/au-core-practitioner" + "https://smartforms.csiro.au/ig/StructureDefinition/SHCPractitioner" ], - "documentation": "The client supports the Practitioner resource, AU Core profile and the conformance expectations for the Practitioner resource.", + "documentation": "The client supports the Practitioner resource, Smart Health Checks profile and the conformance expectations for the Practitioner resource.", "interaction": [ { "code": "read" diff --git a/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json b/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json index aef88ee9..365a645e 100644 --- a/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json +++ b/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json @@ -103,7 +103,7 @@ "rest": [ { "mode": "server", - "documentation": "Smart Forms Launcher Server **SHALL**:\r\n1. Support the [Smart Health Checks AllergyIntolerance resource profile](StructureDefinition-SHCAllergyIntolerance.html)\r\n1. Support the [Smart Health Checks Condition resource profile](StructureDefinition-SHCCondition.html)\r\n1. Support the [AU Core Encounter resource profile](http://hl7.org.au/fhir/core/1.1.0-preview/StructureDefinition-au-core-encounter.html)\r\n1. Support the [Smart Health Checks Immunization resource profile](StructureDefinition-SHCImmunization.html)\r\n1. Support the [Smart Health Checks Medication profile](StructureDefinition-SHCMedication.html)\r\n1. Support the [Smart Health Checks MedicationStatement profile](StructureDefinition-SHCMedicationStatement.html)\r\n1. Support the [Smart Health Checks Observation resource profiles](profiles-and-extensions.html#observation)\r\n1. Support the [Smart Health Checks Patient resource profile](StructureDefinition-SHCPatient.html)\r\n1. Support the [AU Core Practitioner resource profile](http://hl7.org.au/fhir/core/1.1.0-previewStructureDefinition-au-core-practitioner.html)\r\n1. Support the [Smart Health Checks Questionnaire Response profile](StructureDefinition-SHCQuestionnaireResponse.html)\r\n1. Implement the RESTful behavior according to the FHIR specification\r\n1. Support JSON source formats for all interactions", + "documentation": "Smart Forms Launcher Server **SHALL**:\r\n1. Support the [Smart Health Checks AllergyIntolerance resource profile](StructureDefinition-SHCAllergyIntolerance.html)\r\n1. Support the [Smart Health Checks Condition resource profile](StructureDefinition-SHCCondition.html)\r\n1. Support the [Smart Health Checks Encounter resource profile](StructureDefinition-SHCEncounter.html)\r\n1. Support the [Smart Health Checks Immunization resource profile](StructureDefinition-SHCImmunization.html)\r\n1. Support the [Smart Health Checks Medication profile](StructureDefinition-SHCMedication.html)\r\n1. Support the [Smart Health Checks MedicationStatement profile](StructureDefinition-SHCMedicationStatement.html)\r\n1. Support the [Smart Health Checks Observation resource profiles](profiles-and-extensions.html#observation)\r\n1. Support the [Smart Health Checks Patient resource profile](StructureDefinition-SHCPatient.html)\r\n1. Support the [Smart Health Checks Practitioner resource profile](StructureDefinition-SHCPractitioner.html)\r\n1. Support the [Smart Health Checks Questionnaire Response profile](StructureDefinition-SHCQuestionnaireResponse.html)\r\n1. Implement the RESTful behavior according to the FHIR specification\r\n1. Support JSON source formats for all interactions", "security": { "cors": true, "_cors": { @@ -307,7 +307,7 @@ } ], "type": "Encounter", - "profile": "http://hl7.org.au/fhir/core/StructureDefinition/au-core-encounter", + "profile": "https://smartforms.csiro.au/ig/StructureDefinition/SHCEncounter", "_profile": { "extension": [ { @@ -316,7 +316,7 @@ } ] }, - "documentation": "The server **SHALL** support the Encounter resource, AU Core profile and the conformance expectations for the Encounter resource.", + "documentation": "The server **SHALL** support the Encounter resource, Smart Health Checks profile and the conformance expectations for the Encounter resource.", "interaction": [ { "code": "read", @@ -811,7 +811,7 @@ } ], "type": "Practitioner", - "profile": "http://hl7.org.au/fhir/core/StructureDefinition/au-core-practitioner", + "profile": "https://smartforms.csiro.au/ig/StructureDefinition/SHCPractitioner", "_profile": { "extension": [ { @@ -820,7 +820,7 @@ } ] }, - "documentation": "The server **SHALL** support the Practitioner resource, AU Core profile and the conformance expectations for the Practitioner resource.", + "documentation": "The server **SHALL** support the Practitioner resource, Smart Health Checks profile and the conformance expectations for the Practitioner resource.", "interaction": [ { "code": "read", diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index ce6aac9e..f3ff9f09 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -582,6 +582,14 @@ "description": "This profile sets the minimum expectations for a Condition resource to record, search and save condition information when used within Smart Health Checks.", "exampleBoolean": false }, + { + "reference": { + "reference": "StructureDefinition/SHCEncounter" + }, + "name": "Smart Health Checks Encounter", + "description": "This profile sets the minimum expectations for a Encounter resource to search and retrieve encounter information when used within Smart Health Checks.", + "exampleBoolean": false + }, { "reference": { "reference": "StructureDefinition/SHCHeadCircumference" @@ -651,7 +659,15 @@ "reference": "StructureDefinition/SHCPatient" }, "name": "Smart Health Checks Patient", - "description": "This profile sets the minimum expectations for a Patient resource to record, search and save patient information when used within Smart Health Checks.", + "description": "This profile sets the minimum expectations for a Patient resource to search and retrieve patient information when used within Smart Health Checks.", + "exampleBoolean": false + }, + { + "reference": { + "reference": "StructureDefinition/SHCPractitioner" + }, + "name": "Smart Health Checks Practitioner", + "description": "This profile sets the minimum expectations for a Practitioner resource to search and retrieve practitioner information when used within Smart Health Checks.", "exampleBoolean": false }, { diff --git a/fsh-generated/resources/StructureDefinition-SHCEncounter.json b/fsh-generated/resources/StructureDefinition-SHCEncounter.json new file mode 100644 index 00000000..c69f3b53 --- /dev/null +++ b/fsh-generated/resources/StructureDefinition-SHCEncounter.json @@ -0,0 +1,52 @@ +{ + "resourceType": "StructureDefinition", + "id": "SHCEncounter", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCEncounter", + "name": "SmartHealthChecksEncounter", + "title": "Smart Health Checks Encounter", + "status": "draft", + "description": "This profile sets the minimum expectations for a Encounter resource to search and retrieve encounter information when used within Smart Health Checks.", + "fhirVersion": "4.0.1", + "kind": "resource", + "abstract": false, + "type": "Encounter", + "baseDefinition": "http://hl7.org.au/fhir/core/StructureDefinition/au-core-encounter", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Encounter.id", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Encounter.id", + "mustSupport": true + } + ] + } +} diff --git a/fsh-generated/resources/StructureDefinition-SHCPatient.json b/fsh-generated/resources/StructureDefinition-SHCPatient.json index f361ae5d..b7a4bf8a 100644 --- a/fsh-generated/resources/StructureDefinition-SHCPatient.json +++ b/fsh-generated/resources/StructureDefinition-SHCPatient.json @@ -5,7 +5,7 @@ "name": "SmartHealthChecksPatient", "title": "Smart Health Checks Patient", "status": "draft", - "description": "This profile sets the minimum expectations for a Patient resource to record, search and save patient information when used within Smart Health Checks.", + "description": "This profile sets the minimum expectations for a Patient resource to search and retrieve patient information when used within Smart Health Checks.", "fhirVersion": "4.0.1", "kind": "resource", "abstract": false, diff --git a/fsh-generated/resources/StructureDefinition-SHCPractitioner.json b/fsh-generated/resources/StructureDefinition-SHCPractitioner.json new file mode 100644 index 00000000..b3172668 --- /dev/null +++ b/fsh-generated/resources/StructureDefinition-SHCPractitioner.json @@ -0,0 +1,110 @@ +{ + "resourceType": "StructureDefinition", + "id": "SHCPractitioner", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCPractitioner", + "name": "SmartHealthChecksPractitioner", + "title": "Smart Health Checks Practitioner", + "status": "draft", + "description": "This profile sets the minimum expectations for a Practitioner resource to search and retrieve practitioner information when used within Smart Health Checks.", + "fhirVersion": "4.0.1", + "kind": "resource", + "abstract": false, + "type": "Practitioner", + "baseDefinition": "http://hl7.org.au/fhir/core/StructureDefinition/au-core-practitioner", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Practitioner.id", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Practitioner.id", + "mustSupport": true + }, + { + "id": "Practitioner.name", + "extension": [ + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ + { + "url": "code", + "valueCode": "SHALL:no-error" + }, + { + "url": "actor", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Practitioner.name" + } + ] + } +} diff --git a/input/fsh/capability.fsh b/input/fsh/capability.fsh index 49f5d6cd..06bf2dd4 100644 --- a/input/fsh/capability.fsh +++ b/input/fsh/capability.fsh @@ -41,13 +41,13 @@ Usage: #definition * rest.documentation = "Smart Forms Launcher Server **SHALL**: 1. Support the [Smart Health Checks AllergyIntolerance resource profile](StructureDefinition-SHCAllergyIntolerance.html) 1. Support the [Smart Health Checks Condition resource profile](StructureDefinition-SHCCondition.html) -1. Support the [AU Core Encounter resource profile](http://hl7.org.au/fhir/core/1.1.0-preview/StructureDefinition-au-core-encounter.html) +1. Support the [Smart Health Checks Encounter resource profile](StructureDefinition-SHCEncounter.html) 1. Support the [Smart Health Checks Immunization resource profile](StructureDefinition-SHCImmunization.html) 1. Support the [Smart Health Checks Medication profile](StructureDefinition-SHCMedication.html) 1. Support the [Smart Health Checks MedicationStatement profile](StructureDefinition-SHCMedicationStatement.html) 1. Support the [Smart Health Checks Observation resource profiles](profiles-and-extensions.html#observation) 1. Support the [Smart Health Checks Patient resource profile](StructureDefinition-SHCPatient.html) -1. Support the [AU Core Practitioner resource profile](http://hl7.org.au/fhir/core/1.1.0-previewStructureDefinition-au-core-practitioner.html) +1. Support the [Smart Health Checks Practitioner resource profile](StructureDefinition-SHCPractitioner.html) 1. Support the [Smart Health Checks Questionnaire Response profile](StructureDefinition-SHCQuestionnaireResponse.html) 1. Implement the RESTful behavior according to the FHIR specification 1. Support JSON source formats for all interactions" @@ -166,10 +166,10 @@ The server **SHALL** support both." * rest.resource[+].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].extension[0].valueCode = #SHALL * rest.resource[=].type = #Encounter -* rest.resource[=].profile = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-encounter" +* rest.resource[=].profile = "https://smartforms.csiro.au/ig/StructureDefinition/SHCEncounter" * rest.resource[=].profile.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].profile.extension[0].valueCode = #SHALL -* rest.resource[=].documentation = "The server **SHALL** support the Encounter resource, AU Core profile and the conformance expectations for the Encounter resource." +* rest.resource[=].documentation = "The server **SHALL** support the Encounter resource, Smart Health Checks profile and the conformance expectations for the Encounter resource." * rest.resource[=].interaction[0].code = #read * rest.resource[=].interaction[0].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[0].extension[0].valueCode = #SHALL @@ -423,10 +423,10 @@ The server **SHALL** support both." * rest.resource[+].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].extension[0].valueCode = #SHALL * rest.resource[=].type = #Practitioner -* rest.resource[=].profile = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-practitioner" +* rest.resource[=].profile = "https://smartforms.csiro.au/ig/StructureDefinition/SHCPractitioner" * rest.resource[=].profile.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].profile.extension[0].valueCode = #SHALL -* rest.resource[=].documentation = "The server **SHALL** support the Practitioner resource, AU Core profile and the conformance expectations for the Practitioner resource." +* rest.resource[=].documentation = "The server **SHALL** support the Practitioner resource, Smart Health Checks profile and the conformance expectations for the Practitioner resource." * rest.resource[=].interaction[0].code = #read * rest.resource[=].interaction[0].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[0].extension[0].valueCode = #SHALL @@ -674,8 +674,8 @@ The server **SHALL** support both." //Encounter * rest.resource[+].type = #Encounter -* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-encounter" -* rest.resource[=].documentation = "The client supports the Encounter resource, the AU Core profile and the conformance expectations for the Encounter resource." +* rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCEncounter" +* rest.resource[=].documentation = "The client supports the Encounter resource, the Smart Health Checks profile and the conformance expectations for the Encounter resource." * rest.resource[=].interaction[0].code = #read @@ -818,8 +818,8 @@ The server **SHALL** support both." //Practitioner * rest.resource[+].type = #Practitioner -* rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-practitioner" -* rest.resource[=].documentation = "The client supports the Practitioner resource, AU Core profile and the conformance expectations for the Practitioner resource." +* rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCPractitioner" +* rest.resource[=].documentation = "The client supports the Practitioner resource, Smart Health Checks profile and the conformance expectations for the Practitioner resource." * rest.resource[=].interaction[0].code = #read //Questionnaire diff --git a/input/fsh/profiles.fsh b/input/fsh/profiles.fsh index 3a9c0e65..5247a1cd 100644 --- a/input/fsh/profiles.fsh +++ b/input/fsh/profiles.fsh @@ -260,7 +260,7 @@ Profile: SmartHealthChecksPatient Parent: $au-core-patient Id: SHCPatient Title: "Smart Health Checks Patient" -Description: "This profile sets the minimum expectations for a Patient resource to record, search and save patient information when used within Smart Health Checks." +Description: "This profile sets the minimum expectations for a Patient resource to search and retrieve patient information when used within Smart Health Checks." * extension[indigenousStatus] MS * extension[indigenousStatus] insert obligationServer (2, SHALL:populate-if-known) @@ -367,6 +367,29 @@ Description: "This profile sets the minimum expectations for a Patient resource * contact.telecom insert obligationServer (0, SHALL:populate-if-known) * contact.telecom insert obligationApp (1, SHALL:process) +Profile: SmartHealthChecksPractitioner +Parent: $au-core-practitioner +Id: SHCPractitioner +Title: "Smart Health Checks Practitioner" +Description: "This profile sets the minimum expectations for a Practitioner resource to search and retrieve practitioner information when used within Smart Health Checks." + +* id MS +* id insert obligationServer (0, SHALL:populate) +* id insert obligationApp (1, SHALL:process) +* name MS +* name insert obligationServer (2, SHALL:populate-if-known) +* name insert obligationApp (3, SHALL:process) + +Profile: SmartHealthChecksEncounter +Parent: $au-core-encounter +Id: SHCEncounter +Title: "Smart Health Checks Encounter" +Description: "This profile sets the minimum expectations for a Encounter resource to search and retrieve encounter information when used within Smart Health Checks." + +* id MS +* id insert obligationServer (0, SHALL:populate) +* id insert obligationApp (1, SHALL:process) + Profile: SmartHealthChecksQuestionnaireResponse Parent: $sdc-questionnaireresponse From e5eb29c41fcb1725e8fdfe09b0dc5a51042231ee Mon Sep 17 00:00:00 2001 From: liambarnes Date: Wed, 16 Jul 2025 12:00:31 +1000 Subject: [PATCH 142/177] Add conditional workflow --- ...stionnaire-AbsoluteCVDRiskCalculation.json | 233 ++++++++++++++---- ...-Assessment-AbsoluteCVDRiskCalculation.fsh | 118 +++++++-- 2 files changed, 282 insertions(+), 69 deletions(-) diff --git a/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json b/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json index c71dfee6..13b43ad8 100644 --- a/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json +++ b/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json @@ -89,12 +89,12 @@ }, { "linkId": "Guidance-CVDRisk", - "text": "Australian CVD risk calculator - https://www.cvdcheck.org.au/calculator", + "text": "The Australian guideline for assessing and managing cardiovascular disease risk recommends the use of the Aus CVD Risk calculator.", "_text": { "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
    \r\n

    AusCVDRisk

    \r\n

    The Australian guideline for assessing and managing cardiovascular disease risk recommends the use of the AusCVDRisk calculator.

    \r\n

    AusCVDRisk-i application

    \r\n

    Clinical systems that utlise the AusCVDRisk-i calculator should assess CVD risk with this application. As this application integrates direcly with the patient record, once the CVD risk result has been saved using AusCVDRisk-i, this form can be repopulated to retrieve and include the result.

    \r\n

    AusCVDRisk online calculator

    \r\n

    Clinical systems that do not utlise AusCVDRisk-i, the Australian CVD risk calculator on the AusCVDRisk website should be used. This section includes a read only view of a subset of variables that can be used as inputs for the online calculator. The CVD risk result can be entered below.

    \r\n
    " + "valueString": "

    The Australian guideline for assessing and managing cardiovascular disease risk recommends the use of the Aus CVD Risk calculator.

    " } ] }, @@ -121,67 +121,181 @@ { "extension": [ { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", - "valueCoding": { - "code": "%", - "system": "http://unitsofmeasure.org" + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%CVDRiskResultValue.exists() and %CVDRiskResultDateFormatted.exists()" } } ], - "item": [ + "linkId": "cvdrisk-newassessmentquestion", + "text": "A previous CVD risk result has been found. Do you want to perform a new assessment?", + "type": "boolean", + "repeats": false + }, + { + "extension": [ { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "code": "unit", - "system": "http://hl7.org/fhir/questionnaire-item-control" - } - ] - } - } - ], - "linkId": "0162854e-c124-4b58-acd9-93c17562d407", - "text": "%", - "type": "display" + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%NewAssessmentQuestionAnswer = true or %CVDRiskResultValue.empty() or %CVDRiskResultDateFormatted.empty()" + } } ], - "linkId": "4c52fcec-0695-4916-b185-24a5c2711631", - "text": "Risk result", - "type": "integer", + "linkId": "cvdrisk-auscvdriskiaccess", + "text": "Do you have access to the Aus CVD Risk-i application from your clinical system?", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "

    Do you have access to the Aus CVD Risk‑i application from your clinical system?

    " + } + ] + }, + "type": "boolean", "repeats": false }, { "extension": [ { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "code": "radio-button", - "system": "http://hl7.org/fhir/questionnaire-item-control" - } - ] + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%AusCVDRiskiAccessAnswer = true" } } ], - "linkId": "28ff9463-b77f-435d-9ba7-427682a61f96", - "text": "Assessed risk category", - "type": "choice", - "repeats": false, - "answerOption": [ + "linkId": "cvdrisk-auscvdriskiguidance", + "text": "Using the Aus CVD Risk-i application, calculate the CVD risk result and save it to the patient record. This form can then be repopulated to retrieve and include the result above.", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "

    Using the Aus CVD Risk‑i application, calculate the CVD risk result and save it to the patient record. This form can then be repopulated to retrieve and include the result above.

    " + } + ] + }, + "type": "display" + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%AusCVDRiskiAccessAnswer = true" + } + } + ], + "linkId": "cvdrisk-repopulateoverride", + "text": "Do you need to manually enter a new CVD risk result instead of repopulating?", + "type": "boolean", + "repeats": false + }, + { + "extension": [ { - "valueString": "High Risk" + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%AusCVDRiskiAccessAnswer != true or %RepopulateOverrideAnswer = true" + } + } + ], + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%AusCVDRiskiAccessAnswer != true" + } + } + ], + "linkId": "cvdrisk-onlincecalculatorguidance", + "text": "Use the online Australian CVD risk calculator - https://www.cvdcheck.org.au/calculator", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
    \r\n

    The Australian CVD risk calculator on the Aus CVD Risk website should be used. Below is a read only view of a subset of variables that can be used as inputs for the online calculator. The calculated CVD risk result can be entered here.

    " + } + ] + }, + "type": "display" }, { - "valueString": "Intermediate Risk" + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", + "valueCoding": { + "code": "%", + "system": "http://unitsofmeasure.org" + } + } + ], + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "unit", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + } + ], + "linkId": "0162854e-c124-4b58-acd9-93c17562d407", + "text": "%", + "type": "display" + } + ], + "linkId": "4c52fcec-0695-4916-b185-24a5c2711631", + "text": "Risk result score", + "type": "integer", + "repeats": false }, { - "valueString": "Low Risk" + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "code": "radio-button", + "system": "http://hl7.org/fhir/questionnaire-item-control" + } + ] + } + } + ], + "linkId": "28ff9463-b77f-435d-9ba7-427682a61f96", + "text": "Assessed risk category", + "type": "choice", + "repeats": false, + "answerOption": [ + { + "valueString": "High Risk" + }, + { + "valueString": "Intermediate Risk" + }, + { + "valueString": "Low Risk" + } + ] } - ] + ], + "linkId": "cvdrisk-cvdriskresultgroup", + "text": "New CVD risk result", + "type": "group", + "repeats": false } ], "linkId": "dabdc7b4-51db-44a0-9d59-77a88587cbe9", @@ -575,7 +689,14 @@ "text": "CVD risk calculator variables", "type": "group", "repeats": false, - "readOnly": true + "readOnly": true, + "enableWhen": [ + { + "question": "cvdrisk-auscvdriskiaccess", + "operator": "=", + "answerBoolean": false + } + ] }, { "linkId": "f8022f3f-21fe-42c0-8abd-95f24e2e37e5", @@ -850,6 +971,30 @@ "expression": "%CVDRiskResultDateString.substring(8,2).toInteger().toString() + ' ' + %CVDRiskResultDateString.substring(5,2).replace('01','Jan').replace('02','Feb').replace('03','Mar').replace('04','Apr').replace('05','May').replace('06','Jun').replace('07','Jul').replace('08','Aug').replace('09','Sep').replace('10','Oct').replace('11','Nov').replace('12','Dec') + ' ' + %CVDRiskResultDateString.substring(0,4)" } }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "NewAssessmentQuestionAnswer", + "language": "text/fhirpath", + "expression": "repeat(item).where(linkId='cvdrisk-newassessmentquestion').answer.value" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "AusCVDRiskiAccessAnswer", + "language": "text/fhirpath", + "expression": "repeat(item).where(linkId='cvdrisk-auscvdriskiaccess').answer.value" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "RepopulateOverrideAnswer", + "language": "text/fhirpath", + "expression": "repeat(item).where(linkId='cvdrisk-repopulateoverride').answer.value" + } + }, { "url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]", "valueCoding": { diff --git a/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh b/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh index feff5684..a9cc9011 100644 --- a/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh +++ b/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh @@ -111,6 +111,26 @@ Description: "Absolute Cardiovascular Disease Risk Calculation sub-questionnaire * language = #text/fhirpath * expression = "%CVDRiskResultDateString.substring(8,2).toInteger().toString() + ' ' + %CVDRiskResultDateString.substring(5,2).replace('01','Jan').replace('02','Feb').replace('03','Mar').replace('04','Apr').replace('05','May').replace('06','Jun').replace('07','Jul').replace('08','Aug').replace('09','Sep').replace('10','Oct').replace('11','Nov').replace('12','Dec') + ' ' + %CVDRiskResultDateString.substring(0,4)" + +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "NewAssessmentQuestionAnswer" + * language = #text/fhirpath + * expression = "repeat(item).where(linkId='cvdrisk-newassessmentquestion').answer.value" +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "AusCVDRiskiAccessAnswer" + * language = #text/fhirpath + * expression = "repeat(item).where(linkId='cvdrisk-auscvdriskiaccess').answer.value" +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "RepopulateOverrideAnswer" + * language = #text/fhirpath + * expression = "repeat(item).where(linkId='cvdrisk-repopulateoverride').answer.value" + //R5 preadoption extensions * extension[+] * url = "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]" @@ -162,15 +182,8 @@ Description: "Absolute Cardiovascular Disease Risk Calculation sub-questionnaire * answerBoolean = true * item[+] * linkId = "Guidance-CVDRisk" - * text = "Australian CVD risk calculator - https://www.cvdcheck.org.au/calculator" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
    -

    AusCVDRisk

    -

    The Australian guideline for assessing and managing cardiovascular disease risk recommends the use of the AusCVDRisk calculator.

    -

    AusCVDRisk-i application

    -

    Clinical systems that utlise the AusCVDRisk-i calculator should assess CVD risk with this application. As this application integrates direcly with the patient record, once the CVD risk result has been saved using AusCVDRisk-i, this form can be repopulated to retrieve and include the result.

    -

    AusCVDRisk online calculator

    -

    Clinical systems that do not utlise AusCVDRisk-i, the Australian CVD risk calculator on the AusCVDRisk website should be used. This section includes a read only view of a subset of variables that can be used as inputs for the online calculator. The CVD risk result can be entered below.

    -
    " + * text = "The Australian guideline for assessing and managing cardiovascular disease risk recommends the use of the Aus CVD Risk calculator." + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "

    The Australian guideline for assessing and managing cardiovascular disease risk recommends the use of the Aus CVD Risk calculator.

    " * type = #display * item[+] * linkId = "dabdc7b4-51db-44a0-9d59-77a88587cbe9" @@ -187,31 +200,86 @@ Description: "Absolute Cardiovascular Disease Risk Calculation sub-questionnaire * repeats = false * readOnly = true * item[+] - * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#% - * linkId = "4c52fcec-0695-4916-b185-24a5c2711631" - * text = "Risk result" - * type = #integer + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression + * language = #text/fhirpath + * expression = "%CVDRiskResultValue.exists() and %CVDRiskResultDateFormatted.exists()" + * linkId = "cvdrisk-newassessmentquestion" + * text = "A previous CVD risk result has been found. Do you want to perform a new assessment?" + * type = #boolean + * repeats = false + * item[+] + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression + * language = #text/fhirpath + * expression = "%NewAssessmentQuestionAnswer = true or %CVDRiskResultValue.empty() or %CVDRiskResultDateFormatted.empty()" + * linkId = "cvdrisk-auscvdriskiaccess" + * text = "Do you have access to the Aus CVD Risk-i application from your clinical system?" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "

    Do you have access to the Aus CVD Risk‑i application from your clinical system?

    " + * type = #boolean + * repeats = false + * item[+] + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression + * language = #text/fhirpath + * expression = "%AusCVDRiskiAccessAnswer = true" + * linkId = "cvdrisk-auscvdriskiguidance" + * text = "Using the Aus CVD Risk-i application, calculate the CVD risk result and save it to the patient record. This form can then be repopulated to retrieve and include the result above." + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "

    Using the Aus CVD Risk‑i application, calculate the CVD risk result and save it to the patient record. This form can then be repopulated to retrieve and include the result above.

    " + * type = #display + * item[+] + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression + * language = #text/fhirpath + * expression = "%AusCVDRiskiAccessAnswer = true" + * linkId = "cvdrisk-repopulateoverride" + * text = "Do you need to manually enter a new CVD risk result instead of repopulating?" + * type = #boolean * repeats = false - * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit - * linkId = "0162854e-c124-4b58-acd9-93c17562d407" - * text = "%" - * type = #display * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#radio-button - * linkId = "28ff9463-b77f-435d-9ba7-427682a61f96" - * text = "Assessed risk category" - * type = #choice + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression + * language = #text/fhirpath + * expression = "%AusCVDRiskiAccessAnswer != true or %RepopulateOverrideAnswer = true" + * linkId = "cvdrisk-cvdriskresultgroup" + * text = "New CVD risk result" + * type = #group * repeats = false - * answerOption[+].valueString = "High Risk" - * answerOption[+].valueString = "Intermediate Risk" - * answerOption[+].valueString = "Low Risk" + * item[+] + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression + * language = #text/fhirpath + * expression = "%AusCVDRiskiAccessAnswer != true" + * linkId = "cvdrisk-onlincecalculatorguidance" + * text = "Use the online Australian CVD risk calculator - https://www.cvdcheck.org.au/calculator" + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
    +

    The Australian CVD risk calculator on the Aus CVD Risk website should be used. Below is a read only view of a subset of variables that can be used as inputs for the online calculator. The calculated CVD risk result can be entered here.

    " + * type = #display + * item[+] + * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#% + * linkId = "4c52fcec-0695-4916-b185-24a5c2711631" + * text = "Risk result score" + * type = #integer + * repeats = false + * item[+] + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit + * linkId = "0162854e-c124-4b58-acd9-93c17562d407" + * text = "%" + * type = #display + * item[+] + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#radio-button + * linkId = "28ff9463-b77f-435d-9ba7-427682a61f96" + * text = "Assessed risk category" + * type = #choice + * repeats = false + * answerOption[+].valueString = "High Risk" + * answerOption[+].valueString = "Intermediate Risk" + * answerOption[+].valueString = "Low Risk" +//Online calculator variables view * item[+] * linkId = "8d02ef36-3f48-4912-b001-e9fec6aa7101" * text = "CVD risk calculator variables" * type = #group * repeats = false * readOnly = true + * enableWhen[+] + * question = "cvdrisk-auscvdriskiaccess" + * operator = #= + * answerBoolean = false * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression].valueExpression * description = "CVD Risk Age" From 5ba232f5fe68cc73affd20b30a174c783637984f Mon Sep 17 00:00:00 2001 From: liambarnes Date: Wed, 16 Jul 2025 15:35:44 +1000 Subject: [PATCH 143/177] remove duplicate linkId and prep for merge --- ...plementationGuide-csiro.fhir.au.smartforms.json | 14 +++++++------- .../Questionnaire-AbsoluteCVDRiskCalculation.json | 2 +- .../Questionnaire-AssemblyInstructions.json | 6 +++--- input/fsh/715-AssemblyInstructions.fsh | 10 +++++----- .../715-Assessment-AbsoluteCVDRiskCalculation.fsh | 2 +- 5 files changed, 17 insertions(+), 17 deletions(-) diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index 84521323..ce6aac9e 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -73,18 +73,18 @@ "resource": [ { "reference": { - "reference": "Questionnaire/AboriginalTorresStraitIslanderHealthCheck" + "reference": "Questionnaire/AssemblyInstructions" }, - "exampleBoolean": false, - "name": "Aboriginal and Torres Strait Islander Health Check" + "name": "Aboriginal and Torres Strait Islander Health Check", + "description": "Aboriginal and Torres Strait Islander Health Check assessment form.", + "exampleBoolean": true }, { "reference": { - "reference": "Questionnaire/AssemblyInstructions" + "reference": "Questionnaire/AboriginalTorresStraitIslanderHealthCheck" }, - "name": "Aboriginal and Torres Strait Islander Health Check (CVD)", - "description": "Aboriginal and Torres Strait Islander Health Check assessment form (CVD).", - "exampleBoolean": true + "exampleBoolean": false, + "name": "Aboriginal and Torres Strait Islander Health Check" }, { "reference": { diff --git a/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json b/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json index 13b43ad8..8a0cdc6b 100644 --- a/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json +++ b/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json @@ -392,7 +392,7 @@ } } ], - "linkId": "818ce640-c8dd-457d-b607-3aaa8da38524", + "linkId": "333007c7-47a9-482b-af11-e55484abf2ae", "text": "Value", "type": "choice", "repeats": false, diff --git a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json index 2103360e..8c8dcfd7 100644 --- a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json +++ b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json @@ -2354,9 +2354,9 @@ } } ], - "url": "http://www.health.gov.au/assessments/mbs/715/cvd", - "name": "AboriginalTorresStraitIslanderHealthCheckCVD", - "title": "Aboriginal and Torres Strait Islander Health Check (CVD)", + "url": "http://www.health.gov.au/assessments/mbs/715", + "name": "AboriginalTorresStraitIslanderHealthCheck", + "title": "Aboriginal and Torres Strait Islander Health Check", "status": "draft", "experimental": false, "subjectType": [ diff --git a/input/fsh/715-AssemblyInstructions.fsh b/input/fsh/715-AssemblyInstructions.fsh index 08d8ec6c..b07dc452 100644 --- a/input/fsh/715-AssemblyInstructions.fsh +++ b/input/fsh/715-AssemblyInstructions.fsh @@ -5,8 +5,8 @@ Alias: $UCUM = http://unitsofmeasure.org Instance: AssemblyInstructions InstanceOf: Questionnaire Usage: #example -Title: "Aboriginal and Torres Strait Islander Health Check (CVD)" -Description: "Aboriginal and Torres Strait Islander Health Check assessment form (CVD)." +Title: "Aboriginal and Torres Strait Islander Health Check" +Description: "Aboriginal and Torres Strait Islander Health Check assessment form." * contained[+] = YesNo * contained[+] = YesNoNA @@ -146,9 +146,9 @@ Description: "Aboriginal and Torres Strait Islander Health Check assessment form * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" -* url = "http://www.health.gov.au/assessments/mbs/715/cvd" -* name = "AboriginalTorresStraitIslanderHealthCheckCVD" -* title = "Aboriginal and Torres Strait Islander Health Check (CVD)" +* url = "http://www.health.gov.au/assessments/mbs/715" +* name = "AboriginalTorresStraitIslanderHealthCheck" +* title = "Aboriginal and Torres Strait Islander Health Check" * status = #draft * experimental = false * subjectType[+] = #Patient diff --git a/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh b/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh index a9cc9011..b6f8f30e 100644 --- a/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh +++ b/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh @@ -318,7 +318,7 @@ Description: "Absolute Cardiovascular Disease Risk Calculation sub-questionnaire * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath * expression = "%ObsTobaccoSmokingStatus.entry.resource.value.coding.where(system='http://snomed.info/sct').first()" - * linkId = "818ce640-c8dd-457d-b607-3aaa8da38524" + * linkId = "333007c7-47a9-482b-af11-e55484abf2ae" * text = "Value" * type = #choice * repeats = false From 64afd5295727406367b7ca635a0ef92bbf456562 Mon Sep 17 00:00:00 2001 From: Sean Fong Date: Wed, 16 Jul 2025 15:18:50 +0930 Subject: [PATCH 144/177] Add https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden extension to hide rendering of item.text labels (No FSH) --- ...esStraitIslanderHealthCheck-assembled.json | 90 +++++++++++++++++++ 1 file changed, 90 insertions(+) diff --git a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json index 86ca9332..404f90e7 100644 --- a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json +++ b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json @@ -4928,6 +4928,15 @@ }, { "linkId": "4e0dc185-f83e-4027-b7a8-ecb543d42c6d", + "text": "Home Address", + "_text": { + "extension": [ + { + "url": "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden", + "valueBoolean": true + } + ] + }, "type": "group", "enableWhen": [ { @@ -6396,6 +6405,15 @@ } ], "linkId": "92bd7d05-9b5e-4cf9-900b-703f361dad9d", + "text": "Medical history summary", + "_text": { + "extension": [ + { + "url": "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden", + "valueBoolean": true + } + ] + }, "type": "group", "repeats": true, "item": [ @@ -6526,6 +6544,15 @@ } ], "linkId": "newdiagnosis", + "text": "New Diagnosis", + "_text": { + "extension": [ + { + "url": "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden", + "valueBoolean": true + } + ] + }, "type": "group", "repeats": true, "item": [ @@ -6723,6 +6750,15 @@ } ], "linkId": "regularmedications-summary-current", + "text": "Current regular medications", + "_text": { + "extension": [ + { + "url": "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden", + "valueBoolean": true + } + ] + }, "type": "group", "repeats": true, "item": [ @@ -6891,6 +6927,15 @@ } ], "linkId": "regularmedications-summary-new", + "text": "New regular medications", + "_text": { + "extension": [ + { + "url": "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden", + "valueBoolean": true + } + ] + }, "type": "group", "repeats": true, "item": [ @@ -7204,6 +7249,15 @@ } ], "linkId": "allergysummary", + "text": "Adverse reaction risk summary", + "_text": { + "extension": [ + { + "url": "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden", + "valueBoolean": true + } + ] + }, "type": "group", "repeats": true, "item": [ @@ -7354,6 +7408,15 @@ } ], "linkId": "allergynew", + "text": "New allergy", + "_text": { + "extension": [ + { + "url": "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden", + "valueBoolean": true + } + ] + }, "type": "group", "repeats": true, "item": [ @@ -12316,6 +12379,15 @@ } ], "linkId": "substanceuse-smoking-smokingstatus", + "text": "Smoking status", + "_text": { + "extension": [ + { + "url": "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden", + "valueBoolean": true + } + ] + }, "type": "group", "repeats": false, "item": [ @@ -16098,6 +16170,15 @@ } ], "linkId": "3639c586-9576-48d3-a52b-e91fd2138581", + "text": "Blood pressure", + "_text": { + "extension": [ + { + "url": "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden", + "valueBoolean": true + } + ] + }, "type": "group", "repeats": false, "item": [ @@ -16556,6 +16637,15 @@ } ], "linkId": "fe9feec6-593a-4106-8a7d-f9965a632ea2", + "text": "Blood pressure", + "_text": { + "extension": [ + { + "url": "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden", + "valueBoolean": true + } + ] + }, "type": "group", "repeats": false, "item": [ From 7fc22a5cd28f4273e64478229fcc618e5894a4cf Mon Sep 17 00:00:00 2001 From: liambarnes Date: Wed, 16 Jul 2025 16:02:59 +1000 Subject: [PATCH 145/177] bug fixes --- .../Questionnaire-PatientDetails.json | 18 +----------------- .../Questionnaire-RegularMedications.json | 2 +- .../fsh/715-Assessment-RegularMedications.fsh | 2 +- input/fsh/715-PatientDetails.fsh | 3 --- 4 files changed, 3 insertions(+), 22 deletions(-) diff --git a/fsh-generated/resources/Questionnaire-PatientDetails.json b/fsh-generated/resources/Questionnaire-PatientDetails.json index 5910be78..74a9f666 100644 --- a/fsh-generated/resources/Questionnaire-PatientDetails.json +++ b/fsh-generated/resources/Questionnaire-PatientDetails.json @@ -5,8 +5,7 @@ "profile": [ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render", "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-extr-template" + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" ] }, "item": [ @@ -909,21 +908,6 @@ "language": "text/fhirpath", "expression": "%patient.extension.where(url='http://hl7.org.au/fhir/StructureDefinition/closing-the-gap-registration').value" } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "code": "radio-button", - "system": "http://hl7.org/fhir/questionnaire-item-control" - } - ] - } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-choiceOrientation", - "valueCode": "horizontal" } ], "linkId": "83814495-3a81-43f4-88df-42186cce516a", diff --git a/fsh-generated/resources/Questionnaire-RegularMedications.json b/fsh-generated/resources/Questionnaire-RegularMedications.json index c10ff883..1e82ff8b 100644 --- a/fsh-generated/resources/Questionnaire-RegularMedications.json +++ b/fsh-generated/resources/Questionnaire-RegularMedications.json @@ -322,7 +322,7 @@ "text": "Medication", "type": "open-choice", "repeats": false, - "answerValueSet": "#smarthealthchecks-medication" + "answerValueSet": "#smart-health-checks-medicine-products" }, { "linkId": "regularmedications-summary-new-dosage", diff --git a/input/fsh/715-Assessment-RegularMedications.fsh b/input/fsh/715-Assessment-RegularMedications.fsh index f605b613..84343f03 100644 --- a/input/fsh/715-Assessment-RegularMedications.fsh +++ b/input/fsh/715-Assessment-RegularMedications.fsh @@ -246,7 +246,7 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * item.item[=].item[=].item[=].text = "Medication" * item.item[=].item[=].item[=].type = #open-choice * item.item[=].item[=].item[=].repeats = false -* item.item[=].item[=].item[=].answerValueSet = "#smarthealthchecks-medication" +* item.item[=].item[=].item[=].answerValueSet = "#smart-health-checks-medicine-products" * item.item[=].item[=].item[+].linkId = "regularmedications-summary-new-dosage" * item.item[=].item[=].item[=].text = "Dosage" diff --git a/input/fsh/715-PatientDetails.fsh b/input/fsh/715-PatientDetails.fsh index d52a3b49..aca1ffcf 100644 --- a/input/fsh/715-PatientDetails.fsh +++ b/input/fsh/715-PatientDetails.fsh @@ -80,7 +80,6 @@ Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" -* meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-extr-template" * url = "http://www.health.gov.au/assessments/mbs/715/PatientDetails" * name = "PatientDetails" * title = "Aboriginal and Torres Strait Islander Health Check - Patient Details" @@ -511,8 +510,6 @@ Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath * expression = "%patient.extension.where(url='http://hl7.org.au/fhir/StructureDefinition/closing-the-gap-registration').value" - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#radio-button - * extension[questionnaire-choiceOrientation].valueCode = #horizontal * linkId = "83814495-3a81-43f4-88df-42186cce516a" * text = "Registered for Closing the Gap PBS Co-payment Measure (CTG)" * type = #boolean From 9fe728e2435b8f1f044f236c628164baef3f3477 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Thu, 17 Jul 2025 09:51:16 +1000 Subject: [PATCH 146/177] Move Observation status and _count search to fhirpath filtering --- ...tyStatement-SHCAppCapabilityStatement.json | 15 --- ...-SHCHostFHIRServerCapabilityStatement.json | 15 --- ...stionnaire-AbsoluteCVDRiskCalculation.json | 58 +++++++++--- .../Questionnaire-AssemblyInstructions.json | 20 +++- .../resources/Questionnaire-Examination.json | 94 ++++++++++++++----- .../resources/Questionnaire-SubstanceUse.json | 8 +- input/fsh/715-AssemblyInstructions.fsh | 19 +++- ...-Assessment-AbsoluteCVDRiskCalculation.fsh | 51 +++++++--- input/fsh/715-Assessment-Examination.fsh | 84 ++++++++++++----- input/fsh/715-Assessment-SubstanceUse.fsh | 7 +- input/fsh/capability.fsh | 16 ++-- 11 files changed, 272 insertions(+), 115 deletions(-) diff --git a/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json b/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json index 8a58f301..88d01333 100644 --- a/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json +++ b/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json @@ -285,10 +285,6 @@ "url": "required", "valueString": "code" }, - { - "url": "required", - "valueString": "_count" - }, { "url": "required", "valueString": "_sort" @@ -330,17 +326,6 @@ "type": "token", "documentation": "The client **SHALL** provide at least a code value and **MAY** provide both the code and system values. \r\n\r\nThe server **SHALL** support both." }, - { - "name": "_count", - "type": "number", - "documentation": "The client and server **SHALL** support search result limiting.", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, { "name": "_sort", "type": "string", diff --git a/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json b/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json index 365a645e..ee3442a2 100644 --- a/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json +++ b/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json @@ -597,10 +597,6 @@ "url": "required", "valueString": "code" }, - { - "url": "required", - "valueString": "_count" - }, { "url": "required", "valueString": "_sort" @@ -740,17 +736,6 @@ } ] }, - { - "name": "_count", - "type": "number", - "documentation": "The client and server **SHALL** support search result limiting.", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, { "name": "_sort", "type": "string", diff --git a/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json b/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json index 8a0cdc6b..77d03b77 100644 --- a/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json +++ b/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json @@ -388,7 +388,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%ObsTobaccoSmokingStatus.entry.resource.value.coding.where(system='http://snomed.info/sct').first()" + "expression": "%ObsTobaccoSmokingStatusLatest.value.coding.where(system='http://snomed.info/sct').first()" } } ], @@ -439,7 +439,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%ObsTobaccoSmokingStatus.entry.resource.effective" + "expression": "%ObsTobaccoSmokingStatusLatest.effective" } } ], @@ -462,7 +462,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8480-6')).value.value" + "expression": "%ObsBloodPressureLatest.component.where(code.coding.exists(code='8480-6')).value.value" } }, { @@ -504,7 +504,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%ObsBloodPressure.entry.resource.effective" + "expression": "%ObsBloodPressureLatest.effective" } } ], @@ -527,7 +527,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%ObsTotalCholesterol.entry.resource.value.value" + "expression": "%ObsTotalCholesterolLatest.value.value" } }, { @@ -569,7 +569,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%ObsTotalCholesterol.entry.resource.effective" + "expression": "%ObsTotalCholesterolLatest.effective" } } ], @@ -592,7 +592,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%ObsHDLCholesterol.entry.resource.value.value" + "expression": "%ObsHDLCholesterolLatest.value.value" } }, { @@ -634,7 +634,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%ObsHDLCholesterol.entry.resource.effective" + "expression": "%ObsHDLCholesterolLatest.effective" } } ], @@ -911,6 +911,10 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "ObsBloodPressure" }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", + "valueString": "ObsBloodPressureLatest" + }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "SexAtBirthCoding" @@ -919,6 +923,10 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "ObsTobaccoSmokingStatus" }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", + "valueString": "ObsTobaccoSmokingStatusLatest" + }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "postcode" @@ -928,7 +936,7 @@ "valueExpression": { "name": "ObsTotalCholesterol", "language": "application/x-fhir-query", - "expression": "Observation?code=14647-2&_count=1&_sort=-date&patient={{%patient.id}}" + "expression": "Observation?code=14647-2&_sort=-date&patient={{%patient.id}}" } }, { @@ -936,7 +944,23 @@ "valueExpression": { "name": "ObsHDLCholesterol", "language": "application/x-fhir-query", - "expression": "Observation?code=14646-4&_count=1&_sort=-date&patient={{%patient.id}}" + "expression": "Observation?code=14646-4&_sort=-date&patient={{%patient.id}}" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsTotalCholesterolLatest", + "language": "text/fhirpath", + "expression": "%ObsTotalCholesterol.entry.resource.where(status = 'final' or status = 'amended' or status = 'corrected').first()" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsHDLCholesterolLatest", + "language": "text/fhirpath", + "expression": "%ObsHDLCholesterol.entry.resource.where(status = 'final' or status = 'amended' or status = 'corrected').first()" } }, { @@ -944,7 +968,15 @@ "valueExpression": { "name": "CVDRiskResult", "language": "application/x-fhir-query", - "expression": "Observation?code=441829007&status=final&_count=1&_sort=-date&patient={{%patient.id}}" + "expression": "Observation?code=441829007&_sort=-date&patient={{%patient.id}}" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "CVDRiskResultLatest", + "language": "text/fhirpath", + "expression": "%CVDRiskResult.entry.resource.where(status = 'final' or status = 'amended' or status = 'corrected').first()" } }, { @@ -952,7 +984,7 @@ "valueExpression": { "name": "CVDRiskResultValue", "language": "text/fhirpath", - "expression": "%CVDRiskResult.entry.resource.select((((value.ofType(Quantity).comparator + value.ofType(Quantity).value.toString() + value.ofType(Quantity).unit | value.ofType(Quantity).value.toString() + value.ofType(Quantity).unit).first() | (value.ofType(Range).low.value.toString() + ' - ' + value.ofType(Range).high.value.toString() + value.ofType(Range).high.unit)).first()) + ' ' + interpretation.coding.display)" + "expression": "%CVDRiskResultLatest.select((((value.ofType(Quantity).comparator + value.ofType(Quantity).value.toString() + value.ofType(Quantity).unit | value.ofType(Quantity).value.toString() + value.ofType(Quantity).unit).first() | (value.ofType(Range).low.value.toString() + ' - ' + value.ofType(Range).high.value.toString() + value.ofType(Range).high.unit)).first()) + ' ' + interpretation.coding.display)" } }, { @@ -960,7 +992,7 @@ "valueExpression": { "name": "CVDRiskResultDateString", "language": "text/fhirpath", - "expression": "%CVDRiskResult.entry.resource.effective.toString()" + "expression": "%CVDRiskResultLatest.effective.toString()" } }, { diff --git a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json index 8c8dcfd7..5db1dc5d 100644 --- a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json +++ b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json @@ -2237,7 +2237,7 @@ "valueExpression": { "name": "ObsBloodPressure", "language": "application/x-fhir-query", - "expression": "Observation?code=85354-9&_count=1&_sort=-date&patient={{%patient.id}}" + "expression": "Observation?code=85354-9&_sort=-date&patient={{%patient.id}}" } }, { @@ -2245,7 +2245,7 @@ "valueExpression": { "name": "ObsTobaccoSmokingStatus", "language": "application/x-fhir-query", - "expression": "Observation?code=72166-2&_count=1&_sort=-date&patient={{%patient.id}}" + "expression": "Observation?code=72166-2&_sort=-date&patient={{%patient.id}}" } }, { @@ -2256,6 +2256,22 @@ "expression": "%patient.extension.where(exists(url='http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender' and extension.where(exists(url='type' and value.coding.code='1515311000168102')) and extension.where(url='effectivePeriod').value.end.empty())).extension.where(url='value').value.coding" } }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsBloodPressureLatest", + "language": "text/fhirpath", + "expression": "%ObsBloodPressure.entry.resource.where(status = 'final' or status = 'amended' or status = 'corrected').first()" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsTobaccoSmokingStatusLatest", + "language": "text/fhirpath", + "expression": "%ObsTobaccoSmokingStatus.entry.resource.where(status = 'final' or status = 'amended' or status = 'corrected').first()" + } + }, { "url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]", "valueCoding": { diff --git a/fsh-generated/resources/Questionnaire-Examination.json b/fsh-generated/resources/Questionnaire-Examination.json index 52232252..2788c745 100644 --- a/fsh-generated/resources/Questionnaire-Examination.json +++ b/fsh-generated/resources/Questionnaire-Examination.json @@ -820,7 +820,7 @@ "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(%ObsBloodPressureValue.exists() and %ObsBloodPressureDateFormatted.exists(), %ObsBloodPressureValue + ' mm Hg ( ' + %bsBloodPressureDateFormatted + ' )', 'Not available')" + "expression": "iif(%ObsBloodPressureValue.exists() and %ObsBloodPressureDateFormatted.exists(), %ObsBloodPressureValue + ' mm Hg ( ' + %ObsBloodPressureDateFormatted + ' )', 'Not available')" } }, { @@ -1692,6 +1692,10 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "ObsBloodPressure" }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", + "valueString": "ObsBloodPressureLatest" + }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" @@ -1701,7 +1705,7 @@ "valueExpression": { "name": "ObsWaistCircumference", "language": "application/x-fhir-query", - "expression": "Observation?code=8280-0&_count=1&_sort=-date&patient={{%patient.id}}" + "expression": "Observation?code=8280-0&_sort=-date&patient={{%patient.id}}" } }, { @@ -1709,7 +1713,7 @@ "valueExpression": { "name": "ObsHeartRate", "language": "application/x-fhir-query", - "expression": "Observation?code=8867-4&_count=1&_sort=-date&patient={{%patient.id}}" + "expression": "Observation?code=8867-4&_sort=-date&patient={{%patient.id}}" } }, { @@ -1717,7 +1721,7 @@ "valueExpression": { "name": "ObsHeartRhythm", "language": "application/x-fhir-query", - "expression": "Observation?code=364074009&_count=1&_sort=-date&patient={{%patient.id}}" + "expression": "Observation?code=364074009&_sort=-date&patient={{%patient.id}}" } }, { @@ -1725,7 +1729,7 @@ "valueExpression": { "name": "ObsBodyHeight", "language": "application/x-fhir-query", - "expression": "Observation?code=8302-2&_count=1&_sort=-date&patient={{%patient.id}}" + "expression": "Observation?code=8302-2&_sort=-date&patient={{%patient.id}}" } }, { @@ -1733,7 +1737,7 @@ "valueExpression": { "name": "ObsBodyWeight", "language": "application/x-fhir-query", - "expression": "Observation?code=29463-7&_count=1&_sort=-date&patient={{%patient.id}}" + "expression": "Observation?code=29463-7&_sort=-date&patient={{%patient.id}}" } }, { @@ -1741,7 +1745,55 @@ "valueExpression": { "name": "ObsHeadCircumference", "language": "application/x-fhir-query", - "expression": "Observation?code=9843-4&_count=1&_sort=-date&patient={{%patient.id}}" + "expression": "Observation?code=9843-4&_sort=-date&patient={{%patient.id}}" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsWaistCircumferenceLatest", + "language": "text/fhirpath", + "expression": "%ObsWaistCircumference.entry.resource.where(status = 'final' or status = 'amended' or status = 'corrected').first()" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsHeartRateLatest", + "language": "text/fhirpath", + "expression": "%ObsHeartRate.entry.resource.where(status = 'final' or status = 'amended' or status = 'corrected').first()" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsHeartRhythmLatest", + "language": "text/fhirpath", + "expression": "%ObsHeartRhythm.entry.resource.where(status = 'final' or status = 'amended' or status = 'corrected').first()" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsBodyHeightLatest", + "language": "text/fhirpath", + "expression": "%ObsBodyHeight.entry.resource.where(status = 'final' or status = 'amended' or status = 'corrected').first()" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsBodyWeightLatest", + "language": "text/fhirpath", + "expression": "%ObsBodyWeight.entry.resource.where(status = 'final' or status = 'amended' or status = 'corrected').first()" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsHeadCircumferenceLatest", + "language": "text/fhirpath", + "expression": "%ObsHeadCircumference.entry.resource.where(status = 'final' or status = 'amended' or status = 'corrected').first()" } }, { @@ -1749,7 +1801,7 @@ "valueExpression": { "name": "ObsBodyHeightValue", "language": "text/fhirpath", - "expression": "%ObsBodyHeight.entry.resource.where(status='final').value.value" + "expression": "%ObsBodyHeightLatest.value.value" } }, { @@ -1757,7 +1809,7 @@ "valueExpression": { "name": "ObsBodyHeightDateString", "language": "text/fhirpath", - "expression": "%ObsBodyHeight.entry.resource.where(status='final').effective.toDate().toString()" + "expression": "%ObsBodyHeightLatest.effective.toDate().toString()" } }, { @@ -1773,7 +1825,7 @@ "valueExpression": { "name": "ObsBodyWeightValue", "language": "text/fhirpath", - "expression": "%ObsBodyWeight.entry.resource.where(status='final').value.value" + "expression": "%ObsBodyWeightLatest.value.value" } }, { @@ -1781,7 +1833,7 @@ "valueExpression": { "name": "ObsBodyWeightDateString", "language": "text/fhirpath", - "expression": "%ObsBodyWeight.entry.resource.where(status='final').effective.toDate().toString()" + "expression": "%ObsBodyWeightLatest.effective.toDate().toString()" } }, { @@ -1797,7 +1849,7 @@ "valueExpression": { "name": "ObsHeadCircumferenceValue", "language": "text/fhirpath", - "expression": "%ObsHeadCircumference.entry.resource.where(status='final').value.value" + "expression": "%ObsHeadCircumferenceLatest.value.value" } }, { @@ -1805,7 +1857,7 @@ "valueExpression": { "name": "ObsHeadCircumferenceDateString", "language": "text/fhirpath", - "expression": "%ObsHeadCircumference.entry.resource.where(status='final').effective.toDate().toString" + "expression": "%ObsHeadCircumferenceLatest.effective.toDate().toString" } }, { @@ -1821,7 +1873,7 @@ "valueExpression": { "name": "ObsWaistCircumferenceValue", "language": "text/fhirpath", - "expression": "%ObsWaistCircumference.entry.resource.where(status='final').value.value" + "expression": "%ObsWaistCircumferenceLatest.value.value" } }, { @@ -1829,7 +1881,7 @@ "valueExpression": { "name": "ObsWaistCircumferenceDateString", "language": "text/fhirpath", - "expression": "%ObsWaistCircumference.entry.resource.where(status='final').effective.toDate().toString()" + "expression": "%ObsWaistCircumferenceLatest.effective.toDate().toString()" } }, { @@ -1845,7 +1897,7 @@ "valueExpression": { "name": "ObsHeartRateValue", "language": "text/fhirpath", - "expression": "%ObsHeartRate.entry.resource.where(status='final').value.value" + "expression": "%ObsHeartRateLatest.value.value" } }, { @@ -1853,7 +1905,7 @@ "valueExpression": { "name": "ObsHeartRateDateString", "language": "text/fhirpath", - "expression": "%ObsHeartRate.entry.resource.where(status='final').effective.toDate().toString()" + "expression": "%ObsHeartRateLatest.effective.toDate().toString()" } }, { @@ -1869,7 +1921,7 @@ "valueExpression": { "name": "ObsHeartRhythmValue", "language": "text/fhirpath", - "expression": "%ObsHeartRhythm.entry.resource.where(status='final').value.coding.where(system='http://snomed.info/sct').first()" + "expression": "%ObsHeartRhythmLatest.value.coding.where(system='http://snomed.info/sct').first()" } }, { @@ -1877,7 +1929,7 @@ "valueExpression": { "name": "ObsHeartRhythmDateString", "language": "text/fhirpath", - "expression": "%ObsHeartRhythm.entry.resource.where(status='final').effective.toDate().toString()" + "expression": "%ObsHeartRhythmLatest.effective.toDate().toString()" } }, { @@ -1893,7 +1945,7 @@ "valueExpression": { "name": "ObsBloodPressureValue", "language": "text/fhirpath", - "expression": "%ObsBloodPressure.entry.resource.where(status='final').component.where(code.coding.exists(code='8480-6')).value.value.round(0).toString() + ' / ' + %ObsBloodPressure.entry.resource.where(status='final').component.where(code.coding.exists(code='8462-4')).value.value.round(0).toString()" + "expression": "%ObsBloodPressureLatest.component.where(code.coding.exists(code='8480-6')).value.value.round(0).toString() + ' / ' + %ObsBloodPressureLatest.component.where(code.coding.exists(code='8462-4')).value.value.round(0).toString()" } }, { @@ -1901,7 +1953,7 @@ "valueExpression": { "name": "ObsBloodPressureDateString", "language": "text/fhirpath", - "expression": "%ObsBloodPressure.entry.resource.where(status='final').effective.toDate().toString()" + "expression": "%ObsBloodPressureLatest.effective.toDate().toString()" } }, { diff --git a/fsh-generated/resources/Questionnaire-SubstanceUse.json b/fsh-generated/resources/Questionnaire-SubstanceUse.json index 8e147adc..9994b5bc 100644 --- a/fsh-generated/resources/Questionnaire-SubstanceUse.json +++ b/fsh-generated/resources/Questionnaire-SubstanceUse.json @@ -668,12 +668,16 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "ObsTobaccoSmokingStatus" }, + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", + "valueString": "ObsTobaccoSmokingStatusLatest" + }, { "url": "http://hl7.org/fhir/StructureDefinition/variable", "valueExpression": { "name": "ObsTobaccoSmokingStatusValue", "language": "text/fhirpath", - "expression": "%ObsTobaccoSmokingStatus.entry.resource.where(status='final').value.coding.where(system='http://snomed.info/sct').first()" + "expression": "%ObsTobaccoSmokingStatusLatest.value.coding.where(system='http://snomed.info/sct').first()" } }, { @@ -681,7 +685,7 @@ "valueExpression": { "name": "ObsTobaccoSmokingStatusDateString", "language": "text/fhirpath", - "expression": "%ObsTobaccoSmokingStatus.entry.resource.where(status='final').effective.toDate().toString()" + "expression": "%ObsTobaccoSmokingStatusLatest.effective.toDate().toString()" } }, { diff --git a/input/fsh/715-AssemblyInstructions.fsh b/input/fsh/715-AssemblyInstructions.fsh index b07dc452..697571fc 100644 --- a/input/fsh/715-AssemblyInstructions.fsh +++ b/input/fsh/715-AssemblyInstructions.fsh @@ -76,13 +76,13 @@ Description: "Aboriginal and Torres Strait Islander Health Check assessment form * valueExpression * name = "ObsBloodPressure" * language = #application/x-fhir-query - * expression = "Observation?code=85354-9&_count=1&_sort=-date&patient={{%patient.id}}" + * expression = "Observation?code=85354-9&_sort=-date&patient={{%patient.id}}" * extension[+] * url = "http://hl7.org/fhir/StructureDefinition/variable" * valueExpression * name = "ObsTobaccoSmokingStatus" * language = #application/x-fhir-query - * expression = "Observation?code=72166-2&_count=1&_sort=-date&patient={{%patient.id}}" + * expression = "Observation?code=72166-2&_sort=-date&patient={{%patient.id}}" * extension[+] * url = "http://hl7.org/fhir/StructureDefinition/variable" * valueExpression @@ -90,6 +90,21 @@ Description: "Aboriginal and Torres Strait Islander Health Check assessment form * language = #text/fhirpath * expression = "%patient.extension.where(exists(url='http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender' and extension.where(exists(url='type' and value.coding.code='1515311000168102')) and extension.where(url='effectivePeriod').value.end.empty())).extension.where(url='value').value.coding" +//client side filtering on Observations +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "ObsBloodPressureLatest" + * language = #text/fhirpath + * expression = "%ObsBloodPressure.entry.resource.where(status = 'final' or status = 'amended' or status = 'corrected').first()" +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "ObsTobaccoSmokingStatusLatest" + * language = #text/fhirpath + * expression = "%ObsTobaccoSmokingStatus.entry.resource.where(status = 'final' or status = 'amended' or status = 'corrected').first()" + + //R5 preadoption extensions * extension[+] * url = "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]" diff --git a/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh b/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh index b6f8f30e..c2fd1e35 100644 --- a/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh +++ b/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh @@ -62,12 +62,18 @@ Description: "Absolute Cardiovascular Disease Risk Calculation sub-questionnaire * extension[+] * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * valueString = "ObsBloodPressure" +* extension[+] + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" + * valueString = "ObsBloodPressureLatest" * extension[+] * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * valueString = "SexAtBirthCoding" * extension[+] * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * valueString = "ObsTobaccoSmokingStatus" +* extension[+] + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" + * valueString = "ObsTobaccoSmokingStatusLatest" * extension[+] * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * valueString = "postcode" @@ -78,32 +84,51 @@ Description: "Absolute Cardiovascular Disease Risk Calculation sub-questionnaire * valueExpression * name = "ObsTotalCholesterol" * language = #application/x-fhir-query - * expression = "Observation?code=14647-2&_count=1&_sort=-date&patient={{%patient.id}}" + * expression = "Observation?code=14647-2&_sort=-date&patient={{%patient.id}}" * extension[+] * url = "http://hl7.org/fhir/StructureDefinition/variable" * valueExpression * name = "ObsHDLCholesterol" * language = #application/x-fhir-query - * expression = "Observation?code=14646-4&_count=1&_sort=-date&patient={{%patient.id}}" + * expression = "Observation?code=14646-4&_sort=-date&patient={{%patient.id}}" +//client side filtering on Observations +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "ObsTotalCholesterolLatest" + * language = #text/fhirpath + * expression = "%ObsTotalCholesterol.entry.resource.where(status = 'final' or status = 'amended' or status = 'corrected').first()" +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "ObsHDLCholesterolLatest" + * language = #text/fhirpath + * expression = "%ObsHDLCholesterol.entry.resource.where(status = 'final' or status = 'amended' or status = 'corrected').first()" //Previous CVD risk result variables * extension[+] * url = "http://hl7.org/fhir/StructureDefinition/variable" * valueExpression * name = "CVDRiskResult" * language = #application/x-fhir-query - * expression = "Observation?code=441829007&status=final&_count=1&_sort=-date&patient={{%patient.id}}" + * expression = "Observation?code=441829007&_sort=-date&patient={{%patient.id}}" +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "CVDRiskResultLatest" + * language = #text/fhirpath + * expression = "%CVDRiskResult.entry.resource.where(status = 'final' or status = 'amended' or status = 'corrected').first()" * extension[+] * url = "http://hl7.org/fhir/StructureDefinition/variable" * valueExpression * name = "CVDRiskResultValue" * language = #text/fhirpath - * expression = "%CVDRiskResult.entry.resource.select((((value.ofType(Quantity).comparator + value.ofType(Quantity).value.toString() + value.ofType(Quantity).unit | value.ofType(Quantity).value.toString() + value.ofType(Quantity).unit).first() | (value.ofType(Range).low.value.toString() + ' - ' + value.ofType(Range).high.value.toString() + value.ofType(Range).high.unit)).first()) + ' ' + interpretation.coding.display)" + * expression = "%CVDRiskResultLatest.select((((value.ofType(Quantity).comparator + value.ofType(Quantity).value.toString() + value.ofType(Quantity).unit | value.ofType(Quantity).value.toString() + value.ofType(Quantity).unit).first() | (value.ofType(Range).low.value.toString() + ' - ' + value.ofType(Range).high.value.toString() + value.ofType(Range).high.unit)).first()) + ' ' + interpretation.coding.display)" * extension[+] * url = "http://hl7.org/fhir/StructureDefinition/variable" * valueExpression * name = "CVDRiskResultDateString" * language = #text/fhirpath - * expression = "%CVDRiskResult.entry.resource.effective.toString()" + * expression = "%CVDRiskResultLatest.effective.toString()" * extension[+] * url = "http://hl7.org/fhir/StructureDefinition/variable" * valueExpression @@ -317,7 +342,7 @@ Description: "Absolute Cardiovascular Disease Risk Calculation sub-questionnaire * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath - * expression = "%ObsTobaccoSmokingStatus.entry.resource.value.coding.where(system='http://snomed.info/sct').first()" + * expression = "%ObsTobaccoSmokingStatusLatest.value.coding.where(system='http://snomed.info/sct').first()" * linkId = "333007c7-47a9-482b-af11-e55484abf2ae" * text = "Value" * type = #choice @@ -331,7 +356,7 @@ Description: "Absolute Cardiovascular Disease Risk Calculation sub-questionnaire * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath - * expression = "%ObsTobaccoSmokingStatus.entry.resource.effective" + * expression = "%ObsTobaccoSmokingStatusLatest.effective" * linkId = "cvdrisk-smokingstatus-date" * text = "Date performed" * type = #date @@ -344,7 +369,7 @@ Description: "Absolute Cardiovascular Disease Risk Calculation sub-questionnaire * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath - * expression = "%ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8480-6')).value.value" + * expression = "%ObsBloodPressureLatest.component.where(code.coding.exists(code='8480-6')).value.value" * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#mm[Hg] * linkId = "818ce640-c8dd-457d-b607-3aaa8da38524" * text = "Value" @@ -358,7 +383,7 @@ Description: "Absolute Cardiovascular Disease Risk Calculation sub-questionnaire * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath - * expression = "%ObsBloodPressure.entry.resource.effective" + * expression = "%ObsBloodPressureLatest.effective" * linkId = "85d8faf7-ddb0-446c-b489-28d786d6de50" * text = "Date performed" * type = #date @@ -371,7 +396,7 @@ Description: "Absolute Cardiovascular Disease Risk Calculation sub-questionnaire * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath - * expression = "%ObsTotalCholesterol.entry.resource.value.value" + * expression = "%ObsTotalCholesterolLatest.value.value" * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#mmol/L * linkId = "99932a93-8135-47b2-933b-fd751b34b7af" * text = "Value" @@ -385,7 +410,7 @@ Description: "Absolute Cardiovascular Disease Risk Calculation sub-questionnaire * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath - * expression = "%ObsTotalCholesterol.entry.resource.effective" + * expression = "%ObsTotalCholesterolLatest.effective" * linkId = "16cbe87b-5c8d-4385-b7d9-da3f07f63f8a" * text = "Date performed" * type = #date @@ -398,7 +423,7 @@ Description: "Absolute Cardiovascular Disease Risk Calculation sub-questionnaire * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath - * expression = "%ObsHDLCholesterol.entry.resource.value.value" + * expression = "%ObsHDLCholesterolLatest.value.value" * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#mmol/L * linkId = "c14b4513-1e20-461d-97f4-4631711adc65" * text = "Value" @@ -412,7 +437,7 @@ Description: "Absolute Cardiovascular Disease Risk Calculation sub-questionnaire * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath - * expression = "%ObsHDLCholesterol.entry.resource.effective" + * expression = "%ObsHDLCholesterolLatest.effective" * linkId = "6407e0a7-c416-4a75-933b-904c0dcf88ca" * text = "Date performed" * type = #date diff --git a/input/fsh/715-Assessment-Examination.fsh b/input/fsh/715-Assessment-Examination.fsh index bd73b725..bdfeb66a 100644 --- a/input/fsh/715-Assessment-Examination.fsh +++ b/input/fsh/715-Assessment-Examination.fsh @@ -62,48 +62,88 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * extension[+] * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * valueString = "ObsBloodPressure" +* extension[+] + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" + * valueString = "ObsBloodPressureLatest" * extension[+] * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * valueString = "age" //fhir query variables - * extension[+] * url = "http://hl7.org/fhir/StructureDefinition/variable" * valueExpression * name = "ObsWaistCircumference" * language = #application/x-fhir-query - * expression = "Observation?code=8280-0&_count=1&_sort=-date&patient={{%patient.id}}" + * expression = "Observation?code=8280-0&_sort=-date&patient={{%patient.id}}" * extension[+] * url = "http://hl7.org/fhir/StructureDefinition/variable" * valueExpression * name = "ObsHeartRate" * language = #application/x-fhir-query - * expression = "Observation?code=8867-4&_count=1&_sort=-date&patient={{%patient.id}}" + * expression = "Observation?code=8867-4&_sort=-date&patient={{%patient.id}}" * extension[+] * url = "http://hl7.org/fhir/StructureDefinition/variable" * valueExpression * name = "ObsHeartRhythm" * language = #application/x-fhir-query - * expression = "Observation?code=364074009&_count=1&_sort=-date&patient={{%patient.id}}" + * expression = "Observation?code=364074009&_sort=-date&patient={{%patient.id}}" * extension[+] * url = "http://hl7.org/fhir/StructureDefinition/variable" * valueExpression * name = "ObsBodyHeight" * language = #application/x-fhir-query - * expression = "Observation?code=8302-2&_count=1&_sort=-date&patient={{%patient.id}}" + * expression = "Observation?code=8302-2&_sort=-date&patient={{%patient.id}}" * extension[+] * url = "http://hl7.org/fhir/StructureDefinition/variable" * valueExpression * name = "ObsBodyWeight" * language = #application/x-fhir-query - * expression = "Observation?code=29463-7&_count=1&_sort=-date&patient={{%patient.id}}" + * expression = "Observation?code=29463-7&_sort=-date&patient={{%patient.id}}" * extension[+] * url = "http://hl7.org/fhir/StructureDefinition/variable" * valueExpression * name = "ObsHeadCircumference" * language = #application/x-fhir-query - * expression = "Observation?code=9843-4&_count=1&_sort=-date&patient={{%patient.id}}" + * expression = "Observation?code=9843-4&_sort=-date&patient={{%patient.id}}" + +//client side filtering on Observations +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "ObsWaistCircumferenceLatest" + * language = #text/fhirpath + * expression = "%ObsWaistCircumference.entry.resource.where(status = 'final' or status = 'amended' or status = 'corrected').first()" +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "ObsHeartRateLatest" + * language = #text/fhirpath + * expression = "%ObsHeartRate.entry.resource.where(status = 'final' or status = 'amended' or status = 'corrected').first()" +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "ObsHeartRhythmLatest" + * language = #text/fhirpath + * expression = "%ObsHeartRhythm.entry.resource.where(status = 'final' or status = 'amended' or status = 'corrected').first()" +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "ObsBodyHeightLatest" + * language = #text/fhirpath + * expression = "%ObsBodyHeight.entry.resource.where(status = 'final' or status = 'amended' or status = 'corrected').first()" +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "ObsBodyWeightLatest" + * language = #text/fhirpath + * expression = "%ObsBodyWeight.entry.resource.where(status = 'final' or status = 'amended' or status = 'corrected').first()" +* extension[+] + * url = "http://hl7.org/fhir/StructureDefinition/variable" + * valueExpression + * name = "ObsHeadCircumferenceLatest" + * language = #text/fhirpath + * expression = "%ObsHeadCircumference.entry.resource.where(status = 'final' or status = 'amended' or status = 'corrected').first()" //fhirpath variables //Previous examination results variables @@ -112,13 +152,13 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * valueExpression * name = "ObsBodyHeightValue" * language = #text/fhirpath - * expression = "%ObsBodyHeight.entry.resource.where(status='final').value.value" + * expression = "%ObsBodyHeightLatest.value.value" * extension[+] * url = "http://hl7.org/fhir/StructureDefinition/variable" * valueExpression * name = "ObsBodyHeightDateString" * language = #text/fhirpath - * expression = "%ObsBodyHeight.entry.resource.where(status='final').effective.toDate().toString()" + * expression = "%ObsBodyHeightLatest.effective.toDate().toString()" * extension[+] * url = "http://hl7.org/fhir/StructureDefinition/variable" * valueExpression @@ -130,13 +170,13 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * valueExpression * name = "ObsBodyWeightValue" * language = #text/fhirpath - * expression = "%ObsBodyWeight.entry.resource.where(status='final').value.value" + * expression = "%ObsBodyWeightLatest.value.value" * extension[+] * url = "http://hl7.org/fhir/StructureDefinition/variable" * valueExpression * name = "ObsBodyWeightDateString" * language = #text/fhirpath - * expression = "%ObsBodyWeight.entry.resource.where(status='final').effective.toDate().toString()" + * expression = "%ObsBodyWeightLatest.effective.toDate().toString()" * extension[+] * url = "http://hl7.org/fhir/StructureDefinition/variable" * valueExpression @@ -148,13 +188,13 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * valueExpression * name = "ObsHeadCircumferenceValue" * language = #text/fhirpath - * expression = "%ObsHeadCircumference.entry.resource.where(status='final').value.value" + * expression = "%ObsHeadCircumferenceLatest.value.value" * extension[+] * url = "http://hl7.org/fhir/StructureDefinition/variable" * valueExpression * name = "ObsHeadCircumferenceDateString" * language = #text/fhirpath - * expression = "%ObsHeadCircumference.entry.resource.where(status='final').effective.toDate().toString" + * expression = "%ObsHeadCircumferenceLatest.effective.toDate().toString" * extension[+] * url = "http://hl7.org/fhir/StructureDefinition/variable" * valueExpression @@ -166,13 +206,13 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * valueExpression * name = "ObsWaistCircumferenceValue" * language = #text/fhirpath - * expression = "%ObsWaistCircumference.entry.resource.where(status='final').value.value" + * expression = "%ObsWaistCircumferenceLatest.value.value" * extension[+] * url = "http://hl7.org/fhir/StructureDefinition/variable" * valueExpression * name = "ObsWaistCircumferenceDateString" * language = #text/fhirpath - * expression = "%ObsWaistCircumference.entry.resource.where(status='final').effective.toDate().toString()" + * expression = "%ObsWaistCircumferenceLatest.effective.toDate().toString()" * extension[+] * url = "http://hl7.org/fhir/StructureDefinition/variable" * valueExpression @@ -184,13 +224,13 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * valueExpression * name = "ObsHeartRateValue" * language = #text/fhirpath - * expression = "%ObsHeartRate.entry.resource.where(status='final').value.value" + * expression = "%ObsHeartRateLatest.value.value" * extension[+] * url = "http://hl7.org/fhir/StructureDefinition/variable" * valueExpression * name = "ObsHeartRateDateString" * language = #text/fhirpath - * expression = "%ObsHeartRate.entry.resource.where(status='final').effective.toDate().toString()" + * expression = "%ObsHeartRateLatest.effective.toDate().toString()" * extension[+] * url = "http://hl7.org/fhir/StructureDefinition/variable" * valueExpression @@ -202,13 +242,13 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * valueExpression * name = "ObsHeartRhythmValue" * language = #text/fhirpath - * expression = "%ObsHeartRhythm.entry.resource.where(status='final').value.coding.where(system='http://snomed.info/sct').first()" + * expression = "%ObsHeartRhythmLatest.value.coding.where(system='http://snomed.info/sct').first()" * extension[+] * url = "http://hl7.org/fhir/StructureDefinition/variable" * valueExpression * name = "ObsHeartRhythmDateString" * language = #text/fhirpath - * expression = "%ObsHeartRhythm.entry.resource.where(status='final').effective.toDate().toString()" + * expression = "%ObsHeartRhythmLatest.effective.toDate().toString()" * extension[+] * url = "http://hl7.org/fhir/StructureDefinition/variable" * valueExpression @@ -220,13 +260,13 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * valueExpression * name = "ObsBloodPressureValue" * language = #text/fhirpath - * expression = "%ObsBloodPressure.entry.resource.where(status='final').component.where(code.coding.exists(code='8480-6')).value.value.round(0).toString() + ' / ' + %ObsBloodPressure.entry.resource.where(status='final').component.where(code.coding.exists(code='8462-4')).value.value.round(0).toString()" + * expression = "%ObsBloodPressureLatest.component.where(code.coding.exists(code='8480-6')).value.value.round(0).toString() + ' / ' + %ObsBloodPressureLatest.component.where(code.coding.exists(code='8462-4')).value.value.round(0).toString()" * extension[+] * url = "http://hl7.org/fhir/StructureDefinition/variable" * valueExpression * name = "ObsBloodPressureDateString" * language = #text/fhirpath - * expression = "%ObsBloodPressure.entry.resource.where(status='final').effective.toDate().toString()" + * expression = "%ObsBloodPressureLatest.effective.toDate().toString()" * extension[+] * url = "http://hl7.org/fhir/StructureDefinition/variable" * valueExpression @@ -585,7 +625,7 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * text = "Last result" * extension[http://hl7.org/fhir/StructureDefinition/cqf-expression].valueExpression * language = #text/fhirpath - * expression = "iif(%ObsBloodPressureValue.exists() and %ObsBloodPressureDateFormatted.exists(), %ObsBloodPressureValue + ' mm Hg ( ' + %bsBloodPressureDateFormatted + ' )', 'Not available')" + * expression = "iif(%ObsBloodPressureValue.exists() and %ObsBloodPressureDateFormatted.exists(), %ObsBloodPressureValue + ' mm Hg ( ' + %ObsBloodPressureDateFormatted + ' )', 'Not available')" * extension[http://hl7.org/fhir/StructureDefinition/rendering-style].valueString = "text-align: left;" * type = #display * item[+] diff --git a/input/fsh/715-Assessment-SubstanceUse.fsh b/input/fsh/715-Assessment-SubstanceUse.fsh index 137d9ebc..90a34f46 100644 --- a/input/fsh/715-Assessment-SubstanceUse.fsh +++ b/input/fsh/715-Assessment-SubstanceUse.fsh @@ -59,6 +59,9 @@ Description: "Substance Use sub-questionnaire for Aboriginal and Torres Strait I * extension[+] * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * valueString = "ObsTobaccoSmokingStatus" +* extension[+] + * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" + * valueString = "ObsTobaccoSmokingStatusLatest" //fhirpath variables //Previous examination results variables @@ -67,13 +70,13 @@ Description: "Substance Use sub-questionnaire for Aboriginal and Torres Strait I * valueExpression * name = "ObsTobaccoSmokingStatusValue" * language = #text/fhirpath - * expression = "%ObsTobaccoSmokingStatus.entry.resource.where(status='final').value.coding.where(system='http://snomed.info/sct').first()" + * expression = "%ObsTobaccoSmokingStatusLatest.value.coding.where(system='http://snomed.info/sct').first()" * extension[+] * url = "http://hl7.org/fhir/StructureDefinition/variable" * valueExpression * name = "ObsTobaccoSmokingStatusDateString" * language = #text/fhirpath - * expression = "%ObsTobaccoSmokingStatus.entry.resource.where(status='final').effective.toDate().toString()" + * expression = "%ObsTobaccoSmokingStatusLatest.effective.toDate().toString()" * extension[+] * url = "http://hl7.org/fhir/StructureDefinition/variable" * valueExpression diff --git a/input/fsh/capability.fsh b/input/fsh/capability.fsh index 06bf2dd4..04019bb3 100644 --- a/input/fsh/capability.fsh +++ b/input/fsh/capability.fsh @@ -321,8 +321,8 @@ The client **SHALL** support this method." * rest.resource[=].extension[=].extension[=].valueString = "patient" * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "code" -* rest.resource[=].extension[=].extension[+].url = "required" -* rest.resource[=].extension[=].extension[=].valueString = "_count" +/** rest.resource[=].extension[=].extension[+].url = "required" +* rest.resource[=].extension[=].extension[=].valueString = "_count"*/ * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "_sort" @@ -383,11 +383,11 @@ The server **SHALL** support both. " The server **SHALL** support both." * rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL -* rest.resource[=].searchParam[+].name = "_count" +/** rest.resource[=].searchParam[+].name = "_count" * rest.resource[=].searchParam[=].type = #number * rest.resource[=].searchParam[=].documentation = "The client and server **SHALL** support search result limiting." * rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL +* rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL*/ * rest.resource[=].searchParam[+].name = "_sort" * rest.resource[=].searchParam[=].type = #string * rest.resource[=].searchParam[=].documentation = "The client and server **SHALL** support search result sorting by date and **MAY** support other values." @@ -765,8 +765,8 @@ The client **SHALL** support this method." * rest.resource[=].extension[=].extension[=].valueString = "patient" * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "code" -* rest.resource[=].extension[=].extension[+].url = "required" -* rest.resource[=].extension[=].extension[=].valueString = "_count" +/** rest.resource[=].extension[=].extension[+].url = "required" +* rest.resource[=].extension[=].extension[=].valueString = "_count"*/ * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "_sort" @@ -796,11 +796,11 @@ The server **SHALL** support both. " * rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a code value and **MAY** provide both the code and system values. The server **SHALL** support both." -* rest.resource[=].searchParam[+].name = "_count" +/** rest.resource[=].searchParam[+].name = "_count" * rest.resource[=].searchParam[=].type = #number * rest.resource[=].searchParam[=].documentation = "The client and server **SHALL** support search result limiting." * rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL +* rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL*/ * rest.resource[=].searchParam[+].name = "_sort" * rest.resource[=].searchParam[=].type = #string * rest.resource[=].searchParam[=].documentation = "The client and server **SHALL** support search result sorting by date and **MAY** support other values." From 7667db8d7814097db65373da408eb48d9a2e53e3 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Thu, 17 Jul 2025 13:11:16 +1000 Subject: [PATCH 147/177] single item test --- fsh-generated/resources/Questionnaire-Examination.json | 9 +++++++++ input/fsh/715-Assessment-Examination.fsh | 3 +++ 2 files changed, 12 insertions(+) diff --git a/fsh-generated/resources/Questionnaire-Examination.json b/fsh-generated/resources/Questionnaire-Examination.json index 2788c745..29097985 100644 --- a/fsh-generated/resources/Questionnaire-Examination.json +++ b/fsh-generated/resources/Questionnaire-Examination.json @@ -284,6 +284,15 @@ "repeats": false }, { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(repeat(item).where(linkId='obs-height-newresult').answer.exists(), today())" + } + } + ], "linkId": "obs-height-newdate", "text": "New result date", "type": "date", diff --git a/input/fsh/715-Assessment-Examination.fsh b/input/fsh/715-Assessment-Examination.fsh index bdfeb66a..42038438 100644 --- a/input/fsh/715-Assessment-Examination.fsh +++ b/input/fsh/715-Assessment-Examination.fsh @@ -417,6 +417,9 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * text = "cm" * type = #display * item[+] + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression].valueExpression + * language = #text/fhirpath + * expression = "iif(repeat(item).where(linkId='obs-height-newresult').answer.value.exists(), today())" * linkId = "obs-height-newdate" * text = "New result date" * type = #date From d1239ae7be33f503a4cef0b3168a6e9aff29db76 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Fri, 18 Jul 2025 13:22:49 +1000 Subject: [PATCH 148/177] Guidance added - template extract extension description, obligation info --- ...ntationGuide-csiro.fhir.au.smartforms.json | 2 +- ...tion-TemplateExtractExtensionExtended.json | 6 +-- input/fsh/extensions.fsh | 4 +- input/images/ObligationsOverview.png | Bin 0 -> 84022 bytes input/pagecontent/general-requirements.md | 44 ++++++++++-------- 5 files changed, 31 insertions(+), 25 deletions(-) create mode 100644 input/images/ObligationsOverview.png diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index f3ff9f09..b57fafcc 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -715,7 +715,7 @@ "reference": "StructureDefinition/TemplateExtractExtensionExtended" }, "name": "Template Extract Extension Extended", - "description": "This extension is used to extend the Template Extract Extension to include additional information.", + "description": "This extension is used to extend the [Extract Template - Resource](https://build.fhir.org/ig/HL7/sdc/StructureDefinition-sdc-questionnaire-templateExtract.html) extension to include additional information that supports the extraction of a [Parameters](https://hl7.org/fhir/R4/parameters.html) resource to be used with the [FHIRPath patch](https://hl7.org/fhir/R4/fhirpatch.html) mechanism of updating resources. An additional subextension is included to specify the type of resource that is being patched, which is necessary for constructing the request URL of an entry in a transaction bundle.", "exampleBoolean": false }, { diff --git a/fsh-generated/resources/StructureDefinition-TemplateExtractExtensionExtended.json b/fsh-generated/resources/StructureDefinition-TemplateExtractExtensionExtended.json index 3c2b6898..48c6b25a 100644 --- a/fsh-generated/resources/StructureDefinition-TemplateExtractExtensionExtended.json +++ b/fsh-generated/resources/StructureDefinition-TemplateExtractExtensionExtended.json @@ -5,7 +5,7 @@ "name": "TemplateExtractExtensionExtended", "title": "Template Extract Extension Extended", "status": "draft", - "description": "This extension is used to extend the Template Extract Extension to include additional information.", + "description": "This extension is used to extend the [Extract Template - Resource](https://build.fhir.org/ig/HL7/sdc/StructureDefinition-sdc-questionnaire-templateExtract.html) extension to include additional information that supports the extraction of a [Parameters](https://hl7.org/fhir/R4/parameters.html) resource to be used with the [FHIRPath patch](https://hl7.org/fhir/R4/fhirpatch.html) mechanism of updating resources. An additional subextension is included to specify the type of resource that is being patched, which is necessary for constructing the request URL of an entry in a transaction bundle.", "fhirVersion": "4.0.1", "kind": "complex-type", "abstract": false, @@ -28,14 +28,14 @@ "id": "Extension", "path": "Extension", "short": "Template Extract Extension Extended", - "definition": "This extension is used to extend the Template Extract Extension to include additional information." + "definition": "This extension is used to extend the [Extract Template - Resource](https://build.fhir.org/ig/HL7/sdc/StructureDefinition-sdc-questionnaire-templateExtract.html) extension to include additional information that supports the extraction of a [Parameters](https://hl7.org/fhir/R4/parameters.html) resource to be used with the [FHIRPath patch](https://hl7.org/fhir/R4/fhirpatch.html) mechanism of updating resources. An additional subextension is included to specify the type of resource that is being patched, which is necessary for constructing the request URL of an entry in a transaction bundle." }, { "id": "Extension.extension:type", "path": "Extension.extension", "sliceName": "type", "short": "Patch resource type", - "definition": "When templating a Parameters resource, this is the kind of resource to be patched. It is used to help populate the request url.", + "definition": "When templating a Parameters resource, this is the kind of resource to be patched. It is used to construct the request URL for the entry in a transaction bundle.", "min": 0, "max": "1" }, diff --git a/input/fsh/extensions.fsh b/input/fsh/extensions.fsh index 0cfb3ab2..23e553cc 100644 --- a/input/fsh/extensions.fsh +++ b/input/fsh/extensions.fsh @@ -9,11 +9,11 @@ Extension: TemplateExtractExtensionExtended Parent: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract Id: TemplateExtractExtensionExtended Title: "Template Extract Extension Extended" -Description: "This extension is used to extend the Template Extract Extension to include additional information." +Description: "This extension is used to extend the [Extract Template - Resource](https://build.fhir.org/ig/HL7/sdc/StructureDefinition-sdc-questionnaire-templateExtract.html) extension to include additional information that supports the extraction of a [Parameters](https://hl7.org/fhir/R4/parameters.html) resource to be used with the [FHIRPath patch](https://hl7.org/fhir/R4/fhirpatch.html) mechanism of updating resources. An additional subextension is included to specify the type of resource that is being patched, which is necessary for constructing the request URL of an entry in a transaction bundle." * extension contains type 0..1 * extension[type] ^short = "Patch resource type" -* extension[type] ^definition = "When templating a Parameters resource, this is the kind of resource to be patched. It is used to help populate the request url." +* extension[type] ^definition = "When templating a Parameters resource, this is the kind of resource to be patched. It is used to construct the request URL for the entry in a transaction bundle." * extension[type].value[x] 1.. * extension[type].value[x] only code * extension[type].value[x] from ResourceType (required) \ No newline at end of file diff --git a/input/images/ObligationsOverview.png b/input/images/ObligationsOverview.png new file mode 100644 index 0000000000000000000000000000000000000000..5dde7e4cc9f3910dc937de920419864b9ec54533 GIT binary patch literal 84022 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 overview.png
    \r\n

    The Australian guideline for assessing and managing cardiovascular disease risk recommends the use of the online Australian CVD risk calculator.

    \r\n

    The items included in this section are a subset of variables that can be used as inputs for the online calculator.

    \r\n

    The final CVD risk result can be entered in the item at the bottom of this section.

    \r\n
  • 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 ewfgmib)U?|^ZAd Date: Tue, 24 Jun 2025 19:22:54 +1000 Subject: [PATCH 098/177] Update image size in index.md --- input/pagecontent/index.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/input/pagecontent/index.md b/input/pagecontent/index.md index 0f681bed..eef6c8cc 100644 --- a/input/pagecontent/index.md +++ b/input/pagecontent/index.md @@ -8,7 +8,8 @@ The Smart Health Checks App is based on the CSIRO Smart Forms App which was prov ### Smart Health Checks Actors The following figure provides an overview of the actors involved in the Smart Health Checks (SHC) solution. -![Actors Overview](overviewactors.png) +Actors Overview + #### SHC App @@ -42,13 +43,13 @@ The Smart Health Check App follows a standard set of interactions which are summ 5. Token Request: SHC App requests an access token and associated launch context, including user, patient and health check form, from the SHC Host Authorization Server 6. Prepopulate Health Check: SHC App uses the launch context to use the SHC Host FHIR Server to read practitioner (6a), read patient (6b) and various search requests (6x) to prepopulate the health check form -![Launch Interactions](launchinteractions.png) +Launch Interactions 7. Fill and Save Health Check: The user fills out the health check form and saves the form data 8. Writeback Questionnaire Response: The health check form data is written back to the SHC Host FHIR Server as a questionnaire response 9. Writeback Extract Transaction: The health check form data extracted from a completed form as FHIR Resources are written back to the SHC Host FHIR Server as transaction Bundle -![Launch Interactions](writebackqrextract.png) +Writeback extract ### Dependencies From 62208d34f69e4b28289afe4a14e810041b91f581 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Wed, 25 Jun 2025 09:01:01 +1000 Subject: [PATCH 099/177] Tidy up comments, remove non-required capability statement interaction --- ...iginalTorresStraitIslanderHealthCheck.json | 22 -------- ...bilityStatement-SmartFormsApplication.json | 11 ---- ...onnaire-MedicalHistoryCurrentProblems.json | 8 --- ...sessment-MedicalHistoryCurrentProblems.fsh | 8 --- .../fsh/715-Assessment-RegularMedications.fsh | 54 ------------------- input/fsh/capability.fsh | 13 +---- 6 files changed, 1 insertion(+), 115 deletions(-) diff --git a/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json b/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json index 41843080..67c45621 100644 --- a/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json +++ b/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json @@ -138,19 +138,6 @@ { "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", "valueCode": "SHALL" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - }, - { - "url": "required", - "valueString": "patient" - } - ] } ], "type": "AllergyIntolerance", @@ -382,15 +369,6 @@ "valueCode": "SHALL" } ] - }, - { - "code": "patch", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] } ], "searchParam": [ diff --git a/fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json b/fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json index 66ecad08..f332576a 100644 --- a/fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json +++ b/fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json @@ -46,17 +46,6 @@ }, "resource": [ { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", - "extension": [ - { - "url": "required", - "valueString": "patient" - } - ] - } - ], "type": "AllergyIntolerance", "supportedProfile": [ "http://hl7.org.au/fhir/core/StructureDefinition/au-core-allergyintolerance" diff --git a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json index 2939b8f7..27c85a8e 100644 --- a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json +++ b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json @@ -814,14 +814,6 @@ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "Condition" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": { - "name": "Condition", - "language": "application/x-fhir-query", - "expression": "Condition?patient={{%patient.id}}" - } } ], "url": "http://www.health.gov.au/assessments/mbs/715/MedicalHistoryCurrentProblems", diff --git a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh index 20edfee1..06fc52a5 100644 --- a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh +++ b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh @@ -61,14 +61,6 @@ Description: "Medical History sub-questionnaire for Aboriginal and Torres Strait * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * valueString = "Condition" -// fhirpath variables -* extension[+] - * url = "http://hl7.org/fhir/StructureDefinition/variable" - * valueExpression - * name = "Condition" - * language = #application/x-fhir-query - * expression = "Condition?patient={{%patient.id}}" - * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" diff --git a/input/fsh/715-Assessment-RegularMedications.fsh b/input/fsh/715-Assessment-RegularMedications.fsh index 83b68516..592e0685 100644 --- a/input/fsh/715-Assessment-RegularMedications.fsh +++ b/input/fsh/715-Assessment-RegularMedications.fsh @@ -44,61 +44,7 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * extension[=].valueExpression.expression = "MedicationStatement?patient={{%patient.id}}" * extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * extension[=].valueString = "age" -/* -//assemble expectation -* extension[+] - * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assemble-expectation" - * valueCode = #assemble-child - -//launch context -* extension[+] - * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" - * extension[+] - * url = "name" - * valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#patient - * extension[+] - * url = "type" - * valueCode = #Patient - * extension[+] - * url = "description" - * valueString = "The patient that is to be used to pre-populate the form" -* extension[+] - * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" - * extension[+] - * url = "name" - * valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#user - * extension[+] - * url = "type" - * valueCode = #Practitioner - * extension[+] - * url = "description" - * valueString = "The practitioner user that is to be used to pre-populate the form" -* extension[+] - * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" - * extension[+] - * url = "name" - * valueCoding = http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext#encounter - * extension[+] - * url = "type" - * valueCode = #Encounter - * extension[+] - * url = "description" - * valueString = "The encounter that is to be used to pre-populate the form" - -//fhir query variables -* extension[+] - * url = "http://hl7.org/fhir/StructureDefinition/variable" - * valueExpression - * name = "MedicationStatement" - * language = #application/x-fhir-query - * expression = "MedicationStatement?patient={{%patient.id}}" - -//assemble context -* extension[+] - * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" - * valueString = "age" -*/ * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" diff --git a/input/fsh/capability.fsh b/input/fsh/capability.fsh index 3b93f2f9..e8cecd4a 100644 --- a/input/fsh/capability.fsh +++ b/input/fsh/capability.fsh @@ -67,11 +67,6 @@ Also see the [AU Core Security and Privacy](https://hl7.org.au/fhir/core/1.0.0/s //AllergyIntolerance * rest.resource[+].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].extension[0].valueCode = #SHALL -* rest.resource[=].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination" -* rest.resource[=].extension[=].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].extension[=].extension[=].valueCode = #SHALL -* rest.resource[=].extension[=].extension[+].url = "required" -* rest.resource[=].extension[=].extension[=].valueString = "patient" * rest.resource[=].type = #AllergyIntolerance * rest.resource[=].profile = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-allergyintolerance" * rest.resource[=].profile.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" @@ -195,9 +190,6 @@ The server **SHALL** support both." * rest.resource[=].interaction[+].code = #create * rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[=].extension[0].valueCode = #SHALL -* rest.resource[=].interaction[+].code = #patch -* rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].interaction[=].extension[0].valueCode = #SHALL /* * rest.resource[=].interaction[=].documentation = "**SHALL** support `create`, `conditional create`." * rest.resource[=].conditionalCreate = true @@ -610,10 +602,7 @@ Usage: #definition //AllergyIntolerance -* rest.resource[+].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination" -* rest.resource[=].extension[=].extension[+].url = "required" -* rest.resource[=].extension[=].extension[=].valueString = "patient" -* rest.resource[=].type = #AllergyIntolerance +* rest.resource[+].type = #AllergyIntolerance * rest.resource[=].supportedProfile[+] = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-allergyintolerance" * rest.resource[=].documentation = "The client supports the AllergyIntolerance resource, the AU Core profile and the conformance expectations for the AllergyIntolerance resource." * rest.resource[=].interaction[0].code = #search-type From 016949ec03aee684bbe51b81b7c2f65997faf24f Mon Sep 17 00:00:00 2001 From: liambarnes Date: Wed, 25 Jun 2025 19:32:48 +1000 Subject: [PATCH 100/177] Actor definition shells along with page content --- .../resources/ActorDefinition-SHCApp.json | 13 +++++ .../resources/ActorDefinition-SHCHost.json | 12 +++++ ...Definition-SHCHostAuthorizationServer.json | 12 +++++ .../ActorDefinition-SHCHostFHIRServer.json | 13 +++++ ...ntationGuide-csiro.fhir.au.smartforms.json | 37 ++++++++++++++ input/fsh/actors.fsh | 49 +++++++++++++++++++ input/pagecontent/actor-definitions.md | 3 ++ input/pagecontent/index.md | 3 +- sushi-config.yaml | 4 +- 9 files changed, 143 insertions(+), 3 deletions(-) create mode 100644 fsh-generated/resources/ActorDefinition-SHCApp.json create mode 100644 fsh-generated/resources/ActorDefinition-SHCHost.json create mode 100644 fsh-generated/resources/ActorDefinition-SHCHostAuthorizationServer.json create mode 100644 fsh-generated/resources/ActorDefinition-SHCHostFHIRServer.json create mode 100644 input/fsh/actors.fsh create mode 100644 input/pagecontent/actor-definitions.md diff --git a/fsh-generated/resources/ActorDefinition-SHCApp.json b/fsh-generated/resources/ActorDefinition-SHCApp.json new file mode 100644 index 00000000..90f9d950 --- /dev/null +++ b/fsh-generated/resources/ActorDefinition-SHCApp.json @@ -0,0 +1,13 @@ +{ + "resourceType": "ActorDefinition", + "id": "SHCApp", + "url": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp", + "description": "The SHC App allows a user of the SHC Host to launch the SHC App for filling out a health check form prepopulated with a authorized patient health information retrieved from the SHC Host FHIR Server and writeback the collected form data.", + "name": "SHCApp", + "title": "SHC App", + "status": "draft", + "experimental": false, + "type": "system", + "documentation": "SHC App", + "capabilities": "https://smartforms.csiro.au/ig/CapabilityStatement/SmartFormsApplication" +} diff --git a/fsh-generated/resources/ActorDefinition-SHCHost.json b/fsh-generated/resources/ActorDefinition-SHCHost.json new file mode 100644 index 00000000..22142c92 --- /dev/null +++ b/fsh-generated/resources/ActorDefinition-SHCHost.json @@ -0,0 +1,12 @@ +{ + "resourceType": "ActorDefinition", + "id": "SHCHost", + "url": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHost", + "description": "The SHC Host allows a user to launch the SHC App within an embedded or externally launched web browser to fill out a health check form.", + "name": "SHCHost", + "title": "SHC Host", + "status": "draft", + "experimental": false, + "type": "system", + "documentation": "SHC Host" +} diff --git a/fsh-generated/resources/ActorDefinition-SHCHostAuthorizationServer.json b/fsh-generated/resources/ActorDefinition-SHCHostAuthorizationServer.json new file mode 100644 index 00000000..07710429 --- /dev/null +++ b/fsh-generated/resources/ActorDefinition-SHCHostAuthorizationServer.json @@ -0,0 +1,12 @@ +{ + "resourceType": "ActorDefinition", + "id": "SHCHostAuthorizationServer", + "url": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostAuthorizationServer", + "description": "The SHC Host Authorization Server allows the SHC App to request authorisation from the PMS user to access patient health information to prepopulate and write back health checks data using the PMS FHIR Server.", + "name": "SHCHostAuthorizationServer", + "title": "SHC Host Authorization Server", + "status": "draft", + "experimental": false, + "type": "system", + "documentation": "SHC Host Authorization Server" +} diff --git a/fsh-generated/resources/ActorDefinition-SHCHostFHIRServer.json b/fsh-generated/resources/ActorDefinition-SHCHostFHIRServer.json new file mode 100644 index 00000000..b9d3fd07 --- /dev/null +++ b/fsh-generated/resources/ActorDefinition-SHCHostFHIRServer.json @@ -0,0 +1,13 @@ +{ + "resourceType": "ActorDefinition", + "id": "SHCHostFHIRServer", + "url": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer", + "description": "The SHC Host FHIR Server allows the SHC App to retrieve patient health information and writeback collected health check data.", + "name": "SHCHostFHIRServer", + "title": "SHC Host FHIR Server", + "status": "draft", + "experimental": false, + "type": "system", + "documentation": "SHC Host FHIR Server", + "capabilities": "https://smartforms.csiro.au/ig/CapabilityStatement/SFLauncherServerAboriginalTorresStraitIslanderHealthCheck" +} diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index a62d3ae5..bf16b71a 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -493,6 +493,38 @@ "exampleBoolean": false, "name": "Questionnaire Item UI Control Codes" }, + { + "reference": { + "reference": "ActorDefinition/SHCApp" + }, + "name": "SHC App", + "description": "The SHC App allows a user of the SHC Host to launch the SHC App for filling out a health check form prepopulated with a authorized patient health information retrieved from the SHC Host FHIR Server and writeback the collected form data.", + "exampleBoolean": false + }, + { + "reference": { + "reference": "ActorDefinition/SHCHost" + }, + "name": "SHC Host", + "description": "The SHC Host allows a user to launch the SHC App within an embedded or externally launched web browser to fill out a health check form.", + "exampleBoolean": false + }, + { + "reference": { + "reference": "ActorDefinition/SHCHostAuthorizationServer" + }, + "name": "SHC Host Authorization Server", + "description": "The SHC Host Authorization Server allows the SHC App to request authorisation from the PMS user to access patient health information to prepopulate and write back health checks data using the PMS FHIR Server.", + "exampleBoolean": false + }, + { + "reference": { + "reference": "ActorDefinition/SHCHostFHIRServer" + }, + "name": "SHC Host FHIR Server", + "description": "The SHC Host FHIR Server allows the SHC App to retrieve patient health information and writeback collected health check data.", + "exampleBoolean": false + }, { "reference": { "reference": "CapabilityStatement/SmartFormsApplication" @@ -600,6 +632,11 @@ "title": "Home", "generation": "markdown" }, + { + "nameUrl": "actor-definitions.html", + "title": "Actor Definitions", + "generation": "markdown" + }, { "nameUrl": "capability-statements.html", "title": "Capability Statements", diff --git a/input/fsh/actors.fsh b/input/fsh/actors.fsh new file mode 100644 index 00000000..d28ec22e --- /dev/null +++ b/input/fsh/actors.fsh @@ -0,0 +1,49 @@ +Instance: SHCApp +InstanceOf: ActorDefinition +Usage: #definition +Description: "The SHC App allows a user of the SHC Host to launch the SHC App for filling out a health check form prepopulated with a authorized patient health information retrieved from the SHC Host FHIR Server and writeback the collected form data." + +* name = "SHCApp" +* title = "SHC App" +* status = #draft +* experimental = false +* type = #system +* documentation = "SHC App" +* capabilities = "https://smartforms.csiro.au/ig/CapabilityStatement/SmartFormsApplication" + +Instance: SHCHost +InstanceOf: ActorDefinition +Usage: #definition +Description: "The SHC Host allows a user to launch the SHC App within an embedded or externally launched web browser to fill out a health check form." + +* name = "SHCHost" +* title = "SHC Host" +* status = #draft +* experimental = false +* type = #system +* documentation = "SHC Host" + +Instance: SHCHostAuthorizationServer +InstanceOf: ActorDefinition +Usage: #definition +Description: "The SHC Host Authorization Server allows the SHC App to request authorisation from the PMS user to access patient health information to prepopulate and write back health checks data using the PMS FHIR Server." + +* name = "SHCHostAuthorizationServer" +* title = "SHC Host Authorization Server" +* status = #draft +* experimental = false +* type = #system +* documentation = "SHC Host Authorization Server" + +Instance: SHCHostFHIRServer +InstanceOf: ActorDefinition +Usage: #definition +Description: "The SHC Host FHIR Server allows the SHC App to retrieve patient health information and writeback collected health check data." + +* name = "SHCHostFHIRServer" +* title = "SHC Host FHIR Server" +* status = #draft +* experimental = false +* type = #system +* documentation = "SHC Host FHIR Server" +* capabilities = "https://smartforms.csiro.au/ig/CapabilityStatement/SFLauncherServerAboriginalTorresStraitIslanderHealthCheck" \ No newline at end of file diff --git a/input/pagecontent/actor-definitions.md b/input/pagecontent/actor-definitions.md new file mode 100644 index 00000000..f410d3bc --- /dev/null +++ b/input/pagecontent/actor-definitions.md @@ -0,0 +1,3 @@ +The following actor definitions have been defined for this implementation guide. + +{% include actor-definition-list.md %} \ No newline at end of file diff --git a/input/pagecontent/index.md b/input/pagecontent/index.md index eef6c8cc..6cfef6c8 100644 --- a/input/pagecontent/index.md +++ b/input/pagecontent/index.md @@ -82,8 +82,9 @@ This guide is divided into several pages which are listed at the top of each pag - FHIR Artefacts: These pages provide detailed descriptions and formal definitions for all the FHIR artefacts defined in this guide. - [Artefact Summary](artifacts.html): This page lists all of the FHIR artefacts defined in this guide. - [Questionnaires](questionnaires.html): This page lists all of the Questionnaire resources defined in this guide. - - [Capability Statements](capability-statements.html): This page lists all of the CapabilityStatement resources defined in this guide. - [Profiles and Extensions](profiles-and-extensions.html): This page lists all of the StructureDefinition resources defined in this guide. + - [Capability Statements](capability-statements.html): This page lists all of the CapabilityStatement resources defined in this guide. + - [Actor Definitions](actor-definitions.html): This page lists all of the ActorDefinition resources defined in this guide. - [Terminology](terminology.html): This page lists all of the ValueSet, CodeSystem and ConceptMap resources defined in this guide. - [Downloads](downloads.html): This page provides links to downloadable artefacts including the Smart Forms FHIR NPM package. diff --git a/sushi-config.yaml b/sushi-config.yaml index a2d34c79..e087e18d 100644 --- a/sushi-config.yaml +++ b/sushi-config.yaml @@ -152,9 +152,9 @@ menu: FHIR Artefacts: #artifact.html Artefact Summary: artifacts.html Questionnaires: questionnaires.html - Capability Statements: capability-statements.html Profiles and Extensions: profiles-and-extensions.html -# Search Parameters and Operations: search-parameters-and-operations.html + Capability Statements: capability-statements.html + Actor Definitions: actor-definitions.html Terminology: terminology.html # Examples: examples.html Downloads: downloads.html From 8bf9d23abdb23f7dad5c363588d3f3c21b0637e5 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Thu, 26 Jun 2025 10:53:05 +1000 Subject: [PATCH 101/177] Fix actor definition page content --- input/pagecontent/actor-definitions.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/input/pagecontent/actor-definitions.md b/input/pagecontent/actor-definitions.md index f410d3bc..ada8f901 100644 --- a/input/pagecontent/actor-definitions.md +++ b/input/pagecontent/actor-definitions.md @@ -1,3 +1,14 @@ The following actor definitions have been defined for this implementation guide. -{% include actor-definition-list.md %} \ No newline at end of file +- [SHC App](ActorDefinition-SHCApp.html) + - The SHC App allows a user of the SHC Host to launch the SHC App for filling out a health check form prepopulated with a authorized patient health information retrieved from the SHC Host FHIR Server and writeback the collected form data. + +- [SHC Host](ActorDefinition-SHCHost.html) + - The SHC Host allows a user to launch the SHC App within an embedded or externally launched web browser to fill out a health check form. + +- [SHC Host Authorization Server](ActorDefinition-SHCHostAuthorizationServer.html) + - The SHC Host Authorization Server allows the SHC App to request authorisation from the PMS user to access patient health information to prepopulate and write back health checks data using the PMS FHIR Server. + +- [SHC Host FHIR Server](ActorDefinition-SHCHostFHIRServer.html) + - The SHC Host FHIR Server allows the SHC App to retrieve patient health information and writeback collected health check data. + From 2cb4cdc3e4443d7d5c0b3d85c0da4eb70aa52ab8 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Thu, 26 Jun 2025 16:00:19 +1000 Subject: [PATCH 102/177] Add versionAlgorithm element to all Questionnnaires --- .../resources/Questionnaire-AboutTheHealthCheck.json | 7 +++++++ .../Questionnaire-AbsoluteCVDRiskCalculation.json | 7 +++++++ .../resources/Questionnaire-AllergiesAdverseReactions.json | 7 +++++++ .../resources/Questionnaire-AssemblyInstructions.json | 7 +++++++ .../resources/Questionnaire-ChronicDiseaseAgeing.json | 7 +++++++ fsh-generated/resources/Questionnaire-Consent.json | 7 +++++++ .../resources/Questionnaire-CurrentPriorities.json | 7 +++++++ .../resources/Questionnaire-EarHealthAndHearing.json | 7 +++++++ fsh-generated/resources/Questionnaire-Examination.json | 7 +++++++ fsh-generated/resources/Questionnaire-EyeHealth.json | 7 +++++++ fsh-generated/resources/Questionnaire-FamilyHistory.json | 7 +++++++ .../resources/Questionnaire-FinalisingHealthCheck.json | 7 +++++++ fsh-generated/resources/Questionnaire-Gambling.json | 7 +++++++ .../resources/Questionnaire-HealthPrioritiesSummary.json | 7 +++++++ fsh-generated/resources/Questionnaire-HealthyEating.json | 7 +++++++ fsh-generated/resources/Questionnaire-HomeAndFamily.json | 7 +++++++ fsh-generated/resources/Questionnaire-Immunisation.json | 7 +++++++ fsh-generated/resources/Questionnaire-Investigations.json | 7 +++++++ .../resources/Questionnaire-LearningAndDevelopment.json | 7 +++++++ fsh-generated/resources/Questionnaire-LearningAndWork.json | 7 +++++++ .../Questionnaire-MedicalHistoryCurrentProblems.json | 7 +++++++ .../resources/Questionnaire-MemoryAndThinking.json | 7 +++++++ fsh-generated/resources/Questionnaire-Mood.json | 7 +++++++ .../resources/Questionnaire-OralAndDentalHealth.json | 7 +++++++ fsh-generated/resources/Questionnaire-PatientDetails.json | 7 +++++++ .../Questionnaire-PhysicalActivityAndScreenTime.json | 7 +++++++ .../Questionnaire-RedFlagsEarlyIdentificationGuide.json | 7 +++++++ .../resources/Questionnaire-RegularMedications.json | 7 +++++++ .../resources/Questionnaire-ScreeningPrograms.json | 7 +++++++ fsh-generated/resources/Questionnaire-SexualHealth.json | 7 +++++++ fsh-generated/resources/Questionnaire-Skin.json | 7 +++++++ .../Questionnaire-SocialAndEmotionalWellbeing.json | 7 +++++++ .../resources/Questionnaire-SocialHistoryChild.json | 7 +++++++ fsh-generated/resources/Questionnaire-SubstanceUse.json | 7 +++++++ input/fsh/715-AboutTheHealthCheck.fsh | 7 +++++++ input/fsh/715-AssemblyInstructions.fsh | 6 ++++++ input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh | 7 +++++++ input/fsh/715-Assessment-AllergiesAdverseReactions.fsh | 6 ++++++ input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh | 7 +++++++ input/fsh/715-Assessment-CurrentPriorities.fsh | 7 +++++++ input/fsh/715-Assessment-EarHealthAndHearing.fsh | 7 +++++++ input/fsh/715-Assessment-Examination.fsh | 7 +++++++ input/fsh/715-Assessment-EyeHealth.fsh | 7 +++++++ input/fsh/715-Assessment-FamilyHistory.fsh | 7 +++++++ input/fsh/715-Assessment-Gambling.fsh | 7 +++++++ input/fsh/715-Assessment-HealthyEating.fsh | 7 +++++++ input/fsh/715-Assessment-HomeAndFamily.fsh | 7 +++++++ input/fsh/715-Assessment-Immunisation.fsh | 6 ++++++ input/fsh/715-Assessment-Investigations.fsh | 7 +++++++ input/fsh/715-Assessment-LearningAndDevelopment.fsh | 7 +++++++ input/fsh/715-Assessment-LearningAndWork.fsh | 7 +++++++ input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh | 7 +++++++ input/fsh/715-Assessment-MemoryAndThinking.fsh | 7 +++++++ input/fsh/715-Assessment-Mood.fsh | 7 +++++++ input/fsh/715-Assessment-OralAndDentalHealth.fsh | 7 +++++++ input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh | 7 +++++++ .../715-Assessment-RedFlagsEarlyIdentificationGuide.fsh | 7 +++++++ input/fsh/715-Assessment-RegularMedications.fsh | 5 +++++ input/fsh/715-Assessment-ScreeningPrograms.fsh | 7 +++++++ input/fsh/715-Assessment-SexualHealth.fsh | 7 +++++++ input/fsh/715-Assessment-Skin.fsh | 7 +++++++ input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh | 7 +++++++ input/fsh/715-Assessment-SocialHistoryChild.fsh | 7 +++++++ input/fsh/715-Assessment-SubstanceUse.fsh | 7 +++++++ input/fsh/715-Consent.fsh | 7 +++++++ input/fsh/715-FinalisingHealthCheck.fsh | 7 +++++++ input/fsh/715-HealthPrioritiesSummary.fsh | 7 +++++++ input/fsh/715-PatientDetails.fsh | 7 +++++++ 68 files changed, 471 insertions(+) diff --git a/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json b/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json index 602ca750..e8e4eab6 100644 --- a/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json +++ b/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json @@ -359,6 +359,13 @@ "language": "application/x-fhir-query", "expression": "QuestionnaireResponse?_count=1&_sort=-authored&patient={{%patient.id}}" } + }, + { + "url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]", + "valueCoding": { + "system": "http://hl7.org/fhir/version-algorithm", + "code": "semver" + } } ], "url": "http://www.health.gov.au/assessments/mbs/715/AboutTheHealthCheck", diff --git a/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json b/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json index 7aa60859..384bf857 100644 --- a/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json +++ b/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json @@ -821,6 +821,13 @@ "language": "application/x-fhir-query", "expression": "Observation?code=14646-4&_count=1&_sort=-date&patient={{%patient.id}}" } + }, + { + "url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]", + "valueCoding": { + "system": "http://hl7.org/fhir/version-algorithm", + "code": "semver" + } } ], "url": "http://www.health.gov.au/assessments/mbs/715/AbsoluteCVDRiskCalculation", diff --git a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json index 7667711c..8c86fcaa 100644 --- a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json +++ b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json @@ -582,6 +582,13 @@ "language": "application/x-fhir-query", "expression": "AllergyIntolerance?patient={{%patient.id}}" } + }, + { + "url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]", + "valueCoding": { + "system": "http://hl7.org/fhir/version-algorithm", + "code": "semver" + } } ], "url": "http://www.health.gov.au/assessments/mbs/715/AllergiesAdverseReactions", diff --git a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json index c730c1db..cee84e5e 100644 --- a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json +++ b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json @@ -2257,6 +2257,13 @@ "expression": "Observation?code=85354-9&_count=1&_sort=-date&patient={{%patient.id}}" } }, + { + "url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]", + "valueCoding": { + "system": "http://hl7.org/fhir/version-algorithm", + "code": "semver" + } + }, { "url": "https://smartforms.csiro.au/ig/StructureDefinition/ContainedResourceReference", "valueReference": { diff --git a/fsh-generated/resources/Questionnaire-ChronicDiseaseAgeing.json b/fsh-generated/resources/Questionnaire-ChronicDiseaseAgeing.json index 2cb58ae5..dad6095e 100644 --- a/fsh-generated/resources/Questionnaire-ChronicDiseaseAgeing.json +++ b/fsh-generated/resources/Questionnaire-ChronicDiseaseAgeing.json @@ -218,6 +218,13 @@ } ] }, + { + "url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]", + "valueCoding": { + "system": "http://hl7.org/fhir/version-algorithm", + "code": "semver" + } + }, { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" diff --git a/fsh-generated/resources/Questionnaire-Consent.json b/fsh-generated/resources/Questionnaire-Consent.json index 35be3d4b..05bf24ac 100644 --- a/fsh-generated/resources/Questionnaire-Consent.json +++ b/fsh-generated/resources/Questionnaire-Consent.json @@ -559,6 +559,13 @@ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" + }, + { + "url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]", + "valueCoding": { + "system": "http://hl7.org/fhir/version-algorithm", + "code": "semver" + } } ], "url": "http://www.health.gov.au/assessments/mbs/715/Consent", diff --git a/fsh-generated/resources/Questionnaire-CurrentPriorities.json b/fsh-generated/resources/Questionnaire-CurrentPriorities.json index 4ac5e929..13f44b43 100644 --- a/fsh-generated/resources/Questionnaire-CurrentPriorities.json +++ b/fsh-generated/resources/Questionnaire-CurrentPriorities.json @@ -460,6 +460,13 @@ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" + }, + { + "url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]", + "valueCoding": { + "system": "http://hl7.org/fhir/version-algorithm", + "code": "semver" + } } ], "url": "http://www.health.gov.au/assessments/mbs/715/CurrentPriorities", diff --git a/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json b/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json index 666bf1c4..4b55524b 100644 --- a/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json +++ b/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json @@ -784,6 +784,13 @@ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" + }, + { + "url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]", + "valueCoding": { + "system": "http://hl7.org/fhir/version-algorithm", + "code": "semver" + } } ], "url": "http://www.health.gov.au/assessments/mbs/715/EarHealthAndHearing", diff --git a/fsh-generated/resources/Questionnaire-Examination.json b/fsh-generated/resources/Questionnaire-Examination.json index ae7cddfc..4406d63c 100644 --- a/fsh-generated/resources/Questionnaire-Examination.json +++ b/fsh-generated/resources/Questionnaire-Examination.json @@ -1721,6 +1721,13 @@ "language": "text/fhirpath", "expression": "item.where(linkId='c587e3b6-b91a-40dc-9a16-179342d001e9').item.where(linkId='53d5d5a6-3198-4bec-92ac-03fe7d77fb68').item.where(linkId='6226a5c5-b5c3-4ebb-a689-2b286322cfe0').item.where(linkId='obs-height-newresult').answer.value" } + }, + { + "url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]", + "valueCoding": { + "system": "http://hl7.org/fhir/version-algorithm", + "code": "semver" + } } ], "url": "http://www.health.gov.au/assessments/mbs/715/Examination", diff --git a/fsh-generated/resources/Questionnaire-EyeHealth.json b/fsh-generated/resources/Questionnaire-EyeHealth.json index f9741256..046c544e 100644 --- a/fsh-generated/resources/Questionnaire-EyeHealth.json +++ b/fsh-generated/resources/Questionnaire-EyeHealth.json @@ -541,6 +541,13 @@ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" + }, + { + "url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]", + "valueCoding": { + "system": "http://hl7.org/fhir/version-algorithm", + "code": "semver" + } } ], "url": "http://www.health.gov.au/assessments/mbs/715/EyeHealth", diff --git a/fsh-generated/resources/Questionnaire-FamilyHistory.json b/fsh-generated/resources/Questionnaire-FamilyHistory.json index 99f1c1ad..5cdd1732 100644 --- a/fsh-generated/resources/Questionnaire-FamilyHistory.json +++ b/fsh-generated/resources/Questionnaire-FamilyHistory.json @@ -255,6 +255,13 @@ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" + }, + { + "url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]", + "valueCoding": { + "system": "http://hl7.org/fhir/version-algorithm", + "code": "semver" + } } ], "url": "http://www.health.gov.au/assessments/mbs/715/FamilyHistory", diff --git a/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json b/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json index 445eee07..2a96de26 100644 --- a/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json +++ b/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json @@ -1042,6 +1042,13 @@ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" + }, + { + "url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]", + "valueCoding": { + "system": "http://hl7.org/fhir/version-algorithm", + "code": "semver" + } } ], "url": "http://www.health.gov.au/assessments/mbs/715/FinalisingHealthCheck", diff --git a/fsh-generated/resources/Questionnaire-Gambling.json b/fsh-generated/resources/Questionnaire-Gambling.json index 64c04786..2c730378 100644 --- a/fsh-generated/resources/Questionnaire-Gambling.json +++ b/fsh-generated/resources/Questionnaire-Gambling.json @@ -298,6 +298,13 @@ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" + }, + { + "url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]", + "valueCoding": { + "system": "http://hl7.org/fhir/version-algorithm", + "code": "semver" + } } ], "url": "http://www.health.gov.au/assessments/mbs/715/Gambling", diff --git a/fsh-generated/resources/Questionnaire-HealthPrioritiesSummary.json b/fsh-generated/resources/Questionnaire-HealthPrioritiesSummary.json index 55e0f0d7..671c8038 100644 --- a/fsh-generated/resources/Questionnaire-HealthPrioritiesSummary.json +++ b/fsh-generated/resources/Questionnaire-HealthPrioritiesSummary.json @@ -972,6 +972,13 @@ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "HealthPrioritiesSummaryInvestigations" + }, + { + "url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]", + "valueCoding": { + "system": "http://hl7.org/fhir/version-algorithm", + "code": "semver" + } } ], "url": "http://www.health.gov.au/assessments/mbs/715/HealthPrioritiesSummary", diff --git a/fsh-generated/resources/Questionnaire-HealthyEating.json b/fsh-generated/resources/Questionnaire-HealthyEating.json index c13097fc..d2aa509a 100644 --- a/fsh-generated/resources/Questionnaire-HealthyEating.json +++ b/fsh-generated/resources/Questionnaire-HealthyEating.json @@ -672,6 +672,13 @@ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" + }, + { + "url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]", + "valueCoding": { + "system": "http://hl7.org/fhir/version-algorithm", + "code": "semver" + } } ], "url": "http://www.health.gov.au/assessments/mbs/715/HealthyEating", diff --git a/fsh-generated/resources/Questionnaire-HomeAndFamily.json b/fsh-generated/resources/Questionnaire-HomeAndFamily.json index e18ca093..49fdf155 100644 --- a/fsh-generated/resources/Questionnaire-HomeAndFamily.json +++ b/fsh-generated/resources/Questionnaire-HomeAndFamily.json @@ -372,6 +372,13 @@ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" + }, + { + "url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]", + "valueCoding": { + "system": "http://hl7.org/fhir/version-algorithm", + "code": "semver" + } } ], "url": "http://www.health.gov.au/assessments/mbs/715/HomeAndFamily", diff --git a/fsh-generated/resources/Questionnaire-Immunisation.json b/fsh-generated/resources/Questionnaire-Immunisation.json index 7e151c9b..b446737b 100644 --- a/fsh-generated/resources/Questionnaire-Immunisation.json +++ b/fsh-generated/resources/Questionnaire-Immunisation.json @@ -702,6 +702,13 @@ "language": "application/x-fhir-query", "expression": "Immunization?patient={{%patient.id}}" } + }, + { + "url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]", + "valueCoding": { + "system": "http://hl7.org/fhir/version-algorithm", + "code": "semver" + } } ], "url": "http://www.health.gov.au/assessments/mbs/715/Immunisation", diff --git a/fsh-generated/resources/Questionnaire-Investigations.json b/fsh-generated/resources/Questionnaire-Investigations.json index 6c3664d6..d24c4cf9 100644 --- a/fsh-generated/resources/Questionnaire-Investigations.json +++ b/fsh-generated/resources/Questionnaire-Investigations.json @@ -242,6 +242,13 @@ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" + }, + { + "url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]", + "valueCoding": { + "system": "http://hl7.org/fhir/version-algorithm", + "code": "semver" + } } ], "url": "http://www.health.gov.au/assessments/mbs/715/Investigations", diff --git a/fsh-generated/resources/Questionnaire-LearningAndDevelopment.json b/fsh-generated/resources/Questionnaire-LearningAndDevelopment.json index 08cae4db..4b21d361 100644 --- a/fsh-generated/resources/Questionnaire-LearningAndDevelopment.json +++ b/fsh-generated/resources/Questionnaire-LearningAndDevelopment.json @@ -513,6 +513,13 @@ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" + }, + { + "url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]", + "valueCoding": { + "system": "http://hl7.org/fhir/version-algorithm", + "code": "semver" + } } ], "url": "http://www.health.gov.au/assessments/mbs/715/LearningAndDevelopment", diff --git a/fsh-generated/resources/Questionnaire-LearningAndWork.json b/fsh-generated/resources/Questionnaire-LearningAndWork.json index f12ee88b..d931e1f4 100644 --- a/fsh-generated/resources/Questionnaire-LearningAndWork.json +++ b/fsh-generated/resources/Questionnaire-LearningAndWork.json @@ -611,6 +611,13 @@ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" + }, + { + "url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]", + "valueCoding": { + "system": "http://hl7.org/fhir/version-algorithm", + "code": "semver" + } } ], "url": "http://www.health.gov.au/assessments/mbs/715/LearningAndWork", diff --git a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json index 27c85a8e..02000012 100644 --- a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json +++ b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json @@ -814,6 +814,13 @@ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "Condition" + }, + { + "url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]", + "valueCoding": { + "system": "http://hl7.org/fhir/version-algorithm", + "code": "semver" + } } ], "url": "http://www.health.gov.au/assessments/mbs/715/MedicalHistoryCurrentProblems", diff --git a/fsh-generated/resources/Questionnaire-MemoryAndThinking.json b/fsh-generated/resources/Questionnaire-MemoryAndThinking.json index d915881d..6e7c6506 100644 --- a/fsh-generated/resources/Questionnaire-MemoryAndThinking.json +++ b/fsh-generated/resources/Questionnaire-MemoryAndThinking.json @@ -372,6 +372,13 @@ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" + }, + { + "url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]", + "valueCoding": { + "system": "http://hl7.org/fhir/version-algorithm", + "code": "semver" + } } ], "url": "http://www.health.gov.au/assessments/mbs/715/MemoryAndThinking", diff --git a/fsh-generated/resources/Questionnaire-Mood.json b/fsh-generated/resources/Questionnaire-Mood.json index f8bd1cfc..3fc589f5 100644 --- a/fsh-generated/resources/Questionnaire-Mood.json +++ b/fsh-generated/resources/Questionnaire-Mood.json @@ -265,6 +265,13 @@ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" + }, + { + "url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]", + "valueCoding": { + "system": "http://hl7.org/fhir/version-algorithm", + "code": "semver" + } } ], "url": "http://www.health.gov.au/assessments/mbs/715/Mood", diff --git a/fsh-generated/resources/Questionnaire-OralAndDentalHealth.json b/fsh-generated/resources/Questionnaire-OralAndDentalHealth.json index b471b26c..b7d24f6a 100644 --- a/fsh-generated/resources/Questionnaire-OralAndDentalHealth.json +++ b/fsh-generated/resources/Questionnaire-OralAndDentalHealth.json @@ -422,6 +422,13 @@ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" + }, + { + "url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]", + "valueCoding": { + "system": "http://hl7.org/fhir/version-algorithm", + "code": "semver" + } } ], "url": "http://www.health.gov.au/assessments/mbs/715/OralAndDentalHealth", diff --git a/fsh-generated/resources/Questionnaire-PatientDetails.json b/fsh-generated/resources/Questionnaire-PatientDetails.json index d96a8585..58a4a44f 100644 --- a/fsh-generated/resources/Questionnaire-PatientDetails.json +++ b/fsh-generated/resources/Questionnaire-PatientDetails.json @@ -2346,6 +2346,13 @@ "language": "text/fhirpath", "expression": "%patient.address.where(type='postal')" } + }, + { + "url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]", + "valueCoding": { + "system": "http://hl7.org/fhir/version-algorithm", + "code": "semver" + } } ], "url": "http://www.health.gov.au/assessments/mbs/715/PatientDetails", diff --git a/fsh-generated/resources/Questionnaire-PhysicalActivityAndScreenTime.json b/fsh-generated/resources/Questionnaire-PhysicalActivityAndScreenTime.json index 44f62025..5bf3d555 100644 --- a/fsh-generated/resources/Questionnaire-PhysicalActivityAndScreenTime.json +++ b/fsh-generated/resources/Questionnaire-PhysicalActivityAndScreenTime.json @@ -659,6 +659,13 @@ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" + }, + { + "url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]", + "valueCoding": { + "system": "http://hl7.org/fhir/version-algorithm", + "code": "semver" + } } ], "url": "http://www.health.gov.au/assessments/mbs/715/PhysicalActivityAndScreenTime", diff --git a/fsh-generated/resources/Questionnaire-RedFlagsEarlyIdentificationGuide.json b/fsh-generated/resources/Questionnaire-RedFlagsEarlyIdentificationGuide.json index d5f34143..eb98c097 100644 --- a/fsh-generated/resources/Questionnaire-RedFlagsEarlyIdentificationGuide.json +++ b/fsh-generated/resources/Questionnaire-RedFlagsEarlyIdentificationGuide.json @@ -1357,6 +1357,13 @@ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" + }, + { + "url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]", + "valueCoding": { + "system": "http://hl7.org/fhir/version-algorithm", + "code": "semver" + } } ], "url": "http://www.health.gov.au/assessments/mbs/715/RedFlagsEarlyIdentificationGuide", diff --git a/fsh-generated/resources/Questionnaire-RegularMedications.json b/fsh-generated/resources/Questionnaire-RegularMedications.json index 6db92722..b8ea6f6b 100644 --- a/fsh-generated/resources/Questionnaire-RegularMedications.json +++ b/fsh-generated/resources/Questionnaire-RegularMedications.json @@ -888,6 +888,13 @@ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" + }, + { + "url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]", + "valueCoding": { + "system": "http://hl7.org/fhir/version-algorithm", + "code": "semver" + } } ], "url": "http://www.health.gov.au/assessments/mbs/715/RegularMedications", diff --git a/fsh-generated/resources/Questionnaire-ScreeningPrograms.json b/fsh-generated/resources/Questionnaire-ScreeningPrograms.json index 127e3062..7ed1a038 100644 --- a/fsh-generated/resources/Questionnaire-ScreeningPrograms.json +++ b/fsh-generated/resources/Questionnaire-ScreeningPrograms.json @@ -349,6 +349,13 @@ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" + }, + { + "url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]", + "valueCoding": { + "system": "http://hl7.org/fhir/version-algorithm", + "code": "semver" + } } ], "url": "http://www.health.gov.au/assessments/mbs/715/ScreeningPrograms", diff --git a/fsh-generated/resources/Questionnaire-SexualHealth.json b/fsh-generated/resources/Questionnaire-SexualHealth.json index 6c208ddd..191130e7 100644 --- a/fsh-generated/resources/Questionnaire-SexualHealth.json +++ b/fsh-generated/resources/Questionnaire-SexualHealth.json @@ -940,6 +940,13 @@ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" + }, + { + "url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]", + "valueCoding": { + "system": "http://hl7.org/fhir/version-algorithm", + "code": "semver" + } } ], "url": "http://www.health.gov.au/assessments/mbs/715/SexualHealth", diff --git a/fsh-generated/resources/Questionnaire-Skin.json b/fsh-generated/resources/Questionnaire-Skin.json index 6558399e..1ae51016 100644 --- a/fsh-generated/resources/Questionnaire-Skin.json +++ b/fsh-generated/resources/Questionnaire-Skin.json @@ -408,6 +408,13 @@ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" + }, + { + "url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]", + "valueCoding": { + "system": "http://hl7.org/fhir/version-algorithm", + "code": "semver" + } } ], "url": "http://www.health.gov.au/assessments/mbs/715/Skin", diff --git a/fsh-generated/resources/Questionnaire-SocialAndEmotionalWellbeing.json b/fsh-generated/resources/Questionnaire-SocialAndEmotionalWellbeing.json index c8b72fba..e07af187 100644 --- a/fsh-generated/resources/Questionnaire-SocialAndEmotionalWellbeing.json +++ b/fsh-generated/resources/Questionnaire-SocialAndEmotionalWellbeing.json @@ -347,6 +347,13 @@ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" + }, + { + "url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]", + "valueCoding": { + "system": "http://hl7.org/fhir/version-algorithm", + "code": "semver" + } } ], "url": "http://www.health.gov.au/assessments/mbs/715/SocialAndEmotionalWellbeing", diff --git a/fsh-generated/resources/Questionnaire-SocialHistoryChild.json b/fsh-generated/resources/Questionnaire-SocialHistoryChild.json index 34440221..83a227a9 100644 --- a/fsh-generated/resources/Questionnaire-SocialHistoryChild.json +++ b/fsh-generated/resources/Questionnaire-SocialHistoryChild.json @@ -363,6 +363,13 @@ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext", "valueString": "age" + }, + { + "url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]", + "valueCoding": { + "system": "http://hl7.org/fhir/version-algorithm", + "code": "semver" + } } ], "url": "http://www.health.gov.au/assessments/mbs/715/SocialHistoryChild", diff --git a/fsh-generated/resources/Questionnaire-SubstanceUse.json b/fsh-generated/resources/Questionnaire-SubstanceUse.json index c1c757cb..38fceaa1 100644 --- a/fsh-generated/resources/Questionnaire-SubstanceUse.json +++ b/fsh-generated/resources/Questionnaire-SubstanceUse.json @@ -676,6 +676,13 @@ "language": "application/x-fhir-query", "expression": "Observation?code=72166-2&_count=1&_sort=-date&patient={{%patient.id}}" } + }, + { + "url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]", + "valueCoding": { + "system": "http://hl7.org/fhir/version-algorithm", + "code": "semver" + } } ], "url": "http://www.health.gov.au/assessments/mbs/715/SubstanceUse", diff --git a/input/fsh/715-AboutTheHealthCheck.fsh b/input/fsh/715-AboutTheHealthCheck.fsh index 5c529de8..dcf63b77 100644 --- a/input/fsh/715-AboutTheHealthCheck.fsh +++ b/input/fsh/715-AboutTheHealthCheck.fsh @@ -69,6 +69,13 @@ Description: "About The Health Check sub-questionnaire for Aboriginal and Torres * language = #application/x-fhir-query * expression = "QuestionnaireResponse?_count=1&_sort=-authored&patient={{%patient.id}}" +//R5 preadoption extensions +* extension[+] + * url = "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]" + * valueCoding + * system = "http://hl7.org/fhir/version-algorithm" + * code = #semver + * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" diff --git a/input/fsh/715-AssemblyInstructions.fsh b/input/fsh/715-AssemblyInstructions.fsh index 6eff8176..c5a16922 100644 --- a/input/fsh/715-AssemblyInstructions.fsh +++ b/input/fsh/715-AssemblyInstructions.fsh @@ -78,6 +78,12 @@ Description: "Aboriginal and Torres Strait Islander Health Check assessment form * language = #application/x-fhir-query * expression = "Observation?code=85354-9&_count=1&_sort=-date&patient={{%patient.id}}" +//R5 preadoption extensions +* extension[+] + * url = "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]" + * valueCoding + * system = "http://hl7.org/fhir/version-algorithm" + * code = #semver //workaround to stop server stripping of value sets referenced as canonical * extension[+] diff --git a/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh b/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh index a4e53386..13ffee46 100644 --- a/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh +++ b/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh @@ -86,6 +86,13 @@ Description: "Absolute Cardiovascular Disease Risk Calculation sub-questionnaire * language = #application/x-fhir-query * expression = "Observation?code=14646-4&_count=1&_sort=-date&patient={{%patient.id}}" +//R5 preadoption extensions +* extension[+] + * url = "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]" + * valueCoding + * system = "http://hl7.org/fhir/version-algorithm" + * code = #semver + * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" diff --git a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh index 0cabf46f..a6452957 100644 --- a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh +++ b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh @@ -64,6 +64,12 @@ Description: "Allergies/Adverse Reactions sub-questionnaire for Aboriginal and T * language = #application/x-fhir-query * expression = "AllergyIntolerance?patient={{%patient.id}}" +//R5 preadoption extensions +* extension[+] + * url = "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]" + * valueCoding + * system = "http://hl7.org/fhir/version-algorithm" + * code = #semver * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" diff --git a/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh b/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh index 0763d1d2..ecdb5fa9 100644 --- a/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh +++ b/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh @@ -48,6 +48,13 @@ Description: "Chronic Disease Ageing sub-questionnaire for Aboriginal and Torres * extension[+] * url = "description" * valueString = "The encounter that is to be used to pre-populate the form" + +//R5 preadoption extensions +* extension[+] + * url = "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]" + * valueCoding + * system = "http://hl7.org/fhir/version-algorithm" + * code = #semver //assemble context * extension[+] diff --git a/input/fsh/715-Assessment-CurrentPriorities.fsh b/input/fsh/715-Assessment-CurrentPriorities.fsh index 9cc4987a..be3b6bd1 100644 --- a/input/fsh/715-Assessment-CurrentPriorities.fsh +++ b/input/fsh/715-Assessment-CurrentPriorities.fsh @@ -55,6 +55,13 @@ Description: "Current Priorities sub-questionnaire for Aboriginal and Torres Str * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * valueString = "age" +//R5 preadoption extensions +* extension[+] + * url = "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]" + * valueCoding + * system = "http://hl7.org/fhir/version-algorithm" + * code = #semver + * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" diff --git a/input/fsh/715-Assessment-EarHealthAndHearing.fsh b/input/fsh/715-Assessment-EarHealthAndHearing.fsh index dd560561..c60e2ea4 100644 --- a/input/fsh/715-Assessment-EarHealthAndHearing.fsh +++ b/input/fsh/715-Assessment-EarHealthAndHearing.fsh @@ -55,6 +55,13 @@ Description: "Ear Health And Hearing sub-questionnaire for Aboriginal and Torres * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * valueString = "age" +//R5 preadoption extensions +* extension[+] + * url = "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]" + * valueCoding + * system = "http://hl7.org/fhir/version-algorithm" + * code = #semver + * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" diff --git a/input/fsh/715-Assessment-Examination.fsh b/input/fsh/715-Assessment-Examination.fsh index c827421a..4ce612ab 100644 --- a/input/fsh/715-Assessment-Examination.fsh +++ b/input/fsh/715-Assessment-Examination.fsh @@ -119,6 +119,13 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * language = #text/fhirpath * expression = "item.where(linkId='c587e3b6-b91a-40dc-9a16-179342d001e9').item.where(linkId='53d5d5a6-3198-4bec-92ac-03fe7d77fb68').item.where(linkId='6226a5c5-b5c3-4ebb-a689-2b286322cfe0').item.where(linkId='obs-height-newresult').answer.value" +//R5 preadoption extensions +* extension[+] + * url = "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]" + * valueCoding + * system = "http://hl7.org/fhir/version-algorithm" + * code = #semver + * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" diff --git a/input/fsh/715-Assessment-EyeHealth.fsh b/input/fsh/715-Assessment-EyeHealth.fsh index c7789424..f41b11cb 100644 --- a/input/fsh/715-Assessment-EyeHealth.fsh +++ b/input/fsh/715-Assessment-EyeHealth.fsh @@ -55,6 +55,13 @@ Description: "Eye Health sub-questionnaire for Aboriginal and Torres Strait Isla * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * valueString = "age" +//R5 preadoption extensions +* extension[+] + * url = "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]" + * valueCoding + * system = "http://hl7.org/fhir/version-algorithm" + * code = #semver + * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" diff --git a/input/fsh/715-Assessment-FamilyHistory.fsh b/input/fsh/715-Assessment-FamilyHistory.fsh index 6bdca284..fd121cff 100644 --- a/input/fsh/715-Assessment-FamilyHistory.fsh +++ b/input/fsh/715-Assessment-FamilyHistory.fsh @@ -54,6 +54,13 @@ Description: "Family History sub-questionnaire for Aboriginal and Torres Strait * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * valueString = "age" +//R5 preadoption extensions +* extension[+] + * url = "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]" + * valueCoding + * system = "http://hl7.org/fhir/version-algorithm" + * code = #semver + * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" diff --git a/input/fsh/715-Assessment-Gambling.fsh b/input/fsh/715-Assessment-Gambling.fsh index 3de4c966..c01af85b 100644 --- a/input/fsh/715-Assessment-Gambling.fsh +++ b/input/fsh/715-Assessment-Gambling.fsh @@ -55,6 +55,13 @@ Description: "Gambling sub-questionnaire for Aboriginal and Torres Strait Island * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * valueString = "age" +//R5 preadoption extensions +* extension[+] + * url = "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]" + * valueCoding + * system = "http://hl7.org/fhir/version-algorithm" + * code = #semver + * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" diff --git a/input/fsh/715-Assessment-HealthyEating.fsh b/input/fsh/715-Assessment-HealthyEating.fsh index 5f6bbc74..5322961a 100644 --- a/input/fsh/715-Assessment-HealthyEating.fsh +++ b/input/fsh/715-Assessment-HealthyEating.fsh @@ -55,6 +55,13 @@ Description: "Healthy Eating sub-questionnaire for Aboriginal and Torres Strait * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * valueString = "age" +//R5 preadoption extensions +* extension[+] + * url = "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]" + * valueCoding + * system = "http://hl7.org/fhir/version-algorithm" + * code = #semver + * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" diff --git a/input/fsh/715-Assessment-HomeAndFamily.fsh b/input/fsh/715-Assessment-HomeAndFamily.fsh index c9b11ed4..441e1fd7 100644 --- a/input/fsh/715-Assessment-HomeAndFamily.fsh +++ b/input/fsh/715-Assessment-HomeAndFamily.fsh @@ -55,6 +55,13 @@ Description: "Home And Family sub-questionnaire for Aboriginal and Torres Strait * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * valueString = "age" +//R5 preadoption extensions +* extension[+] + * url = "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]" + * valueCoding + * system = "http://hl7.org/fhir/version-algorithm" + * code = #semver + * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" diff --git a/input/fsh/715-Assessment-Immunisation.fsh b/input/fsh/715-Assessment-Immunisation.fsh index b92c833e..a7fba655 100644 --- a/input/fsh/715-Assessment-Immunisation.fsh +++ b/input/fsh/715-Assessment-Immunisation.fsh @@ -65,6 +65,12 @@ Description: "Immunisation sub-questionnaire for Aboriginal and Torres Strait Is * language = #application/x-fhir-query * expression = "Immunization?patient={{%patient.id}}" +//R5 preadoption extensions +* extension[+] + * url = "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]" + * valueCoding + * system = "http://hl7.org/fhir/version-algorithm" + * code = #semver * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" diff --git a/input/fsh/715-Assessment-Investigations.fsh b/input/fsh/715-Assessment-Investigations.fsh index f6d45e5a..23a2dd40 100644 --- a/input/fsh/715-Assessment-Investigations.fsh +++ b/input/fsh/715-Assessment-Investigations.fsh @@ -54,6 +54,13 @@ Description: "Investigations sub-questionnaire for Aboriginal and Torres Strait * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * valueString = "age" +//R5 preadoption extensions +* extension[+] + * url = "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]" + * valueCoding + * system = "http://hl7.org/fhir/version-algorithm" + * code = #semver + * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" diff --git a/input/fsh/715-Assessment-LearningAndDevelopment.fsh b/input/fsh/715-Assessment-LearningAndDevelopment.fsh index 83bde149..ff7f2195 100644 --- a/input/fsh/715-Assessment-LearningAndDevelopment.fsh +++ b/input/fsh/715-Assessment-LearningAndDevelopment.fsh @@ -53,6 +53,13 @@ Description: "Learning And Development sub-questionnaire for Aboriginal and Torr * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * valueString = "age" +//R5 preadoption extensions +* extension[+] + * url = "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]" + * valueCoding + * system = "http://hl7.org/fhir/version-algorithm" + * code = #semver + * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" diff --git a/input/fsh/715-Assessment-LearningAndWork.fsh b/input/fsh/715-Assessment-LearningAndWork.fsh index 12e46523..020c9bb6 100644 --- a/input/fsh/715-Assessment-LearningAndWork.fsh +++ b/input/fsh/715-Assessment-LearningAndWork.fsh @@ -56,6 +56,13 @@ Description: "Learning And Work sub-questionnaire for Aboriginal and Torres Stra * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * valueString = "age" +//R5 preadoption extensions +* extension[+] + * url = "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]" + * valueCoding + * system = "http://hl7.org/fhir/version-algorithm" + * code = #semver + * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" diff --git a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh index 06fc52a5..69a5ab33 100644 --- a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh +++ b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh @@ -61,6 +61,13 @@ Description: "Medical History sub-questionnaire for Aboriginal and Torres Strait * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * valueString = "Condition" +//R5 preadoption extensions +* extension[+] + * url = "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]" + * valueCoding + * system = "http://hl7.org/fhir/version-algorithm" + * code = #semver + * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" diff --git a/input/fsh/715-Assessment-MemoryAndThinking.fsh b/input/fsh/715-Assessment-MemoryAndThinking.fsh index 6d6732a6..0efda416 100644 --- a/input/fsh/715-Assessment-MemoryAndThinking.fsh +++ b/input/fsh/715-Assessment-MemoryAndThinking.fsh @@ -55,6 +55,13 @@ Description: "Memory And Thinking sub-questionnaire for Aboriginal and Torres St * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * valueString = "age" +//R5 preadoption extensions +* extension[+] + * url = "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]" + * valueCoding + * system = "http://hl7.org/fhir/version-algorithm" + * code = #semver + * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" diff --git a/input/fsh/715-Assessment-Mood.fsh b/input/fsh/715-Assessment-Mood.fsh index d72149ab..0ca7cc55 100644 --- a/input/fsh/715-Assessment-Mood.fsh +++ b/input/fsh/715-Assessment-Mood.fsh @@ -54,6 +54,13 @@ Description: "Mood sub-questionnaire for Aboriginal and Torres Strait Islander H * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * valueString = "age" +//R5 preadoption extensions +* extension[+] + * url = "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]" + * valueCoding + * system = "http://hl7.org/fhir/version-algorithm" + * code = #semver + * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" diff --git a/input/fsh/715-Assessment-OralAndDentalHealth.fsh b/input/fsh/715-Assessment-OralAndDentalHealth.fsh index 81e8c0f5..6353a30a 100644 --- a/input/fsh/715-Assessment-OralAndDentalHealth.fsh +++ b/input/fsh/715-Assessment-OralAndDentalHealth.fsh @@ -55,6 +55,13 @@ Description: "Oral And Dental Health sub-questionnaire for Aboriginal and Torres * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * valueString = "age" +//R5 preadoption extensions +* extension[+] + * url = "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]" + * valueCoding + * system = "http://hl7.org/fhir/version-algorithm" + * code = #semver + * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" diff --git a/input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh b/input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh index 073a1bd7..822ce047 100644 --- a/input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh +++ b/input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh @@ -55,6 +55,13 @@ Description: "Physical Activity And Screen Time sub-questionnaire for Aboriginal * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * valueString = "age" +//R5 preadoption extensions +* extension[+] + * url = "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]" + * valueCoding + * system = "http://hl7.org/fhir/version-algorithm" + * code = #semver + * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" diff --git a/input/fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh b/input/fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh index 282997aa..e0d1b186 100644 --- a/input/fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh +++ b/input/fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh @@ -53,6 +53,13 @@ Description: "Red Flags Early Identification Guide For Children sub-questionnair * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * valueString = "age" +//R5 preadoption extensions +* extension[+] + * url = "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]" + * valueCoding + * system = "http://hl7.org/fhir/version-algorithm" + * code = #semver + * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" diff --git a/input/fsh/715-Assessment-RegularMedications.fsh b/input/fsh/715-Assessment-RegularMedications.fsh index 592e0685..80a911ca 100644 --- a/input/fsh/715-Assessment-RegularMedications.fsh +++ b/input/fsh/715-Assessment-RegularMedications.fsh @@ -45,6 +45,11 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * extension[=].valueString = "age" +//R5 preadoption extensions +* extension[+].url = "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]" +* extension[=].valueCoding.system = "http://hl7.org/fhir/version-algorithm" +* extension[=].valueCoding.code = #semver + * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" diff --git a/input/fsh/715-Assessment-ScreeningPrograms.fsh b/input/fsh/715-Assessment-ScreeningPrograms.fsh index 1ba2f578..bbdaa2cb 100644 --- a/input/fsh/715-Assessment-ScreeningPrograms.fsh +++ b/input/fsh/715-Assessment-ScreeningPrograms.fsh @@ -53,6 +53,13 @@ Description: "Screening Programs sub-questionnaire for Aboriginal and Torres Str * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * valueString = "age" +//R5 preadoption extensions +* extension[+] + * url = "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]" + * valueCoding + * system = "http://hl7.org/fhir/version-algorithm" + * code = #semver + * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" diff --git a/input/fsh/715-Assessment-SexualHealth.fsh b/input/fsh/715-Assessment-SexualHealth.fsh index 910fbc8b..9b71f344 100644 --- a/input/fsh/715-Assessment-SexualHealth.fsh +++ b/input/fsh/715-Assessment-SexualHealth.fsh @@ -57,6 +57,13 @@ Description: "Sexual Health sub-questionnaire for Aboriginal and Torres Strait I * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * valueString = "age" +//R5 preadoption extensions +* extension[+] + * url = "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]" + * valueCoding + * system = "http://hl7.org/fhir/version-algorithm" + * code = #semver + * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" diff --git a/input/fsh/715-Assessment-Skin.fsh b/input/fsh/715-Assessment-Skin.fsh index 6d7aef27..87a68aa5 100644 --- a/input/fsh/715-Assessment-Skin.fsh +++ b/input/fsh/715-Assessment-Skin.fsh @@ -55,6 +55,13 @@ Description: "Skin sub-questionnaire for Aboriginal and Torres Strait Islander H * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * valueString = "age" +//R5 preadoption extensions +* extension[+] + * url = "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]" + * valueCoding + * system = "http://hl7.org/fhir/version-algorithm" + * code = #semver + * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" diff --git a/input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh b/input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh index 3ce8321f..fdc95bbe 100644 --- a/input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh +++ b/input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh @@ -55,6 +55,13 @@ Description: "Social And Emotional Wellbeing sub-questionnaire for Aboriginal an * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * valueString = "age" +//R5 preadoption extensions +* extension[+] + * url = "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]" + * valueCoding + * system = "http://hl7.org/fhir/version-algorithm" + * code = #semver + * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" diff --git a/input/fsh/715-Assessment-SocialHistoryChild.fsh b/input/fsh/715-Assessment-SocialHistoryChild.fsh index 495c9396..6232522f 100644 --- a/input/fsh/715-Assessment-SocialHistoryChild.fsh +++ b/input/fsh/715-Assessment-SocialHistoryChild.fsh @@ -55,6 +55,13 @@ Description: "Social History Child sub-questionnaire for Aboriginal and Torres S * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * valueString = "age" +//R5 preadoption extensions +* extension[+] + * url = "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]" + * valueCoding + * system = "http://hl7.org/fhir/version-algorithm" + * code = #semver + * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" diff --git a/input/fsh/715-Assessment-SubstanceUse.fsh b/input/fsh/715-Assessment-SubstanceUse.fsh index 1ecc18be..eed26461 100644 --- a/input/fsh/715-Assessment-SubstanceUse.fsh +++ b/input/fsh/715-Assessment-SubstanceUse.fsh @@ -65,6 +65,13 @@ Description: "Substance Use sub-questionnaire for Aboriginal and Torres Strait I * language = #application/x-fhir-query * expression = "Observation?code=72166-2&_count=1&_sort=-date&patient={{%patient.id}}" +//R5 preadoption extensions +* extension[+] + * url = "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]" + * valueCoding + * system = "http://hl7.org/fhir/version-algorithm" + * code = #semver + * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" diff --git a/input/fsh/715-Consent.fsh b/input/fsh/715-Consent.fsh index 335ef55a..01c0b1e6 100644 --- a/input/fsh/715-Consent.fsh +++ b/input/fsh/715-Consent.fsh @@ -55,6 +55,13 @@ Description: "Consent sub-questionnaire for Aboriginal and Torres Strait Islande * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * valueString = "age" +//R5 preadoption extensions +* extension[+] + * url = "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]" + * valueCoding + * system = "http://hl7.org/fhir/version-algorithm" + * code = #semver + * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" diff --git a/input/fsh/715-FinalisingHealthCheck.fsh b/input/fsh/715-FinalisingHealthCheck.fsh index fda77425..8a7de836 100644 --- a/input/fsh/715-FinalisingHealthCheck.fsh +++ b/input/fsh/715-FinalisingHealthCheck.fsh @@ -54,6 +54,13 @@ Description: "Finalising the Health Check sub-questionnaire for Aboriginal and T * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * valueString = "age" +//R5 preadoption extensions +* extension[+] + * url = "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]" + * valueCoding + * system = "http://hl7.org/fhir/version-algorithm" + * code = #semver + * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" diff --git a/input/fsh/715-HealthPrioritiesSummary.fsh b/input/fsh/715-HealthPrioritiesSummary.fsh index 2f9b59fa..651d0bdd 100644 --- a/input/fsh/715-HealthPrioritiesSummary.fsh +++ b/input/fsh/715-HealthPrioritiesSummary.fsh @@ -147,6 +147,13 @@ Description: "Health Priorities, Actions And Follow-Up Summary sub-questionnaire * url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * valueString = "HealthPrioritiesSummaryInvestigations" +//R5 preadoption extensions +* extension[+] + * url = "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]" + * valueCoding + * system = "http://hl7.org/fhir/version-algorithm" + * code = #semver + * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" diff --git a/input/fsh/715-PatientDetails.fsh b/input/fsh/715-PatientDetails.fsh index 926148c2..415ebbf1 100644 --- a/input/fsh/715-PatientDetails.fsh +++ b/input/fsh/715-PatientDetails.fsh @@ -70,6 +70,13 @@ Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait * language = #text/fhirpath * expression = "%patient.address.where(type='postal')" +//R5 preadoption extensions +* extension[+] + * url = "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]" + * valueCoding + * system = "http://hl7.org/fhir/version-algorithm" + * code = #semver + * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" From 59cf8bd4daf94074c81d74ea327c987688894ffb Mon Sep 17 00:00:00 2001 From: liambarnes Date: Thu, 26 Jun 2025 16:19:43 +1000 Subject: [PATCH 103/177] start adding indices to obligations --- input/fsh/profiles.fsh | 110 ++++++++++++++++++++--------------------- 1 file changed, 55 insertions(+), 55 deletions(-) diff --git a/input/fsh/profiles.fsh b/input/fsh/profiles.fsh index 1fd6bb44..cbef0e54 100644 --- a/input/fsh/profiles.fsh +++ b/input/fsh/profiles.fsh @@ -22,21 +22,21 @@ Alias: $au-core-patient = http://hl7.org.au/fhir/core/StructureDefinition/au-cor Alias: $au-core-practitioner = http://hl7.org.au/fhir/core/StructureDefinition/au-core-practitioner Alias: $sdc-questionnaireresponse = http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaireresponse -RuleSet: obligationApp(appCode) -* ^extension[$obligation][+].extension[code].valueCode = #"{appCode}" +RuleSet: obligationApp(index, appCode) +* ^extension[$obligation][{index}].extension[code].valueCode = #"{appCode}" * ^extension[$obligation][=].extension[actor].valueCanonical = "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" -RuleSet: obligation2App(appCode1, appCode2) -* ^extension[$obligation][+].extension[code][+].valueCode = #"{appCode1}" +RuleSet: obligation2App(index, appCode1, appCode2) +* ^extension[$obligation][{index}].extension[code][+].valueCode = #"{appCode1}" * ^extension[$obligation][=].extension[code][+].valueCode = #"{appCode2}" * ^extension[$obligation][=].extension[actor].valueCanonical = "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" -RuleSet: obligationServer(serverCode) -* ^extension[$obligation][+].extension[code].valueCode = #"{serverCode}" +RuleSet: obligationServer(index, serverCode) +* ^extension[$obligation][{index}].extension[code].valueCode = #"{serverCode}" * ^extension[$obligation][=].extension[actor].valueCanonical = "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" -RuleSet: obligation2Server(serverCode1, serverCode2) -* ^extension[$obligation][+].extension[code][+].valueCode = #"{serverCode1}" +RuleSet: obligation2Server(index, serverCode1, serverCode2) +* ^extension[$obligation][{index}].extension[code][+].valueCode = #"{serverCode1}" * ^extension[$obligation][=].extension[code][+].valueCode = #"{serverCode2}" * ^extension[$obligation][=].extension[actor].valueCanonical = "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" @@ -65,8 +65,8 @@ Description: "This profile sets the minimum expectations for an Observation reso * . ^comment = "Heart rhythm observation using a LOINC code, a SNOMED CT code and a metric UCUM unit of measure." * obeys shc-heartrhythm-01 * status MS -* status insert obligation2Server (SHALL:populate, SHALL:process) -* status insert obligation2App (SHALL:populate, SHALL:process) +* status insert obligation2Server (0, SHALL:populate, SHALL:process) +* status insert obligation2App (1, SHALL:populate, SHALL:process) * category MS * category ^slicing.discriminator[0].type = #value * category ^slicing.discriminator[=].path = "coding.code" @@ -76,8 +76,8 @@ Description: "This profile sets the minimum expectations for an Observation reso * category ^slicing.rules = #open * category contains vitalSignsCategory 1..1 MS * category[vitalSignsCategory] = http://terminology.hl7.org/CodeSystem/observation-category#vital-signs (exactly) -* category[vitalSignsCategory] insert obligationServer (SHALL:process) -* category[vitalSignsCategory] insert obligationApp (SHALL:populate) +* category[vitalSignsCategory] insert obligationServer (0, SHALL:process) +* category[vitalSignsCategory] insert obligationApp (1, SHALL:populate) * code MS * code ^short = "Heart Rhythm" * code ^definition = "Heart Rhythm." @@ -89,24 +89,24 @@ Description: "This profile sets the minimum expectations for an Observation reso * code.coding ^slicing.ordered = false * code.coding ^slicing.rules = #open * code.coding contains loincHeartRhythmCode 1..1 MS and snomedHeartRhythmCode 1..1 MS -* code.coding[loincHeartRhythmCode] insert obligationServer (SHALL:process) -* code.coding[loincHeartRhythmCode] insert obligationApp (SHALL:populate) +* code.coding[loincHeartRhythmCode] insert obligationServer (0, SHALL:process) +* code.coding[loincHeartRhythmCode] insert obligationApp (1, SHALL:populate) * code.coding[loincHeartRhythmCode].system 1..1 * code.coding[loincHeartRhythmCode].system = "http://loinc.org" (exactly) * code.coding[loincHeartRhythmCode].code 1..1 * code.coding[loincHeartRhythmCode].code = #8884-9 (exactly) -* code.coding[snomedHeartRhythmCode] insert obligationServer (SHALL:process) -* code.coding[snomedHeartRhythmCode] insert obligationApp (SHALL:populate) +* code.coding[snomedHeartRhythmCode] insert obligationServer (0, SHALL:process) +* code.coding[snomedHeartRhythmCode] insert obligationApp (1, SHALL:populate) * code.coding[snomedHeartRhythmCode].system 1..1 * code.coding[snomedHeartRhythmCode].system = "http://snomed.info/sct" (exactly) * code.coding[snomedHeartRhythmCode].code 1..1 * code.coding[snomedHeartRhythmCode].code = #364074009 (exactly) * code.text MS -* code.text insert obligationApp (SHALL:populate) +* code.text insert obligationApp (0, SHALL:populate) * subject 1.. MS * subject only Reference($au-core-patient) -* subject insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* subject insert obligationApp (SHALL:populate) +* subject insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) +* subject insert obligationApp (1, SHALL:populate) * effective[x] 1.. MS * effective[x] only dateTime * effective[x] obeys shc-heartrhythm-02 @@ -114,15 +114,15 @@ Description: "This profile sets the minimum expectations for an Observation reso * effective[x] ^definition = "Date, and optionally time, the observation was performed." * effective[x] ^condition = "shc-heartrhythm-02" * effectiveDateTime MS -* effectiveDateTime insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* effectiveDateTime insert obligation2App (SHALL:populate-if-known, SHALL:process) +* effectiveDateTime insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) +* effectiveDateTime insert obligation2App (1, SHALL:populate-if-known, SHALL:process) * value[x] only CodeableConcept * value[x] MS * value[x] from HeartRythym (extensible) * value[x] ^condition = "shc-heartrhythm-01" * valueCodeableConcept.coding MS -* valueCodeableConcept.coding insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* valueCodeableConcept.coding insert obligation2App (SHALL:populate, SHALL:process) +* valueCodeableConcept.coding insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) +* valueCodeableConcept.coding insert obligation2App (1, SHALL:populate, SHALL:process) * dataAbsentReason MS * dataAbsentReason ^condition = "shc-heartrhythm-01" @@ -147,26 +147,26 @@ Title: "Smart Health Check Allergy Intolerance" Description: "This profile sets the minimum expectations for an AllergyIntolerance resource to record, search and save allergy or intolerance information when used within Smart Health Checks." * id MS -* id insert obligation2Server (SHALL:populate, SHALL:process) -* id insert obligationApp (SHALL:process) +* id insert obligation2Server (0, SHALL:populate, SHALL:process) +* id insert obligationApp (1, SHALL:process) * patient MS -* patient insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* patient insert obligationApp (SHALL:populate) +* patient insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* patient insert obligationApp (3, SHALL:populate) * clinicalStatus MS -* clinicalStatus insert obligation2Server (SHALL:populate, SHALL:process) -* clinicalStatus insert obligation2App (SHALL:populate-if-known, SHALL:process) +* clinicalStatus insert obligation2Server (2, SHALL:populate, SHALL:process) +* clinicalStatus insert obligation2App (3, SHALL:populate-if-known, SHALL:process) * verificationStatus MS -* verificationStatus insert obligationServer (SHALL:populate-if-known) -* verificationStatus insert obligationApp (SHALL:process) +* verificationStatus insert obligationServer (2, SHALL:populate-if-known) +* verificationStatus insert obligationApp (3, SHALL:process) * code MS -* code insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* code insert obligation2App (SHALL:populate-if-known, SHALL:process) +* code insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* code insert obligation2App (3, SHALL:populate-if-known, SHALL:process) * note.text MS -* note.text insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* note.text insert obligation2App (SHALL:populate-if-known, SHALL:process) +* note.text insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) +* note.text insert obligation2App (1, SHALL:populate-if-known, SHALL:process) * reaction.manifestation MS -* reaction.manifestation insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* reaction.manifestation insert obligation2App (SHALL:populate-if-known, SHALL:process) +* reaction.manifestation insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* reaction.manifestation insert obligation2App (3, SHALL:populate-if-known, SHALL:process) Profile: SmartHealthCheckCondition Parent: $au-core-condition @@ -175,32 +175,32 @@ Title: "Smart Health Check Condition" Description: "This profile sets the minimum expectations for a Condition resource to record, search and save condition information when used within Smart Health Checks." * id MS -* id insert obligation2Server (SHALL:populate, SHALL:process) -* id insert obligationApp (SHALL:process) +* id insert obligation2Server (0, SHALL:populate, SHALL:process) +* id insert obligationApp (1, SHALL:process) * clinicalStatus MS -* clinicalStatus insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* clinicalStatus insert obligation2App (SHALL:populate, SHALL:process) +* clinicalStatus insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* clinicalStatus insert obligation2App (3, SHALL:populate, SHALL:process) * verificationStatus MS -* verificationStatus insert obligationServer (SHALL:populate-if-known) -* verificationStatus insert obligationApp (SHALL:process) +* verificationStatus insert obligationServer (2, SHALL:populate-if-known) +* verificationStatus insert obligationApp (3, SHALL:process) * category MS -* category insert obligation2Server (SHALL:populate, SHALL:process) -* category insert obligation2App (SHALL:populate, SHALL:process) +* category insert obligation2Server (2, SHALL:populate, SHALL:process) +* category insert obligation2App (3, SHALL:populate, SHALL:process) * code MS -* code insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* code insert obligation2App (SHALL:populate-if-known, SHALL:process) +* code insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* code insert obligation2App (3, SHALL:populate-if-known, SHALL:process) * subject MS -* subject insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* subject insert obligationApp (SHALL:populate) +* subject insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* subject insert obligationApp (3, SHALL:populate) * onsetDateTime MS -* onsetDateTime insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* onsetDateTime insert obligation2App (SHALL:populate-if-known, SHALL:process) +* onsetDateTime insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) +* onsetDateTime insert obligation2App (1, SHALL:populate-if-known, SHALL:process) * abatementDateTime MS -* abatementDateTime insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* abatementDateTime insert obligationApp (SHALL:process) +* abatementDateTime insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) +* abatementDateTime insert obligationApp (1, SHALL:process) * note.text MS -* note.text insert obligationServer (SHALL:process) -* note.text insert obligationApp (SHALL:populate-if-known) +* note.text insert obligationServer (0, SHALL:process) +* note.text insert obligationApp (1, SHALL:populate-if-known) Profile: SmartHealthCheckMedicationStatement Parent: $au-core-medicationstatement From 7418351bb70d66ba21f4bbae0960309d85bb9623 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Fri, 27 Jun 2025 10:37:32 +1000 Subject: [PATCH 104/177] Add indecies to obligation rulesets (build broken) --- ...ctureDefinition-SHCAllergyIntolerance.json | 166 ++++++--- .../StructureDefinition-SHCBloodPressure.json | 202 +++++++--- .../StructureDefinition-SHCBodyHeight.json | 274 ++++++++++---- .../StructureDefinition-SHCBodyWeight.json | 274 ++++++++++---- .../StructureDefinition-SHCCondition.json | 234 ++++++++---- .../StructureDefinition-SHCHeartRate.json | 274 ++++++++++---- .../StructureDefinition-SHCImmunization.json | 176 ++++++--- ...tureDefinition-SHCMedicationStatement.json | 130 +++++-- .../StructureDefinition-SHCSmokingStatus.json | 104 ++++-- ...ctureDefinition-SHCWaistCircumference.json | 130 +++++-- input/fsh/profiles.fsh | 344 +++++++++--------- 11 files changed, 1618 insertions(+), 690 deletions(-) diff --git a/fsh-generated/resources/StructureDefinition-SHCAllergyIntolerance.json b/fsh-generated/resources/StructureDefinition-SHCAllergyIntolerance.json index c3bfe20a..6029c434 100644 --- a/fsh-generated/resources/StructureDefinition-SHCAllergyIntolerance.json +++ b/fsh-generated/resources/StructureDefinition-SHCAllergyIntolerance.json @@ -65,30 +65,47 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ { "url": "code", "valueCode": "SHALL:populate-if-known" @@ -101,8 +118,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "AllergyIntolerance.clinicalStatus" @@ -120,13 +136,24 @@ "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, + { + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:populate-if-known" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -135,12 +162,17 @@ "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate-if-known" }, { "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", "valueCode": "SHALL:process" @@ -169,30 +201,47 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate-if-known" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate-if-known" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ { "url": "code", "valueCode": "SHALL:populate-if-known" @@ -205,8 +254,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "AllergyIntolerance.code" @@ -225,30 +273,46 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate-if-known" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate-if-known" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "extension": [ { "url": "code", "valueCode": "SHALL:populate" @@ -318,30 +382,47 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate-if-known" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate-if-known" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ { "url": "code", "valueCode": "SHALL:populate-if-known" @@ -354,8 +435,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "AllergyIntolerance.reaction.manifestation" diff --git a/fsh-generated/resources/StructureDefinition-SHCBloodPressure.json b/fsh-generated/resources/StructureDefinition-SHCBloodPressure.json index f7f1d34f..5a6b6618 100644 --- a/fsh-generated/resources/StructureDefinition-SHCBloodPressure.json +++ b/fsh-generated/resources/StructureDefinition-SHCBloodPressure.json @@ -32,30 +32,47 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ { "url": "code", "valueCode": "SHALL:populate" @@ -68,8 +85,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.status" @@ -87,13 +103,24 @@ "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, + { + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -102,12 +129,17 @@ "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:process" }, { "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", "valueCode": "SHALL:populate" @@ -229,30 +261,46 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate-if-known" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate-if-known" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "extension": [ { "url": "code", "valueCode": "SHALL:populate" @@ -281,30 +329,47 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate-if-known" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate-if-known" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ { "url": "code", "valueCode": "SHALL:populate-if-known" @@ -317,8 +382,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.effective[x]" @@ -337,30 +401,47 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate-if-known" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate-if-known" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ { "url": "code", "valueCode": "SHALL:populate" @@ -373,8 +454,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.component", @@ -394,30 +474,47 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate-if-known" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate-if-known" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ { "url": "code", "valueCode": "SHALL:populate-if-known" @@ -430,8 +527,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.component", diff --git a/fsh-generated/resources/StructureDefinition-SHCBodyHeight.json b/fsh-generated/resources/StructureDefinition-SHCBodyHeight.json index 8c8689e7..9e20865e 100644 --- a/fsh-generated/resources/StructureDefinition-SHCBodyHeight.json +++ b/fsh-generated/resources/StructureDefinition-SHCBodyHeight.json @@ -32,30 +32,47 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ { "url": "code", "valueCode": "SHALL:populate" @@ -68,8 +85,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.status" @@ -87,13 +103,24 @@ "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, + { + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -102,12 +129,17 @@ "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:process" }, { "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", "valueCode": "SHALL:populate" @@ -229,30 +261,46 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate-if-known" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate-if-known" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "extension": [ { "url": "code", "valueCode": "SHALL:populate" @@ -281,30 +329,47 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate-if-known" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate-if-known" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ { "url": "code", "valueCode": "SHALL:populate-if-known" @@ -317,8 +382,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.effective[x]" @@ -347,30 +411,47 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate-if-known" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate-if-known" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ { "url": "code", "valueCode": "SHALL:populate" @@ -383,8 +464,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.value[x].value" @@ -407,30 +487,47 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate-if-known" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate-if-known" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ { "url": "code", "valueCode": "SHALL:populate" @@ -443,8 +540,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.value[x].unit" @@ -463,30 +559,47 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate-if-known" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate-if-known" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ { "url": "code", "valueCode": "SHALL:populate" @@ -499,8 +612,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.value[x].system" @@ -519,30 +631,47 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate-if-known" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate-if-known" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ { "url": "code", "valueCode": "SHALL:populate" @@ -555,8 +684,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.value[x].code" diff --git a/fsh-generated/resources/StructureDefinition-SHCBodyWeight.json b/fsh-generated/resources/StructureDefinition-SHCBodyWeight.json index 459adbbe..18544b4e 100644 --- a/fsh-generated/resources/StructureDefinition-SHCBodyWeight.json +++ b/fsh-generated/resources/StructureDefinition-SHCBodyWeight.json @@ -32,30 +32,47 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ { "url": "code", "valueCode": "SHALL:populate" @@ -68,8 +85,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.status" @@ -87,13 +103,24 @@ "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, + { + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -102,12 +129,17 @@ "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:process" }, { "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", "valueCode": "SHALL:populate" @@ -229,30 +261,46 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate-if-known" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate-if-known" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "extension": [ { "url": "code", "valueCode": "SHALL:populate" @@ -281,30 +329,47 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate-if-known" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate-if-known" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ { "url": "code", "valueCode": "SHALL:populate-if-known" @@ -317,8 +382,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.effective[x]" @@ -347,30 +411,47 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate-if-known" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate-if-known" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ { "url": "code", "valueCode": "SHALL:populate" @@ -383,8 +464,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.value[x].value" @@ -407,30 +487,47 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate-if-known" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate-if-known" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ { "url": "code", "valueCode": "SHALL:populate" @@ -443,8 +540,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.value[x].unit" @@ -463,30 +559,47 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate-if-known" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate-if-known" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ { "url": "code", "valueCode": "SHALL:populate" @@ -499,8 +612,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.value[x].system" @@ -519,30 +631,47 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate-if-known" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate-if-known" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ { "url": "code", "valueCode": "SHALL:populate" @@ -555,8 +684,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.value[x].code" diff --git a/fsh-generated/resources/StructureDefinition-SHCCondition.json b/fsh-generated/resources/StructureDefinition-SHCCondition.json index b80012e3..1e45aa7b 100644 --- a/fsh-generated/resources/StructureDefinition-SHCCondition.json +++ b/fsh-generated/resources/StructureDefinition-SHCCondition.json @@ -65,30 +65,47 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate-if-known" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate-if-known" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ { "url": "code", "valueCode": "SHALL:populate" @@ -101,8 +118,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Condition.clinicalStatus" @@ -120,13 +136,24 @@ "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, + { + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:populate-if-known" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -135,12 +162,17 @@ "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate-if-known" }, { "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", "valueCode": "SHALL:process" @@ -169,30 +201,47 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ { "url": "code", "valueCode": "SHALL:populate" @@ -205,8 +254,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Condition.category" @@ -225,30 +273,47 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate-if-known" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate-if-known" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ { "url": "code", "valueCode": "SHALL:populate-if-known" @@ -261,8 +326,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Condition.code" @@ -281,30 +345,46 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate-if-known" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate-if-known" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "extension": [ { "url": "code", "valueCode": "SHALL:populate" @@ -347,30 +427,47 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate-if-known" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate-if-known" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ { "url": "code", "valueCode": "SHALL:populate-if-known" @@ -383,8 +480,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Condition.onset[x]", @@ -426,30 +522,46 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate-if-known" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate-if-known" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "extension": [ { "url": "code", "valueCode": "SHALL:process" diff --git a/fsh-generated/resources/StructureDefinition-SHCHeartRate.json b/fsh-generated/resources/StructureDefinition-SHCHeartRate.json index 909b771e..9799d988 100644 --- a/fsh-generated/resources/StructureDefinition-SHCHeartRate.json +++ b/fsh-generated/resources/StructureDefinition-SHCHeartRate.json @@ -32,30 +32,47 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ { "url": "code", "valueCode": "SHALL:populate" @@ -68,8 +85,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.status" @@ -87,13 +103,24 @@ "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, + { + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -102,12 +129,17 @@ "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:process" }, { "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", "valueCode": "SHALL:populate" @@ -229,30 +261,46 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate-if-known" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate-if-known" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "extension": [ { "url": "code", "valueCode": "SHALL:populate" @@ -281,30 +329,47 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate-if-known" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate-if-known" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ { "url": "code", "valueCode": "SHALL:populate-if-known" @@ -317,8 +382,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.effective[x]" @@ -347,30 +411,47 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate-if-known" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate-if-known" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ { "url": "code", "valueCode": "SHALL:populate" @@ -383,8 +464,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.value[x].value" @@ -407,30 +487,47 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate-if-known" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate-if-known" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ { "url": "code", "valueCode": "SHALL:populate" @@ -443,8 +540,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.value[x].unit" @@ -463,30 +559,47 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate-if-known" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate-if-known" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ { "url": "code", "valueCode": "SHALL:populate" @@ -499,8 +612,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.value[x].system" @@ -519,30 +631,47 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate-if-known" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate-if-known" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ { "url": "code", "valueCode": "SHALL:populate" @@ -555,8 +684,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.value[x].code" diff --git a/fsh-generated/resources/StructureDefinition-SHCImmunization.json b/fsh-generated/resources/StructureDefinition-SHCImmunization.json index b90ce4aa..f91a867c 100644 --- a/fsh-generated/resources/StructureDefinition-SHCImmunization.json +++ b/fsh-generated/resources/StructureDefinition-SHCImmunization.json @@ -28,30 +28,47 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ { "url": "code", "valueCode": "SHALL:populate" @@ -64,8 +81,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Immunization.status" @@ -84,30 +100,47 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate-if-known" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate-if-known" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ { "url": "code", "valueCode": "SHALL:populate-if-known" @@ -120,8 +153,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Immunization.vaccineCode" @@ -140,30 +172,47 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate-if-known" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate-if-known" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ { "url": "code", "valueCode": "SHALL:populate-if-known" @@ -176,8 +225,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Immunization.vaccineCode.coding", @@ -197,30 +245,46 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate-if-known" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate-if-known" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "extension": [ { "url": "code", "valueCode": "SHALL:populate" @@ -263,30 +327,47 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate-if-known" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate-if-known" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ { "url": "code", "valueCode": "SHALL:populate-if-known" @@ -299,8 +380,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Immunization.occurrence[x]", diff --git a/fsh-generated/resources/StructureDefinition-SHCMedicationStatement.json b/fsh-generated/resources/StructureDefinition-SHCMedicationStatement.json index cac3ed1f..12d96085 100644 --- a/fsh-generated/resources/StructureDefinition-SHCMedicationStatement.json +++ b/fsh-generated/resources/StructureDefinition-SHCMedicationStatement.json @@ -65,30 +65,47 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ { "url": "code", "valueCode": "SHALL:populate" @@ -101,8 +118,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "MedicationStatement.status" @@ -168,30 +184,46 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate-if-known" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate-if-known" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "extension": [ { "url": "code", "valueCode": "SHALL:populate" @@ -219,13 +251,24 @@ "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, + { + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -234,12 +277,17 @@ "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:process" }, { "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", "valueCode": "SHALL:populate-if-known" @@ -268,30 +316,47 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate-if-known" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate-if-known" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ { "url": "code", "valueCode": "SHALL:populate-if-known" @@ -304,8 +369,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "MedicationStatement.reasonCode" diff --git a/fsh-generated/resources/StructureDefinition-SHCSmokingStatus.json b/fsh-generated/resources/StructureDefinition-SHCSmokingStatus.json index 3dd53473..5447fbc1 100644 --- a/fsh-generated/resources/StructureDefinition-SHCSmokingStatus.json +++ b/fsh-generated/resources/StructureDefinition-SHCSmokingStatus.json @@ -32,30 +32,47 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ { "url": "code", "valueCode": "SHALL:populate" @@ -68,8 +85,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.status" @@ -213,30 +229,46 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate-if-known" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate-if-known" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "extension": [ { "url": "code", "valueCode": "SHALL:populate" @@ -265,30 +297,47 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate-if-known" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate-if-known" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ { "url": "code", "valueCode": "SHALL:populate-if-known" @@ -301,8 +350,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.effective[x]" diff --git a/fsh-generated/resources/StructureDefinition-SHCWaistCircumference.json b/fsh-generated/resources/StructureDefinition-SHCWaistCircumference.json index 01304c88..41f76f4a 100644 --- a/fsh-generated/resources/StructureDefinition-SHCWaistCircumference.json +++ b/fsh-generated/resources/StructureDefinition-SHCWaistCircumference.json @@ -32,30 +32,47 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ { "url": "code", "valueCode": "SHALL:populate" @@ -68,8 +85,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.status" @@ -87,13 +103,24 @@ "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, + { + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -102,12 +129,17 @@ "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:process" }, { "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", "valueCode": "SHALL:populate" @@ -229,30 +261,46 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate-if-known" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate-if-known" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "extension": [ { "url": "code", "valueCode": "SHALL:populate" @@ -281,30 +329,47 @@ "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" }, { - "url": "code", - "valueCode": "SHALL:populate-if-known" - }, + "url": "code" + } + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" + }, + { + "extension": [ { "url": "code", - "valueCode": "SHALL:process" + "valueCode": "SHALL:no-error" }, { "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + }, + { + "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", - "valueCode": "SHALL:no-error" + "valueCode": "SHALL:populate-if-known" }, { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "url": "code", + "valueCode": "SHALL:process" }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ { "url": "code", "valueCode": "SHALL:populate-if-known" @@ -317,8 +382,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.effective[x]" diff --git a/input/fsh/profiles.fsh b/input/fsh/profiles.fsh index cbef0e54..8a82deb3 100644 --- a/input/fsh/profiles.fsh +++ b/input/fsh/profiles.fsh @@ -193,11 +193,11 @@ Description: "This profile sets the minimum expectations for a Condition resourc * subject insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) * subject insert obligationApp (3, SHALL:populate) * onsetDateTime MS -* onsetDateTime insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) -* onsetDateTime insert obligation2App (1, SHALL:populate-if-known, SHALL:process) +* onsetDateTime insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* onsetDateTime insert obligation2App (3, SHALL:populate-if-known, SHALL:process) * abatementDateTime MS -* abatementDateTime insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) -* abatementDateTime insert obligationApp (1, SHALL:process) +* abatementDateTime insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* abatementDateTime insert obligationApp (3, SHALL:process) * note.text MS * note.text insert obligationServer (0, SHALL:process) * note.text insert obligationApp (1, SHALL:populate-if-known) @@ -209,29 +209,29 @@ Title: "Smart Health Check Medication Statement" Description: "This profile sets the minimum expectations for a MedicationStatement resource to record, search and save medication information when used within Smart Health Checks." * id MS -* id insert obligation2Server (SHALL:populate, SHALL:process) -* id insert obligationApp (SHALL:process) +* id insert obligation2Server (0, SHALL:populate, SHALL:process) +* id insert obligationApp (1, SHALL:process) * status MS -* status insert obligation2Server (SHALL:populate, SHALL:process) -* status insert obligation2App (SHALL:populate, SHALL:process) +* status insert obligation2Server (2, SHALL:populate, SHALL:process) +* status insert obligation2App (3, SHALL:populate, SHALL:process) * medication[x][medicationCodeableConcept] MS -* medication[x][medicationCodeableConcept] insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* medication[x][medicationCodeableConcept] insert obligation2App (SHALL:populate-if-known, SHALL:process) +* medication[x][medicationCodeableConcept] insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) +* medication[x][medicationCodeableConcept] insert obligation2App (1, SHALL:populate-if-known, SHALL:process) * subject MS -* subject insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* subject insert obligationApp (SHALL:populate) +* subject insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* subject insert obligationApp (3, SHALL:populate) * dateAsserted MS -* dateAsserted insert obligationServer (SHALL:process) -* dateAsserted insert obligationApp (SHALL:populate-if-known) +* dateAsserted insert obligationServer (2, SHALL:process) +* dateAsserted insert obligationApp (3, SHALL:populate-if-known) * reasonCode MS -* reasonCode insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* reasonCode insert obligation2App (SHALL:populate-if-known, SHALL:process) +* reasonCode insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* reasonCode insert obligation2App (3, SHALL:populate-if-known, SHALL:process) * note.text MS -* note.text insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* note.text insert obligation2App (SHALL:populate-if-known, SHALL:process) +* note.text insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) +* note.text insert obligation2App (1, SHALL:populate-if-known, SHALL:process) * dosage.text MS -* dosage.text insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* dosage.text insert obligation2App (SHALL:populate-if-known, SHALL:process) +* dosage.text insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) +* dosage.text insert obligation2App (1, SHALL:populate-if-known, SHALL:process) Profile: SmartHealthCheckImmunization Parent: $au-core-immunization @@ -240,26 +240,26 @@ Title: "Smart Health Check Immunization" Description: "This profile sets the minimum expectations for an Immunization resource to record, search and save immunization information when used within Smart Health Checks." * status MS -* status insert obligation2Server (SHALL:populate, SHALL:process) -* status insert obligation2App (SHALL:populate, SHALL:process) +* status insert obligation2Server (2, SHALL:populate, SHALL:process) +* status insert obligation2App (3, SHALL:populate, SHALL:process) * vaccineCode MS -* vaccineCode insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* vaccineCode insert obligation2App (SHALL:populate-if-known, SHALL:process) +* vaccineCode insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* vaccineCode insert obligation2App (3, SHALL:populate-if-known, SHALL:process) * vaccineCode.coding[amtVaccineCode] MS -* vaccineCode.coding[amtVaccineCode] insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* vaccineCode.coding[amtVaccineCode] insert obligation2App (SHALL:populate-if-known, SHALL:process) +* vaccineCode.coding[amtVaccineCode] insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* vaccineCode.coding[amtVaccineCode] insert obligation2App (3, SHALL:populate-if-known, SHALL:process) * patient MS -* patient insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* patient insert obligationApp (SHALL:populate) +* patient insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* patient insert obligationApp (3, SHALL:populate) * occurrenceDateTime MS -* occurrenceDateTime insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* occurrenceDateTime insert obligation2App (SHALL:populate-if-known, SHALL:process) +* occurrenceDateTime insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* occurrenceDateTime insert obligation2App (3, SHALL:populate-if-known, SHALL:process) * lotNumber MS -* lotNumber insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* lotNumber insert obligation2App (SHALL:populate-if-known, SHALL:process) +* lotNumber insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) +* lotNumber insert obligation2App (1, SHALL:populate-if-known, SHALL:process) * note.text MS -* note.text insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* note.text insert obligation2App (SHALL:populate-if-known, SHALL:process) +* note.text insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) +* note.text insert obligation2App (1, SHALL:populate-if-known, SHALL:process) Profile: SmartHealthCheckBloodPressure Parent: $au-core-bloodpressure @@ -268,31 +268,31 @@ Title: "Smart Health Check Blood Pressure" Description: "This profile sets the minimum expectations for a Blood Pressure resource to record, search and save blood pressure information when used within Smart Health Checks." * status MS -* status insert obligation2Server (SHALL:populate, SHALL:process) -* status insert obligation2App (SHALL:populate, SHALL:process) +* status insert obligation2Server (2, SHALL:populate, SHALL:process) +* status insert obligation2App (3, SHALL:populate, SHALL:process) * category[VSCat] MS -* category[VSCat] insert obligationServer (SHALL:process) -* category[VSCat] insert obligationApp (SHALL:populate) +* category[VSCat] insert obligationServer (2, SHALL:process) +* category[VSCat] insert obligationApp (3, SHALL:populate) * code.coding[BPCode] MS -* code.coding[BPCode] insert obligationServer (SHALL:process) -* code.coding[BPCode] insert obligationApp (SHALL:populate) +* code.coding[BPCode] insert obligationServer (0, SHALL:process) +* code.coding[BPCode] insert obligationApp (1, SHALL:populate) * code.coding[snomedBPCode] MS -* code.coding[snomedBPCode] insert obligationServer (SHALL:process) -* code.coding[snomedBPCode] insert obligationApp (SHALL:populate) +* code.coding[snomedBPCode] insert obligationServer (0, SHALL:process) +* code.coding[snomedBPCode] insert obligationApp (1, SHALL:populate) * code.text MS -* code.text insert obligationApp (SHALL:populate) +* code.text insert obligationApp (0, SHALL:populate) * subject MS -* subject insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* subject insert obligationApp (SHALL:populate) +* subject insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* subject insert obligationApp (3, SHALL:populate) * effectiveDateTime MS -* effectiveDateTime insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* effectiveDateTime insert obligation2App (SHALL:populate-if-known, SHALL:process) +* effectiveDateTime insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* effectiveDateTime insert obligation2App (3, SHALL:populate-if-known, SHALL:process) * component[SystolicBP] MS -* component[SystolicBP] insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* component[SystolicBP] insert obligation2App (SHALL:populate, SHALL:process) +* component[SystolicBP] insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* component[SystolicBP] insert obligation2App (3, SHALL:populate, SHALL:process) * component[DiastolicBP] MS -* component[DiastolicBP] insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* component[DiastolicBP] insert obligation2App (SHALL:populate-if-known, SHALL:process) +* component[DiastolicBP] insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* component[DiastolicBP] insert obligation2App (3, SHALL:populate-if-known, SHALL:process) Profile: SmartHealthCheckSmokingStatus Parent: $au-core-smokingstatus @@ -301,28 +301,28 @@ Title: "Smart Health Check Smoking Status" Description: "This profile sets the minimum expectations for a Smoking Status resource to record, search and save smoking status information when used within Smart Health Checks." * status MS -* status insert obligation2Server (SHALL:populate, SHALL:process) -* status insert obligation2App (SHALL:populate, SHALL:process) +* status insert obligation2Server (2, SHALL:populate, SHALL:process) +* status insert obligation2App (3, SHALL:populate, SHALL:process) * category[socialHistory] MS -* category[socialHistory] insert obligationServer (SHALL:process) -* category[socialHistory] insert obligationApp (SHALL:populate) +* category[socialHistory] insert obligationServer (0, SHALL:process) +* category[socialHistory] insert obligationApp (1, SHALL:populate) * code.coding MS -* code.coding insert obligationServer (SHALL:process) -* code.coding insert obligationApp (SHALL:populate) +* code.coding insert obligationServer (0, SHALL:process) +* code.coding insert obligationApp (1, SHALL:populate) * code.coding[loincSmokingStatus] MS -* code.coding[loincSmokingStatus] insert obligationServer (SHALL:process) -* code.coding[loincSmokingStatus] insert obligationApp (SHALL:populate) +* code.coding[loincSmokingStatus] insert obligationServer (0, SHALL:process) +* code.coding[loincSmokingStatus] insert obligationApp (1, SHALL:populate) * code.text MS -* code.text insert obligationApp (SHALL:populate) +* code.text insert obligationApp (0, SHALL:populate) * subject MS -* subject insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* subject insert obligationApp (SHALL:populate) +* subject insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* subject insert obligationApp (3, SHALL:populate) * effectiveDateTime MS -* effectiveDateTime insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* effectiveDateTime insert obligation2App (SHALL:populate-if-known, SHALL:process) +* effectiveDateTime insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* effectiveDateTime insert obligation2App (3, SHALL:populate-if-known, SHALL:process) * valueCodeableConcept.coding MS -* valueCodeableConcept.coding insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* valueCodeableConcept.coding insert obligation2App (SHALL:populate, SHALL:process) +* valueCodeableConcept.coding insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) +* valueCodeableConcept.coding insert obligation2App (1, SHALL:populate, SHALL:process) Profile: SmartHealthCheckBodyHeight Parent: $au-core-bodyheight @@ -331,37 +331,37 @@ Title: "Smart Health Check Body Height" Description: "This profile sets the minimum expectations for a Body Height resource to record, search and save body height information when used within Smart Health Checks." * status MS -* status insert obligation2Server (SHALL:populate, SHALL:process) -* status insert obligation2App (SHALL:populate, SHALL:process) +* status insert obligation2Server (2, SHALL:populate, SHALL:process) +* status insert obligation2App (3, SHALL:populate, SHALL:process) * category[VSCat] MS -* category[VSCat] insert obligationServer (SHALL:process) -* category[VSCat] insert obligationApp (SHALL:populate) +* category[VSCat] insert obligationServer (2, SHALL:process) +* category[VSCat] insert obligationApp (3, SHALL:populate) * code.coding[BodyHeightCode] MS -* code.coding[BodyHeightCode] insert obligationServer (SHALL:process) -* code.coding[BodyHeightCode] insert obligationApp (SHALL:populate) +* code.coding[BodyHeightCode] insert obligationServer (0, SHALL:process) +* code.coding[BodyHeightCode] insert obligationApp (1, SHALL:populate) * code.coding[snomedBodyHeightCode] MS -* code.coding[snomedBodyHeightCode] insert obligationServer (SHALL:process) -* code.coding[snomedBodyHeightCode] insert obligationApp (SHALL:populate) +* code.coding[snomedBodyHeightCode] insert obligationServer (0, SHALL:process) +* code.coding[snomedBodyHeightCode] insert obligationApp (1, SHALL:populate) * code.text MS -* code.text insert obligationApp (SHALL:populate) +* code.text insert obligationApp (0, SHALL:populate) * subject MS -* subject insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* subject insert obligationApp (SHALL:populate) +* subject insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* subject insert obligationApp (3, SHALL:populate) * effectiveDateTime MS -* effectiveDateTime insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* effectiveDateTime insert obligation2App (SHALL:populate-if-known, SHALL:process) +* effectiveDateTime insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* effectiveDateTime insert obligation2App (3, SHALL:populate-if-known, SHALL:process) * valueQuantity.value MS -* valueQuantity.value insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* valueQuantity.value insert obligation2App (SHALL:populate, SHALL:process) +* valueQuantity.value insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* valueQuantity.value insert obligation2App (3, SHALL:populate, SHALL:process) * valueQuantity.unit MS -* valueQuantity.unit insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* valueQuantity.unit insert obligation2App (SHALL:populate, SHALL:process) +* valueQuantity.unit insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* valueQuantity.unit insert obligation2App (3, SHALL:populate, SHALL:process) * valueQuantity.system MS -* valueQuantity.system insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* valueQuantity.system insert obligation2App (SHALL:populate, SHALL:process) +* valueQuantity.system insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* valueQuantity.system insert obligation2App (3, SHALL:populate, SHALL:process) * valueQuantity.code MS -* valueQuantity.code insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* valueQuantity.code insert obligation2App (SHALL:populate, SHALL:process) +* valueQuantity.code insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* valueQuantity.code insert obligation2App (3, SHALL:populate, SHALL:process) Profile: SmartHealthCheckBodyWeight Parent: $au-core-bodyweight @@ -370,76 +370,76 @@ Title: "Smart Health Check Body Weight" Description: "This profile sets the minimum expectations for a Body Weight resource to record, search and save body weight information when used within Smart Health Checks." * status MS -* status insert obligation2Server (SHALL:populate, SHALL:process) -* status insert obligation2App (SHALL:populate, SHALL:process) +* status insert obligation2Server (2, SHALL:populate, SHALL:process) +* status insert obligation2App (3, SHALL:populate, SHALL:process) * category[VSCat] MS -* category[VSCat] insert obligationServer (SHALL:process) -* category[VSCat] insert obligationApp (SHALL:populate) +* category[VSCat] insert obligationServer (2, SHALL:process) +* category[VSCat] insert obligationApp (3, SHALL:populate) * code.coding[BodyWeightCode] MS -* code.coding[BodyWeightCode] insert obligationServer (SHALL:process) -* code.coding[BodyWeightCode] insert obligationApp (SHALL:populate) +* code.coding[BodyWeightCode] insert obligationServer (0, SHALL:process) +* code.coding[BodyWeightCode] insert obligationApp (1, SHALL:populate) * code.coding[snomedBodyWeightCode] MS -* code.coding[snomedBodyWeightCode] insert obligationServer (SHALL:process) -* code.coding[snomedBodyWeightCode] insert obligationApp (SHALL:populate) +* code.coding[snomedBodyWeightCode] insert obligationServer (0, SHALL:process) +* code.coding[snomedBodyWeightCode] insert obligationApp (1, SHALL:populate) * code.text MS -* code.text insert obligationApp (SHALL:populate) +* code.text insert obligationApp (0, SHALL:populate) * subject MS -* subject insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* subject insert obligationApp (SHALL:populate) +* subject insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* subject insert obligationApp (3, SHALL:populate) * effectiveDateTime MS -* effectiveDateTime insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* effectiveDateTime insert obligation2App (SHALL:populate-if-known, SHALL:process) +* effectiveDateTime insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* effectiveDateTime insert obligation2App (3, SHALL:populate-if-known, SHALL:process) * valueQuantity.value MS -* valueQuantity.value insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* valueQuantity.value insert obligation2App (SHALL:populate, SHALL:process) +* valueQuantity.value insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* valueQuantity.value insert obligation2App (3, SHALL:populate, SHALL:process) * valueQuantity.unit MS -* valueQuantity.unit insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* valueQuantity.unit insert obligation2App (SHALL:populate, SHALL:process) +* valueQuantity.unit insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* valueQuantity.unit insert obligation2App (3, SHALL:populate, SHALL:process) * valueQuantity.system MS -* valueQuantity.system insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* valueQuantity.system insert obligation2App (SHALL:populate, SHALL:process) +* valueQuantity.system insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* valueQuantity.system insert obligation2App (3, SHALL:populate, SHALL:process) * valueQuantity.code MS -* valueQuantity.code insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* valueQuantity.code insert obligation2App (SHALL:populate, SHALL:process) +* valueQuantity.code insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* valueQuantity.code insert obligation2App (3, SHALL:populate, SHALL:process) -Profile: SmartHealthCheckHeadCircumference +Profile: SmartHealthCheckHeadCircumference Parent: $au-core-headcircum Id: SHCHeadCircumference Title: "Smart Health Check Head Circumference" Description: "This profile sets the minimum expectations for a Head Circumference resource to record, search and save head circumference information when used within Smart Health Checks." * status MS -* status insert obligation2Server (SHALL:populate, SHALL:process) -* status insert obligation2App (SHALL:populate, SHALL:process) +* status insert obligation2Server (0, SHALL:populate, SHALL:process) +* status insert obligation2App (1, SHALL:populate, SHALL:process) * category[VSCat] MS -* category[VSCat] insert obligationServer (SHALL:process) -* category[VSCat] insert obligationApp (SHALL:populate) +* category[VSCat] insert obligationServer (0, SHALL:process) +* category[VSCat] insert obligationApp (1, SHALL:populate) * code.coding[HeadCircumCode] MS -* code.coding[HeadCircumCode] insert obligationServer (SHALL:process) -* code.coding[HeadCircumCode] insert obligationApp (SHALL:populate) +* code.coding[HeadCircumCode] insert obligationServer (0, SHALL:process) +* code.coding[HeadCircumCode] insert obligationApp (1, SHALL:populate) * code.coding[snomedHeadCircumCode] MS -* code.coding[snomedHeadCircumCode] insert obligationServer (SHALL:process) -* code.coding[snomedHeadCircumCode] insert obligationApp (SHALL:populate) +* code.coding[snomedHeadCircumCode] insert obligationServer (0, SHALL:process) +* code.coding[snomedHeadCircumCode] insert obligationApp (1, SHALL:populate) * code.text MS -* code.text insert obligationApp (SHALL:populate) +* code.text insert obligationApp (0, SHALL:populate) * subject MS -* subject insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* subject insert obligationApp (SHALL:populate) +* subject insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) +* subject insert obligationApp (1, SHALL:populate) * effectiveDateTime MS -* effectiveDateTime insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* effectiveDateTime insert obligation2App (SHALL:populate-if-known, SHALL:process) +* effectiveDateTime insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) +* effectiveDateTime insert obligation2App (1, SHALL:populate-if-known, SHALL:process) * valueQuantity.value MS -* valueQuantity.value insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* valueQuantity.value insert obligation2App (SHALL:populate, SHALL:process) +* valueQuantity.value insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) +* valueQuantity.value insert obligation2App (1, SHALL:populate, SHALL:process) * valueQuantity.unit MS -* valueQuantity.unit insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* valueQuantity.unit insert obligation2App (SHALL:populate, SHALL:process) +* valueQuantity.unit insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) +* valueQuantity.unit insert obligation2App (1, SHALL:populate, SHALL:process) * valueQuantity.system MS -* valueQuantity.system insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* valueQuantity.system insert obligation2App (SHALL:populate, SHALL:process) +* valueQuantity.system insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) +* valueQuantity.system insert obligation2App (1, SHALL:populate, SHALL:process) * valueQuantity.code MS -* valueQuantity.code insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* valueQuantity.code insert obligation2App (SHALL:populate, SHALL:process) +* valueQuantity.code insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) +* valueQuantity.code insert obligation2App (1, SHALL:populate, SHALL:process) Profile: SmartHealthCheckWaistCircumference Parent: $au-core-waistcircum @@ -448,37 +448,37 @@ Title: "Smart Health Check Waist Circumference" Description: "This profile sets the minimum expectations for a Waist Circumference resource to record, search and save waist circumference information when used within Smart Health Checks." * status MS -* status insert obligation2Server (SHALL:populate, SHALL:process) -* status insert obligation2App (SHALL:populate, SHALL:process) +* status insert obligation2Server (2, SHALL:populate, SHALL:process) +* status insert obligation2App (3, SHALL:populate, SHALL:process) * category[VSCat] MS -* category[VSCat] insert obligationServer (SHALL:process) -* category[VSCat] insert obligationApp (SHALL:populate) +* category[VSCat] insert obligationServer (2, SHALL:process) +* category[VSCat] insert obligationApp (3, SHALL:populate) * code.coding[loincWaistCircumCode] MS -* code.coding[loincWaistCircumCode] insert obligationServer (SHALL:process) -* code.coding[loincWaistCircumCode] insert obligationApp (SHALL:populate) +* code.coding[loincWaistCircumCode] insert obligationServer (0, SHALL:process) +* code.coding[loincWaistCircumCode] insert obligationApp (1, SHALL:populate) * code.coding[snomedWaistCircumCode] MS -* code.coding[snomedWaistCircumCode] insert obligationServer (SHALL:process) -* code.coding[snomedWaistCircumCode] insert obligationApp (SHALL:populate) +* code.coding[snomedWaistCircumCode] insert obligationServer (0, SHALL:process) +* code.coding[snomedWaistCircumCode] insert obligationApp (1, SHALL:populate) * code.text MS -* code.text insert obligationApp (SHALL:populate) +* code.text insert obligationApp (0, SHALL:populate) * subject MS -* subject insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* subject insert obligationApp (SHALL:populate) +* subject insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* subject insert obligationApp (3, SHALL:populate) * effectiveDateTime MS -* effectiveDateTime insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* effectiveDateTime insert obligation2App (SHALL:populate-if-known, SHALL:process) +* effectiveDateTime insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* effectiveDateTime insert obligation2App (3, SHALL:populate-if-known, SHALL:process) * valueQuantity.value MS -* valueQuantity.value insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* valueQuantity.value insert obligation2App (SHALL:populate, SHALL:process) +* valueQuantity.value insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) +* valueQuantity.value insert obligation2App (1, SHALL:populate, SHALL:process) * valueQuantity.unit MS -* valueQuantity.unit insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* valueQuantity.unit insert obligation2App (SHALL:populate, SHALL:process) +* valueQuantity.unit insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) +* valueQuantity.unit insert obligation2App (1, SHALL:populate, SHALL:process) * valueQuantity.system MS -* valueQuantity.system insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* valueQuantity.system insert obligation2App (SHALL:populate, SHALL:process) +* valueQuantity.system insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) +* valueQuantity.system insert obligation2App (1, SHALL:populate, SHALL:process) * valueQuantity.code MS -* valueQuantity.code insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* valueQuantity.code insert obligation2App (SHALL:populate, SHALL:process) +* valueQuantity.code insert obligation2Server (0, SHALL:populate-if-known, SHALL:process) +* valueQuantity.code insert obligation2App (1, SHALL:populate, SHALL:process) Profile: SmartHealthCheckHeartRate Parent: $au-core-heartrate @@ -487,35 +487,35 @@ Title: "Smart Health Check Heart Rate" Description: "This profile sets the minimum expectations for a Heart Rate resource to record, search and save heart rate information when used within Smart Health Checks." * status MS -* status insert obligation2Server (SHALL:populate, SHALL:process) -* status insert obligation2App (SHALL:populate, SHALL:process) +* status insert obligation2Server (2, SHALL:populate, SHALL:process) +* status insert obligation2App (3, SHALL:populate, SHALL:process) * category[VSCat] MS -* category[VSCat] insert obligationServer (SHALL:process) -* category[VSCat] insert obligationApp (SHALL:populate) +* category[VSCat] insert obligationServer (2, SHALL:process) +* category[VSCat] insert obligationApp (3, SHALL:populate) * code.coding[HeartRateCode] MS -* code.coding[HeartRateCode] insert obligationServer (SHALL:process) -* code.coding[HeartRateCode] insert obligationApp (SHALL:populate) +* code.coding[HeartRateCode] insert obligationServer (0, SHALL:process) +* code.coding[HeartRateCode] insert obligationApp (1, SHALL:populate) * code.coding[snomedHeartRateCode] MS -* code.coding[snomedHeartRateCode] insert obligationServer (SHALL:process) -* code.coding[snomedHeartRateCode] insert obligationApp (SHALL:populate) +* code.coding[snomedHeartRateCode] insert obligationServer (0, SHALL:process) +* code.coding[snomedHeartRateCode] insert obligationApp (1, SHALL:populate) * code.text MS -* code.text insert obligationApp (SHALL:populate) +* code.text insert obligationApp (0, SHALL:populate) * subject MS -* subject insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* subject insert obligationApp (SHALL:populate) +* subject insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* subject insert obligationApp (3, SHALL:populate) * effectiveDateTime MS -* effectiveDateTime insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* effectiveDateTime insert obligation2App (SHALL:populate-if-known, SHALL:process) +* effectiveDateTime insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* effectiveDateTime insert obligation2App (3, SHALL:populate-if-known, SHALL:process) * valueQuantity.value MS -* valueQuantity.value insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* valueQuantity.value insert obligation2App (SHALL:populate, SHALL:process) +* valueQuantity.value insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* valueQuantity.value insert obligation2App (3, SHALL:populate, SHALL:process) * valueQuantity.unit MS -* valueQuantity.unit insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* valueQuantity.unit insert obligation2App (SHALL:populate, SHALL:process) +* valueQuantity.unit insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* valueQuantity.unit insert obligation2App (3, SHALL:populate, SHALL:process) * valueQuantity.system MS -* valueQuantity.system insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* valueQuantity.system insert obligation2App (SHALL:populate, SHALL:process) +* valueQuantity.system insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* valueQuantity.system insert obligation2App (3, SHALL:populate, SHALL:process) * valueQuantity.code MS -* valueQuantity.code insert obligation2Server (SHALL:populate-if-known, SHALL:process) -* valueQuantity.code insert obligation2App (SHALL:populate, SHALL:process) +* valueQuantity.code insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) +* valueQuantity.code insert obligation2App (3, SHALL:populate, SHALL:process) From ed828f7fad56326b422e6065b5bc4a4b8de70ad0 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Fri, 27 Jun 2025 11:45:20 +1000 Subject: [PATCH 105/177] Add pathLabel to extract parameter templates, remove status search param requirement from QR, review meta.profile assertions --- ...iginalTorresStraitIslanderHealthCheck.json | 37 ------------------- ...bilityStatement-SmartFormsApplication.json | 27 -------------- ...stionnaire-AbsoluteCVDRiskCalculation.json | 3 +- ...estionnaire-AllergiesAdverseReactions.json | 7 +++- .../Questionnaire-AssemblyInstructions.json | 3 +- .../Questionnaire-ChronicDiseaseAgeing.json | 3 +- .../Questionnaire-CurrentPriorities.json | 3 +- .../Questionnaire-EarHealthAndHearing.json | 3 +- .../resources/Questionnaire-Examination.json | 3 +- .../resources/Questionnaire-EyeHealth.json | 3 +- .../Questionnaire-FamilyHistory.json | 3 +- .../Questionnaire-FinalisingHealthCheck.json | 3 +- .../resources/Questionnaire-Gambling.json | 3 +- ...Questionnaire-HealthPrioritiesSummary.json | 2 +- .../Questionnaire-HealthyEating.json | 3 +- .../Questionnaire-HomeAndFamily.json | 3 +- .../resources/Questionnaire-Immunisation.json | 3 +- .../Questionnaire-Investigations.json | 3 +- .../Questionnaire-LearningAndDevelopment.json | 3 +- .../Questionnaire-LearningAndWork.json | 3 +- ...onnaire-MedicalHistoryCurrentProblems.json | 11 +++++- .../Questionnaire-MemoryAndThinking.json | 3 +- .../resources/Questionnaire-Mood.json | 3 +- .../Questionnaire-OralAndDentalHealth.json | 3 +- .../Questionnaire-PatientDetails.json | 3 +- ...onnaire-PhysicalActivityAndScreenTime.json | 3 +- ...aire-RedFlagsEarlyIdentificationGuide.json | 3 +- .../Questionnaire-RegularMedications.json | 7 +++- .../Questionnaire-ScreeningPrograms.json | 3 +- .../resources/Questionnaire-SexualHealth.json | 3 +- .../resources/Questionnaire-Skin.json | 3 +- ...tionnaire-SocialAndEmotionalWellbeing.json | 3 +- .../Questionnaire-SocialHistoryChild.json | 3 +- .../resources/Questionnaire-SubstanceUse.json | 3 +- input/fsh/715-AssemblyInstructions.fsh | 1 - ...-Assessment-AbsoluteCVDRiskCalculation.fsh | 1 + ...5-Assessment-AllergiesAdverseReactions.fsh | 1 + .../715-Assessment-ChronicDiseaseAgeing.fsh | 1 - .../fsh/715-Assessment-CurrentPriorities.fsh | 1 - .../715-Assessment-EarHealthAndHearing.fsh | 1 - input/fsh/715-Assessment-Examination.fsh | 3 +- input/fsh/715-Assessment-EyeHealth.fsh | 1 - input/fsh/715-Assessment-FamilyHistory.fsh | 1 - input/fsh/715-Assessment-Gambling.fsh | 1 - input/fsh/715-Assessment-HealthyEating.fsh | 1 - input/fsh/715-Assessment-HomeAndFamily.fsh | 1 - input/fsh/715-Assessment-Immunisation.fsh | 1 + input/fsh/715-Assessment-Investigations.fsh | 1 - .../715-Assessment-LearningAndDevelopment.fsh | 1 - input/fsh/715-Assessment-LearningAndWork.fsh | 1 - ...sessment-MedicalHistoryCurrentProblems.fsh | 1 + .../fsh/715-Assessment-MemoryAndThinking.fsh | 1 - input/fsh/715-Assessment-Mood.fsh | 1 - .../715-Assessment-OralAndDentalHealth.fsh | 1 - ...sessment-PhysicalActivityAndScreenTime.fsh | 1 - ...sment-RedFlagsEarlyIdentificationGuide.fsh | 1 - .../fsh/715-Assessment-RegularMedications.fsh | 1 + .../fsh/715-Assessment-ScreeningPrograms.fsh | 1 - input/fsh/715-Assessment-SexualHealth.fsh | 1 - input/fsh/715-Assessment-Skin.fsh | 1 - ...Assessment-SocialAndEmotionalWellbeing.fsh | 1 - .../fsh/715-Assessment-SocialHistoryChild.fsh | 1 - input/fsh/715-Assessment-SubstanceUse.fsh | 3 +- input/fsh/715-FinalisingHealthCheck.fsh | 1 - input/fsh/715-HealthPrioritiesSummary.fsh | 2 +- input/fsh/715-PatientDetails.fsh | 1 + input/fsh/capability.fsh | 34 ----------------- input/fsh/extract-templates.fsh | 10 ++++- 68 files changed, 76 insertions(+), 180 deletions(-) diff --git a/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json b/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json index 67c45621..7f892417 100644 --- a/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json +++ b/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json @@ -817,31 +817,6 @@ "valueString": "questionnaire" } ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - }, - { - "url": "required", - "valueString": "patient" - }, - { - "url": "required", - "valueString": "_count" - }, - { - "url": "required", - "valueString": "_sort" - }, - { - "url": "required", - "valueString": "status" - } - ] } ], "type": "QuestionnaireResponse", @@ -927,18 +902,6 @@ } ] }, - { - "name": "status", - "definition": "http://hl7.org/fhir/SearchParameter/QuestionnaireResponse-status", - "type": "token", - "documentation": "The client **SHALL** provide at least a code value and **MAY** provide both the code and system values. \r\n\r\nThe server **SHALL** support both.", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, { "name": "_count", "type": "number", diff --git a/fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json b/fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json index f332576a..3b706ebb 100644 --- a/fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json +++ b/fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json @@ -472,27 +472,6 @@ "valueString": "questionnaire" } ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", - "extension": [ - { - "url": "required", - "valueString": "patient" - }, - { - "url": "required", - "valueString": "_count" - }, - { - "url": "required", - "valueString": "_sort" - }, - { - "url": "required", - "valueString": "status" - } - ] } ], "type": "QuestionnaireResponse", @@ -526,12 +505,6 @@ "type": "reference", "documentation": "The client **SHALL** provide at least a id value and **MAY** provide both the Type and id values. \r\n\r\nThe server **SHALL** support both.\r\n\r\nThe client and server **SHALL** support chained search questionnaire.title using the :contains modifier." }, - { - "name": "status", - "definition": "http://hl7.org/fhir/SearchParameter/QuestionnaireResponse-status", - "type": "token", - "documentation": "The client **SHALL** provide at least a code value and **MAY** provide both the code and system values. \r\n\r\nThe server **SHALL** support both." - }, { "name": "_count", "type": "number", diff --git a/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json b/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json index 384bf857..c8b87598 100644 --- a/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json +++ b/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json @@ -5,7 +5,8 @@ "profile": [ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render", "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp", + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-behave" ] }, "item": [ diff --git a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json index 8c86fcaa..17b69b0c 100644 --- a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json +++ b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json @@ -5,7 +5,8 @@ "profile": [ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render", "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp", + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-extr-template" ] }, "item": [ @@ -500,6 +501,10 @@ } ] } + }, + { + "name": "pathLabel", + "valueString": "Clinical status" } ] } diff --git a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json index cee84e5e..953dddc6 100644 --- a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json +++ b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json @@ -3,8 +3,7 @@ "id": "AssemblyInstructions", "meta": { "profile": [ - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" ] }, "item": [ diff --git a/fsh-generated/resources/Questionnaire-ChronicDiseaseAgeing.json b/fsh-generated/resources/Questionnaire-ChronicDiseaseAgeing.json index dad6095e..19bb81c3 100644 --- a/fsh-generated/resources/Questionnaire-ChronicDiseaseAgeing.json +++ b/fsh-generated/resources/Questionnaire-ChronicDiseaseAgeing.json @@ -4,8 +4,7 @@ "meta": { "profile": [ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" ] }, "item": [ diff --git a/fsh-generated/resources/Questionnaire-CurrentPriorities.json b/fsh-generated/resources/Questionnaire-CurrentPriorities.json index 13f44b43..cd160762 100644 --- a/fsh-generated/resources/Questionnaire-CurrentPriorities.json +++ b/fsh-generated/resources/Questionnaire-CurrentPriorities.json @@ -4,8 +4,7 @@ "meta": { "profile": [ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" ] }, "item": [ diff --git a/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json b/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json index 4b55524b..210aa8f6 100644 --- a/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json +++ b/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json @@ -4,8 +4,7 @@ "meta": { "profile": [ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" ] }, "item": [ diff --git a/fsh-generated/resources/Questionnaire-Examination.json b/fsh-generated/resources/Questionnaire-Examination.json index 4406d63c..93f3ed07 100644 --- a/fsh-generated/resources/Questionnaire-Examination.json +++ b/fsh-generated/resources/Questionnaire-Examination.json @@ -5,7 +5,8 @@ "profile": [ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render", "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-behave", + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-extr-template" ] }, "item": [ diff --git a/fsh-generated/resources/Questionnaire-EyeHealth.json b/fsh-generated/resources/Questionnaire-EyeHealth.json index 046c544e..6c5fc43a 100644 --- a/fsh-generated/resources/Questionnaire-EyeHealth.json +++ b/fsh-generated/resources/Questionnaire-EyeHealth.json @@ -4,8 +4,7 @@ "meta": { "profile": [ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" ] }, "item": [ diff --git a/fsh-generated/resources/Questionnaire-FamilyHistory.json b/fsh-generated/resources/Questionnaire-FamilyHistory.json index 5cdd1732..782fb0bc 100644 --- a/fsh-generated/resources/Questionnaire-FamilyHistory.json +++ b/fsh-generated/resources/Questionnaire-FamilyHistory.json @@ -4,8 +4,7 @@ "meta": { "profile": [ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" ] }, "item": [ diff --git a/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json b/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json index 2a96de26..4c74d2ca 100644 --- a/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json +++ b/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json @@ -4,8 +4,7 @@ "meta": { "profile": [ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" ] }, "item": [ diff --git a/fsh-generated/resources/Questionnaire-Gambling.json b/fsh-generated/resources/Questionnaire-Gambling.json index 2c730378..2bc48ced 100644 --- a/fsh-generated/resources/Questionnaire-Gambling.json +++ b/fsh-generated/resources/Questionnaire-Gambling.json @@ -4,8 +4,7 @@ "meta": { "profile": [ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" ] }, "item": [ diff --git a/fsh-generated/resources/Questionnaire-HealthPrioritiesSummary.json b/fsh-generated/resources/Questionnaire-HealthPrioritiesSummary.json index 671c8038..61bd674f 100644 --- a/fsh-generated/resources/Questionnaire-HealthPrioritiesSummary.json +++ b/fsh-generated/resources/Questionnaire-HealthPrioritiesSummary.json @@ -5,7 +5,7 @@ "profile": [ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render", "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-behave" ] }, "item": [ diff --git a/fsh-generated/resources/Questionnaire-HealthyEating.json b/fsh-generated/resources/Questionnaire-HealthyEating.json index d2aa509a..9229a3e0 100644 --- a/fsh-generated/resources/Questionnaire-HealthyEating.json +++ b/fsh-generated/resources/Questionnaire-HealthyEating.json @@ -4,8 +4,7 @@ "meta": { "profile": [ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" ] }, "item": [ diff --git a/fsh-generated/resources/Questionnaire-HomeAndFamily.json b/fsh-generated/resources/Questionnaire-HomeAndFamily.json index 49fdf155..c6121c6d 100644 --- a/fsh-generated/resources/Questionnaire-HomeAndFamily.json +++ b/fsh-generated/resources/Questionnaire-HomeAndFamily.json @@ -4,8 +4,7 @@ "meta": { "profile": [ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" ] }, "item": [ diff --git a/fsh-generated/resources/Questionnaire-Immunisation.json b/fsh-generated/resources/Questionnaire-Immunisation.json index b446737b..4328c1a3 100644 --- a/fsh-generated/resources/Questionnaire-Immunisation.json +++ b/fsh-generated/resources/Questionnaire-Immunisation.json @@ -5,7 +5,8 @@ "profile": [ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render", "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp", + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-extr-template" ] }, "item": [ diff --git a/fsh-generated/resources/Questionnaire-Investigations.json b/fsh-generated/resources/Questionnaire-Investigations.json index d24c4cf9..a42fd74d 100644 --- a/fsh-generated/resources/Questionnaire-Investigations.json +++ b/fsh-generated/resources/Questionnaire-Investigations.json @@ -4,8 +4,7 @@ "meta": { "profile": [ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" ] }, "item": [ diff --git a/fsh-generated/resources/Questionnaire-LearningAndDevelopment.json b/fsh-generated/resources/Questionnaire-LearningAndDevelopment.json index 4b21d361..27d393ab 100644 --- a/fsh-generated/resources/Questionnaire-LearningAndDevelopment.json +++ b/fsh-generated/resources/Questionnaire-LearningAndDevelopment.json @@ -4,8 +4,7 @@ "meta": { "profile": [ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" ] }, "item": [ diff --git a/fsh-generated/resources/Questionnaire-LearningAndWork.json b/fsh-generated/resources/Questionnaire-LearningAndWork.json index d931e1f4..cfb47ebf 100644 --- a/fsh-generated/resources/Questionnaire-LearningAndWork.json +++ b/fsh-generated/resources/Questionnaire-LearningAndWork.json @@ -4,8 +4,7 @@ "meta": { "profile": [ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" ] }, "item": [ diff --git a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json index 02000012..b8eaff45 100644 --- a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json +++ b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json @@ -5,7 +5,8 @@ "profile": [ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render", "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp", + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-extr-template" ] }, "item": [ @@ -708,6 +709,10 @@ } ] } + }, + { + "name": "pathLabel", + "valueString": "Clinical status" } ] }, @@ -736,6 +741,10 @@ } ] } + }, + { + "name": "pathLabel", + "valueString": "Abatement date" } ] } diff --git a/fsh-generated/resources/Questionnaire-MemoryAndThinking.json b/fsh-generated/resources/Questionnaire-MemoryAndThinking.json index 6e7c6506..6bba664e 100644 --- a/fsh-generated/resources/Questionnaire-MemoryAndThinking.json +++ b/fsh-generated/resources/Questionnaire-MemoryAndThinking.json @@ -4,8 +4,7 @@ "meta": { "profile": [ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" ] }, "item": [ diff --git a/fsh-generated/resources/Questionnaire-Mood.json b/fsh-generated/resources/Questionnaire-Mood.json index 3fc589f5..c93d4e14 100644 --- a/fsh-generated/resources/Questionnaire-Mood.json +++ b/fsh-generated/resources/Questionnaire-Mood.json @@ -4,8 +4,7 @@ "meta": { "profile": [ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" ] }, "item": [ diff --git a/fsh-generated/resources/Questionnaire-OralAndDentalHealth.json b/fsh-generated/resources/Questionnaire-OralAndDentalHealth.json index b7d24f6a..d473c020 100644 --- a/fsh-generated/resources/Questionnaire-OralAndDentalHealth.json +++ b/fsh-generated/resources/Questionnaire-OralAndDentalHealth.json @@ -4,8 +4,7 @@ "meta": { "profile": [ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" ] }, "item": [ diff --git a/fsh-generated/resources/Questionnaire-PatientDetails.json b/fsh-generated/resources/Questionnaire-PatientDetails.json index 58a4a44f..33f0ad7a 100644 --- a/fsh-generated/resources/Questionnaire-PatientDetails.json +++ b/fsh-generated/resources/Questionnaire-PatientDetails.json @@ -5,7 +5,8 @@ "profile": [ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render", "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp", + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-extr-template" ] }, "item": [ diff --git a/fsh-generated/resources/Questionnaire-PhysicalActivityAndScreenTime.json b/fsh-generated/resources/Questionnaire-PhysicalActivityAndScreenTime.json index 5bf3d555..895a73bb 100644 --- a/fsh-generated/resources/Questionnaire-PhysicalActivityAndScreenTime.json +++ b/fsh-generated/resources/Questionnaire-PhysicalActivityAndScreenTime.json @@ -4,8 +4,7 @@ "meta": { "profile": [ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" ] }, "item": [ diff --git a/fsh-generated/resources/Questionnaire-RedFlagsEarlyIdentificationGuide.json b/fsh-generated/resources/Questionnaire-RedFlagsEarlyIdentificationGuide.json index eb98c097..84abfbb4 100644 --- a/fsh-generated/resources/Questionnaire-RedFlagsEarlyIdentificationGuide.json +++ b/fsh-generated/resources/Questionnaire-RedFlagsEarlyIdentificationGuide.json @@ -4,8 +4,7 @@ "meta": { "profile": [ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" ] }, "item": [ diff --git a/fsh-generated/resources/Questionnaire-RegularMedications.json b/fsh-generated/resources/Questionnaire-RegularMedications.json index b8ea6f6b..69222f51 100644 --- a/fsh-generated/resources/Questionnaire-RegularMedications.json +++ b/fsh-generated/resources/Questionnaire-RegularMedications.json @@ -5,7 +5,8 @@ "profile": [ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render", "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp", + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-extr-template" ] }, "item": [ @@ -806,6 +807,10 @@ } ] } + }, + { + "name": "pathLabel", + "valueString": "Status" } ] } diff --git a/fsh-generated/resources/Questionnaire-ScreeningPrograms.json b/fsh-generated/resources/Questionnaire-ScreeningPrograms.json index 7ed1a038..e84c7946 100644 --- a/fsh-generated/resources/Questionnaire-ScreeningPrograms.json +++ b/fsh-generated/resources/Questionnaire-ScreeningPrograms.json @@ -4,8 +4,7 @@ "meta": { "profile": [ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" ] }, "item": [ diff --git a/fsh-generated/resources/Questionnaire-SexualHealth.json b/fsh-generated/resources/Questionnaire-SexualHealth.json index 191130e7..b620567d 100644 --- a/fsh-generated/resources/Questionnaire-SexualHealth.json +++ b/fsh-generated/resources/Questionnaire-SexualHealth.json @@ -4,8 +4,7 @@ "meta": { "profile": [ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" ] }, "item": [ diff --git a/fsh-generated/resources/Questionnaire-Skin.json b/fsh-generated/resources/Questionnaire-Skin.json index 1ae51016..032b5aaf 100644 --- a/fsh-generated/resources/Questionnaire-Skin.json +++ b/fsh-generated/resources/Questionnaire-Skin.json @@ -4,8 +4,7 @@ "meta": { "profile": [ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" ] }, "item": [ diff --git a/fsh-generated/resources/Questionnaire-SocialAndEmotionalWellbeing.json b/fsh-generated/resources/Questionnaire-SocialAndEmotionalWellbeing.json index e07af187..40e5f894 100644 --- a/fsh-generated/resources/Questionnaire-SocialAndEmotionalWellbeing.json +++ b/fsh-generated/resources/Questionnaire-SocialAndEmotionalWellbeing.json @@ -4,8 +4,7 @@ "meta": { "profile": [ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" ] }, "item": [ diff --git a/fsh-generated/resources/Questionnaire-SocialHistoryChild.json b/fsh-generated/resources/Questionnaire-SocialHistoryChild.json index 83a227a9..1bf1ce1c 100644 --- a/fsh-generated/resources/Questionnaire-SocialHistoryChild.json +++ b/fsh-generated/resources/Questionnaire-SocialHistoryChild.json @@ -4,8 +4,7 @@ "meta": { "profile": [ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" ] }, "item": [ diff --git a/fsh-generated/resources/Questionnaire-SubstanceUse.json b/fsh-generated/resources/Questionnaire-SubstanceUse.json index 38fceaa1..6d04465c 100644 --- a/fsh-generated/resources/Questionnaire-SubstanceUse.json +++ b/fsh-generated/resources/Questionnaire-SubstanceUse.json @@ -5,7 +5,8 @@ "profile": [ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render", "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular", - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-behave", + "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-extr-template" ] }, "item": [ diff --git a/input/fsh/715-AssemblyInstructions.fsh b/input/fsh/715-AssemblyInstructions.fsh index c5a16922..84860e5c 100644 --- a/input/fsh/715-AssemblyInstructions.fsh +++ b/input/fsh/715-AssemblyInstructions.fsh @@ -134,7 +134,6 @@ Description: "Aboriginal and Torres Strait Islander Health Check assessment form * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" -* meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715" * name = "AboriginalTorresStraitIslanderHealthCheck" * title = "Aboriginal and Torres Strait Islander Health Check" diff --git a/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh b/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh index 13ffee46..840d395b 100644 --- a/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh +++ b/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh @@ -96,6 +96,7 @@ Description: "Absolute Cardiovascular Disease Risk Calculation sub-questionnaire * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" +* meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-behave" * url = "http://www.health.gov.au/assessments/mbs/715/AbsoluteCVDRiskCalculation" * name = "AbsoluteCVDRiskCalculation" * title = "Aboriginal and Torres Strait Islander Health Check - Absolute Cardiovascular Disease Risk Calculation" diff --git a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh index a6452957..68e2fa6c 100644 --- a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh +++ b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh @@ -74,6 +74,7 @@ Description: "Allergies/Adverse Reactions sub-questionnaire for Aboriginal and T * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" +* meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-extr-template" * url = "http://www.health.gov.au/assessments/mbs/715/AllergiesAdverseReactions" * name = "AllergiesAdverseReactions" * title = "Aboriginal and Torres Strait Islander Health Check - Allergies/Adverse Reactions" diff --git a/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh b/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh index ecdb5fa9..27284e67 100644 --- a/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh +++ b/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh @@ -63,7 +63,6 @@ Description: "Chronic Disease Ageing sub-questionnaire for Aboriginal and Torres * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" -* meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/ChronicDiseaseAgeing" * name = "ChronicDiseaseAgeing" * title = "Aboriginal and Torres Strait Islander Health Check - Chronic Disease Ageing" diff --git a/input/fsh/715-Assessment-CurrentPriorities.fsh b/input/fsh/715-Assessment-CurrentPriorities.fsh index be3b6bd1..5e7d9bc6 100644 --- a/input/fsh/715-Assessment-CurrentPriorities.fsh +++ b/input/fsh/715-Assessment-CurrentPriorities.fsh @@ -64,7 +64,6 @@ Description: "Current Priorities sub-questionnaire for Aboriginal and Torres Str * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" -* meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/CurrentPriorities" * name = "CurrentPriorities" * title = "Aboriginal and Torres Strait Islander Health Check - Current Priorities" diff --git a/input/fsh/715-Assessment-EarHealthAndHearing.fsh b/input/fsh/715-Assessment-EarHealthAndHearing.fsh index c60e2ea4..93ca0c62 100644 --- a/input/fsh/715-Assessment-EarHealthAndHearing.fsh +++ b/input/fsh/715-Assessment-EarHealthAndHearing.fsh @@ -64,7 +64,6 @@ Description: "Ear Health And Hearing sub-questionnaire for Aboriginal and Torres * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" -* meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/EarHealthAndHearing" * name = "EarHealthAndHearing" * title = "Aboriginal and Torres Strait Islander Health Check - Ear Health And Hearing" diff --git a/input/fsh/715-Assessment-Examination.fsh b/input/fsh/715-Assessment-Examination.fsh index 4ce612ab..a299003c 100644 --- a/input/fsh/715-Assessment-Examination.fsh +++ b/input/fsh/715-Assessment-Examination.fsh @@ -129,7 +129,8 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" -* meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" +* meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-behave" +* meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-extr-template" * url = "http://www.health.gov.au/assessments/mbs/715/Examination" * name = "Examination" * title = "Aboriginal and Torres Strait Islander Health Check - Examination" diff --git a/input/fsh/715-Assessment-EyeHealth.fsh b/input/fsh/715-Assessment-EyeHealth.fsh index f41b11cb..6019a449 100644 --- a/input/fsh/715-Assessment-EyeHealth.fsh +++ b/input/fsh/715-Assessment-EyeHealth.fsh @@ -64,7 +64,6 @@ Description: "Eye Health sub-questionnaire for Aboriginal and Torres Strait Isla * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" -* meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/EyeHealth" * name = "EyeHealth" * title = "Aboriginal and Torres Strait Islander Health Check - Eye Health" diff --git a/input/fsh/715-Assessment-FamilyHistory.fsh b/input/fsh/715-Assessment-FamilyHistory.fsh index fd121cff..cdef52b8 100644 --- a/input/fsh/715-Assessment-FamilyHistory.fsh +++ b/input/fsh/715-Assessment-FamilyHistory.fsh @@ -63,7 +63,6 @@ Description: "Family History sub-questionnaire for Aboriginal and Torres Strait * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" -* meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/FamilyHistory" * name = "FamilyHistory" * title = "Aboriginal and Torres Strait Islander Health Check - Family History" diff --git a/input/fsh/715-Assessment-Gambling.fsh b/input/fsh/715-Assessment-Gambling.fsh index c01af85b..2eaf1008 100644 --- a/input/fsh/715-Assessment-Gambling.fsh +++ b/input/fsh/715-Assessment-Gambling.fsh @@ -64,7 +64,6 @@ Description: "Gambling sub-questionnaire for Aboriginal and Torres Strait Island * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" -* meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/Gambling" * name = "Gambling" * title = "Aboriginal and Torres Strait Islander Health Check - Gambling" diff --git a/input/fsh/715-Assessment-HealthyEating.fsh b/input/fsh/715-Assessment-HealthyEating.fsh index 5322961a..c1e9dfef 100644 --- a/input/fsh/715-Assessment-HealthyEating.fsh +++ b/input/fsh/715-Assessment-HealthyEating.fsh @@ -64,7 +64,6 @@ Description: "Healthy Eating sub-questionnaire for Aboriginal and Torres Strait * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" -* meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/HealthyEating" * name = "HealthyEating" * title = "Aboriginal and Torres Strait Islander Health Check - Healthy Eating" diff --git a/input/fsh/715-Assessment-HomeAndFamily.fsh b/input/fsh/715-Assessment-HomeAndFamily.fsh index 441e1fd7..3ebec7af 100644 --- a/input/fsh/715-Assessment-HomeAndFamily.fsh +++ b/input/fsh/715-Assessment-HomeAndFamily.fsh @@ -64,7 +64,6 @@ Description: "Home And Family sub-questionnaire for Aboriginal and Torres Strait * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" -* meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/HomeAndFamily" * name = "HomeAndFamily" * title = "Aboriginal and Torres Strait Islander Health Check - Home And Family" diff --git a/input/fsh/715-Assessment-Immunisation.fsh b/input/fsh/715-Assessment-Immunisation.fsh index a7fba655..706b55ee 100644 --- a/input/fsh/715-Assessment-Immunisation.fsh +++ b/input/fsh/715-Assessment-Immunisation.fsh @@ -75,6 +75,7 @@ Description: "Immunisation sub-questionnaire for Aboriginal and Torres Strait Is * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" +* meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-extr-template" * url = "http://www.health.gov.au/assessments/mbs/715/Immunisation" * name = "Immunisation" * title = "Aboriginal and Torres Strait Islander Health Check - Immunisation" diff --git a/input/fsh/715-Assessment-Investigations.fsh b/input/fsh/715-Assessment-Investigations.fsh index 23a2dd40..df3f48d7 100644 --- a/input/fsh/715-Assessment-Investigations.fsh +++ b/input/fsh/715-Assessment-Investigations.fsh @@ -63,7 +63,6 @@ Description: "Investigations sub-questionnaire for Aboriginal and Torres Strait * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" -* meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/Investigations" * name = "Investigations" * title = "Aboriginal and Torres Strait Islander Health Check - Investigations" diff --git a/input/fsh/715-Assessment-LearningAndDevelopment.fsh b/input/fsh/715-Assessment-LearningAndDevelopment.fsh index ff7f2195..74ed1a08 100644 --- a/input/fsh/715-Assessment-LearningAndDevelopment.fsh +++ b/input/fsh/715-Assessment-LearningAndDevelopment.fsh @@ -62,7 +62,6 @@ Description: "Learning And Development sub-questionnaire for Aboriginal and Torr * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" -* meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/LearningAndDevelopment" * name = "LearningAndDevelopment" * title = "Aboriginal and Torres Strait Islander Health Check - Learning And Development" diff --git a/input/fsh/715-Assessment-LearningAndWork.fsh b/input/fsh/715-Assessment-LearningAndWork.fsh index 020c9bb6..e165bca2 100644 --- a/input/fsh/715-Assessment-LearningAndWork.fsh +++ b/input/fsh/715-Assessment-LearningAndWork.fsh @@ -65,7 +65,6 @@ Description: "Learning And Work sub-questionnaire for Aboriginal and Torres Stra * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" -* meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/LearningAndWork" * name = "LearningAndWork" * title = "Aboriginal and Torres Strait Islander Health Check - Learning And Work" diff --git a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh index 69a5ab33..3563dfcf 100644 --- a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh +++ b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh @@ -71,6 +71,7 @@ Description: "Medical History sub-questionnaire for Aboriginal and Torres Strait * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" +* meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-extr-template" * url = "http://www.health.gov.au/assessments/mbs/715/MedicalHistoryCurrentProblems" * name = "MedicalHistoryCurrentProblems" * title = "Aboriginal and Torres Strait Islander Health Check - Medical History" diff --git a/input/fsh/715-Assessment-MemoryAndThinking.fsh b/input/fsh/715-Assessment-MemoryAndThinking.fsh index 0efda416..392d2dd5 100644 --- a/input/fsh/715-Assessment-MemoryAndThinking.fsh +++ b/input/fsh/715-Assessment-MemoryAndThinking.fsh @@ -64,7 +64,6 @@ Description: "Memory And Thinking sub-questionnaire for Aboriginal and Torres St * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" -* meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/MemoryAndThinking" * name = "MemoryAndThinking" * title = "Aboriginal and Torres Strait Islander Health Check - Memory And Thinking" diff --git a/input/fsh/715-Assessment-Mood.fsh b/input/fsh/715-Assessment-Mood.fsh index 0ca7cc55..8dc8ff38 100644 --- a/input/fsh/715-Assessment-Mood.fsh +++ b/input/fsh/715-Assessment-Mood.fsh @@ -63,7 +63,6 @@ Description: "Mood sub-questionnaire for Aboriginal and Torres Strait Islander H * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" -* meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/Mood" * name = "Mood" * title = "Aboriginal and Torres Strait Islander Health Check - Mood" diff --git a/input/fsh/715-Assessment-OralAndDentalHealth.fsh b/input/fsh/715-Assessment-OralAndDentalHealth.fsh index 6353a30a..91261f23 100644 --- a/input/fsh/715-Assessment-OralAndDentalHealth.fsh +++ b/input/fsh/715-Assessment-OralAndDentalHealth.fsh @@ -64,7 +64,6 @@ Description: "Oral And Dental Health sub-questionnaire for Aboriginal and Torres * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" -* meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/OralAndDentalHealth" * name = "OralAndDentalHealth" * title = "Aboriginal and Torres Strait Islander Health Check - Oral And Dental Health" diff --git a/input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh b/input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh index 822ce047..dd9381de 100644 --- a/input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh +++ b/input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh @@ -64,7 +64,6 @@ Description: "Physical Activity And Screen Time sub-questionnaire for Aboriginal * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" -* meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/PhysicalActivityAndScreenTime" * name = "PhysicalActivityAndScreenTime" * title = "Aboriginal and Torres Strait Islander Health Check - Physical Activity And Screen Time" diff --git a/input/fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh b/input/fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh index e0d1b186..16a5918c 100644 --- a/input/fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh +++ b/input/fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh @@ -62,7 +62,6 @@ Description: "Red Flags Early Identification Guide For Children sub-questionnair * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" -* meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/RedFlagsEarlyIdentificationGuide" * name = "RedFlagsEarlyIdentificationGuideForChildren" * title = "Aboriginal and Torres Strait Islander Health Check - Red Flags Early Identification Guide For Children" diff --git a/input/fsh/715-Assessment-RegularMedications.fsh b/input/fsh/715-Assessment-RegularMedications.fsh index 80a911ca..e22898fd 100644 --- a/input/fsh/715-Assessment-RegularMedications.fsh +++ b/input/fsh/715-Assessment-RegularMedications.fsh @@ -53,6 +53,7 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" +* meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-extr-template" * url = "http://www.health.gov.au/assessments/mbs/715/RegularMedications" * name = "RegularMedications" * title = "Aboriginal and Torres Strait Islander Health Check - Regular Medications" diff --git a/input/fsh/715-Assessment-ScreeningPrograms.fsh b/input/fsh/715-Assessment-ScreeningPrograms.fsh index bbdaa2cb..aea7ce97 100644 --- a/input/fsh/715-Assessment-ScreeningPrograms.fsh +++ b/input/fsh/715-Assessment-ScreeningPrograms.fsh @@ -62,7 +62,6 @@ Description: "Screening Programs sub-questionnaire for Aboriginal and Torres Str * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" -* meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/ScreeningPrograms" * name = "ScreeningPrograms" * title = "Aboriginal and Torres Strait Islander Health Check - Screening Programs" diff --git a/input/fsh/715-Assessment-SexualHealth.fsh b/input/fsh/715-Assessment-SexualHealth.fsh index 9b71f344..2e09bb2c 100644 --- a/input/fsh/715-Assessment-SexualHealth.fsh +++ b/input/fsh/715-Assessment-SexualHealth.fsh @@ -66,7 +66,6 @@ Description: "Sexual Health sub-questionnaire for Aboriginal and Torres Strait I * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" -* meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/SexualHealth" * name = "SexualHealth" * title = "Aboriginal and Torres Strait Islander Health Check - Sexual Health" diff --git a/input/fsh/715-Assessment-Skin.fsh b/input/fsh/715-Assessment-Skin.fsh index 87a68aa5..4fd6d5b2 100644 --- a/input/fsh/715-Assessment-Skin.fsh +++ b/input/fsh/715-Assessment-Skin.fsh @@ -64,7 +64,6 @@ Description: "Skin sub-questionnaire for Aboriginal and Torres Strait Islander H * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" -* meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/Skin" * name = "Skin" * title = "Aboriginal and Torres Strait Islander Health Check - Skin" diff --git a/input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh b/input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh index fdc95bbe..e7ba7318 100644 --- a/input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh +++ b/input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh @@ -64,7 +64,6 @@ Description: "Social And Emotional Wellbeing sub-questionnaire for Aboriginal an * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" -* meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/SocialAndEmotionalWellbeing" * name = "SocialAndEmotionalWellbeing" * title = "Aboriginal and Torres Strait Islander Health Check - Social And Emotional Wellbeing" diff --git a/input/fsh/715-Assessment-SocialHistoryChild.fsh b/input/fsh/715-Assessment-SocialHistoryChild.fsh index 6232522f..9c4a88c0 100644 --- a/input/fsh/715-Assessment-SocialHistoryChild.fsh +++ b/input/fsh/715-Assessment-SocialHistoryChild.fsh @@ -64,7 +64,6 @@ Description: "Social History Child sub-questionnaire for Aboriginal and Torres S * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" -* meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/SocialHistoryChild" * name = "SocialHistoryChild" * title = "Aboriginal and Torres Strait Islander Health Check - Social History Child" diff --git a/input/fsh/715-Assessment-SubstanceUse.fsh b/input/fsh/715-Assessment-SubstanceUse.fsh index eed26461..7954de0f 100644 --- a/input/fsh/715-Assessment-SubstanceUse.fsh +++ b/input/fsh/715-Assessment-SubstanceUse.fsh @@ -74,7 +74,8 @@ Description: "Substance Use sub-questionnaire for Aboriginal and Torres Strait I * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" -* meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" +* meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-behave" +* meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-extr-template" * url = "http://www.health.gov.au/assessments/mbs/715/SubstanceUse" * name = "SubstanceUse" * title = "Aboriginal and Torres Strait Islander Health Check - Substance Use" diff --git a/input/fsh/715-FinalisingHealthCheck.fsh b/input/fsh/715-FinalisingHealthCheck.fsh index 8a7de836..2b04affd 100644 --- a/input/fsh/715-FinalisingHealthCheck.fsh +++ b/input/fsh/715-FinalisingHealthCheck.fsh @@ -63,7 +63,6 @@ Description: "Finalising the Health Check sub-questionnaire for Aboriginal and T * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" -* meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" * url = "http://www.health.gov.au/assessments/mbs/715/FinalisingHealthCheck" * name = "FinalisingHealthCheck" * title = "Aboriginal and Torres Strait Islander Health Check - Finalising the Health Check" diff --git a/input/fsh/715-HealthPrioritiesSummary.fsh b/input/fsh/715-HealthPrioritiesSummary.fsh index 651d0bdd..4bef6202 100644 --- a/input/fsh/715-HealthPrioritiesSummary.fsh +++ b/input/fsh/715-HealthPrioritiesSummary.fsh @@ -157,7 +157,7 @@ Description: "Health Priorities, Actions And Follow-Up Summary sub-questionnaire * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" -* meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" +* meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-behave" * url = "http://www.health.gov.au/assessments/mbs/715/HealthPrioritiesSummary" * name = "HealthPrioritiesActionsAndFollowUpSummary" * title = "Aboriginal and Torres Strait Islander Health Check - Health Priorities, Actions And Follow-Up Summary" diff --git a/input/fsh/715-PatientDetails.fsh b/input/fsh/715-PatientDetails.fsh index 415ebbf1..a5c6536f 100644 --- a/input/fsh/715-PatientDetails.fsh +++ b/input/fsh/715-PatientDetails.fsh @@ -80,6 +80,7 @@ Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular" * meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" +* meta.profile[+] = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-extr-template" * url = "http://www.health.gov.au/assessments/mbs/715/PatientDetails" * name = "PatientDetails" * title = "Aboriginal and Torres Strait Islander Health Check - Patient Details" diff --git a/input/fsh/capability.fsh b/input/fsh/capability.fsh index e8cecd4a..37e2b8fb 100644 --- a/input/fsh/capability.fsh +++ b/input/fsh/capability.fsh @@ -435,17 +435,6 @@ The server **SHALL** support both." * rest.resource[=].extension[=].extension[=].valueString = "_sort" * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "questionnaire" -* rest.resource[=].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination" -* rest.resource[=].extension[=].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].extension[=].extension[=].valueCode = #SHALL -* rest.resource[=].extension[=].extension[+].url = "required" -* rest.resource[=].extension[=].extension[=].valueString = "patient" -* rest.resource[=].extension[=].extension[+].url = "required" -* rest.resource[=].extension[=].extension[=].valueString = "_count" -* rest.resource[=].extension[=].extension[+].url = "required" -* rest.resource[=].extension[=].extension[=].valueString = "_sort" -* rest.resource[=].extension[=].extension[+].url = "required" -* rest.resource[=].extension[=].extension[=].valueString = "status" * rest.resource[=].type = #QuestionnaireResponse * rest.resource[=].profile = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaireresponse" * rest.resource[=].profile.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" @@ -484,14 +473,6 @@ The server **SHALL** support both. The client and server **SHALL** support chained search questionnaire.title using the :contains modifier." * rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL -* rest.resource[=].searchParam[+].name = "status" -* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/QuestionnaireResponse-status" -* rest.resource[=].searchParam[=].type = #token -* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a code value and **MAY** provide both the code and system values. - -The server **SHALL** support both." -* rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL * rest.resource[=].searchParam[+].name = "_count" * rest.resource[=].searchParam[=].type = #number * rest.resource[=].searchParam[=].documentation = "The client and server **SHALL** support search result limiting." @@ -858,15 +839,6 @@ The server **SHALL** support both." * rest.resource[=].extension[=].extension[=].valueString = "_sort" * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "questionnaire" -* rest.resource[=].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination" -* rest.resource[=].extension[=].extension[+].url = "required" -* rest.resource[=].extension[=].extension[=].valueString = "patient" -* rest.resource[=].extension[=].extension[+].url = "required" -* rest.resource[=].extension[=].extension[=].valueString = "_count" -* rest.resource[=].extension[=].extension[+].url = "required" -* rest.resource[=].extension[=].extension[=].valueString = "_sort" -* rest.resource[=].extension[=].extension[+].url = "required" -* rest.resource[=].extension[=].extension[=].valueString = "status" * rest.resource[=].type = #QuestionnaireResponse * rest.resource[=].profile = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaireresponse" * rest.resource[=].documentation = "The client supports the QuestionnaireResponse resource, Structured Data Capture profile and the conformance expectations for the QuestionnaireResponse resource." @@ -889,12 +861,6 @@ The server **SHALL** support both. " The server **SHALL** support both. The client and server **SHALL** support chained search questionnaire.title using the :contains modifier." -* rest.resource[=].searchParam[+].name = "status" -* rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/QuestionnaireResponse-status" -* rest.resource[=].searchParam[=].type = #token -* rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a code value and **MAY** provide both the code and system values. - -The server **SHALL** support both." * rest.resource[=].searchParam[+].name = "_count" * rest.resource[=].searchParam[=].type = #number * rest.resource[=].searchParam[=].documentation = "The client and server **SHALL** support search result limiting." diff --git a/input/fsh/extract-templates.fsh b/input/fsh/extract-templates.fsh index 582b1aa6..db68385d 100644 --- a/input/fsh/extract-templates.fsh +++ b/input/fsh/extract-templates.fsh @@ -231,6 +231,8 @@ Usage: #inline * parameter[=].part[+].name = "value" * parameter[=].part[=].valueCodeableConcept.coding.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * parameter[=].part[=].valueCodeableConcept.coding.extension[=].valueString = "item.where(linkId='allergysummary-status').answer.value.first()" +* parameter[=].part[+].name = "pathLabel" +* parameter[=].part[=].valueString = "Clinical status" Instance: ImmunizationTemplate InstanceOf: $au-core-immunization @@ -283,6 +285,8 @@ Usage: #inline * parameter[=].part[+].name = "value" * parameter[=].part[=].valueCodeableConcept.coding.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * parameter[=].part[=].valueCodeableConcept.coding.extension[=].valueString = "item.where(linkId='88bcfad7-386b-4d87-b34b-2e50482e4d2c').answer.value.first()" +* parameter[=].part[+].name = "pathLabel" +* parameter[=].part[=].valueString = "Clinical status" * parameter[+].name = "operation" * parameter[=].part[+].name = "type" * parameter[=].part[=].valueCode = #replace @@ -293,6 +297,8 @@ Usage: #inline * parameter[=].part[+].name = "value" * parameter[=].part[=].valueDateTime.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * parameter[=].part[=].valueDateTime.extension[=].valueString = "item.where(linkId='e4524654-f6de-4717-b288-34919394d46b').answer.value.toDateTime()" +* parameter[=].part[+].name = "pathLabel" +* parameter[=].part[=].valueString = "Abatement date" Instance: MedicationStatementTemplate @@ -337,4 +343,6 @@ Usage: #inline * parameter[=].part[=].valueString = "status" * parameter[=].part[+].name = "value" * parameter[=].part[=].valueCode.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" -* parameter[=].part[=].valueCode.extension[=].valueString = "item.where(linkId='regularmedications-summary-current-status').answer.value.code" \ No newline at end of file +* parameter[=].part[=].valueCode.extension[=].valueString = "item.where(linkId='regularmedications-summary-current-status').answer.value.code" +* parameter[=].part[+].name = "pathLabel" +* parameter[=].part[=].valueString = "Status" \ No newline at end of file From 8ef0bdee41b4a7bec583efe29a4c4922eec80aa3 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Fri, 27 Jun 2025 12:46:11 +1000 Subject: [PATCH 106/177] update terminology, fix medicationstatement interaction requirement, condition + medication statement + immunization prepop updates --- ...iginalTorresStraitIslanderHealthCheck.json | 2 +- .../Questionnaire-AssemblyInstructions.json | 2 +- .../resources/Questionnaire-Consent.json | 4 +- .../resources/Questionnaire-Examination.json | 97 ++++++++++++++++--- .../resources/Questionnaire-Immunisation.json | 4 +- ...onnaire-MedicalHistoryCurrentProblems.json | 2 +- .../Questionnaire-RegularMedications.json | 4 +- .../resources/ValueSet-heart-rhythm-1.json | 55 ++++++++++- input/fsh/715-AssemblyInstructions.fsh | 2 +- input/fsh/715-Assessment-Examination.fsh | 6 +- input/fsh/715-Assessment-Immunisation.fsh | 4 +- ...sessment-MedicalHistoryCurrentProblems.fsh | 2 +- .../fsh/715-Assessment-RegularMedications.fsh | 4 +- input/fsh/715-Consent.fsh | 2 +- input/fsh/capability.fsh | 2 +- input/fsh/terminology.fsh | 28 +++++- 16 files changed, 177 insertions(+), 43 deletions(-) diff --git a/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json b/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json index 7f892417..7252b839 100644 --- a/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json +++ b/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json @@ -458,7 +458,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHOULD" + "valueCode": "SHALL" } ] }, diff --git a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json index 953dddc6..9a954841 100644 --- a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json +++ b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json @@ -2245,7 +2245,7 @@ "valueExpression": { "name": "Condition", "language": "application/x-fhir-query", - "expression": "Condition?patient={{%patient.id}}" + "expression": "Condition?patient={{%patient.id}}&category=http://terminology.hl7.org/CodeSystem/condition-category|problem-list-item" } }, { diff --git a/fsh-generated/resources/Questionnaire-Consent.json b/fsh-generated/resources/Questionnaire-Consent.json index 05bf24ac..72c60f88 100644 --- a/fsh-generated/resources/Questionnaire-Consent.json +++ b/fsh-generated/resources/Questionnaire-Consent.json @@ -385,9 +385,9 @@ }, { "valueCoding": { - "code": "413817003", + "code": "224848004", "system": "http://snomed.info/sct", - "display": "Child day care centre" + "display": "Early learning centre" } } ] diff --git a/fsh-generated/resources/Questionnaire-Examination.json b/fsh-generated/resources/Questionnaire-Examination.json index 93f3ed07..40e1da1f 100644 --- a/fsh-generated/resources/Questionnaire-Examination.json +++ b/fsh-generated/resources/Questionnaire-Examination.json @@ -742,22 +742,7 @@ "text": "New result", "type": "choice", "repeats": false, - "answerOption": [ - { - "valueCoding": { - "code": "271636001", - "system": "http://snomed.info/sct", - "display": "Pulse regular" - } - }, - { - "valueCoding": { - "code": "61086009", - "system": "http://snomed.info/sct", - "display": "Pulse irregular" - } - } - ] + "answerValueSet": "#heart-rhythm-1" }, { "linkId": "obs-heartrhythm-newdate", @@ -1029,6 +1014,86 @@ } ], "contained": [ + { + "resourceType": "ValueSet", + "id": "heart-rhythm-1", + "meta": { + "profile": [ + "http://hl7.org/fhir/StructureDefinition/shareablevalueset", + "https://healthterminologies.gov.au/fhir/StructureDefinition/composed-value-set-4" + ] + }, + "status": "draft", + "name": "HeartRythym", + "title": "Heart Rhythm", + "description": "The Heart Rhythm value set includes values that may be used to represent the heart rhythm of an individual.", + "url": "https://smartforms.csiro.au/ig/ValueSet/heart-rhythm-1", + "experimental": false, + "expansion": { + "identifier": "urn:uuid:b12cc8bf-25b0-49a8-8ee1-f641fd89cfa7", + "timestamp": "2025-06-27T12:16:28+10:00", + "offset": 0, + "parameter": [ + { + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false + }, + { + "name": "used-valueset", + "valueUri": "null" + }, + { + "name": "used-codesystem", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250630" + }, + { + "name": "version", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250630" + } + ], + "contains": [ + { + "system": "http://snomed.info/sct", + "code": "933506231000036108", + "display": "Regular heart rhythm" + }, + { + "system": "http://snomed.info/sct", + "code": "361137007", + "display": "Irregular heart rhythm" + } + ] + }, + "compose": { + "include": [ + { + "system": "http://snomed.info/sct", + "concept": [ + { + "code": "933506231000036108", + "display": "Regular heart rhythm" + }, + { + "code": "361137007", + "display": "Irregular heart rhythm" + } + ] + } + ] + } + }, { "resourceType": "Observation", "id": "BodyHeightTemplate", diff --git a/fsh-generated/resources/Questionnaire-Immunisation.json b/fsh-generated/resources/Questionnaire-Immunisation.json index 4328c1a3..5dae4ea1 100644 --- a/fsh-generated/resources/Questionnaire-Immunisation.json +++ b/fsh-generated/resources/Questionnaire-Immunisation.json @@ -193,7 +193,7 @@ "valueExpression": { "name": "ImmunizationRepeat", "language": "text/fhirpath", - "expression": "%Immunization.entry.resource.where(status='completed')" + "expression": "%Immunization.entry.resource" } } ], @@ -701,7 +701,7 @@ "valueExpression": { "name": "Immunization", "language": "application/x-fhir-query", - "expression": "Immunization?patient={{%patient.id}}" + "expression": "Immunization?patient={{%patient.id}}&status=completed" } }, { diff --git a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json index b8eaff45..b80eda59 100644 --- a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json +++ b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json @@ -194,7 +194,7 @@ "valueExpression": { "name": "ConditionRepeat", "language": "text/fhirpath", - "expression": "%Condition.entry.resource.where(category.coding.exists(code='problem-list-item')).where(verificationStatus.coding.all(code.empty() or code='confirmed'))" + "expression": "%Condition.entry.resource.where(verificationStatus.coding.all(code.empty() or code='confirmed'))" } }, { diff --git a/fsh-generated/resources/Questionnaire-RegularMedications.json b/fsh-generated/resources/Questionnaire-RegularMedications.json index 69222f51..3172b76f 100644 --- a/fsh-generated/resources/Questionnaire-RegularMedications.json +++ b/fsh-generated/resources/Questionnaire-RegularMedications.json @@ -100,7 +100,7 @@ "valueExpression": { "name": "MedicationStatementRepeat", "language": "text/fhirpath", - "expression": "%MedicationStatement.entry.resource.where(status='active')" + "expression": "%MedicationStatement.entry.resource" } }, { @@ -887,7 +887,7 @@ "valueExpression": { "name": "MedicationStatement", "language": "application/x-fhir-query", - "expression": "MedicationStatement?patient={{%patient.id}}" + "expression": "MedicationStatement?patient={{%patient.id}}&status=active" } }, { diff --git a/fsh-generated/resources/ValueSet-heart-rhythm-1.json b/fsh-generated/resources/ValueSet-heart-rhythm-1.json index 25da2bd8..9326102d 100644 --- a/fsh-generated/resources/ValueSet-heart-rhythm-1.json +++ b/fsh-generated/resources/ValueSet-heart-rhythm-1.json @@ -13,18 +13,65 @@ ] }, "experimental": false, + "expansion": { + "identifier": "urn:uuid:b12cc8bf-25b0-49a8-8ee1-f641fd89cfa7", + "timestamp": "2025-06-27T12:16:28+10:00", + "offset": 0, + "parameter": [ + { + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false + }, + { + "name": "used-valueset", + "valueUri": "null" + }, + { + "name": "used-codesystem", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250630" + }, + { + "name": "version", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250630" + } + ], + "contains": [ + { + "system": "http://snomed.info/sct", + "code": "933506231000036108", + "display": "Regular heart rhythm" + }, + { + "system": "http://snomed.info/sct", + "code": "361137007", + "display": "Irregular heart rhythm" + } + ] + }, "compose": { "include": [ { "system": "http://snomed.info/sct", "concept": [ { - "code": "271636001", - "display": "Pulse regular" + "code": "933506231000036108", + "display": "Regular heart rhythm" }, { - "code": "61086009", - "display": "Pulse irregular" + "code": "361137007", + "display": "Irregular heart rhythm" } ] } diff --git a/input/fsh/715-AssemblyInstructions.fsh b/input/fsh/715-AssemblyInstructions.fsh index 84860e5c..21ea9abd 100644 --- a/input/fsh/715-AssemblyInstructions.fsh +++ b/input/fsh/715-AssemblyInstructions.fsh @@ -70,7 +70,7 @@ Description: "Aboriginal and Torres Strait Islander Health Check assessment form * valueExpression * name = "Condition" * language = #application/x-fhir-query - * expression = "Condition?patient={{%patient.id}}" + * expression = "Condition?patient={{%patient.id}}&category=http://terminology.hl7.org/CodeSystem/condition-category|problem-list-item" * extension[+] * url = "http://hl7.org/fhir/StructureDefinition/variable" * valueExpression diff --git a/input/fsh/715-Assessment-Examination.fsh b/input/fsh/715-Assessment-Examination.fsh index a299003c..3c3a4064 100644 --- a/input/fsh/715-Assessment-Examination.fsh +++ b/input/fsh/715-Assessment-Examination.fsh @@ -8,6 +8,7 @@ Usage: #example Title: "Aboriginal and Torres Strait Islander Health Check - Examination" Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Islander Health Check." +* contained[+] = heart-rhythm-1 * contained[+] = BodyHeightTemplate * contained[+] = BodyHeightLengthTemplate * contained[+] = BodyWeightTemplate @@ -436,9 +437,8 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * linkId = "obs-heartrhythm-newresult" * text = "New result" * type = #choice - * repeats = false - * answerOption[+].valueCoding = $SCT#271636001 "Pulse regular" - * answerOption[+].valueCoding = $SCT#61086009 "Pulse irregular" + * repeats = false + * answerValueSet = "#heart-rhythm-1" * item[+] * linkId = "obs-heartrhythm-newdate" * text = "New result date" diff --git a/input/fsh/715-Assessment-Immunisation.fsh b/input/fsh/715-Assessment-Immunisation.fsh index 706b55ee..5653c8b9 100644 --- a/input/fsh/715-Assessment-Immunisation.fsh +++ b/input/fsh/715-Assessment-Immunisation.fsh @@ -63,7 +63,7 @@ Description: "Immunisation sub-questionnaire for Aboriginal and Torres Strait Is * valueExpression * name = "Immunization" * language = #application/x-fhir-query - * expression = "Immunization?patient={{%patient.id}}" + * expression = "Immunization?patient={{%patient.id}}&status=completed" //R5 preadoption extensions * extension[+] @@ -159,7 +159,7 @@ Description: "Immunisation sub-questionnaire for Aboriginal and Torres Strait Is * extension[sdc-questionnaire-itemPopulationContext].valueExpression * name = "ImmunizationRepeat" * language = #text/fhirpath - * expression = "%Immunization.entry.resource.where(status='completed')" + * expression = "%Immunization.entry.resource" * linkId = "vaccinesprevious" * text = "Vaccines previously given" * type = #group diff --git a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh index 3563dfcf..a77cc8cc 100644 --- a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh +++ b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh @@ -156,7 +156,7 @@ Description: "Medical History sub-questionnaire for Aboriginal and Torres Strait * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemPopulationContext][+].valueExpression * name = "ConditionRepeat" * language = #text/fhirpath - * expression = "%Condition.entry.resource.where(category.coding.exists(code='problem-list-item')).where(verificationStatus.coding.all(code.empty() or code='confirmed'))" + * expression = "%Condition.entry.resource.where(verificationStatus.coding.all(code.empty() or code='confirmed'))" * extension[TemplateExtractExtensionExtended][+] * extension[template][+].valueReference = Reference(ConditionPatchTemplate) * extension[resourceId][+].valueString = "item.where(linkId='conditionId').answer.value" diff --git a/input/fsh/715-Assessment-RegularMedications.fsh b/input/fsh/715-Assessment-RegularMedications.fsh index e22898fd..9ebe1f99 100644 --- a/input/fsh/715-Assessment-RegularMedications.fsh +++ b/input/fsh/715-Assessment-RegularMedications.fsh @@ -41,7 +41,7 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * extension[+].url = "http://hl7.org/fhir/StructureDefinition/variable" * extension[=].valueExpression.name = "MedicationStatement" * extension[=].valueExpression.language = #application/x-fhir-query -* extension[=].valueExpression.expression = "MedicationStatement?patient={{%patient.id}}" +* extension[=].valueExpression.expression = "MedicationStatement?patient={{%patient.id}}&status=active" * extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * extension[=].valueString = "age" @@ -108,7 +108,7 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St // Current medications * item.item[=].item[0].extension[sdc-questionnaire-itemPopulationContext][+].valueExpression[+].name = "MedicationStatementRepeat" * item.item[=].item[0].extension[sdc-questionnaire-itemPopulationContext][=].valueExpression[=].language = #text/fhirpath -* item.item[=].item[0].extension[sdc-questionnaire-itemPopulationContext][=].valueExpression[=].expression = "%MedicationStatement.entry.resource.where(status='active')" +* item.item[=].item[0].extension[sdc-questionnaire-itemPopulationContext][=].valueExpression[=].expression = "%MedicationStatement.entry.resource" * item.item[=].item[=].extension[TemplateExtractExtensionExtended][+].extension[template][+].valueReference = Reference(MedicationStatementPatchTemplate) * item.item[=].item[=].extension[TemplateExtractExtensionExtended][=].extension[resourceId][+].valueString = "item.where(linkId='medicationStatementId').answer.value" * item.item[=].item[=].extension[TemplateExtractExtensionExtended][=].extension[type][+].valueCode = #MedicationStatement diff --git a/input/fsh/715-Consent.fsh b/input/fsh/715-Consent.fsh index 01c0b1e6..1b5cf174 100644 --- a/input/fsh/715-Consent.fsh +++ b/input/fsh/715-Consent.fsh @@ -219,7 +219,7 @@ Description: "Consent sub-questionnaire for Aboriginal and Torres Strait Islande * repeats = false * answerOption[+].valueCoding = $SCT#257585005 "Clinic" * answerOption[+].valueCoding = $SCT#264362003 "Home" - * answerOption[+].valueCoding = $SCT#413817003 "Child day care centre" //may require more specific "Early learning centre" concept created + * answerOption[+].valueCoding = $SCT#224848004 "Early learning centre" * item[+] * linkId = "MarkComplete-30" diff --git a/input/fsh/capability.fsh b/input/fsh/capability.fsh index 37e2b8fb..a388a9c6 100644 --- a/input/fsh/capability.fsh +++ b/input/fsh/capability.fsh @@ -238,7 +238,7 @@ The server **SHALL** support both." * rest.resource[=].type = #MedicationStatement * rest.resource[=].profile = "http://hl7.org.au/fhir/core/StructureDefinition/au-core-medicationstatement" * rest.resource[=].profile.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].profile.extension[0].valueCode = #SHOULD +* rest.resource[=].profile.extension[0].valueCode = #SHALL * rest.resource[=].documentation = "The server **SHALL** support the MedicationStatement resource, the AU Core profile and the conformance expectations for the MedicationStatement resource." * rest.resource[=].interaction[0].code = #search-type * rest.resource[=].interaction[0].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" diff --git a/input/fsh/terminology.fsh b/input/fsh/terminology.fsh index 4bca1b9e..1b6b93f4 100644 --- a/input/fsh/terminology.fsh +++ b/input/fsh/terminology.fsh @@ -1470,7 +1470,29 @@ Description: "The Heart Rhythm value set includes values that may be used to rep * ^meta.profile[0] = "http://hl7.org/fhir/StructureDefinition/shareablevalueset" * ^meta.profile[+] = "https://healthterminologies.gov.au/fhir/StructureDefinition/composed-value-set-4" * ^experimental = false -// change values to 361137007 |Irregular heart beat| + new NCTS concept request |Regular heart beat| once released and update form as well) -* $SCT#271636001 "Pulse regular" -* $SCT#61086009 "Pulse irregular" +* ^expansion.identifier = "urn:uuid:b12cc8bf-25b0-49a8-8ee1-f641fd89cfa7" +* ^expansion.timestamp = "2025-06-27T12:16:28+10:00" +* ^expansion.offset = 0 +* ^expansion.parameter[0].name = "displayLanguage" +* ^expansion.parameter[=].valueCode = #en-US +* ^expansion.parameter[+].name = "count" +* ^expansion.parameter[=].valueInteger = 1000 +* ^expansion.parameter[+].name = "offset" +* ^expansion.parameter[=].valueInteger = 0 +* ^expansion.parameter[+].name = "excludeNested" +* ^expansion.parameter[=].valueBoolean = false +* ^expansion.parameter[+].name = "used-valueset" +* ^expansion.parameter[=].valueUri = "null" +* ^expansion.parameter[+].name = "used-codesystem" +* ^expansion.parameter[=].valueUri = "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250630" +* ^expansion.parameter[+].name = "version" +* ^expansion.parameter[=].valueUri = "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250630" +* ^expansion.contains[0].system = "http://snomed.info/sct" +* ^expansion.contains[=].code = #933506231000036108 +* ^expansion.contains[=].display = "Regular heart rhythm" +* ^expansion.contains[+].system = "http://snomed.info/sct" +* ^expansion.contains[=].code = #361137007 +* ^expansion.contains[=].display = "Irregular heart rhythm" +* $SCT#933506231000036108 "Regular heart rhythm" +* $SCT#361137007 "Irregular heart rhythm" From be45b8575bf77769d88ace4d40ad2fa3fd46dc3c Mon Sep 17 00:00:00 2001 From: liambarnes Date: Fri, 27 Jun 2025 12:48:40 +1000 Subject: [PATCH 107/177] update assembled questionnaire --- ...esStraitIslanderHealthCheck-assembled.json | 169 +++++++++++++----- 1 file changed, 122 insertions(+), 47 deletions(-) diff --git a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json index 118a002d..bc2378c2 100644 --- a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json +++ b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json @@ -1,11 +1,6 @@ { "resourceType": "Questionnaire", "id": "AboriginalTorresStraitIslanderHealthCheck", - "meta": { - "profile": [ - "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp" - ] - }, "contained": [ { "resourceType": "ValueSet", @@ -1239,6 +1234,10 @@ } ] } + }, + { + "name": "pathLabel", + "valueString": "Clinical status" } ] }, @@ -1267,6 +1266,10 @@ } ] } + }, + { + "name": "pathLabel", + "valueString": "Abatement date" } ] } @@ -1492,6 +1495,10 @@ } ] } + }, + { + "name": "pathLabel", + "valueString": "Status" } ] } @@ -1625,6 +1632,10 @@ } ] } + }, + { + "name": "pathLabel", + "valueString": "Clinical status" } ] } @@ -2173,6 +2184,86 @@ } ] }, + { + "resourceType": "ValueSet", + "id": "heart-rhythm-1", + "meta": { + "profile": [ + "http://hl7.org/fhir/StructureDefinition/shareablevalueset", + "https://healthterminologies.gov.au/fhir/StructureDefinition/composed-value-set-4" + ] + }, + "url": "https://smartforms.csiro.au/ig/ValueSet/heart-rhythm-1", + "name": "HeartRythym", + "title": "Heart Rhythm", + "status": "draft", + "experimental": false, + "description": "The Heart Rhythm value set includes values that may be used to represent the heart rhythm of an individual.", + "compose": { + "include": [ + { + "system": "http://snomed.info/sct", + "concept": [ + { + "code": "933506231000036108", + "display": "Regular heart rhythm" + }, + { + "code": "361137007", + "display": "Irregular heart rhythm" + } + ] + } + ] + }, + "expansion": { + "identifier": "urn:uuid:b12cc8bf-25b0-49a8-8ee1-f641fd89cfa7", + "timestamp": "2025-06-27T12:16:28+10:00", + "offset": 0, + "parameter": [ + { + "name": "displayLanguage", + "valueCode": "en-US" + }, + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false + }, + { + "name": "used-valueset", + "valueUri": "null" + }, + { + "name": "used-codesystem", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250630" + }, + { + "name": "version", + "valueUri": "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20250630" + } + ], + "contains": [ + { + "system": "http://snomed.info/sct", + "code": "933506231000036108", + "display": "Regular heart rhythm" + }, + { + "system": "http://snomed.info/sct", + "code": "361137007", + "display": "Irregular heart rhythm" + } + ] + } + }, { "resourceType": "Observation", "id": "BodyHeightTemplate", @@ -2656,7 +2747,7 @@ "valueExpression": { "name": "Condition", "language": "application/x-fhir-query", - "expression": "Condition?patient={{%patient.id}}" + "expression": "Condition?patient={{%patient.id}}&category=http://terminology.hl7.org/CodeSystem/condition-category|problem-list-item" } }, { @@ -2667,6 +2758,13 @@ "expression": "Observation?code=85354-9&_count=1&_sort=-date&patient={{%patient.id}}" } }, + { + "url": "http://hl7.org/fhir/5.0/StructureDefinition/extension-Questionnaire.versionAlgorithm[x]", + "valueCoding": { + "system": "http://hl7.org/fhir/version-algorithm", + "code": "semver" + } + }, { "url": "https://smartforms.csiro.au/ig/StructureDefinition/ContainedResourceReference", "valueReference": { @@ -3292,20 +3390,12 @@ "expression": "%patient.address.where(type='postal')" } }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": { - "name": "Condition", - "language": "application/x-fhir-query", - "expression": "Condition?patient={{%patient.id}}" - } - }, { "url": "http://hl7.org/fhir/StructureDefinition/variable", "valueExpression": { "name": "MedicationStatement", "language": "application/x-fhir-query", - "expression": "MedicationStatement?patient={{%patient.id}}" + "expression": "MedicationStatement?patient={{%patient.id}}&status=active" } }, { @@ -3329,7 +3419,7 @@ "valueExpression": { "name": "Immunization", "language": "application/x-fhir-query", - "expression": "Immunization?patient={{%patient.id}}" + "expression": "Immunization?patient={{%patient.id}}&status=completed" } }, { @@ -3984,8 +4074,8 @@ { "valueCoding": { "system": "http://snomed.info/sct", - "code": "413817003", - "display": "Child day care centre" + "code": "224848004", + "display": "Early learning centre" } } ] @@ -5887,7 +5977,7 @@ "valueExpression": { "name": "ConditionRepeat", "language": "text/fhirpath", - "expression": "%Condition.entry.resource.where(category.coding.exists(code='problem-list-item')).where(verificationStatus.coding.all(code.empty() or code='confirmed'))" + "expression": "%Condition.entry.resource.where(verificationStatus.coding.all(code.empty() or code='confirmed'))" } }, { @@ -6216,7 +6306,7 @@ "valueExpression": { "name": "MedicationStatementRepeat", "language": "text/fhirpath", - "expression": "%MedicationStatement.entry.resource.where(status='active')" + "expression": "%MedicationStatement.entry.resource" } }, { @@ -11852,7 +11942,7 @@ "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(%ObsTobaccoSmokingStatus.entry.resource.value.coding.where(system='http://snomed.info/sct').empty() = true, 'Not available', %ObsTobaccoSmokingStatus.entry.resource.value.coding.where(system='http://snomed.info/sct').first().display + ' (' + %ObsTobaccoSmokingStatus.entry.resource.effective.toDate().toString() + ')')" + "expression": "iif(%ObsTobaccoSmokingStatus.entry.resource.where(status='final').value.coding.where(system='http://snomed.info/sct').empty(), 'Not available', %ObsTobaccoSmokingStatus.entry.resource.where(status='final').value.coding.where(system='http://snomed.info/sct').first().display + ' (' + %ObsTobaccoSmokingStatus.entry.resource.where(status='final').effective.toDate().toString() + ')')" } } ] @@ -14578,7 +14668,7 @@ "valueExpression": { "name": "ImmunizationRepeat", "language": "text/fhirpath", - "expression": "%Immunization.entry.resource.where(status='completed')" + "expression": "%Immunization.entry.resource" } } ], @@ -14961,7 +15051,7 @@ "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(%ObsBodyHeight.entry.resource.value.value.empty() = true, 'Not available', %ObsBodyHeight.entry.resource.value.value.toString() + ' cm' + ' (' + %ObsBodyHeight.entry.resource.effective.toDate().toString() + ')')" + "expression": "iif(%ObsBodyHeight.entry.resource.where(status='final').value.value.empty(), 'Not available', %ObsBodyHeight.entry.resource.where(status='final').value.value.toString() + ' cm' + ' (' + %ObsBodyHeight.entry.resource.where(status='final').effective.toDate().toString() + ')')" } } ] @@ -15048,7 +15138,7 @@ "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(%ObsBodyHeight.entry.resource.value.value.empty() = true, 'Not available', %ObsBodyHeight.entry.resource.value.value.toString() + ' cm' + ' (' + %ObsBodyHeight.entry.resource.effective.toDate().toString() + ')')" + "expression": "iif(%ObsBodyHeight.entry.resource.where(status='final').value.value.empty(), 'Not available', %ObsBodyHeight.entry.resource.where(status='final').value.value.toString() + ' cm' + ' (' + %ObsBodyHeight.entry.resource.where(status='final').effective.toDate().toString() + ')')" } } ] @@ -15126,7 +15216,7 @@ "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(%ObsBodyWeight.entry.resource.value.value.empty() = true, 'Not available', %ObsBodyWeight.entry.resource.value.value.toString() + ' kg' + ' (' + %ObsBodyWeight.entry.resource.effective.toDate().toString() + ')')" + "expression": "iif(%ObsBodyWeight.entry.resource.where(status='final').value.value.empty(), 'Not available', %ObsBodyWeight.entry.resource.where(status='final').value.value.toString() + ' kg' + ' (' + %ObsBodyWeight.entry.resource.where(status='final').effective.toDate().toString() + ')')" } } ] @@ -15213,7 +15303,7 @@ "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(%ObsBodyWeight.entry.resource.value.value.empty() = true or %ObsBodyHeight.entry.resource.value.value.empty() = true, 'Not available', (%ObsBodyWeight.entry.resource.value.value/((%ObsBodyHeight.entry.resource.value.value/100).power(2))).round(1).toString() + ' kg/m2')" + "expression": "iif(%ObsBodyWeight.entry.resource.where(status='final').value.value.empty() or %ObsBodyHeight.entry.resource.where(status='final').value.value.empty(), 'Not available', (%ObsBodyWeight.entry.resource.where(status='final').value.value/((%ObsBodyHeight.entry.resource.where(status='final').value.value/100).power(2))).round(1).toString() + ' kg/m2')" } } ] @@ -15292,7 +15382,7 @@ "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(%ObsHeadCircumference.entry.resource.value.value.empty() = true, 'Not available', %ObsHeadCircumference.entry.resource.value.value.toString() + ' cm' + ' (' + %ObsHeadCircumference.entry.resource.effective.toDate().toString() + ')')" + "expression": "iif(%ObsHeadCircumference.entry.resource.where(status='final').value.value.empty(), 'Not available', %ObsHeadCircumference.entry.resource.where(status='final').value.value.toString() + ' cm' + ' (' + %ObsHeadCircumference.entry.resource.where(status='final').effective.toDate().toString() + ')')" } } ] @@ -15379,7 +15469,7 @@ "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(%ObsWaistCircumference.entry.resource.value.value.empty() = true, 'Not available', %ObsWaistCircumference.entry.resource.value.value.toString() + ' cm' + ' (' + %ObsWaistCircumference.entry.resource.effective.toDate().toString() + ')')" + "expression": "iif(%ObsWaistCircumference.entry.resource.where(status='final').value.value.empty(), 'Not available', %ObsWaistCircumference.entry.resource.where(status='final').value.value.toString() + ' cm' + ' (' + %ObsWaistCircumference.entry.resource.where(status='final').effective.toDate().toString() + ')')" } } ] @@ -15450,7 +15540,7 @@ "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(%ObsHeartRate.entry.resource.value.value.empty() = true, 'Not available', %ObsHeartRate.entry.resource.value.value.round().toString() + ' /min' + ' (' + %ObsHeartRate.entry.resource.effective.toDate().toString() + ')')" + "expression": "iif(%ObsHeartRate.entry.resource.where(status='final').value.value.empty(), 'Not available', %ObsHeartRate.entry.resource.where(status='final').value.value.round().toString() + ' /min' + ' (' + %ObsHeartRate.entry.resource.where(status='final').effective.toDate().toString() + ')')" } } ] @@ -15528,7 +15618,7 @@ "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(%ObsHeartRhythm.entry.resource.value.coding.where(system='http://snomed.info/sct').first().empty() = true, 'Not available', %ObsHeartRhythm.entry.resource.value.coding.where(system='http://snomed.info/sct').first().display + ' (' + %ObsHeartRhythm.entry.resource.effective.toDate().toString() + ')')" + "expression": "iif(%ObsHeartRhythm.entry.resource.where(status='final').value.coding.where(system='http://snomed.info/sct').first().empty(), 'Not available', %ObsHeartRhythm.entry.resource.where(status='final').value.coding.where(system='http://snomed.info/sct').first().display + ' (' + %ObsHeartRhythm.entry.resource.where(status='final').effective.toDate().toString() + ')')" } } ] @@ -15566,22 +15656,7 @@ "text": "New result", "type": "choice", "repeats": false, - "answerOption": [ - { - "valueCoding": { - "system": "http://snomed.info/sct", - "code": "271636001", - "display": "Pulse regular" - } - }, - { - "valueCoding": { - "system": "http://snomed.info/sct", - "code": "61086009", - "display": "Pulse irregular" - } - } - ] + "answerValueSet": "#heart-rhythm-1" }, { "linkId": "obs-heartrhythm-newdate", @@ -15634,7 +15709,7 @@ "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(%ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8480-6')).value.value.empty() = true or %ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8462-4')).value.value.empty() = true, 'Not available', %ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8480-6')).value.value.round().toString() + ' / ' + %ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8462-4')).value.value.round().toString() + ' mm Hg (' + %ObsBloodPressure.entry.resource.effective.toDate().toString() + ')')" + "expression": "iif(%ObsBloodPressure.entry.resource.where(status='final').component.where(code.coding.exists(code='8480-6')).value.value.empty() or %ObsBloodPressure.entry.resource.where(status='final').component.where(code.coding.exists(code='8462-4')).value.value.empty(), 'Not available', %ObsBloodPressure.entry.resource.where(status='final').component.where(code.coding.exists(code='8480-6')).value.value.round().toString() + ' / ' + %ObsBloodPressure.entry.resource.where(status='final').component.where(code.coding.exists(code='8462-4')).value.value.round().toString() + ' mm Hg (' + %ObsBloodPressure.entry.resource.where(status='final').effective.toDate().toString() + ')')" } } ] From 949d3f5749d8a17d211a40eb96d7780e7011eee3 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Tue, 1 Jul 2025 11:31:03 +1000 Subject: [PATCH 108/177] update obligation rules per zulip --- ...ctureDefinition-SHCAllergyIntolerance.json | 46 ++-------- .../StructureDefinition-SHCBloodPressure.json | 61 +++---------- .../StructureDefinition-SHCBodyHeight.json | 91 +++---------------- .../StructureDefinition-SHCBodyWeight.json | 91 +++---------------- .../StructureDefinition-SHCCondition.json | 66 +++----------- ...uctureDefinition-SHCHeadCircumference.json | 31 +++---- .../StructureDefinition-SHCHeartRate.json | 91 +++---------------- .../StructureDefinition-SHCHeartRhythm.json | 26 ++---- .../StructureDefinition-SHCImmunization.json | 34 +------ ...tureDefinition-SHCMedicationStatement.json | 40 ++------ .../StructureDefinition-SHCSmokingStatus.json | 39 ++------ ...ctureDefinition-SHCWaistCircumference.json | 54 +++-------- input/fsh/profiles.fsh | 58 +++++++++--- 13 files changed, 171 insertions(+), 557 deletions(-) diff --git a/fsh-generated/resources/StructureDefinition-SHCAllergyIntolerance.json b/fsh-generated/resources/StructureDefinition-SHCAllergyIntolerance.json index 6029c434..d853b71f 100644 --- a/fsh-generated/resources/StructureDefinition-SHCAllergyIntolerance.json +++ b/fsh-generated/resources/StructureDefinition-SHCAllergyIntolerance.json @@ -35,6 +35,7 @@ ] }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -44,8 +45,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "AllergyIntolerance.id", @@ -63,9 +63,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -79,9 +76,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -135,9 +129,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -151,14 +142,12 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -168,10 +157,10 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -181,8 +170,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "AllergyIntolerance.verificationStatus" @@ -199,9 +187,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -215,9 +200,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -271,9 +253,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -287,9 +266,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -312,6 +288,7 @@ ] }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -321,8 +298,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "AllergyIntolerance.patient" @@ -380,9 +356,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -396,9 +369,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" diff --git a/fsh-generated/resources/StructureDefinition-SHCBloodPressure.json b/fsh-generated/resources/StructureDefinition-SHCBloodPressure.json index 5a6b6618..70042206 100644 --- a/fsh-generated/resources/StructureDefinition-SHCBloodPressure.json +++ b/fsh-generated/resources/StructureDefinition-SHCBloodPressure.json @@ -30,9 +30,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -46,9 +43,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -102,9 +96,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -118,14 +109,12 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -135,10 +124,10 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -148,8 +137,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.category", @@ -172,6 +160,7 @@ ] }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -181,8 +170,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.code.coding", @@ -206,6 +194,7 @@ ] }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -215,8 +204,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.code.coding", @@ -226,12 +214,9 @@ { "id": "Observation.code.text", "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", - "valueBoolean": true - }, { "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "valueBoolean": true, "extension": [ { "url": "code", @@ -259,9 +244,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -275,9 +257,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -300,6 +279,7 @@ ] }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -309,8 +289,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.subject" @@ -327,9 +306,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -343,9 +319,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -399,9 +372,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -415,9 +385,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -472,9 +439,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -488,9 +452,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" diff --git a/fsh-generated/resources/StructureDefinition-SHCBodyHeight.json b/fsh-generated/resources/StructureDefinition-SHCBodyHeight.json index 9e20865e..283bec58 100644 --- a/fsh-generated/resources/StructureDefinition-SHCBodyHeight.json +++ b/fsh-generated/resources/StructureDefinition-SHCBodyHeight.json @@ -30,9 +30,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -46,9 +43,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -102,9 +96,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -118,14 +109,12 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -135,10 +124,10 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -148,8 +137,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.category", @@ -172,6 +160,7 @@ ] }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -181,8 +170,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.code.coding", @@ -206,6 +194,7 @@ ] }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -215,8 +204,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.code.coding", @@ -226,12 +214,9 @@ { "id": "Observation.code.text", "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", - "valueBoolean": true - }, { "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "valueBoolean": true, "extension": [ { "url": "code", @@ -259,9 +244,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -275,9 +257,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -300,6 +279,7 @@ ] }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -309,8 +289,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.subject" @@ -327,9 +306,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -343,9 +319,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -409,9 +382,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -425,9 +395,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -485,31 +452,11 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" - } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" - }, - { - "extension": [ - { - "url": "code", - "valueCode": "SHALL:no-error" - }, - { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { - "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -517,13 +464,15 @@ }, { "url": "code", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester", "valueCode": "SHALL:process" }, { "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" } - ] + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { "url": "http://hl7.org/fhir/StructureDefinition/obligation", @@ -557,9 +506,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -573,9 +519,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -629,9 +572,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -645,9 +585,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" diff --git a/fsh-generated/resources/StructureDefinition-SHCBodyWeight.json b/fsh-generated/resources/StructureDefinition-SHCBodyWeight.json index 18544b4e..8ea56063 100644 --- a/fsh-generated/resources/StructureDefinition-SHCBodyWeight.json +++ b/fsh-generated/resources/StructureDefinition-SHCBodyWeight.json @@ -30,9 +30,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -46,9 +43,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -102,9 +96,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -118,14 +109,12 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -135,10 +124,10 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -148,8 +137,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.category", @@ -172,6 +160,7 @@ ] }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -181,8 +170,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.code.coding", @@ -206,6 +194,7 @@ ] }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -215,8 +204,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.code.coding", @@ -226,12 +214,9 @@ { "id": "Observation.code.text", "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", - "valueBoolean": true - }, { "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "valueBoolean": true, "extension": [ { "url": "code", @@ -259,9 +244,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -275,9 +257,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -300,6 +279,7 @@ ] }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -309,8 +289,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.subject" @@ -327,9 +306,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -343,9 +319,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -409,9 +382,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -425,9 +395,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -485,31 +452,11 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" - } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" - }, - { - "extension": [ - { - "url": "code", - "valueCode": "SHALL:no-error" - }, - { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { - "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -517,13 +464,15 @@ }, { "url": "code", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester", "valueCode": "SHALL:process" }, { "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" } - ] + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { "url": "http://hl7.org/fhir/StructureDefinition/obligation", @@ -557,9 +506,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -573,9 +519,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -629,9 +572,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -645,9 +585,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" diff --git a/fsh-generated/resources/StructureDefinition-SHCCondition.json b/fsh-generated/resources/StructureDefinition-SHCCondition.json index 1e45aa7b..695b785f 100644 --- a/fsh-generated/resources/StructureDefinition-SHCCondition.json +++ b/fsh-generated/resources/StructureDefinition-SHCCondition.json @@ -35,6 +35,7 @@ ] }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -44,8 +45,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Condition.id", @@ -63,9 +63,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -79,9 +76,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -135,9 +129,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -151,14 +142,12 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -168,10 +157,10 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -181,8 +170,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Condition.verificationStatus" @@ -199,9 +187,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -215,9 +200,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -271,9 +253,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -287,9 +266,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -343,9 +319,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -359,9 +332,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -384,6 +354,7 @@ ] }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -393,8 +364,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Condition.subject" @@ -425,9 +395,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -441,9 +408,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -520,9 +484,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -536,9 +497,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -561,6 +519,7 @@ ] }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -570,8 +529,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Condition.abatement[x]", @@ -602,6 +560,7 @@ ] }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -611,8 +570,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Condition.note.text", diff --git a/fsh-generated/resources/StructureDefinition-SHCHeadCircumference.json b/fsh-generated/resources/StructureDefinition-SHCHeadCircumference.json index 018b1e5b..f2d4b149 100644 --- a/fsh-generated/resources/StructureDefinition-SHCHeadCircumference.json +++ b/fsh-generated/resources/StructureDefinition-SHCHeadCircumference.json @@ -17,12 +17,9 @@ { "id": "Observation.status", "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint", - "valueString": "default: final" - }, { "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "valueString": "default: final", "extension": [ { "url": "code", @@ -75,6 +72,7 @@ ] }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -84,8 +82,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.category", @@ -108,6 +105,7 @@ ] }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -117,8 +115,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.code.coding", @@ -142,6 +139,7 @@ ] }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -151,8 +149,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.code.coding", @@ -162,12 +159,9 @@ { "id": "Observation.code.text", "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", - "valueBoolean": true - }, { "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "valueBoolean": true, "extension": [ { "url": "code", @@ -204,6 +198,7 @@ ] }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -213,8 +208,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.subject" @@ -312,12 +306,9 @@ { "id": "Observation.value[x]:valueQuantity.unit", "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", - "valueBoolean": true - }, { "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "valueBoolean": true, "extension": [ { "url": "code", diff --git a/fsh-generated/resources/StructureDefinition-SHCHeartRate.json b/fsh-generated/resources/StructureDefinition-SHCHeartRate.json index 9799d988..4ae73616 100644 --- a/fsh-generated/resources/StructureDefinition-SHCHeartRate.json +++ b/fsh-generated/resources/StructureDefinition-SHCHeartRate.json @@ -30,9 +30,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -46,9 +43,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -102,9 +96,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -118,14 +109,12 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -135,10 +124,10 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -148,8 +137,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.category", @@ -172,6 +160,7 @@ ] }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -181,8 +170,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.code.coding", @@ -206,6 +194,7 @@ ] }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -215,8 +204,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.code.coding", @@ -226,12 +214,9 @@ { "id": "Observation.code.text", "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", - "valueBoolean": true - }, { "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "valueBoolean": true, "extension": [ { "url": "code", @@ -259,9 +244,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -275,9 +257,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -300,6 +279,7 @@ ] }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -309,8 +289,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.subject" @@ -327,9 +306,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -343,9 +319,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -409,9 +382,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -425,9 +395,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -485,31 +452,11 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" - } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" - }, - { - "extension": [ - { - "url": "code", - "valueCode": "SHALL:no-error" - }, - { - "url": "actor", - "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { - "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -517,13 +464,15 @@ }, { "url": "code", + "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester", "valueCode": "SHALL:process" }, { "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" } - ] + ], + "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { "url": "http://hl7.org/fhir/StructureDefinition/obligation", @@ -557,9 +506,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -573,9 +519,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -629,9 +572,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -645,9 +585,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" diff --git a/fsh-generated/resources/StructureDefinition-SHCHeartRhythm.json b/fsh-generated/resources/StructureDefinition-SHCHeartRhythm.json index 9b4e4c72..cd803554 100644 --- a/fsh-generated/resources/StructureDefinition-SHCHeartRhythm.json +++ b/fsh-generated/resources/StructureDefinition-SHCHeartRhythm.json @@ -34,12 +34,9 @@ { "id": "Observation.status", "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint", - "valueString": "default: final" - }, { "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "valueString": "default: final", "extension": [ { "url": "code", @@ -113,6 +110,7 @@ ] }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -122,8 +120,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.category", @@ -184,6 +181,7 @@ ] }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -193,8 +191,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.code.coding", @@ -232,6 +229,7 @@ ] }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -241,8 +239,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.code.coding", @@ -266,12 +263,9 @@ { "id": "Observation.code.text", "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", - "valueBoolean": true - }, { "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "valueBoolean": true, "extension": [ { "url": "code", @@ -308,6 +302,7 @@ ] }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -317,8 +312,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.subject", diff --git a/fsh-generated/resources/StructureDefinition-SHCImmunization.json b/fsh-generated/resources/StructureDefinition-SHCImmunization.json index f91a867c..7f617fac 100644 --- a/fsh-generated/resources/StructureDefinition-SHCImmunization.json +++ b/fsh-generated/resources/StructureDefinition-SHCImmunization.json @@ -26,9 +26,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -42,9 +39,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -98,9 +92,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -114,9 +105,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -170,9 +158,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -186,9 +171,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -243,9 +225,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -259,9 +238,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -284,6 +260,7 @@ ] }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -293,8 +270,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Immunization.patient" @@ -325,9 +301,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -341,9 +314,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" diff --git a/fsh-generated/resources/StructureDefinition-SHCMedicationStatement.json b/fsh-generated/resources/StructureDefinition-SHCMedicationStatement.json index 12d96085..931b195c 100644 --- a/fsh-generated/resources/StructureDefinition-SHCMedicationStatement.json +++ b/fsh-generated/resources/StructureDefinition-SHCMedicationStatement.json @@ -35,6 +35,7 @@ ] }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -44,8 +45,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "MedicationStatement.id", @@ -63,9 +63,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -79,9 +76,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -182,9 +176,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -198,9 +189,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -223,6 +211,7 @@ ] }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -232,8 +221,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "MedicationStatement.subject" @@ -250,9 +238,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -266,14 +251,12 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -283,10 +266,10 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -296,8 +279,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "MedicationStatement.dateAsserted" @@ -314,9 +296,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -330,9 +309,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" diff --git a/fsh-generated/resources/StructureDefinition-SHCSmokingStatus.json b/fsh-generated/resources/StructureDefinition-SHCSmokingStatus.json index 5447fbc1..a5a5cd01 100644 --- a/fsh-generated/resources/StructureDefinition-SHCSmokingStatus.json +++ b/fsh-generated/resources/StructureDefinition-SHCSmokingStatus.json @@ -30,9 +30,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -46,9 +43,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -107,6 +101,7 @@ ] }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -116,8 +111,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.category", @@ -141,6 +135,7 @@ ] }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -150,8 +145,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.code.coding", @@ -174,6 +168,7 @@ ] }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -183,8 +178,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.code.coding", @@ -194,12 +188,9 @@ { "id": "Observation.code.text", "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", - "valueBoolean": true - }, { "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "valueBoolean": true, "extension": [ { "url": "code", @@ -227,9 +218,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -243,9 +231,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -268,6 +253,7 @@ ] }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -277,8 +263,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.subject" @@ -295,9 +280,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -311,9 +293,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" diff --git a/fsh-generated/resources/StructureDefinition-SHCWaistCircumference.json b/fsh-generated/resources/StructureDefinition-SHCWaistCircumference.json index 41f76f4a..ac5be550 100644 --- a/fsh-generated/resources/StructureDefinition-SHCWaistCircumference.json +++ b/fsh-generated/resources/StructureDefinition-SHCWaistCircumference.json @@ -30,9 +30,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -46,9 +43,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -102,9 +96,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -118,14 +109,12 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -135,10 +124,10 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -148,8 +137,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.category", @@ -172,6 +160,7 @@ ] }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -181,8 +170,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.code.coding", @@ -206,6 +194,7 @@ ] }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -215,8 +204,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.code.coding", @@ -226,12 +214,9 @@ { "id": "Observation.code.text", "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", - "valueBoolean": true - }, { "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "valueBoolean": true, "extension": [ { "url": "code", @@ -259,9 +244,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -275,9 +257,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -300,6 +279,7 @@ ] }, { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", "extension": [ { "url": "code", @@ -309,8 +289,7 @@ "url": "actor", "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" } - ], - "url": "http://hl7.org/fhir/StructureDefinition/obligation" + ] } ], "path": "Observation.subject" @@ -327,9 +306,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -343,9 +319,6 @@ { "url": "actor", "valueCanonical": "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" - }, - { - "url": "code" } ], "url": "http://hl7.org/fhir/StructureDefinition/obligation" @@ -441,12 +414,9 @@ { "id": "Observation.value[x]:valueQuantity.unit", "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable", - "valueBoolean": true - }, { "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "valueBoolean": true, "extension": [ { "url": "code", diff --git a/input/fsh/profiles.fsh b/input/fsh/profiles.fsh index 8a82deb3..ab93d375 100644 --- a/input/fsh/profiles.fsh +++ b/input/fsh/profiles.fsh @@ -22,6 +22,7 @@ Alias: $au-core-patient = http://hl7.org.au/fhir/core/StructureDefinition/au-cor Alias: $au-core-practitioner = http://hl7.org.au/fhir/core/StructureDefinition/au-core-practitioner Alias: $sdc-questionnaireresponse = http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaireresponse +/* Old RuleSets to be reinstated following SUSHI bug fix RuleSet: obligationApp(index, appCode) * ^extension[$obligation][{index}].extension[code].valueCode = #"{appCode}" * ^extension[$obligation][=].extension[actor].valueCanonical = "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" @@ -39,6 +40,39 @@ RuleSet: obligation2Server(index, serverCode1, serverCode2) * ^extension[$obligation][{index}].extension[code][+].valueCode = #"{serverCode1}" * ^extension[$obligation][=].extension[code][+].valueCode = #"{serverCode2}" * ^extension[$obligation][=].extension[actor].valueCanonical = "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" +*/ + +RuleSet: obligationApp(index, appCode) +* ^extension[{index}].url = $obligation +* ^extension[=].extension[+].url = "code" +* ^extension[=].extension[=].valueCode = #"{appCode}" +* ^extension[=].extension[+].url = "actor" +* ^extension[=].extension[=].valueCanonical = "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + +RuleSet: obligation2App(index, appCode1, appCode2) +* ^extension[{index}].url = $obligation +* ^extension[=].extension[+].url = "code" +* ^extension[=].extension[=].valueCode = #"{appCode1}" +* ^extension[=].extension[+].url = "code" +* ^extension[=].extension[=].valueCode = #"{appCode2}" +* ^extension[=].extension[+].url = "actor" +* ^extension[=].extension[=].valueCanonical = "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + +RuleSet: obligationServer(index, serverCode) +* ^extension[{index}].url = $obligation +* ^extension[=].extension[+].url = "code" +* ^extension[=].extension[=].valueCode = #"{serverCode}" +* ^extension[=].extension[+].url = "actor" +* ^extension[=].extension[=].valueCanonical = "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + +RuleSet: obligation2Server(index, serverCode1, serverCode2) +* ^extension[{index}].url = $obligation +* ^extension[=].extension[+].url = "code" +* ^extension[=].extension[=].valueCode = #"{serverCode1}" +* ^extension[=].extension[+].url = "code" +* ^extension[=].extension[=].valueCode = #"{serverCode2}" +* ^extension[=].extension[+].url = "actor" +* ^extension[=].extension[=].valueCanonical = "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" Invariant: shc-heartrhythm-01 @@ -268,8 +302,8 @@ Title: "Smart Health Check Blood Pressure" Description: "This profile sets the minimum expectations for a Blood Pressure resource to record, search and save blood pressure information when used within Smart Health Checks." * status MS -* status insert obligation2Server (2, SHALL:populate, SHALL:process) -* status insert obligation2App (3, SHALL:populate, SHALL:process) +* status insert obligation2Server (3, SHALL:populate, SHALL:process) +* status insert obligation2App (4, SHALL:populate, SHALL:process) * category[VSCat] MS * category[VSCat] insert obligationServer (2, SHALL:process) * category[VSCat] insert obligationApp (3, SHALL:populate) @@ -301,8 +335,8 @@ Title: "Smart Health Check Smoking Status" Description: "This profile sets the minimum expectations for a Smoking Status resource to record, search and save smoking status information when used within Smart Health Checks." * status MS -* status insert obligation2Server (2, SHALL:populate, SHALL:process) -* status insert obligation2App (3, SHALL:populate, SHALL:process) +* status insert obligation2Server (3, SHALL:populate, SHALL:process) +* status insert obligation2App (4, SHALL:populate, SHALL:process) * category[socialHistory] MS * category[socialHistory] insert obligationServer (0, SHALL:process) * category[socialHistory] insert obligationApp (1, SHALL:populate) @@ -331,8 +365,8 @@ Title: "Smart Health Check Body Height" Description: "This profile sets the minimum expectations for a Body Height resource to record, search and save body height information when used within Smart Health Checks." * status MS -* status insert obligation2Server (2, SHALL:populate, SHALL:process) -* status insert obligation2App (3, SHALL:populate, SHALL:process) +* status insert obligation2Server (3, SHALL:populate, SHALL:process) +* status insert obligation2App (4, SHALL:populate, SHALL:process) * category[VSCat] MS * category[VSCat] insert obligationServer (2, SHALL:process) * category[VSCat] insert obligationApp (3, SHALL:populate) @@ -370,8 +404,8 @@ Title: "Smart Health Check Body Weight" Description: "This profile sets the minimum expectations for a Body Weight resource to record, search and save body weight information when used within Smart Health Checks." * status MS -* status insert obligation2Server (2, SHALL:populate, SHALL:process) -* status insert obligation2App (3, SHALL:populate, SHALL:process) +* status insert obligation2Server (3, SHALL:populate, SHALL:process) +* status insert obligation2App (4, SHALL:populate, SHALL:process) * category[VSCat] MS * category[VSCat] insert obligationServer (2, SHALL:process) * category[VSCat] insert obligationApp (3, SHALL:populate) @@ -448,8 +482,8 @@ Title: "Smart Health Check Waist Circumference" Description: "This profile sets the minimum expectations for a Waist Circumference resource to record, search and save waist circumference information when used within Smart Health Checks." * status MS -* status insert obligation2Server (2, SHALL:populate, SHALL:process) -* status insert obligation2App (3, SHALL:populate, SHALL:process) +* status insert obligation2Server (3, SHALL:populate, SHALL:process) +* status insert obligation2App (4, SHALL:populate, SHALL:process) * category[VSCat] MS * category[VSCat] insert obligationServer (2, SHALL:process) * category[VSCat] insert obligationApp (3, SHALL:populate) @@ -487,8 +521,8 @@ Title: "Smart Health Check Heart Rate" Description: "This profile sets the minimum expectations for a Heart Rate resource to record, search and save heart rate information when used within Smart Health Checks." * status MS -* status insert obligation2Server (2, SHALL:populate, SHALL:process) -* status insert obligation2App (3, SHALL:populate, SHALL:process) +* status insert obligation2Server (3, SHALL:populate, SHALL:process) +* status insert obligation2App (4, SHALL:populate, SHALL:process) * category[VSCat] MS * category[VSCat] insert obligationServer (2, SHALL:process) * category[VSCat] insert obligationApp (3, SHALL:populate) From 7587829c07453df141ab9cfad37e8b5b72b2b9b5 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Tue, 1 Jul 2025 14:33:28 +1000 Subject: [PATCH 109/177] Add back Observation _count support requirement --- ...AboriginalTorresStraitIslanderHealthCheck.json | 15 +++++++++++++++ ...CapabilityStatement-SmartFormsApplication.json | 15 +++++++++++++++ input/fsh/capability.fsh | 8 -------- 3 files changed, 30 insertions(+), 8 deletions(-) diff --git a/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json b/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json index 7252b839..0d7fcef7 100644 --- a/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json +++ b/fsh-generated/resources/CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.json @@ -554,6 +554,10 @@ "url": "required", "valueString": "code" }, + { + "url": "required", + "valueString": "_count" + }, { "url": "required", "valueString": "_sort" @@ -684,6 +688,17 @@ } ] }, + { + "name": "_count", + "type": "number", + "documentation": "The client and server **SHALL** support search result limiting.", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, { "name": "_sort", "type": "string", diff --git a/fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json b/fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json index 3b706ebb..5a921fba 100644 --- a/fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json +++ b/fsh-generated/resources/CapabilityStatement-SmartFormsApplication.json @@ -257,6 +257,10 @@ "url": "required", "valueString": "code" }, + { + "url": "required", + "valueString": "_count" + }, { "url": "required", "valueString": "_sort" @@ -297,6 +301,17 @@ "type": "token", "documentation": "The client **SHALL** provide at least a code value and **MAY** provide both the code and system values. \r\n\r\nThe server **SHALL** support both." }, + { + "name": "_count", + "type": "number", + "documentation": "The client and server **SHALL** support search result limiting.", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, { "name": "_sort", "type": "string", diff --git a/input/fsh/capability.fsh b/input/fsh/capability.fsh index a388a9c6..8c5fbaed 100644 --- a/input/fsh/capability.fsh +++ b/input/fsh/capability.fsh @@ -301,10 +301,8 @@ The client **SHALL** support this method." * rest.resource[=].extension[=].extension[=].valueString = "patient" * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "code" -/* * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "_count" -*/ * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "_sort" @@ -362,13 +360,11 @@ The server **SHALL** support both. " The server **SHALL** support both." * rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL -/* * rest.resource[=].searchParam[+].name = "_count" * rest.resource[=].searchParam[=].type = #number * rest.resource[=].searchParam[=].documentation = "The client and server **SHALL** support search result limiting." * rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL -*/ * rest.resource[=].searchParam[+].name = "_sort" * rest.resource[=].searchParam[=].type = #string * rest.resource[=].searchParam[=].documentation = "The client and server **SHALL** support search result sorting by date and **MAY** support other values." @@ -717,10 +713,8 @@ The client **SHALL** support this method." * rest.resource[=].extension[=].extension[=].valueString = "patient" * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "code" -/* * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "_count" -*/ * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "_sort" @@ -749,13 +743,11 @@ The server **SHALL** support both. " * rest.resource[=].searchParam[=].documentation = "The client **SHALL** provide at least a code value and **MAY** provide both the code and system values. The server **SHALL** support both." -/* * rest.resource[=].searchParam[+].name = "_count" * rest.resource[=].searchParam[=].type = #number * rest.resource[=].searchParam[=].documentation = "The client and server **SHALL** support search result limiting." * rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL -*/ * rest.resource[=].searchParam[+].name = "_sort" * rest.resource[=].searchParam[=].type = #string * rest.resource[=].searchParam[=].documentation = "The client and server **SHALL** support search result sorting by date and **MAY** support other values." From 67fc7602aeb9ccd5ab8a06fd3c13d26f3ba30aa2 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Tue, 1 Jul 2025 16:41:34 +1000 Subject: [PATCH 110/177] Fix completed QR prepop, enhance patch extract, update assembled Q --- .../Questionnaire-AboutTheHealthCheck.json | 4 +- ...estionnaire-AllergiesAdverseReactions.json | 38 ++++- .../Questionnaire-RegularMedications.json | 98 +++++++++--- input/fsh/715-AboutTheHealthCheck.fsh | 4 +- ...5-Assessment-AllergiesAdverseReactions.fsh | 6 +- .../fsh/715-Assessment-RegularMedications.fsh | 19 ++- input/fsh/extract-templates.fsh | 40 ++++- ...esStraitIslanderHealthCheck-assembled.json | 140 +++++++++++++++--- 8 files changed, 287 insertions(+), 62 deletions(-) diff --git a/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json b/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json index e8e4eab6..c7e71d68 100644 --- a/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json +++ b/fsh-generated/resources/Questionnaire-AboutTheHealthCheck.json @@ -152,13 +152,13 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%QuestionnaireResponseLatestCompleted.entry.resource.authored.toDate()" + "expression": "%QuestionnaireResponseLatestCompleted.entry.resource.authored" } } ], "linkId": "01418489-1ec4-4c3b-b96a-7c14c3e21cfe", "text": "Date of last completed health check", - "type": "date", + "type": "dateTime", "repeats": false }, { diff --git a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json index 17b69b0c..9a6ea365 100644 --- a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json +++ b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json @@ -241,13 +241,13 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%AllergyIntoleranceRepeat.note.text" + "expression": "%AllergyIntoleranceRepeat.note[0].text" } } ], "linkId": "allergysummary-comment", "text": "Comment", - "type": "string", + "type": "text", "repeats": false } ], @@ -317,7 +317,7 @@ { "linkId": "allergynew-comment", "text": "Comment", - "type": "string", + "type": "text", "repeats": false } ] @@ -507,6 +507,38 @@ "valueString": "Clinical status" } ] + }, + { + "name": "operation", + "part": [ + { + "name": "type", + "valueCode": "replace" + }, + { + "name": "path", + "valueString": "AllergyIntolerance.note[0].text" + }, + { + "name": "name", + "valueString": "text" + }, + { + "name": "value", + "_valueMarkdown": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "item.where(linkId='allergysummary-comment').answer.value.first()" + } + ] + } + }, + { + "name": "pathLabel", + "valueString": "Comment" + } + ] } ] } diff --git a/fsh-generated/resources/Questionnaire-RegularMedications.json b/fsh-generated/resources/Questionnaire-RegularMedications.json index 3172b76f..053b8127 100644 --- a/fsh-generated/resources/Questionnaire-RegularMedications.json +++ b/fsh-generated/resources/Questionnaire-RegularMedications.json @@ -11,6 +11,15 @@ }, "item": [ { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%age.exists()" + } + } + ], "item": [ { "extension": [ @@ -227,8 +236,8 @@ ], "linkId": "regularmedications-summary-current-dosage", "text": "Dosage", - "type": "string", - "repeats": true + "type": "text", + "repeats": false }, { "extension": [ @@ -270,8 +279,8 @@ ], "linkId": "regularmedications-summary-current-comment", "text": "Comment", - "type": "string", - "repeats": true + "type": "text", + "repeats": false } ], "linkId": "regularmedications-summary-current", @@ -319,8 +328,8 @@ { "linkId": "regularmedications-summary-new-dosage", "text": "Dosage", - "type": "string", - "repeats": true + "type": "text", + "repeats": false }, { "extension": [ @@ -345,7 +354,7 @@ { "linkId": "regularmedications-summary-new-comment", "text": "Comment", - "type": "string", + "type": "text", "repeats": false } ] @@ -493,17 +502,6 @@ } ], "linkId": "7dfe7c6a-ca7f-4ddf-9241-a7b918a9695a", - "_linkId": { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%age.exists()" - } - } - ] - }, "text": "Regular medications", "type": "group", "repeats": false @@ -813,6 +811,70 @@ "valueString": "Status" } ] + }, + { + "name": "operation", + "part": [ + { + "name": "type", + "valueCode": "replace" + }, + { + "name": "path", + "valueString": "MedicationStatement.note[0].text" + }, + { + "name": "name", + "valueString": "text" + }, + { + "name": "value", + "_valueMarkdown": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "item.where(linkId='regularmedications-summary-current-comment').answer.value.first()" + } + ] + } + }, + { + "name": "pathLabel", + "valueString": "Comment" + } + ] + }, + { + "name": "operation", + "part": [ + { + "name": "type", + "valueCode": "replace" + }, + { + "name": "path", + "valueString": "MedicationStatement.dosage[0].text" + }, + { + "name": "name", + "valueString": "text" + }, + { + "name": "value", + "_valueString": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "item.where(linkId='regularmedications-summary-current-dosage').answer.value.first()" + } + ] + } + }, + { + "name": "pathLabel", + "valueString": "Dosage" + } + ] } ] } diff --git a/input/fsh/715-AboutTheHealthCheck.fsh b/input/fsh/715-AboutTheHealthCheck.fsh index dcf63b77..9b64e72a 100644 --- a/input/fsh/715-AboutTheHealthCheck.fsh +++ b/input/fsh/715-AboutTheHealthCheck.fsh @@ -152,10 +152,10 @@ Description: "About The Health Check sub-questionnaire for Aboriginal and Torres * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath - * expression = "%QuestionnaireResponseLatestCompleted.entry.resource.authored.toDate()" + * expression = "%QuestionnaireResponseLatestCompleted.entry.resource.authored" * linkId = "01418489-1ec4-4c3b-b96a-7c14c3e21cfe" * text = "Date of last completed health check" - * type = #date + * type = #dateTime * repeats = false * item[+] * extension[sdc-questionnaire-initialExpression].valueExpression diff --git a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh index 68e2fa6c..e0a63932 100644 --- a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh +++ b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh @@ -174,10 +174,10 @@ Description: "Allergies/Adverse Reactions sub-questionnaire for Aboriginal and T // manifestation vs * item[=].item[=].item[=].item[=].answerValueSet = "http://snomed.info/sct/32506021000036107?fhir_vs=refset/142341000036103" * item[=].item[=].item[=].item[+].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression" * item[=].item[=].item[=].item[=].extension[=].valueExpression[+].language = #text/fhirpath -* item[=].item[=].item[=].item[=].extension[=].valueExpression[=].expression = "%AllergyIntoleranceRepeat.note.text" +* item[=].item[=].item[=].item[=].extension[=].valueExpression[=].expression = "%AllergyIntoleranceRepeat.note[0].text" * item[=].item[=].item[=].item[=].linkId = "allergysummary-comment" * item[=].item[=].item[=].item[=].text = "Comment" -* item[=].item[=].item[=].item[=].type = #string +* item[=].item[=].item[=].item[=].type = #text * item[=].item[=].item[=].item[=].repeats = false //new adverse reactions @@ -205,7 +205,7 @@ Description: "Allergies/Adverse Reactions sub-questionnaire for Aboriginal and T // manifestation vs * item[=].item[=].item[=].item[=].answerValueSet = "http://snomed.info/sct/32506021000036107?fhir_vs=refset/142341000036103" * item[=].item[=].item[=].item[+].linkId = "allergynew-comment" * item[=].item[=].item[=].item[=].text = "Comment" -* item[=].item[=].item[=].item[=].type = #string +* item[=].item[=].item[=].item[=].type = #text * item[=].item[=].item[=].item[=].repeats = false * item[=].item[+].linkId = "3e689aeb-69a1-4a9b-93bd-50377511dd9b" diff --git a/input/fsh/715-Assessment-RegularMedications.fsh b/input/fsh/715-Assessment-RegularMedications.fsh index 9ebe1f99..298232a7 100644 --- a/input/fsh/715-Assessment-RegularMedications.fsh +++ b/input/fsh/715-Assessment-RegularMedications.fsh @@ -64,9 +64,8 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * jurisdiction.coding = urn:iso:std:iso:3166#AU * item.linkId = "7dfe7c6a-ca7f-4ddf-9241-a7b918a9695a" - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression - * language = #text/fhirpath - * expression = "%age.exists()" +* item.extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression.language = #text/fhirpath +* item.extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression.expression = "%age.exists()" * item.text = "Regular medications" * item.type = #group * item.repeats = false @@ -188,8 +187,8 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * item.item[=].item[=].item[=].extension[=].valueExpression[=].expression = "%MedicationStatementRepeat.dosage.text" * item.item[=].item[=].item[=].linkId = "regularmedications-summary-current-dosage" * item.item[=].item[=].item[=].text = "Dosage" -* item.item[=].item[=].item[=].type = #string -* item.item[=].item[=].item[=].repeats = true +* item.item[=].item[=].item[=].type = #text +* item.item[=].item[=].item[=].repeats = false * item.item[=].item[=].item[+].extension[+].url = "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl" * item.item[=].item[=].item[=].extension[=].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#autocomplete @@ -208,8 +207,8 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * item.item[=].item[=].item[=].extension[=].valueExpression[=].expression = "%MedicationStatementRepeat.note.text" * item.item[=].item[=].item[=].linkId = "regularmedications-summary-current-comment" * item.item[=].item[=].item[=].text = "Comment" -* item.item[=].item[=].item[=].type = #string -* item.item[=].item[=].item[=].repeats = true +* item.item[=].item[=].item[=].type = #text +* item.item[=].item[=].item[=].repeats = false // New medications * item.item[=].item[+].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract" @@ -228,8 +227,8 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * item.item[=].item[=].item[+].linkId = "regularmedications-summary-new-dosage" * item.item[=].item[=].item[=].text = "Dosage" -* item.item[=].item[=].item[=].type = #string -* item.item[=].item[=].item[=].repeats = true +* item.item[=].item[=].item[=].type = #text +* item.item[=].item[=].item[=].repeats = false * item.item[=].item[=].item[+].extension.url = "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl" * item.item[=].item[=].item[=].extension.valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#autocomplete @@ -241,7 +240,7 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * item.item[=].item[=].item[+].linkId = "regularmedications-summary-new-comment" * item.item[=].item[=].item[=].text = "Comment" -* item.item[=].item[=].item[=].type = #string +* item.item[=].item[=].item[=].type = #text * item.item[=].item[=].item[=].repeats = false * item.item[+].extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression.language = #text/fhirpath diff --git a/input/fsh/extract-templates.fsh b/input/fsh/extract-templates.fsh index db68385d..ff3fbfad 100644 --- a/input/fsh/extract-templates.fsh +++ b/input/fsh/extract-templates.fsh @@ -233,6 +233,18 @@ Usage: #inline * parameter[=].part[=].valueCodeableConcept.coding.extension[=].valueString = "item.where(linkId='allergysummary-status').answer.value.first()" * parameter[=].part[+].name = "pathLabel" * parameter[=].part[=].valueString = "Clinical status" +* parameter[+].name = "operation" +* parameter[=].part[+].name = "type" +* parameter[=].part[=].valueCode = #replace +* parameter[=].part[+].name = "path" +* parameter[=].part[=].valueString = "AllergyIntolerance.note[0].text" +* parameter[=].part[+].name = "name" +* parameter[=].part[=].valueString = "text" +* parameter[=].part[+].name = "value" +* parameter[=].part[=].valueMarkdown.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* parameter[=].part[=].valueMarkdown.extension[=].valueString = "item.where(linkId='allergysummary-comment').answer.value.first()" +* parameter[=].part[+].name = "pathLabel" +* parameter[=].part[=].valueString = "Comment" Instance: ImmunizationTemplate InstanceOf: $au-core-immunization @@ -345,4 +357,30 @@ Usage: #inline * parameter[=].part[=].valueCode.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * parameter[=].part[=].valueCode.extension[=].valueString = "item.where(linkId='regularmedications-summary-current-status').answer.value.code" * parameter[=].part[+].name = "pathLabel" -* parameter[=].part[=].valueString = "Status" \ No newline at end of file +* parameter[=].part[=].valueString = "Status" +* parameter[+].name = "operation" +* parameter[=].part[+].name = "type" +* parameter[=].part[=].valueCode = #replace +* parameter[=].part[+].name = "path" +* parameter[=].part[=].valueString = "MedicationStatement.note[0].text" +* parameter[=].part[+].name = "name" +* parameter[=].part[=].valueString = "text" +* parameter[=].part[+].name = "value" +* parameter[=].part[=].valueMarkdown.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* parameter[=].part[=].valueMarkdown.extension[=].valueString = "item.where(linkId='regularmedications-summary-current-comment').answer.value.first()" +* parameter[=].part[+].name = "pathLabel" +* parameter[=].part[=].valueString = "Comment" +* parameter[+].name = "operation" +* parameter[=].part[+].name = "type" +* parameter[=].part[=].valueCode = #replace +* parameter[=].part[+].name = "path" +* parameter[=].part[=].valueString = "MedicationStatement.dosage[0].text" +* parameter[=].part[+].name = "name" +* parameter[=].part[=].valueString = "text" +* parameter[=].part[+].name = "value" +* parameter[=].part[=].valueString.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" +* parameter[=].part[=].valueString.extension[=].valueString = "item.where(linkId='regularmedications-summary-current-dosage').answer.value.first()" +* parameter[=].part[+].name = "pathLabel" +* parameter[=].part[=].valueString = "Dosage" + + diff --git a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json index bc2378c2..2979f5a7 100644 --- a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json +++ b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json @@ -1501,6 +1501,70 @@ "valueString": "Status" } ] + }, + { + "name": "operation", + "part": [ + { + "name": "type", + "valueCode": "replace" + }, + { + "name": "path", + "valueString": "MedicationStatement.note[0].text" + }, + { + "name": "name", + "valueString": "text" + }, + { + "name": "value", + "_valueMarkdown": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "item.where(linkId='regularmedications-summary-current-comment').answer.value.first()" + } + ] + } + }, + { + "name": "pathLabel", + "valueString": "Comment" + } + ] + }, + { + "name": "operation", + "part": [ + { + "name": "type", + "valueCode": "replace" + }, + { + "name": "path", + "valueString": "MedicationStatement.dosage[0].text" + }, + { + "name": "name", + "valueString": "text" + }, + { + "name": "value", + "_valueString": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "item.where(linkId='regularmedications-summary-current-dosage').answer.value.first()" + } + ] + } + }, + { + "name": "pathLabel", + "valueString": "Dosage" + } + ] } ] }, @@ -1638,6 +1702,38 @@ "valueString": "Clinical status" } ] + }, + { + "name": "operation", + "part": [ + { + "name": "type", + "valueCode": "replace" + }, + { + "name": "path", + "valueString": "AllergyIntolerance.note[0].text" + }, + { + "name": "name", + "valueString": "text" + }, + { + "name": "value", + "_valueMarkdown": { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", + "valueString": "item.where(linkId='allergysummary-comment').answer.value.first()" + } + ] + } + }, + { + "name": "pathLabel", + "valueString": "Comment" + } + ] } ] }, @@ -3653,13 +3749,13 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%QuestionnaireResponseLatestCompleted.entry.resource.authored.toDate()" + "expression": "%QuestionnaireResponseLatestCompleted.entry.resource.authored" } } ], "linkId": "01418489-1ec4-4c3b-b96a-7c14c3e21cfe", "text": "Date of last completed health check", - "type": "date", + "type": "dateTime", "repeats": false }, { @@ -6190,18 +6286,16 @@ ] }, { - "linkId": "7dfe7c6a-ca7f-4ddf-9241-a7b918a9695a", - "_linkId": { - "extension": [ - { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", - "valueExpression": { - "language": "text/fhirpath", - "expression": "%age.exists()" - } + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%age.exists()" } - ] - }, + } + ], + "linkId": "7dfe7c6a-ca7f-4ddf-9241-a7b918a9695a", "text": "Regular medications", "type": "group", "repeats": false, @@ -6436,8 +6530,8 @@ ], "linkId": "regularmedications-summary-current-dosage", "text": "Dosage", - "type": "string", - "repeats": true + "type": "text", + "repeats": false }, { "extension": [ @@ -6479,8 +6573,8 @@ ], "linkId": "regularmedications-summary-current-comment", "text": "Comment", - "type": "string", - "repeats": true + "type": "text", + "repeats": false } ] }, @@ -6525,8 +6619,8 @@ { "linkId": "regularmedications-summary-new-dosage", "text": "Dosage", - "type": "string", - "repeats": true + "type": "text", + "repeats": false }, { "extension": [ @@ -6551,7 +6645,7 @@ { "linkId": "regularmedications-summary-new-comment", "text": "Comment", - "type": "string", + "type": "text", "repeats": false } ] @@ -6936,13 +7030,13 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%AllergyIntoleranceRepeat.note.text" + "expression": "%AllergyIntoleranceRepeat.note[0].text" } } ], "linkId": "allergysummary-comment", "text": "Comment", - "type": "string", + "type": "text", "repeats": false } ] @@ -7009,7 +7103,7 @@ { "linkId": "allergynew-comment", "text": "Comment", - "type": "string", + "type": "text", "repeats": false } ] From c423180283c668835fd680fd34507451135fa2de Mon Sep 17 00:00:00 2001 From: Heath Frankel Date: Thu, 3 Jul 2025 20:04:24 +0930 Subject: [PATCH 111/177] Added Actor interaction requirements and general requirements --- input/fsh/actors.fsh | 55 ++++++++-- input/images/launchinteractions.png | Bin 190135 -> 67153 bytes .../ActorDefinition-SHCApp-notes.md | 5 + ...nition-SHCHostAuthorizationServer-notes.md | 16 +++ ...ActorDefinition-SHCHostFHIRServer-notes.md | 22 ++++ input/pagecontent/general-requirements.md | 98 ++++++++++++++++++ input/pagecontent/index.md | 49 ++++++++- sushi-config.yaml | 3 +- 8 files changed, 238 insertions(+), 10 deletions(-) create mode 100644 input/intro-notes/ActorDefinition-SHCApp-notes.md create mode 100644 input/intro-notes/ActorDefinition-SHCHostAuthorizationServer-notes.md create mode 100644 input/intro-notes/ActorDefinition-SHCHostFHIRServer-notes.md create mode 100644 input/pagecontent/general-requirements.md diff --git a/input/fsh/actors.fsh b/input/fsh/actors.fsh index d28ec22e..9118a8ef 100644 --- a/input/fsh/actors.fsh +++ b/input/fsh/actors.fsh @@ -1,27 +1,49 @@ Instance: SHCApp InstanceOf: ActorDefinition Usage: #definition -Description: "The SHC App allows a user of the SHC Host to launch the SHC App for filling out a health check form prepopulated with a authorized patient health information retrieved from the SHC Host FHIR Server and writeback the collected form data." +Description: "The SHC App is a system that a SHC Host can launch allowing a user to fill out a health check form, prepopulated with patient health information retrieved from the SHC Host FHIR Server, and writeback data collected in the form." * name = "SHCApp" * title = "SHC App" * status = #draft * experimental = false * type = #system -* documentation = "SHC App" +* documentation = """The Smart Health Checks (SHC) App: +- **SHALL** accept [App Launch](https://hl7.org/fhir/smart-app-launch/app-launch.html#launch-app-ehr-launch) request +- **SHALL** invoke [SMART Authorization Configuration](https://hl7.org/fhir/smart-app-launch/app-launch.html#retrieve-well-knownsmart-configuration) request +- **SHALL** redirect to [Authorization Request](https://hl7.org/fhir/smart-app-launch/app-launch.html#obtain-authorization-code) +- **SHALL** accept Authorization Callback request +- **SHALL** invoke [Token Request](https://hl7.org/fhir/smart-app-launch/app-launch.html#obtain-access-token) +- **SHALL** authorise FHIR API requests using Bearer access token per [SMART APP Launch Access FHIR API](https://hl7.org/fhir/smart-app-launch/app-launch.html#access-fhir-api) +- **SHALL** invoke read Practitioner request +- **SHALL** invoke read Patient request +- **SHALL** invoke search QuestionnaireResponse request +- **SHALL** invoke read QuestionnaireResponse request +- **SHALL** invoke create and update QuestionnaireResponse request +- **SHALL** invoke search and read requests for resources required by this IG to pre-populate questionnaire response +- **SHALL** invoke create and patch requests in a transaction Bundle for resources required by this IG +""" * capabilities = "https://smartforms.csiro.au/ig/CapabilityStatement/SmartFormsApplication" Instance: SHCHost InstanceOf: ActorDefinition Usage: #definition -Description: "The SHC Host allows a user to launch the SHC App within an embedded or externally launched web browser to fill out a health check form." +Description: "The SHC Host is a system that allows a user to launch the SHC App within an embedded or externally launched web browser to fill out a health check form." * name = "SHCHost" * title = "SHC Host" * status = #draft * experimental = false * type = #system -* documentation = "SHC Host" +* documentation = """The SHC Host: +- **SHALL** initiate [App Launch](https://hl7.org/fhir/smart-app-launch/app-launch.html#launch-app-ehr-launch) request +- **SHALL** support App launch context elements including: + - patient + - fhirUser + - fhirContext with following items: + - canonical: https://hl7.org/fhir/Questionnaire/example123, role: https://hl7.org/fhir/Questionnaire + - ... +""" Instance: SHCHostAuthorizationServer InstanceOf: ActorDefinition @@ -33,7 +55,18 @@ Description: "The SHC Host Authorization Server allows the SHC App to request au * status = #draft * experimental = false * type = #system -* documentation = "SHC Host Authorization Server" +* documentation = """The SHC Host Authorization Server: +- **SHALL** respond to [Authorization Request](https://hl7.org/fhir/smart-app-launch/app-launch.html#obtain-authorization-code) +- **SHALL** respond to [Token Request](https://hl7.org/fhir/smart-app-launch/app-launch.html#obtain-access-token) +- **SHALL** support SMART App Launch scopes: + - openid fhirUser + - launch + - user/Practitioner.r + - patient/Patient.r + - patient/*.rs + - user/QuestionnaireResponse.crus + - ... +""" Instance: SHCHostFHIRServer InstanceOf: ActorDefinition @@ -45,5 +78,15 @@ Description: "The SHC Host FHIR Server allows the SHC App to retrieve patient he * status = #draft * experimental = false * type = #system -* documentation = "SHC Host FHIR Server" +* documentation = """The SHC Host FHIR Server: +- **SHALL** respond to [SMART Authorization Configuration`](https://hl7.org/fhir/smart-app-launch/app-launch.html#retrieve-well-knownsmart-configuration) request +- **SHALL** authorise FHIR API requests using Bearer access token per [SMART APP Launch Access FHIR API](https://hl7.org/fhir/smart-app-launch/app-launch.html#access-fhir-api) +- **SHALL** respond to read Practitioner request +- **SHALL** respond to read Patient request +- **SHALL** respond to search QuestionnaireResponse request +- **SHALL** respond to read QuestionnaireResponse request +- **SHALL** respond to create and update QuestionnaireResponse requests +- **SHALL** respond to search and read requests for resources required by this IG +- **SHALL** respond to create and patch requests in a transaction Bundle for resources required by this IG +""" * capabilities = "https://smartforms.csiro.au/ig/CapabilityStatement/SFLauncherServerAboriginalTorresStraitIslanderHealthCheck" \ No newline at end of file diff --git a/input/images/launchinteractions.png b/input/images/launchinteractions.png index 92ff7cad3cd6a7b7e94ab38f70a87b94c244b303..8f942ed380a46d37ae75ae5de2c9fafaffb83411 100644 GIT binary patch literal 67153 zcmbTdWmuG5-#ttzqtpyYcXxw?Lk%UVfJ(QNC`b<=J;2Z@sVI#~H%NDf0n!aBHGqIf z{Wo6M{XF;c<^Av;hal*jGrRX%>$g_KeQi~un>07Eu&{{K?keeGVc{5ouLqFp;9rJy z&>7$_Y&Tt11Xk$?-4E~!o}Gf00v1+99Ko68HSqh5=XVX=u&{_bufDK*or@l0VO{2{ zDJeWanr*$tufL@{(K<;~n(5VgK5KgHR#jU1Cta9{Cx0q)rt3@Ap7PxK zW+{8|+ggy_J6rp_cm3N(uQJ01*Ziplx5Ct%JdwX`VB@JKZOagM94e`sf07~QU_~S0 z^pr=x^r_F`Pn(wC%LL9bLrs?#r?y91Q!K$L0;W$W_zV`$T^(Lv+VR(a6uvo1VJRZ5_j9+M zS*hL0t*LU$5bvWYyJmKF>ieMAlpFqzuS-0tJtc0WyfNgp+@>*%e4bn5no!okSS(&X z@!3etaiOlj1bwpvPsn*5u2*!Q`QT*ZP1HCPj%mZS-JB@dKkbR3RmLoO2XX5aq`|%S z)5v)rr9GReP1nl2t@h`~=R%vt@@<`RVZ4$w9tJAeznm=kvYg?)B#5`9WyH<=KW@zGiF^=e-Qyod(r` zkh&<#OVA~;nL6iGYiYOj=wj7o-O=KZ#Z}4vRFR2yda5JjHn;;C-m@-#zn8)jDc8I& zPB!wh`lH;!?>};7BsYpo6i2_CnxHXqw2hhaBQQFBT|+(b3KJ|ck)qP#&lxAqQMhSQ zl2MaB;bVN7AkHod76}%STZL739&_*fivumaatj3*eXdH3NDPg*NC-a3?Uy_cMI0wf z$pwc@z2?|wVi@J-qiH3y@l-;t6KTGY_0x=^;D7A5@3Y^}*{!GOGoGWYjAE|7_}wcP zDKVrlX;J4irx}EEjWB7VBjDnIQLpx?p4eC6%r)|gHDzH@kIo=gy$QyZmClichl)WOG%;6Wk%7yje%&0n| zGSZyz{kmr}k5Kl#vGiIWJ-0Pa_Sc5(-uQ8J0fpFnbon}b66%fb7jjNRQ<%9k`8ZVkd7^@1^2yKjHg^H&1>G#~Yj8t=fLmGD! zj<>kugl1z8=I1Q|6N685XksP8m;kVAx_!f*J1n#`JA8fray80=ImUovBL5>%9BB>| z7FJi_{^OG^*vge8vWAq*sJp8MTqHA#!wS)huN4=WXEClWd}tn&Q38vylEHF2&%^i0 z$V8~(7A^@b%X^!_6x{;t*U}Mv)^{e9@6+G$)KsEB48QwxvdlcpZn#~VP7sHz{jN;q z2-qgdub3b8hg32Xb00(rws5gT|Dly~&4Wl!C`#(Kx?j^TGc(=KC%$_Ly0i*sJ(~AB zHdRwqTHe!jrTn|Bp;?q5PNNuIN4pE|UMnEM^vP?g0x%SM)Llm^9tZV@`yU1cu|^qqd4X z*YSkkN7iB5mSAqt^miUL>94w7o*zd^pcnQmnA4!VklT$IE?kE;VI6JML$K-B(qM|n zuA(~=-Mpa~MLZWm^t~qCQVnwGbN72V9$J*!og{KkQv}Tg=HimW-4Ol|c6bb0@JP*+ z*_~U?>edqSU|1q*GSY*Kq&Iw$D2UL#Zuum49v1M56&|d%q}#|)g#-#K%l(*F%#jcu)q2?HP)P(Eb2Y|($?zcLx#FuzBBokQn2YRh zZ7<$EhpyQ1m;Ei0W3?*n*S{ba*Q1A~ug@n$#e|U6BWPpq+ut@|f5Y zYZTOIYtSPC#ulr3-I+9tUI};dx_1@hzA~Db4|-4AJ|RqqEtas1vV%YYWzp3s=J1IP z_7Yjjg*%sl=4pE1?zhZObNgu;9f_4-${3=a3HiO0Ei8H)de?n;9Q`MhVlE#-2RB82 zz@Vfcwu~}9)yU%_Yr@gDnQHU&wOetvl}Yy68InympTwi+7^XIB7qgvV(L` z-Cjq6r~2Q^q01iT>`^AZT=~an)0QYmS%O*EC{}%9LZu}#+%c#oym)Deg)6I6C1$)4 zdUY@&{&HV9}PwWAeMxM@#af9(9`;>3y8iEFE<6j;mNf(Ym{EZ1^5igh(HPfH5u>u;rU zi%nNMBnkhCKPz%O+8Cic`J}8tk3FyA@0BaqKf0addjGZ(ZEwfz9fOy%ilHevkB9G- zj6Xx)HL@YfKIC<5t)1wc)|#NZR!kJ};(Wxb-~o6BkZe4WQ%du|a*E)+o+c zCn>n8Hd`1G+yYs6#wz;qi#&KUt_Y>jl*HV{W@}<@mAP?K>PHw?7+qN&!+&rWz=8jt z2+;6=))BAe4#f4cO1$9t{a}TwH|37G$*$-S-!a0WM@}?oYCiR zr3C-=Ajfp>A({Jj{u zO!u-nlqWEc_C`8gC;T7Bc!3My_7u%LuL{flzJn5_#FwfG=o1NJTD##(Go>}!|3T%+ zQ3o21Cnd0N{}}^W?1wjmr&w8Vs#-(|8j= zx=$89W%>N%{#xF3?q!&wbN@el{SMzUahBd z`b|%W769URa5j(&_`c>xe~f%n1sx~kkCSkfyI9-aQIdej6M1k0P`JgfZN z3t?(W9O<^h8QvQ0m9A^*dKFg6&Oc@jz*wXKb`)9fvt2W(nJQqaWYPXsAw=_+_=EcA zmIrSx&w5|U1>v75cHu8ARYxo$D8FI6l>m$dd4eJ@*XL_;Mh=R{2nDat5*;onjpfia(>0Enqq3(%F97~`ef_Y+=qsN=xx5mkM<}$@ zg!;SZ_Lp}_SJ2b&qi4w!II|nhk7n}k{P^|bbEP(vX6@Q1P%o_VI)LE@jwjhm%p zIw7fLfD3;*jIfIpVClLMP>SKJxCASBKvrsGs>)7d_A^-D0&_6{5Qv+<*b7ZPs8bDn zBndwC71�uPBVJowN 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 z zu3jK`0~RP?zW5f(8w>kr78lc@7K-KkCTFm4xX`Skq+_T``R?{FC<~3dVnY;3d4=CjQy?cXv zf47|OX#7ZD`r+E;wi3QmV$i-~i5;Yfo=hl1K&>;%TE(84N02Fs$CCAU4l?(@eki~P#UA!&D2fVpcf+F4-tWY& zrfTnOAv}%MP^^nz1`d`Y16q{KSv>}=b~aDLff_0i?KD<=G+Ir1WGL}@`r#7?$NUl( zddWLao<-Iem&CA8i11ReJ5K6kuK};ENnYp}OWK5)#Cn1%gAPH0%+WV%;m==59k1QI z74OS4;oNWUHRnP3tmB5GU{QX_cICQK%0jKdOd*07BpZX-`B4Q(3|9KF? zPwzn`P#>ONL>d=DDuC=JW+-`}pi0k^qFORs8@AXOjK|3O(B1}=`^y0wCB5z@-f&Ws zjFG?Z{cG0Z3L1BJu;s}`ylBQEH`4j%%>749Oa`uAa$utU53-u~@cQ|MTTuB1LDQzt z%N+oZ)o&M#MFQ>q?;GPBV`PqJlRk-da`N7jJFjk{6@Ca-+hb6Y;rd_n2%N7906q4B zP~&6iVyA!A1kq z&&)DCrT)*@J_q|$j7k=jXC%~=_~+Y3Kcr0SBi#dgWl;Y8cfZzybmPzQo6J`U3E;mz zP6@UIl&(M_`8nbaDf59nU8Uhm$a-_%eNHG5`h3A0#O?J;jKmFFL1@($pqh1{ zJyUPC1EG7U!n#-FXR-oQ9>}}40RQj+BeBxj$K4j*Ru^-N)wS4kchvY5{)(lOVwu6Q zii3kJGUwnHt@TWt+y#i+u1Z<=5ccD{D4cl9N-L<*-=6>>i@PbNO$;_b1|wmMd2z5d z$a%6gU86C8lN_i2M2A>ku2fsfwr=Rey=;EDsiK*e^KkN=9_PC#P==COk+xjenpBWY zP7o^tuEuL17XNp*6EaltRCnOVTP+Zo=8z)w8kRPs6u`zdY7QyM7Akqc^=vA1T z?b05Td<86jZBC9xGsqZy0;yCdK=fD_CU!zxULMkoGZ9UJhcy^zOM z?~HD1Vy5wKCfVA5Y*>r=O1I%x!@ z3wD)gIb4%Mu`UQM>RP!o&7aqIywq1l52K4*_Z}ftrF2Ds}YnZus5cj`{%c2L_}i_A@R?8vt}O_9C~+O-QDDc zm!XZFv|-0FBDgb5c(52G!;g{N3)q7%*jb8;O)f+g{AT>}_Y<$+vM8uUs3|^J!d9&Q z^jh;Zh+L#0MPX?#?C2*$?`Dk<)B=kKto{|5Zx*;+|Fdy{0CLf=AFtnWZO&ta42Fla zgF=wvn5IRY<+GLa{V0KDS4{F4k?Jw~Jb#m5m(e(MB_>8r1rXCxeu||q3#T=ShTRvyqlkeAZ6pV&(3joF;%poPX(qWY+}4$T z1f={P&C}S3ZI~B26xLmx;VWr}+FqopZVUMr!bD6owYDXjELo-=xiD0@#ccmdHStgO8Sy|EGS_U1at)y=jUCk+-vq5mP7-)9pw&FK9o`#t zU|67;P8dg#6X^l1Lo1-@5OJ5 z&^YS#aaX9^)(~uFnYWoU%JY2?ncPIk6~F62Y;*h#jGcx=2qxNq!cRyF5EE z6HtNkqVZ6$j-VdKKK!LMCAJue;6BF3TBc*@gUk@=w?VzQVfZ%`LhBKCbvR;gV57Z& zdqL~}v31_@R5tD(&xj-I9F@He3E5KCku9R3o@B4GQf6|LO&og`${wXBvx!dTiHwkB zME1(2kc@uUt@=GZ-|zRIuh+MS<946>-1l{TuFvOvu~}2qgm>>I)9hxgrE?7{b4iz= zq^TurPPyguUt4p%f`2STyP@^wj2(fot0w35^VtlW>EQWJc-lvFqq3;Hj}yLS9s8DW z?y0>#8>dP-;iUD!hq}wPL0aol8myC4RzZ^20;z{X?bYb8D2zs8f}C8(646zB=`nQZ zrzn}Y#aVblLSsj@P$NbfPxTq5_vnX6+F4Rec15A{(lObcSewz*4lajcia$>+G9B}0XHrwEl-s7cFjc$8pg;xANO2#TQBun_G}pc@%G0jMz2!($+{nkgE|jH zhgNA40|vJo#QjLjeBtw&IAgp(fVbRWV$@uk{364$;(9qw-n>POqCwBB#Cb?|Ep4mM z=8wM)xh+>YCBKN5n^LIli{Fp8Sk%%~9}NyAI2{ytRWoy(MLe6!D!vaYGNJ#f$P9yq z>&QOYU1PM_ZDvb4D$h!z-Q5AP%ePMqMx1Kt0>(j}>a#B{SGX*1hfK)R)&~8QC!FQ4 zuF4GVcjyq07(Vn=8q9~k3cTcGI$4_RcsaE3Hrt0B?9ouU1F{kyV0@v7F>FQQ5Bdrf zX!R$FP0Bc)n0CAU%)$cfFj=?Reo3Vrsk6b%0ZV?HqdYbrDK}cmstF5C8Onb4b44%b zvr`w0O&;85u8YoZZvvav&nkdCo#xVcCf(~`m*SFs9BK6W$JYnSHU!Z~2Qt)UhDXD3 zPsUSi<{B1{8?}y5p$M=X?G6?u9=KpCZ_6fXQKdL5zpn?9?N-Q2?qz^fbgN{Q6 z`oBL~1h1HTKa|{0Si=wG%Ky=qR4cU*_1Nh$@X!x9ME|R!IsAjk-9b1E=`kk$DcO-1 z{?|V+)h~@Uyj}k?38*6ITF!QWp!`SoQe;t832Hp_U?;-A=q?-<`B!N#=R81!zK9%t zyYQ)#j;TKy3Vbqx;Y|Ed{wI5mIY@esK-ZKjSM_Z5v?I~bJO0^bm#^(x=n;N(Ir_*| z&;`O4!ma@W$i=n!Pfuyy!}wbuO4aoC<5daAPX$U>=Jq&J{LwSkBZ#4ergO-p;0TIm z{V~szAdVuuA)BLqt$o03IuI2?uv><>x07vas<1kmU)YlE^E>m%cyBD|Rn!WV?zk_*b6 zP6w!jwumf=gm7p2?6}e+2Mrw^3L~B=7S>o4JS)}uSa`s&=t){$-vz) zbPg+pTP!rtJ;xbzf0TeEq*IhkMXT?Lz`Xn;9e*2bNYUIG>C%2=J$J~F5Yu69yxUQ^ zWL3!#e@lBb!KPz9O@@-LuT*J0R;#kww};0;Q@e!sh7gNG;$9)yalxojvgnx615u+? z(*fUkqrL|W8s!XV=Wq}E73f#xemWU=>&8{bxg(CDg;9^6{}Km&&0V_xKCi3AeJE`F zY;YIcY3(aK7o4CfPQpHg)VP2HEwktwv@!I+Nl#x#urxnMiOnl@0B`G%1F8_*BRU@; zwt9d*>xl0rUdQCsjc2*or|G`m9dzm*QK7`lwN8CRo{aFlK>pGG2->f}92kgfr`ogJ zObeVdJYZDpzi9jI7Bju`1;-b0mgNJ+H-WSzpXHJBEINIO>syqEVKv z-lmT{Iwk!Vqn0mc;SDV4W8&EP4%)E3w_rsHkU;``1+z*f8 ztCVBz`4{k22fjXouWS;9@ka!oHhDRCD`dT1$StkhYdoe7)P|i?i&9dt*B9>)5D1L`|?O|7pvpU9~U-g78Hy) zOQe01(A3%Y(IY>XM!7WPTh2^L=#k)i*SYGUY5%2eNDeUK*iKkOITV379bR0+LP!1H z5-*TaL!otHO3yK&@SWIaqA%RQe#90YNzcZ%OWA%0{UF>Ltxv1|LU9 zdJxy-AGfYYfQibfOLVD0DQnH{O#c3@-wY!OG-Pm>^W$t_|V%> zfw7`JuMY``3$Oo&xC3)VWr)$jJx=Z5sZ{&R-9>Z%>j15|EqVMlOA&nr+SgB}1;aW= z|EMBuX_l((DU<-$Yr-vZo);s5pe!=S!7N_wM^IS_GB@_*=8EJA0h zi2xTc4`*Tq>H88Wv@`$nm5|vTkRxuuuk3+Hx7X*qB;tpMR563V1j3$;`Lcc zFrs}qn^@v9LZVr^{J-8zWcCB-K0Lg9GN8m9dLQTgw-g1M7thUEDP$6hjJm*^wf1w& z`5(F+h;c25Y?3ErH4FniTj;HSTKfKw*bq&SptVtO4-GuSrrrNM>GlcadBLPA<-}O# zRoVJSyKR4rKEuLw^Go$BJTL})gFE6cVBVPmN6|D17{c+b8?MMT;|@GKwz;)ly9}>~ zOM7Ryi9J4_C&8c;IrBlW;B?Ap!05);_orXw>4y5~zeu_v>f5sllb=L)wbAW&$9cS} z#<)wH-pWtj4GUS0Kc(bz&#{Ja!_G-&c{SlYTjCfgeNvHl^uYfAzs7F|Bksw4V#b~O zL=D>$#m$TZo4|zUrxRrZhBJWh;VyO+TR5ltZF@ zFyFi>%wh+)0k>BC19JmjPS5}~k>vK_>$8SW@JrSUNxDJQcDTM-h@Ce1L9iO6h_B5| z4u~S!2#m1Q1aKra%Nqlft_T$g8DN!zY*Eo(qm`_(PN^tmtQ@WiIRzN475V+x_$Is$UP9TS=g>je~8yoSF4=Oz+qeyX|kjN zI)Dj##<;fx3_nqTKd=zgzmehLo*t@z8KS$4HEzhO zeD$7lrSM3!&&&Ebkg(YJ=;PFU%2U3sn*ub1liDLXU-WFQ_Wknk*oeaNxe=tZ`wlUCt*#x2byt<+gC9o>|7;&!+^AaZh|Q-^M@k0*^+;w>(zU6z%?n-XHA7402tck9$(f7H38s42N>h0N0 z-Yq>omYl8mG)E(hiEV8L3W9OD9>&Rxi!SNsmxmN>CMt(gA4^a>m@X8Irb}^Bbc>Di zDW~TU#9pTDDctvSC~!gzpLqe;IAEAK&OYSu{(cHFWGfk#-40`5m(gZF%g)DLdGfBz z4)(-z!0SN@pe|)vz+5M@GrGSUDmX$_Ds^q@j03Cv0sAvO&q0Y^*2#&YE(Eh3n|TI! z7<7$+a;70u;#UB#|Cmu3f7)=Nd@}to$lnPv+|y&HgVZm!gL33mHt61_G@_HKxBt*z z=y%mso=s03yT#v^xn6w#($l$@vH8nnn=CT3{H{Xh(z+ys?ZE3S2QeNK@~BxLCgQ;M*+sa4Ki4e!9u?uckU>FmC*yk_Ff9w5OA;G*93Ym4UX+>r)n`oaqoLNtEOtCYCqtqmc8$Z>?sUefkFDJOL*LtI+ zmznG}%s`lz_PQ@8(J8fZt7Is-{2(%-pA4wTNnc_G1^E1QjhSNNJ(~^(7Yuu1D8{>! z!$ZeMBM3DtSAIum?@Ft$(V)a#PP~n%gQr+4)TIdXaGOL62Jb zi(IWr9t}R4>qZ&N=fvmPf)8Fzus|!69hWz!JfIdmR~D1M0KcZ$BeExArD1oOtYO9^ z+4ut-lDZ@=8dr1+>mQpx5`EjfX?@aI1&^&L%P@V#|5pZnght-8^Th^5fMkvy;#d0P zQZk1=7IR!?8lS&B@m7TXVEe9iUhE~j!(n;`#`D`L{CkjTd{i$C-p3NO;zEUa4^6FF z_aTPDU}{FQy%D&P2o%fU1tExv?=9D7jqp^P8{5L;V`dCW*&xY;;Jt<`xYItb6Ssy!3-<_cgU`X6crpkulHm#e@m^onJ&C@V5u}7VB zrXkg$=mLp4Fx-(H8l-gn3u7_buERdD zS7OL2Q_6iZM2m8%K|M_i^UhzEBI~tpd9hKFlXk`9MZNZRzJYHq7!r9TC?`8TKEI1? zms=|4!0y7|`*w zPHdT0_upxmw)ebiA7xXe98SwgB~bb1%*&sm9-zfpp~Sk=)YU`3xtl9IpX}E+CozyG zOYY^Ta)pMtEfi;K@0ry?@af$_0?S8TKqth%tOB1Dv!r9^AO13mRy?UHaj> zH090=mR6seT&>~R+jM+uE^K6 zHOV8tz~+MmG(PjT&{0x`_(Hn;;qP`P@=J_9IPnxJ_Zf z0W$WRO`7~V>RKss*DX`F5(Ysgkf0YI*iGW?rftx==ngg735rpitIQn~^W?K3x&F$Y zkV)DSdV0==;Y_kGH{aQRlc!qM9n}B;0``g!brm+(z8}MM?SsBWVwxMm$l}|SJEptnK+3_Z~}blm*+FG1}&FC*PgT-eu8FV*3p?S*bXB}ujtiqEo|B)ZWRv^@|Jsdp{& z;eS)s`Yl0)i%+_jWhKBaUK#EwBlHV&8!BHn`sk-wm&j2TI7Lp`Y>EIaHaUi-7Uxuo zX)aY#!#J-0I)W4(nh6tId_gc|XX9baE^;%i+ZEK`RmxR1~V zaHdi75gZfT12ZR#t7eK`Uiz^~Rx8JVd(%nn(OBs(?OK52`Q~18)Rdx=tL@~r_L*bb zu`Y~zk85rH7@}5gFRJ@hAuMNd@ETP|+)AqPXe5KFire;n{-gE>@P>Ssr_xn5+DqDb zm(UNewRn~HLV*!U!x<7$67+nG2JCy-W!N!Y!!>nvJ-Y=cYIj-HRC%)VEvtMjr5g(p zf)6-vr#)e@yxvx^gqDs>?e>I_Q0y zoDXI*r(V5<&x)kvdUA{}R4Y^=YrsBIjv<&Oik@5k!qMo6`UE$*O%ED8KROe|q#+)4 znEr^z?p*8%VUF};a80RtIee9i>EtliXyuyh^b*IYUYQ|ABnGVrC(MkfT9%|ea&MY! zrKOi^#-Ee3#YtZ|p7xkwC8S3n&4=uhj_CXLC(f0}gYvaF6O_A!$!{rC*Qv9wWzA4s z=e0D9nQ8E{kc&wSnnSa5(gp^|P_i{d?8?=Rb8mEy^l|4&XuZ*itz~RusC}!957?3` zt#Nf%E~W1#(2CkAr%G(wpSeIdQgn6Mo!ekYwyAohu6)-8-|4#>gsVo>j8{d`cQ;$N z%TMQvte!S=KmEj_NN~EY%6aJ6B)isB9Q8=D!UX&4nUm{j+7rejWnNUfCc|asZ7x(L zrp*MpYbu>vn`fl#W?H$tAiv*O7*Tn3Zf3o%QpU;5lRXqFr>9pkrz4rR52a;^%)8xx z^oD^b5@}4*4Sc6!CvbohKZiav$V?Q$ub_YQ2B>5y;^=tG(4&M4bj5$~y`Dtwx6gWa z=OoqBm#wk0@K z#p&MiIXCG2(fuL!&muNAs=fA8^rXMjp^9^asw|EWzn3TG>y-37qy0M5nHZ+(vmbpv z>q6FH6;f16zIzYuVsW{$(MIUAdj(ssKRzq%m_6uMsr^xzxNxP}xnS?%x9naGdQWD4 ztbAJr<1W7Efo$$g(i}C<*iAjl%Y;tTB}G=VJKDHg6vAzbhj<%i~&` zf2hOs1%>OrYca7}Net)=HBNemqL%?>92L4c?lmo>8}HIo@9s^HyvBEjaKp{a*!!_w z#XY*)E4|TkW-YAi@%5ljmiToDF^*?%vxXh#WFEi2S-n)k-7u-a+HjJ6WoY}|Ipth^ ziz1WA8wa9pcyQBA-;xx?+`fN zvTsS1I~qMBtj><&L-^H9i{;k=@L*CIGp)?v1}#$Kson@<;mPosD6i_b%O8u8B= z1K$6|kq%!81OVV!_z48Z!8ptH%4Zt|ajP6mq8E%`4#JC_3>-h?$Y{tvSEXID*<*YR zc&uCTl+C9Ll`hR$IVua*Y=~Z&qj9VfsHuI)7-7V}b(u-juSClj>sWQLrdBH6p#5Vp z{Nx9AhZy6H-86S*3gQf^KeoX?ePVY=jB%@p>e9}MOyqHTti|3?>sl+;rQPf}7ka?3 zj9c3TCj7r`Vo_8H^3vaDWvkYsB8j7AX8g_h(i6+rUCE(`=??{TO^k2{8f7ris@jK-T1>=pdXCehh7CSx~=LBr0 zKRak{tm}wk{&`L|->@SmW$YH3*SVvIg_p0wh`&&QhFRm31PI0lYXZ-Fc8q$u40C|e zqwVYtc{(M$mqLvB>1%eO$}nBp>R)$_I7c4oKp*xu+)RS6`u>Z_mRBo|P}1}}Tz&k^ z&qTeGEJHM*b-~~MqT+MUz&qZJ8C!B$-;+7a%xCFCU@oOgvNoDlg0&(mQ_EeVRxQ>Rye>-&PYbj%XlMD;S+_4eq!hD;%uKT z?5=$R%)du0aP#7u>QsHfFtB?fqb4X|i0{n#My0aQC6_WMUIARYM}t!QA<3u^@JUAC zmiLX5Ynfj`Q=5%n=h|-!;o;YsAE8V&8&xsH+~1n7ETU z@7z4Nqh;1nQt2*yb2emI!?n#lE?hG zy`}VQyX!9D(FLK(qgyXZ~(9v+rMC_9D>7ka!OwwSzo# z^H=WqqoLy;-&c!B#_J;y5<~$3(Nvt*S##ZA=LW*ZZ05HNEdTeR4iLQ%r0z0E$0gt! zLbksA)Y?fp#~jzRD(@rIlwWR0uv4od$}pG*WWntC^>+ZKWG8C$&)MHZe1D)gB0=b6 zWxvYLfZF~29^^fH0MRBSj1zxU%@JVf1My7Ea(0M?^Vqi`3gEJ0e*ON&g@UbvzpU@z z3C8Qs!wG0Xq~JW;x1i9}M3Whc5Nd^QKmgA$b%vX+cdBb`a>+pC6_=^$9 z%+6!g_^G{>)2kJOl;Ak=IQRo@R+*yI`y%!UTi-vOF`q}8__fAH64BB@u^~8ye1Xx} zJ;+og?-e|S7iO7+X(Xa^pM7rh#5M)IJ~ygN6%YXw0;}0xK%dkD?7~Ti_9KH%P5d}j zapm{R_wl0h!{Fn)3?qW!?>8WM{yRgzUN|1*eeyK&aWX~~B6AziAH!G>G55aTkL>{o zmd7r`YRI-3#2UE7T?3{+$7Abbd)HfOJ*6l))NDZ2M6%zANXmDx|ETw}zaOw5F0n1_ z?<*xjO5_Wu5zW#wixmmrNVg%rN&3oS;jP~lgbe#U-d0?hB+*nk_mp7O$MjG63KrW- z>5Mi?m9xmdKSB!5LL%Lpt)#5k_dJI+(;zB&o^m*p$2ZwZWvydlp-N(K{gO#ltO9;9 z6PZ(J{57KV$oy3W+tDkAAtj^SzC!`ji1!ptX8}IY-*2djquH-WRXnrWBk;W0PIo>; z6l*5`SJtohEF`t?hD_OdL##;;wCcCtS7roWfvJ?wJ`?gYBXeqH?^rQ%ruX&OjH=)* zuL>R2$_`ZFs~J$m*5z` z*8VoEN0orZ!`Psb?p-I4)q7dUpPH7t@x{uW3g+S#dJd;860bn;pjZvEa{<3DU(e#~ zuoQfN9}-lT)m!vg@I;{>NK(E}0Ug*%ksnM=TFkrdC`bV#!#^W<@keVGQDQ1+-h+^X zlW6vZnY8$l5oCd%FQ#3HK!E|at;)>P{sSR|+9DFpzY#C!wyXyKpzAaiEb{SGxI-t)WD;>Fotwx)o zWU8CTGdjqn8l0$r>($&1cc6et8zC5Z8?#JNlnBweh}-DCXkyIP z+2Vo*!6nDBI;pd3s58M`kQA{ofp!Guhda-sJ5K>H9fP7gex=S`nAyx0#lQSuCR%#vnVJk%63vYFn6lL%w(k!$ zw6?esgde@}Iw<%X){=|twKKly4TZ%1zF2B*Q4J0$lY&rB2N)nT1=aha&x#XLa7&T$ zLW*YoW4o^;L3;A@blu_C-|=5z8Y*PN1?hUq^--%j{?IqIBF8^rQx^?gH`{Pu^t8M% zP6g_pa1d8JYp%iBOt?Uq#e=hDd6{&ZRQ;^x$eo>d?wFJ#qvp?>KN40*&jN@+IB)fn zK%s0$$^g|!4EpQIq$Iz6oTbJnDvdpTBTLze82teIoO^VxHJoOVbfj~)gy5b06nd>0 zOY9LebDoV^AkaYq+#MwuIcNbM+uq~gBDe9&edp6%dhs~sCO&G4O5*_EbF^yf;nxd^ z^gx)IKUIBL)|y1ntC>%|x%>kLdnc=Ww@6Py1fz>i2L1>ut`#|7an0eg!X>4q56`cf z2=nvpeUs!iw7+g6L_3d2(D2Q1f(V>&&044O$}PLuyN*Se;bv)MlUi?RydnC7Y0}S! zGnLWr{Mb$bR-{voLuX#o^ff`3;wRA8SVuloAz16@Cc+bqj}j z%8wYXUMK2eWqNe#Z41sj5SpH9m2N@0+QZullBCsc*#dQ0^Oq4T(D6 z@9#6364@zxkr@cYd3RMfvvtPqyoI?X&yN3o)H16@e5Rf!emR9Kv3kb&TzPYtF(sJ! z`iJuu8s%%7JxbRU|8CzyjoX{N&5x9Qq()0ecDiCU5y_7GGqD)o6Rmao_O4biZ9sBV zVvT?AYiSQnm^L21|DFJG50`3tll!CEKWRMG#w)*~!$8ep5^A|;Q!G->n6e$P-sE52 z$n7--d{>=a=WZ@WH~l<|RVAxWe*FYIu*rj*RIN*sr3PP3eXQZU2zL(+fCA|waBrm8 zA{ThXDhebpulk5d<{6hOVNBMZ!P-613x|e}cS?aF7CwNCeZ< z?EX%G_@QIr<$ofw(&TAubYTHg`EB=&){k2cvsfh37G>0yaqhL zvhUlw6x0mKh$R47wWpV+@BzWr3`is~NH`yZr|ye=!~Ny%@t(-eKAfmUWj}&>`ITKh z+iaZo|7Wy`40i1CErehE%A6h1-SKtmUERhJzL0E-BE4P9Fj+ncL!cITAhv+Z{t__O zDZ8P>5}3i>&EC!GaH^X4Z6xA8)N(1ylL9r!77r*}lWe*?4nLn{hU<;GNWwPs^v*lK z%-_}l=}WL%i%{Ex-yI3z5)MoaR#oB447I$UIlR{z5Lm0{aDGFXfo#txGfd+dL_J8&RK92v;3dT`%B3~aA+ZiVj2`U`FvOQzUleD4YX zSP<|2TZlvJLEUx|a5gRQ+ci;zz>dLfe;Y+gKE9@J(YrVluNMekC`vV|@_qHtwEVHm z0m6NxkbsR0_u$;wGRY8FmS3MkI3Z6gYsjC#3=&D#VlJ117(N!@9(zJ63b~?$9iw`O z-~T>S07S8=eH8pg?XMb`Fl+K+31}<)D?{g|MB(KPK;Y;t47}P|5V2%N5Ts-&Ff3II z?kcgWyL6Li4EEmyR!Qnl0ffV=3!$563;ff?)bcen1DiA{l2uBrauU|;#8X2Sy(2ZN zONRAl7tln8K8y@u7w~atZA#Wro!TeCQ`I>dvV1f0Rx*Cu-pJ(iiOblL)${{|NoGU?}DXUjc8*PPjh$(=WZ~@oQL7n0YhJ;7eV%K_(Dn6viCF& z%NN!oI+BmJBe`QxF)B6uA)%3TOA13NBb#w7W(4t~i0{a{58^A1FI^_iDR4{F_O*bO zD~O>0FDldw@64-bZg8d>Dfm*!n19|aeC_9&{`hd9RU$>NpUB zt#R9ne)M|CV0qHcRrymVm;UX63TRveN<6(9L1ycU1~PXXaGLFPOz?% zf8oG2^wVu5Bo4QXM(MyHZ)8zjZ@Rw+sUAoLmtG;U<90INi$#wRBg<;@%#Gx?Y5rbX zhsbSgGPXUL(*bnjE2wnGANwtBt9)zMImHq`@?n}-J8p@CVm4zVK-Ig{$)B?qb86et zi~JkLT0D~*H6SRl`Zo9P7T-2UWVy$d-UcO{F4)B+@D@6AHIXwN#`f6696Vri_S~}CB6MH6!EAl5T!%F&62i}l<4mArPbe==W)Ad` z?q=?j>Qk)R(4-@e^iIi7+!}s%7n~5@cI4;H*(0k*6~A1Gqqdny#_vb3OFukR8?JLE zg@bOXLE~ZM-?>ZKxUn|fCn@29gJ_=?+K@%S%87Wj7pV)peOClQpn&);HCop||LU7{ zxW7<5L^(aWa676Pdh5XMN#0zvgp3N|Fo~*R?Cmhcp># zH5%2B7jz4lgb-H zUh_l2sDyC7rvxjvPm!p@!F#Mx&KUF{=_v7#9RRW7wURi~d4`V2osuD&iCqKb-G)hj zz=y!gr@R`GMA#bEp=gR~Ajl9+@GtSF`8IM*&}f}2p>pKGEN0PQvWhblT|JL@B8cm^ zn5`oRKX*~$&Ldu89sNdU=nBr-p@gFw3XjX~9Z(3i2DY8_bS<)MBS4m6>MO$u_MG>M zph_h^-EWMyK^x(pBv&CaWOHtel(Fsdx7(wyULN)?`(^Ct=zdj#Nc8SDHtVQC zwBKx%N&xwYM_t`y*9>&S_%*aI{s&$RfyYRgD&y6D(pJ3N?w&G)o0nvVfjvg{R_2oW z=03haCq)gq5z0~x7QVjGrR;m{uLeSjj^a#ZPT>9izECVa62g0(l468%>f`9^cUMdx zMDqEl1}m`JuVL*MMX~MLb>~P6@K|iPNIFLI<~RzQNJz`Ra?Og#F~qKgC)E$q!AqyG z@q}k1tcIa;7@b*K{opqj{a|2}hLW+anmU@hIoszEbe0FDtAQnFSb8IMF6Nqg#o8#g zRY;cpITVG<)$-jJ7KI!lD+A%O%FOkMyc2&D__N%sW)VZDb_$bhiQ5KQ`-R}yyHkr* z`!kO0{`ogUg}SFuMTaA6{2-e^b((lJs0ljg@_0qbt5i#7kY{8x8@cB3^ARTOSZMgW zS%>mncHfd_WW~#k`IjdVxY}Jx>xZaC+i*&)1+vnUxtJFuy~S$E)LhJ!d0PiNZjq#k z5u?SAvGtMjk((5O13DKwGxo9(lsX{pmn~^v-x#>FV+*DvfSRG%~r~p;? z%>V~3ZGOo#nV({IZ2i&PazpXu1BjGe;@qUdZbROrZKUJA_pzHO=UxX+ewP+bMTgGa zXJjKoE@_N{$0^yBSPBXlxAUL`_T9SYRzCD%KY6|BN zDWuUu#!sQce`erqW$QkMTq$WZ_Kind?!#OxC&mZGANWa!KbeOtcqvWB_aax94M)eD zAR;PP(7B^OasTW+=~%54e`#q(RtKjZ<%U|RxQPlISZJFjGpU;EgsN`1=h49Bd1+5< z44BX4R3u+2v+bCSPx+4he6%9%6c@R*zXKhsegn=R@_F+^Pt+lnK>znebz}ZC*Hfs) zcUl1*F~{4#ADTy{j9Wa$Eqz5NyseMot@Y132;DTydbB^wqx5EyS0!`_+(_NT3I7Av z4(N~B$GP~5lD{T=6Qg8Fh(9DxEoHLS?;bl&0cBBJcm}$Q|ZTEl>w6 zl3vSS%;i_>7JJa)Xc5oWy8FFr?oQY8A8m;w>nH7`EXeW?3Kl2sM9^K&b{l{A|2pR^ z6ZqC)x$`}#BOyRm2$|$c`B@Ex7|wA2(>p;Xo*Q%?d7tl35yLb9bM67F?{_uwuRiPd z4##7^1Z}Iu%l!2Ij69L(lLDu6c90%cb9Vod+pT^$h9xeRTxw+U@;LWXZGTX3{#T9h zE3z=?Ip~8}y7349dSvkSS3e`&WBlUZe+t~{51VHe28Tiuad$T@^Y24U-oG99&v*W( zGCvAGHUS9~L~@2T<)evrwGEIy{)f$6(!Y*$7^FwU)NS(Xb&|NcHu zMG$3|4V<_SLH_*peV1a7>|8dma~<)L<7}GtxkG#f;UIv1b2x%UV)d7FjC*7<>b=qzMWuhI%bZp~x9Ium%s(#!@3jk5 z(3i%tvJa5oq;FkJ4+_vcN-(DHRnkoer0G2oIj5Yk@Y{Zi&+N@R0}krh*0~=V#E%_{QF48AMBF0 zZ(^}KV+G$vIu98DQ|^F+K(y6qc@J&QD~r*fp5lntesevgbwC;Y`uP6V6d;xEv;{z{ z@Gi*I?@Yoii);M6+Eg`{4!0WvI%J1NhV*xEC4-clezk_6KP=*B`gMro6F4;U|OGmV}Hy&RIZ3$ zw5->C+Bo{jbMW>xjgOE&(#QmP`1G>;jj#Egm{p`_ozkoPVgk)!ZhvkSNH+02wXQ$5 zx7e&{RO>yPxExOvNL{Q))-K+K?)m&`+ZuvjbtcFyyA9L>Lb7?`kwKxf(#=&FI4C00 zJt9Edw-D~X#HGUN8kxJ1@h-8ZFw~L*nr80@vj```oBH_z3{JepZ(q2SQgIA4&4Xmx zT(14wn>uwT5{0mQ`|?eiMkqNZgV$tzArJMK?kEtlPKYj>G;{p(k^ZQv9xeL_I6sJz z3^WH9XOJf!-4Y6h5B8f!L6!isLR5IZW5{r%F#>1u{EDzd3pdEDs7#R6laUlXq!tKo zGD~@+tb-rIIE^6ld=PBzD6Xbk1l5w^xqFgUfuH-!pE$hBzD1l(@#**e@|MqVF?cvn zl~ls8p_0$rgjS!8`3h##@I`lCG$w|?NIimby=7^|PzXFrZC}Dk4Kv7-w}5_ZNkzwM z*;Qob$bDl9+sonwF*YOfJeg}#?U8P0WC`t`-#>^z0kEqSbtIblH2X-@=yf%W`Hjy4 zy%M#1TzhhkGxj%0cS95$H)^ROZvV+H>n?=8eLxu-_!-n;uJIUcfv zB1#Sr(SL>)TT=#e;yBvh9;b+2%p|jT;gq(fYl~K=XP1ff+*Se-8=Hht{ode3a!QId z#wghlN-KR>8h;olqf2L`SoT*bt&b(}@xk5?+m>XkHOcEb;e3uGEqXV67?}bBQJ+By zK^>_$fU$&jiCI5@moI9DeJSV#)oCs>n3y}jNNrymbHh5woVwfoFA4xU!gnIO_oZj? zY=Sruc9IfUv#+3(1fLp;o0gU69c}iU4x4`sW0Xe0adi#8Jr5bDQ{((NWk*WRWU0l= zrpqX!j*x^UlUO!#H?M^9j`v0{j`p8n>BI~uRYSwBuVaz)PZ494ZNkM`JdewUX zXL9??I0%53YW|qM{k)Au?ppFx8mBT{KpuOj5D56emMqdq83KoI!{H9d=(xirt^0zz zZ!ayS%vTh-bvUTw)@by+v4&6y!>5?}lv|;6*q}-3rQI#DF$60v%7ncqQTvFJKrLWe z(pcjnCoG?F<_y|<0Ds%RNCk)6oY0`{g%evKIv{kd zJ-|QPu|42TE*;pofm<@`4kNq!mm1^wKIY%V`4x#UVVbtNp2KrZxYXX^|2c@i?mS3I zH3Jij{eh(!UK4Cf*N4*Fmh{B$?~&m6Ob{g=BYkgQeA2R|Cd&%g(|y)dST#@VCuhht z>{F$JR>~T6fT(ySsJdD`NXYfm9fW6sdvmYo_(;iAc+MmA0;A2r`v5I=V~TC{)lpB5 zjrLdBHB2_DXu}0`HUg&ly@vc&+eylOfsq?jZTkWVGJzvYS{RO7f^_=uuC(b~5F)2l z4a-MpBmxY3oG}g2DkHrS4fIx_vW(6w>4F;Ah7;Sc+wnFmS(=+N_TUXnl><;(HuO0( zOCgqgE<9vus-!R~V3^FjiS zL^IR=Da?=zr$}J>;hrETM#(ym0YYYkecfpA88te$NVs>i1gNha+RzwtiG(+Pzw?2> z$j9%}jt}8#A(=UqPp!eUVPi%*xDv6bp~B?ScFdG(7qAT-$+H@z-1G=a8i&lqrqe1W zdQjIM=*G(|H@FkNsRuufWOWDnuETV_$2)*nz8+lW<~)X*)j56*Gs$H zHF#J)MQ=N>W;fTn9$(-$_!K`e$XrU0)YMa$t%U7yj8$JnnR8hC1FjQnkj(ep?9-P% zeEpp@q{``cQ)D%#k-hc>`}8rBZ4&MJccnzjK8()~tM6yte01+RWVk^_b4+VA@9mz7 zoH>Oun z1*q#WD<)2?L3^z8EQ&BJwizBz3b$}g_y?adK6KPxHW^iLSuK5bq>KB-QT<dvx*8iFQ#-g^oZc&&F76D zXMV-sWwekb*dg!kK?;1y@bgJ2$5WFgVJFHgnU|Z{gddEF z>gBnVZV2~UhSNi4jU6&;4kuh4O{p6S=u57@I0C@XogDd%otmyCRiDV9MZ?nKGj8j9 zdUt0|o+0<+qdgzF9w(;6{X2s1`5yDFAedH*Q+n7Asd`IcQ7DHED?D{}UJpuTh%$aT z#9}*VP`kT$&?-FiKNwg4JM%}BZGZK~h=!5)qWu-CA~It7Gp~-kB$K7NKiEqUTt4X2 zzt#-=k<6qCxLF4HmYoFU>2%RGJ>=;A$nPPDtO=V!*!dcUbOQi!s=ER!wEv5P^*;lY zdKBM~j2<{ZESY+twEN{+`Hx=@5hUc-g9XD0l)Z`n8H)sL#yyA-H6RJowG(h>`8h`U zBNVw4*o5Zw3)Fo`dJ+l5_5zRnXF2`{Y3t__hdLYiJ~V#zH!`F^JShkU$!lw+`_&P?*}ksy2ksi(d`b$wG9lYbA2)Ns42Fy2CH zX2=%SQI`!j^8r!xp@Xn#0ku1iR@`813fciH z#M~g!)e2P#{HO5Va`y)^-#~zuMOJFBAjBrj)q)ry4~gLkMe+&Y`X`OUVVvmbSsjg0 zz9U0jh2)`Kil4N>Kq(oLLmiPEvZs8N{kDmyeN~I!mzyQV&qGAW=gBN7y^qC(dux1m z7r*j_E@YoPnaGENjkq;xq~_>7zl#1Pj6Dt)t&}8QMr1Z z$cl#+Xfy?W*du7N#uyKb=am;=tHP8)jyU~Amuv|`Lt|;0(oKVo0f-UMb_qlgdj-AD z*>%#^dkP-F#Lm7S^mWDM)(yP6dGg`eJn0X4Jki};Ns5BrZUgxol(q(ZdxdB{W|SGP z9ADpxtrtm#(V@5+D`KA#eyMl|>DpnM^|(MyWcNRwtkm%0q2aPcZtPPeEe*K;^5m#W z3fD7Go6;5UkkFtE%Z;lWRS)W_^tp-2B@o~lpfifIZ|8jvJ`5z5gE0UmFH223jO*V& zw$XJs!zB}qe{3%aNH4J{TOgCXb`18*7yWo`93_C&ze(Gub-uQ{#rfs43dz3oikRwQM&|T8Fp{MT^ZhN0zH|k6c|ke z)U`GISvA?U1)1E=y~(JUFhoZcT!0F8sb_t6O3-6odkizDJB%{*Ab4kEk*LT%9jIUr z>)rK=B7|n3jY?%CmZCau(XuotfWt=;sez;wov}6=m$-ratFg~IVVR$ViGkkyD0Gr{ z<}fn&F4$Dh4wFjGV#*ZN9%K-@oaTY1#&yeWLsBpWtXDb%r7AdA-*0-|GRbLQfV;tN#y_Z3GWjxH4=J;4!7^wI zlJiL6uvc(T)1Khdkbln$7qEoPLPZ1>m$i zj(93gtiRl{y7}09*fj06f>C2=qcL-U;TqEdN0nx&Zu3zaOOgJV6=k4i1SVgpfeYFn<}D47cUMH(?mD)S4iyW5h$ z^Ayf%%>%|WmaH)iX`8V!%stdT68~i2jr-|S+}z-i>C}bkUtX)6CoZY%SiWDdP&X~P zI5UcGnkwIUnq{eO#Xo6J>3*{|hF}-yyER>~(oz}+*LWvUQjyxDd-ZkAmh8v^PAc*H z!}iI`Nbe}`l*v6O1xm2$PlZa82Hov3mZ>@ei${ROAhQaLX-o_?AGt(CkXEW38~Zot zXx>BdeRjDBBExtiv<5yMeI2!r-9n{D4nsjuURFEM?$7teFymVAK0bdI9e&=PXsVRK zfcX~qr0VuA-XS9=Z1GPBar8ar3Nch6y0l^Ak)c>~(G>=q;(Tx24g3XvJ4JeBwU~Jk zoHoIL#Jld^f}+LUEEpwTB2ZD%H$?9W+dZHf%xp~=!&@RjJb{X}@9{%a2RIVEr7(qA zLZ{+}n@1ouZ87HvyZ#K$_*CvOh)~(WSpTfA#ttuWfIpa(JiO-+CPElQN;=S8Q(*Mu5a!0DzFST**j1%)Kn@0DuL)k%nS z(j-wv$(vol*Cg9T@cMNLSdbXTHTR9!T)Y`fnH?t$S(VzsTPNzGsi}k%x%aMy#=6?5 zwGWr7YL9GX-K2NsS(7$Dg40L+mB~qZS*k=X+2wHyr8b0>MxU8w#0FGXQ)sSlUZv$r z@Zr^xJBBkT5{a72muRIii$p0;(${WiBMkO~;}Z(Ur+5#Vy%3m;8@1!{<_nfTwyIig z9U!Fs^sK=&wQ5+bJNLl~;qq0vRr_Mr>?V)>qio|umt(?$r7k%BPhOgqXV)MY-sJJ7 z{QhjJ$%RS$Q*iac4D$D_*fikg9cl&o{aWf_Ng-7Ic}p?J9yujkB3q!QSD+V+5+M%^ zVRzp5>E^qkbro$)gSz_ZoQTi}s&uNmH`EgSzsL>WQbm<=M@iI%X?46l<65{;?8$D< zehH_*K%(p8GhIYuS%LLOg_DvY;yn;Gx%bocPAM-rXA_xJj@7#F_?rB^xRa)W{taO>{yvy<<5Z%% ztYdpbmM1sm;^v#)F1c*!`^~e;hjx;waa$c{pNtgO-`!qFemr3|%UL!QCp^`1poKi{HAP7$y7nImsqH5Pc}PDOWHROMoY zK7Sl#4ASLy{;}E_P_;QU-Kwg@%a_yKYOgkZ8)uZUP~=_2Ahfr>bky}r#%ULi*{YZ~ z%~gJuDOa~<${)X!(GXK>o_P4@wWNOvoChT@_HkHS_U9j>&Y2^)W|zh|p%YW7$y6^~ zIHhudjXO6&sZD~Kgo@(N`ARUUeINQDG;=)yBlh>mZfA7u=f2turjdauw|dCHnkQ#E zCU3k;e`)vX`2nEm{$}}(?b+0A2pV6ztP#}i_Q~Yh)%Fk9f!E}se6P>xrC0)sYNJvh zvzo8lbSmHT#cE#fsT)^1^WTXaEezQbZfM!_Ecx>i`#RtwIgSi?e>o{t*{6I+s{3T3 zQJg@=>PI|pN8*7ab^kDS+;$5B0s4Yy|JPl3K17xTRv7|e4J*X5nuys&`8$pHeLFRD z#LVg445f|yZCQ#v$&blK4QG!e?lCj98aw3pBW>&`*sc&xGBQ`VP_{4YHBkv)iCPyqP#$r&|{xZ{yQ~FUyw~m!86Q^9aYO;AbqIoz^|zQbSGvqQ9FCpH(s@ zm818Pi0ZJgPZLBZ+PI$mfo>n*$L*|1mIZ_H?^tiy6=$V%`Q`!<4PY6+iD+Ycl3;xO z&KjjC8Jrr1m4C6Su>W-T3wi?sar%k@@$1S09Feh4y4(K?ZPvJ7{Jj0J&!Rf4fKNQ^ znGmh;mpJvr(&ILTsCQ={s~zXk`js~*uLYFZ@voceCt7QWCs`cv@$~A2l;7I~W3 zAH*teOTOdO`U4*G)4irwTGJf9GZ8)dPrtEaIiaXoBqm8C!?Qn|%M0-T4*-GaPnh%1 zZ)dMP%qgM77C32SC=;iBdz#QyL7MmYxDiR&|e;P>es#}d2IR3 zxkTFkN3rDXd>gg-SMQ%00eRPvVCZdI&HJ3_40OewJV+WYy?~$V9S66~FLqhuem7nF zG-W??+gO;Tx7k?C-;}|ri?4E)|J5@Ho7@i7-&~0gxRmnkNWOb+uK4PAIU8lTW`5D^ z#`cs8JVlN8LZNiYf|y(Zs;X_ZKiNR>pbBS4nd>MquQ^Bja$jpmLFU6|1zdK5db1eQ%58frokpv6DOdgwNDDP=W zGbnenK`L=%C&WV18;`>PO8qkZsQ89320e>VFOWtBYTi4Ov*2laWg!s-vxs{j9}Su` zaW79+-UL70|FL!6@l^N!|Ia8#!a2yE$If1%Y{x3eXxN2_$QCYpA3Ktfy_!Zsp_9Eg z35m>5Hd#^qo~Qa;*Y)}QzJFb}%Pr%)&-=Vz&+&NNAJ(<6fE2u!a{+ebqJPeNfw|=V zMjsC#w@CQzIopZa@`1VHJl;=`4n&~yvUokdWxc>nLlQ3nvDmY*2z7IS;z)z|H43*l zhOa_wHW&It+Cm48$bIcsO=Rn@s{1;49v_sKWW7`7v2?|59ZBa^&({ad)r~re&Ab!B zsQ%-JdV+fNtQ>UmDVyX&x7*@aBzg(*$&5xsc#v%Pg7YdXfi=dt z%8GC^?xQ0piC<(1Fa^)I&|OP9(;fw_*aNuLtlbT2?U5l*`~sf`6_woIKc`=VJ5+~+RYUf ze<%#@@r2nD#h1_;K2Uccc(YQPKkMy2(wP<&*FPN>X3tR8Rx&Lq`#Bk zKTo`Nq1;cYAintw)voVCwimQem>d1i2W_XlRbq+_%Nn6zRAr=LOv9@zfi|0l2fkUo zgGLYK;LzqIIY_}6>$|_HMWoTR1%u@@pwEoswtCN^14pj`_^8=lC0{vz0*3xtZTaCh z33G#ZbDZyg|Sxgd5VR6TAI_MHORa}iZJxog1SDT>(32~v@B9j7PH3<-}- zaeI9b_>E(VWeG+Q8El(VhVQ}d@uo0=4FXk|&&D1M7M?Hc9-{NWI*Nw2g( zuN7~v@GpB9HO0_di+YMBz)@##ehHqPN#$<>YGA>MLmdVZ3TD2~_+`d1CJX&1`rLNz zOCzNsOD%*hN@XVXcj1%Jhn)0B-Ud*AN>bQXx3}8}p+~)a6p}W>EiPm!Vr}lc z89N#^pRok0kdA6j%4UqjHwcm0B$k-3~iXQ?N8_l}^R_~SLM951PgMWXNU-svjgdIx@7?ZS=j8Y;}%2!csP|XTxPl^rb zGSxsFWu)vp*QBKi3}jAV=QKxzgwM>UJ0*t`Iw=Pc9-U*8T^gj9g7vAOX;nYo(ZYC& zk$!NUe!zC4W9tjJrtU7K9E)>(->TXfdz~XzZgDWzf+H4ZN55E7p#13IXenV{+-euh zeattN0%g`uJa-zo-Toa=4xEP1uPdWehgx9rSHNKo+-|&LIEi5+VqGZ-j86B^w!rrm zHmktWeW7!C2@{l!Z~c$An6}$b`#WW_b#^Eq8;96pg;bKQ)V~h)PyV%3?8>@vN$*O{ zt<0+2Ra;_N5x8~EO*G$PLt4+Zxo|RWR5_cYxXNlMo)BS9<}si`o`>RB((>p))H|;r zK516|UWp~N<>wa<{ZVdS(T|(Jk=3z{BKvX@3Rm@U=S){QtXnhB2rU}x7TZ2MHtU7& z^*`mXqC^lVV#e*hYW3%?Le3ObI!_`D+3!5L`6bwO@UmtmWM=A>9PO1@h_0E%Z88xi zo{0%xIyr!y%FkG3~m*` za4{f{kXBiGoiM-r;@{<2B&^yzkvtG^UvPw+rAuzquEK6=<8;|IViH!AoTTJqIo}P- z_4o&_Z;wn(IN#N2Qol+`t_cP*YbM5zK(LE$3sO%Er(2`?IcUd+Je5R_n!!0rKJQHr z#U7~%vURr$v~va$3LQB|77+&Z^9M>ZDJ9?=f}~UF1j@2S`FlA_aLfX479r!6FQj4} zVw~NkCny0MJYUlmsGi!298k83@M>|3*ei%(ri)elNEXU;prq7q+ZOCMNZ#ziewTSJ z-Zlp{&piF6F{D8OnSv$9v0zUyUdOT2S6c*>jgeqT_NT(!#C#B@otkgdRj+a$Jo*rS znE5DX)$&WirXC$upk`5X;c!b%EtNeggZHFM$g7B&>5R5uxz9g{N-p#YSjKI|jXs6x zXof*3d0ALSK&MV7`}I+_#<&IM?ZCUrzUV7e!s~}FX4MDmj2M;!_uXjfxeS8^c~#;v zitPFy8>i2#-*C~Xez{M+sG^2-%aWxnQEe7z>)H-A%y-CetGy@PNaI4}ush54Q)aeS zRS@WtvNfNQO_0Wu(ULb){x$Bu+I~B?#p6O#_|4!|gdDm18+KD9H-eRsm{ILV;Z{5= z$EV|*bRFjFAKii4m~nEI^iq60&GzM$Gt8sF%Px{%D)_4`3x3 zu)%wy#4JHB864}%sj$b=$GVVkjD-N&#<(LEs(yo2Z{?R~3IeyHr>2-)vW!w(%l!r8 zX&Wg@Pb`Gn2i-=!9g=P9D?7_^!F#{Q+ehYD?>0A5XY?U5Xxwc%+I3pKkky-FhBVK9P|>#O zQ^ek!DLd{+P}_E=7-yBtPn~+VQmVGrT3MS=L2J*2dvc@UYpaavH#Umq<@6Q4kR-Ir zcX&_N%*2y=zaY;NY8KmfHPtblNtk2CyK`StxB*=k&yR;f(!_S-?!#xKwhl-Nxgk5| zpm0VaxwDcV5dy5sk|(go7*%WRY<)qLSTcFgP#3^Rr-(hncnxPPiIrq^(8yPBQnd=H z$_cs=;H8YzkZhEEQNNQE^kOO~=MYO*^JrbSzkfaRSmZV`9-)M@lw3zpGG1onA?edz zCGb3ybaaT;YiaVOU&1Fd4UcS2@9~Qe z#(&pc8!EhZcYk`^;1$+nvyhdK#LOIfJ!b11E0#a>q>I*&;z1tk;vi?{_PXwLq)I_q zY#ocLEr-HmqLH51b_|zZANKlAMAg(c4v{YrXOuB6W_pt)(Xnn(5u|!O)l-b>+HU^U ztFqaq`4n>Mb8UW|Kc1LORaGDBpc893^J7$z`1tP0EcMl+FG+}Lx9i!C^r99*eIu={ zSXN1!1sk)@s2=Kxm|h){Jy`f=Qx`a@B4}`@gdr~7Z`6JR__n)m`ilPDDpU(qBog2d zl6SFD)O);ouo)(Bkw1cL63;nc+C>%&7StYPNiJeiXsvOOOHuGl4|Zvw!i)#aMtO7i21*M4@Mt@mtp15#dT z8}0db*bM_>X%m;eHCy<-$G%HAEWOC1?B%GjmHkg^^6-BM;Lz`$s=$(R%s2N)H{WTl zyF1VGgUc&Tawf`jmwLjYU_k9t%?x&hBbJ_e=GKu?0=s4n*^5-6W8N8uOk&>a= z)JH*ls{SheEQNYuLO4k%JwH1|grsGPX}#ElK>>;^q+iJk`C8Ta%rEXjQQJ4Uh0!cu zP0nlA6_?{Br4x8R<(d{$JBp}N==%?jf1kcMTNU(Ij)G=W7e--RgqY`^x;)|bx$lYd zHEd4;dWr0WA7^Ye@1tY4NQxpB+5;Rn&N&~Zl2JS|iC#S`m#%C^)cj-g=ENZc^6cHO zJX>^fjSN}@~Al$+>_(w%qx zri*JP9|*8{>^zqmG~Ivv!FPBxc^hf^^To>##<%Uu|21R@JC8Dsx&9Xj$E>jmv2w`s zD)lmUj?HYGE2(EA2d*Hf*Z~?7Y&T(gmAE%ieM%x|sUFKeIF8`E-pp)A%y70$iCx$( z=1$%QNpQXvXHII)t*IXzvAJ8q^GC}x8O6A;^jTM98aZR@ZJH@8BlRK+HacFU>jz2B zZ>jiJ8`2E6(~VLdaP~~pB}KRwRoKr{Ggg5<=Q ziv2ziN1|+uRKKEqr_Al${=B8DnOue-k$z~z>2&?tvRjlCF^4YCAYVRpds3!kTuWw~ z|8SMC`E$Gg{+}V&rFhzpG~8vPXM~0iIPRTn&hZ-_pcgovhZH;007w+C{bSGmHJ3sN z*}STy_u?Gnr&lNvUH<63tWPjcP~LY&j^o_7U{A6jH6>pYdv}jB;N$;$oPsp=9CwLm zW^gGHoge1VX%|}PNxwSdLBp+yhf`lPHn|a7VlvXQ_%B4h0MfqMXHVv8Z^@e-N_SEqfr$WM06@#q7hd*id8G#A$H`2Olt@c2?N2fTH$lOzP%KLwX35`=y z{EnDxDpvY8ZD+shgE{KoqbRCl1S8!ng`s5gROjbM$}wQI`j@KV|4u67*>Eop5SR{n zKl})A5dYtV3J(i`l_~G6l;}AxcKWQeiT@p!!E#@;)C-^ah@;^a#M|`D36g%nQ2w1n z<+UNQwq*b^4=q=bah;=}G5gmrPK%!Ib^QJ2#B&Sk{}oAqmp61rM_Hi~CVjzh{0H88Ai*yMnObvOV>NQS1Nv1IGci3Ql@0yvP~0#3@Dx|Hl==W6G&RJAj%z z`+r{I)rr@7&;yz$OT{uJqu8e8p|RP&(+R!D4otgpySfkh0QnD2k>_J0(|uHL&Xvxsh`J z0W6=i@hkucKDz*2eGjMuEQgDXINdVLDCVR=+v&vb1IiC8)__A7gA!9&ej<@_if<48 zXC!KYcjxBP8oOu1TCu|yVxH$AQ5TQrm zl_q7MY}cO?gx3w5n!w*hlMteTE$PRn%#)QHt%B&@LE=U`(g3oQQHqd(Aq|EnQFtnp zyyCUO58FWd!b|B<1bh5M-Wh_8rVOhgx}YzJM40?_o*9L_I*dC2Kw1P1pV$8)Nds18 zCe~*$H$ofM$Avfqnq=lV2yEv;{Ij7SgU!S%j0BA<+T~!I3UVX`{f98=j9$kp`;&;o z)ELoJdhhT=VE_)7-&rx1?S*XPbg*YfrD7iI(RTKpNqQTkRNxQs%7TPZ-_(?9w}(w0 z!URemZ&65|v_)*-Vj;2&ce}uC8QiXkXVkbXbsqm8PeYI9H+-?aJgi>% z5hDY| z)yr?TbIx!_g>M?r#>KnpQ|!dss)p*dLh!HVRo)pCD*O>yf(CM{=NJHr1Z4^7v{a>ZZSgWhUl^66U&U`9DQgjXajlu}lWGn~VYP9l10bjUAC;Az zF0lMB?yrwkg{PN@$q7n+bFbzwHH=Vaqoi9OW2|Y|Bj3OWfuSVaXQ#_tDcx|USPDh2 z%=WIJlnA*hN66E{w#U=+VJ-tUn#<;dMM!;qI(cr3Um$y~`NnCy2xC)KPAoH=XhY4E zW=+a{%3Bpz#umzPS48DlDXQ#}yB(gr96E=WR46bb1bX>drD|9=MyIz`?oJ1(FoRO2 z)8v3Dp7x;mUU+-s+t%-20s6%aq8wLt-B|>mO4CA^03me46V2JRp^0dRtaM zVN_E%HgqIEHj8p3FH+``YLe5Lgw2%R zdsY>is@*c{6a#+Y2#!g(pQ09>8|D!-$)B%ax~FAf(0#x8B3^vH$z;w^^Y+LF=ITQ> z=$bet^4vG3%T(*{^5!9saR`=B4wdj!QDQ#JXh-c4?v4$8MXcs#PI`hB&ttX?HE%vL z!huXTy8KV^@jZ;=f93tyuq-Q~ehhbf?~weL|9<*WvVJ?a8oWzb ziZN_h!iTh=Ox*7eOmUVV&$t)5^sGlt9cdnfE?4r;~Y4fK`KbK#IVvFHIa#&hk-u=QDvn8dcm z+^3DRoNM`k)OT#um-`C=QEFvZlhO}J30kW2$4gA^4F-3my?Nlk`p>C%evC|rQSk>$-OiZ3 zc~l~kGbJYyc`PdN-oNf$ymeK%+THq6iK$V|Y4`BW@h~65n~?nu2Kc{A5bEN z;l&v>Q&V!$naIHFo9vFEOVO?2lIrOR;lB-agQGx#PDO}AO4nl zOXY~Tog-Rf#tQ4k5nDxbee4L%si4|B1jaGsbI6u13xkRfGEEn znNlDo$C~Pc4RjjB#uMJ@{41S$FR#=U|vHfamq1K!w8UE%8#LJyDT zjO#eN$Q89g^jPC)+aC92x$@pdiq&QKiu%7|SK z*{jYeCFsN$f0a@))-fkKq4K=1hI_cAe8-Q~H(Al}b?_gbBbnsyvi8NH9#&0SzTAl&hL0}WUNaTjILcVH~m@#1?VrlN#9w>ec*;&T{`B<8O#bH@-k` zWJpAJvY@5rm<=pwej!xJa$8K#N>BQhSA*!S2hzQ6!+Lu)=E$`YZgpX?sOTeBtUHoX zCtmUP97S0D1N(%e97e|Q_xD=c#dBQHiz$-Q2hy>u`PG_kTLJ^A?8mj-g1RI-z2-FC z-Xi+jIcdR<$!I&8Mto0_j#)du86i2CN_pJ&1PC+v>>MA<|J-Bv(kF*m4N^r)VIhE%O#Pe+Lk*{H|jffQZiF6{Y^8}Dfmq@ z^o3U{CKW_|atNr8b<|`Tbb~S%u}6MN)%)s1)*ed@iK@scAqei&;?!h$0VHo8MDBRi zG5Q`&{M#NAUeQ;RKYR?2bbL~2J^amBm6$!%*xOFNXkh9s`>Wl-8pC{!wmlujy0YH* z;xcl(Ic0M!`6f@SAHf0Zjo6AukeDPF4rIsEq_o5>wm^2|Y;Y~Ed;}d=Bym@E@rCE= zV~Wsdas9X*Tan0Rh~#b>QKk1VvJjfFar@grm1@JA2~&P})MXRr z@Mzph2gz|G&VZfSu^T%V8DYGjB&*f5q`4n7%MlChUeGL0EDRW6lXW{uidX5M8~&Ja zbnUT^m;U)cb1cdwrKLZDJcGfzWy?S80F1LMx+MX^87fxfHOC=~Q#oc4=T6&>Sm0B7 zxNlolWOyD)-6CmdDSCe*z|)NO+-ifoFZ38TUV=&MfohEMTE`qMFAFOD;jJ9#}{ zdfbnv1PBkR+p5K%;o1oirZTUIo^mx~J+}&7#Njz%bxl%AFaNX($zNOjraJ6fIIQSpIoxR))lv<8ht z`9u?B83qLKpv(}xH4wY3eg4n#613~oCrTxtUJss53+DJ`-R<}bLXJ*`LC=wR`-4+#sl7xaL31E$&cSk^D+Z{U&>w=dAL7wMW}cY(mWM zsR<51QL?fs`unysJZ)|n^IAk-joo63S1FX1hGCPrIv7I-ewuxfhs zL^n6ss|!ey))4xzP>f>3#RgZ;9dbH(=k8Aa*pcq20|CQeRdh$K6K})XwUJJwWUn@T${&d0L0_%VVLW)HoU|Fq)!25PW zZGhs3?(=?xHBi&t_;>~92ut;(lm)gk?(NL-e+|ijaAY1I>ky=t@*SL^H_mQymqN3k zk?ifS&jvuX7`zz0fFL+_8`zw@T}dH0WH7w3n%ueD*M|L1{^#zXF@}|G%Bl)C&YAM< zZ=Hu;V_n+f%>D@@ zDVF$P8xLC|EYVCrCyLA*zepck3g$uady0*udTI>dFXY&>SHgjixZRd+J97fAjWzHgFy z1%V?uwXpvigeMgqBnYcEzs2MG(O6H_nKB5^&TeKww?@$loysbM{cU6pJWpf6TxWzx z7pdJ-d6=2Q^mft%Yg;oN&ZG^^KtVSsx@r4F-o9mD4;0qGASbdxwVdLyUc~YAIyBTX zg?WMq={SbznCnjs9>o)?{;wJhHY-33%r)9tm zjq<&|ws48cIHbtqKPb<0$AwrO#{wgmRxKDQf7W?(GvlCqL{sRKF6a@4Y6948?ll|E zl#bfioh7ji3>Ae;cOB)&n1V+(XgTWXeM63@h;lq#r@D}>VD>RMuzmW$BSGLKfqX-} zX1(6KVzIS}Q~hJ$=;x8rY+sEbfQp@0_y8e4tQBBYxQWZAn%3C;2zaQ14^+w#&MLmL z1hH46Ua%|hlduo-F{!wKM>{cmu`#;E#T`;^Ad)1EH)dr*lAWKYg0*tz`X6Ee%#gs; z6EVsYN@3;B?Xcj_6Ui?sb_5fQE4O_Y#PU3QKFV1|wedJ=Q4W-7~vAj&}NF1~E~ z5K{jXyeC-UP>QTOghNJb7U9m86iPMJEQeZxU`%=SmE7z3`l;$Q_Z1XbxJHz?t__A} zhK!PK<606mhx#~eTX!u!E#~u1{)fcP1UkabNFV?r?-i(m^uI;oG^Cj`@YR>CA3!+a z4K{>iN^RxK=3&)jvVPn;iUp8y)aB_VNwZ+o^Gih7iXnr9KJy!!jhE% zx2_iM9b7HzuM<9NZ+PoCs|+JPTOM&yKTHU@jgpvINsdped$PM2W4U(15P7d%AnQw?Rn9X* zv6vb~2UepZ9nRwfJ|hG++kDiu8M7`DE^~B*(SCfU zu3*2Irnq8m|N9`;%5BkJms?C)ZSKWXzLEp6)1LIuTv;fc4L1i3x>s&l%A6>!Lw#&ROO@i>%5os_#-cOklIb zu6K$qP%FQ)2xs4c56_H%Pfw;nmzcnEC4Wb|W{p94@XO|sw`czx@%s9Yd43-1aBoXw0g( zBCmD3@(&*y-sZ!lVNa%THaYTc-U6;9sYu!HEHM1k@t;V)Z)r^%+UIQKZ1y{&+rMX=FUCd(;iB=Q*DX|wE<__3Ln0A#aTxC ztIZ*308fCQ@Z&$K#Gl3W&*3kEHW?JKks4vcp9WqzP2NOlQt(V!>xgB^5AklrZA78v zF5xoLJk`+|RXg4h*MWHVNj?O3{w|%41o_c5dW`c1+LkAbI{Pv@3A=Xh_Kcb7cuFRnvr@AbHY;DPZ?q z4%Oya^;%#~?*+VEoc!0{l-IBxg--{rkwY4TQC$j<)W3}K378Mfw#Hv*@HN&kN>&H( z<#FCN06nAi1f&Ibt-15h1X+HE???lf@dMC(Jb*gxs+_(%LmXJ%aF>OQE077t5U2dx z?8DoMHd~OF5P~}mXYgTG z8t#XiedxSAW#SD5&8c!Y$LH6ln>OFT?;Ttj0SLps-`0H3;9W>_cHmbbbuxqlthrnY ze`cQdDq9~W$`ajFwM}5dQwnj{z^^S0rRTj8_1=kSky<`W^7u5m{K6Z6`}x%eafe+2 zn%Jl8Tq^Ubh_3qrkKj|M1b2*b3~j?2KKF8mCTQ=})ogsc9C7zs>-O!q{%=zulw6<@ z^v=3GBx24#+(Z^8I!lT8_yP*q^CN7r@)Pkz7q4=-71t{H#+^}}WGwzR@l*IQhqb`Li)mojo~?K1jXB*MsL0{aRpa&ONFV)&fl36p7rU`; zfCHkmet@`cGCb>-mlPivWYp(>Q6twQz0#z}`egdUzi(19I=QBT`*0X&OJnVolA3c> zmNuV{tQ$MgX@v-FnV0T;#&Fw57kN}BNBo`ij6cfp!O}mui9gKHio|$9)wip{_#8GPY2AosmJ(tDJ@6u+K)`H7u3dx`;&+B(hp&F@Pbt$ zoAYkkL8RnEX?EJr_bw`k;R`Cs;1@xoIk1*E$7n!#L`*~bveE;eA2@IzQ4#Bm!Fq-( zHo^0v{B}}-*a!`B0TU=~N9;+&xrG1#Z;C0=hK?Lb6rG50XU@Ju5(asKDZf+3-U_{m;Pi!CCCl? z;HEKhF2hb^&Xq|BA=ZVN5q0tR1mdoHFcwOYl9STyVzkRI`W{Z)WiYJCbPFF2A_+Ot zO87vK!9hklM0~dKK}qEub7N2Yt40SwQgSM=_ZI(rsAFtmj~}Y28k7A_B94V|(-`9? zbgU~OWT+Ip<7wDb90o0b4A|BlLrMnQl=b@|Cc7cdaogBmi|>-4f#En~pT4m(_F&Dj z#^*2=6!hm2JbJB)e~tnKX$VZrcQgBE?u(uXgNERJK{e`O0Y{vs8#UQh?|H&Ht+OsO7N?ESlWq7;)knP;drK z+4n(}cneQ*OjEf55Y-A&$wov-deOwK9#YCs0=o)^I&{OPggpX1=&u!gv`k4!YM%Ib zT^YsF3-Y@pc5_-E>uX0B6pQdu29>75@2SLH?;u-)UH6KT@7-|v0}j&UNx0-|5NzDg z=&)8`=G0Tj(Wt2!>YEMw@-WHJjPtLD8SMhf)azwR7aQKHGBy$usEuXgehXN%to#Q5 zr2yHXL`Ze2J)n*TMa#W;o6?0;S^Q;%=xp|$$WFH3>DfVl75ZzrEhM-F@%i1p-%i~Hu|M`p{Y}Z~T`Sz>b&h~)RXF1E_I!GURYUGyZ znffQm9-vQ2k`X19hSW}H7S9M8y(oZhn7bs3OO%`|Ki$YUfrUux_yX0C>3lreiJ!m1 zOY2#Bn>s1)coT4U5**oJdmp`bL3-lGDHzhJJ5aB!xOL$U(+wZ}N^mw9H0HE7dZTUf z_j8d}LXi4uUML-O8%{Gmz?+snE5eSK($b4?)&Bf(Adw8(Q;xOe-{H{!mp<{&5!`%l z-CqRXj!K-<4!g29RoIUE#{F-r$9ZUG9^P@zk56)j`ms_}oWtc`RSxUB{F4f)0`{QM|8MI&z7D|KM@8OzO?*`lidvmU zt3}zyTtTG4v$uON>)+dRZa4#AOY1&l(LVhjvwh=|BcP3E{%n%zy~|QD>T_crmuz9H zc9IT%b)RRQ@#r+sZ$#{_Lq53&YcaCXJ^`i__#|iWi_q_e-XJGeU|NRmlfMDk3h3Z}tv&hEbp6}*Tg{O`dd#oGT_Z`|% z8l8u==TZC>t0DLJD*~$R?z3N^yz^bRv~AXU>Kw^hT;~t56xS|*3xDY8<*u)5lasz* z2Q(5+$YBq-?%-<%8?gKWq3Hy@sFKYPxX5cl#oU*MdopC*T4A`dE)2=4?IuyrL2DkV zS`2BC+P&RAr@*>lwKmcX#t~EV;U2QO4&E%+brmO`^2*&?tfdbI!|aQ`d;V$b-~s(P zv~W7&x7R)#LrV7(c;0H-1$dJZ7({kQfCJ$B4(#9Fq*623l&rHzGsGi!i=y9^UYmq` z;q@%u{ql%f!JO9rG|Gj|r?c9N$dh&f5}XLb{KPtx)9TvN9nBWx~{ zKv&h>xhN}E8_#m~ivI%lN(`e%qy0>C} zyc;NetYE+)y9(I=5l-Xe2JD4-jCMl$8#!MBqS+|k&L#tS#%HG}X3+uQ33$|-R}Ath ztfPS!R*~R7Lu(Yj;0i^j^#>4Wdsl0$G7Wo*5NObNEcQ2iUHLGA=PKZx6vX2@o%^oE zIQkFW44&sR+37#o@~IT6BE0vq@vsJfUYN(ij0FgHeT9f(XtTdpTDC-81FMD!24&`I zKT@*ox_7MPD$d*sXGuO+Zxtpp-7=1AMU)D$a%1R9PyYpXnObw1{6qjAKBpRfB7v@m z^QECD9(x4NkHOn*Th(xx%~w%KHC$~}Nqv^QPt@}dfSrnogF#m6_*Gc?orZEw0u&39 zFb%lBve-LE$;bK=#i`!DhBqMMx)Q}X2`^^ISU^|K^HF%yhQ+7!VS0bf$FXbwVXs3y zn|JtgrWlG*$jDYM8&MvyYSTB2Rx>?QNN#aHbUXX0s2|wwa;(w~^%K~rz`*Vh zWnvm);uwOHB>fm&8WGGT8cfn-nTyC-8WDxQ9o!(!tuK+rmlRpW$|WiukBFH|O%EY_48eH9YW z-j!6%9OrcaF032f8+2pK8P;T!WbJkF>Z@S?@Yv@NT#xSB1qmN13V>pj=5iu<;+vV>uhHO9=hSLQR(E3R;R#_+M+zRrF;aucCq zGnn&?-a_*#*AqH~5ZVHiDK_=za!G~0Ho2&YkWrHs-_R=TubB!ai`wGHq&kyldkh<$ z3#U91+5*7xsC&;M=kOmNue1WkX64I;@QSV+yoceanYf&+-kbo(^Tk`7Xf?AkXwNiY z!tUNjA9_Oe3gTqVvK&JErE!XF;E+PBBg&6s~woeaAigf+SPgr?W#v*YEb9OTKhm$PsNnTojpt!NPmulXqk9 zuu1iM)ofgJufl=DO)M$q`Lz;YrbO4w5sJMiEhIY?4Y$|9g$L&EKP3+Alf?{jo@)_D zN6o6GQYkk^@O8%65?FE{Ftq#?n7wjy-m}c?Wn1l`zY%42e1>)7PMPU*vvUvE8R{rL zTxU!BU?D#?J<{ReX2T@2Lx{D#AP4LGpCkUez2GWCTKMmWQtRwpGl@vR9u4_@``{UP zL(Iof$4r|JNqS;U=jdwE!KidnWQAfNt(%I7HL+&@QMj#EdyILE-k#mrw@Fuc63eeJo=*|}w3}Z|A(7BOCZNw>q4|Pm zz#x=tM3nR4Vl8sNP%u}`QW_=nV~Lk!5n3Hj!Y(G#i8<%6TjP{PnbAG|I1&Y2I}|Akl~>b?Idktvh7Ox2oXc%dwYc~*7kk(w)h+7A-L#PXB6Jw$(fOS5 za^g>61YB0tDY^N2Pgu1Qnu@eLwbnaV(*z@Kr}UqS{PS5O;c**^M^KhnP!;)+vnMEa zQW>a(V?MjBzo#)!gO%Jtf?_*R1jNmn$1`gqe z(C28us_-W^D;idjhh?v1jk!_`N^(H4pku3N&wm5kZgkek%~Ou!&dtQoD_VbF+D|Cs zA%o6vJFCBTmKlJlD7X`<<*m*V6>Rh3_dnylud)P07QK{9Q_kcD4CxOr=(^=+{e-s^ z^Dg}Qr}9&~OFZImBNadXLT-79#`0xf*~Y5cenNkz%I}v{b7$pCcwV&gG^34g{!j%Y!ghsNU7GU6H3UHqx}^ zK7T4K8JTyeX?ytuqBz~LhM!UNdSLqaek5-e7TBLCmp*Ismxd6M*X<`0NxeUs3#XOBT#YbX)`CQY~+kA^=qv0j!$XKjy<#@#4?(AhBqd zXIc0ZTgfz(DNjyl9QpNYg>J>@NmgE~^Vf0KJ09{LiPS&{z$iQ#Q`A1IqLh#w_IT#o zV^F=}v8TMfUq(vVgs#=f-GW36YK!_ynponGyk?C%{JE98nzq&)x%UO1&=`jf?7C0m z?{8lKYf?wxaU1Hq6)*55P_**~vh?z^mce7{p&Yi4F|YW$x-~9C9oT0 z5;A(x+>@vz{SC+?<6NVM`5>8OtHF4#4si9nmC~Ge0eD*WF<7mA=mjZMN0)13^zAgm zd;MdXs1;Zk-L>HY8(H+P)RMu59y`px0?Wp-w`W&U%C zxe`w8@;X$7;}y$?+12fARK_PmR%$}N_g*W$vBb7!e#oXMZg11tJX7BDCEc&D8y-LS z-vKAJl;im5$#v@KMk!O!w~@{q;X7}uw-A{~c=_b!gJp9KO#WcmL<%-%bd%uISHIiW z{PHf<-X0!WzGyS@Ak%K=a=93lF?Yi6Gv-#;`n4hiUCA_5sA|B`vROv$=fM-Qw%?_V zWg)ScU*kEHbTcXs_V^w(?(Xj|WWP>u-8;m*?GEvR%<402g`|O-$L7$}oRbKwgZ^;> zHgApk#j{^@r&X5;WY5o?o;HCE;Z{OEMqE}weU(6hB8E-zBMaTqhc}MN@8f&0dnY6g zG8vd}pYC72RZi_p-}b=F?sW6=h)m3EcS%(2NWBkCM-2S;Lzi+l7~=zu$GCf0Q=8WVyq_tZpXZo7v-A@vw}cZLDJ% z$=oVyvp1IRM-~yZS3lCad|jfsEv#&fs+_2&)@E34XCuY>5EmbhMP<)!Igqe@I0|W^ z>rxFC{f=W{@plMUYKKlt8p*`4rFuv=MTiojFUj|;XT~+{MZRb2UVqnUaYne ztf?qliSk4J2r zFIO(xVDyUjFx;hQKK9|diC@p?>E|N8%LfSNR(_j3B+1X9rpFfHr4jF^Wn#wQ3rvd5 z78w@dlzKDNZqnRFo$H~uJX=a< zjEi6Mg)fd$D7++Fj`%*km3KT>?e+SAPR>LH8(SL@q{>sXwUK9#^pYs_QaablIPJ;A z2lme#&YWe4X!y(bT7a~w?S<14ncVo(_dg#ovxqz;rE!$^>-RByS6L)HSmu>}A0msj z>qo!iYd`~TAACivF&7P$T8*9gxsX$H=fdeO)8`rf>~jcWNVrgAryl>oB_4gKLb!kOs_AqsWf2@50}MBT&)7Xh)qM4`n#!{&y@tUz ze-84G-V2$F<$Vg#DVWFXFCM!KHHL(4SFq=Dcfu>e|8PBV91{Ib(>7B4?%zix{h1$t zh-*8K##BLWL2B-ey(7x0x~&{S|NYOPRLi-sS3k{&FB21|i9&r;pyiq^d>S8`%t!S1 zNofy^?E!;}@+UK7u$XK)f0>O`NblI+XWcL)jjTPr6#YE6Q~GkN znxSrw`~|ZbctCtg6MeLp%-ig!?GNqU?6t1daad+j8Nb)GT{#KYU8R6A?*l+H=g>a; zsz&#v72oJ4j%yD^1suA*zx`?={2{$b#Vrf=-yfCk_?OT?cxiB+eRvj^_ntZ5u^t3R+LtGfPBADbrB>jnq8s`xD$<_-*E->@eekUhrSheLge?Y` zbc=bEAn$gBwDK(=0ct?!IcjBAi>IDnD3XVEVzK1)>N&34L0TKK!e7$lL8e{iIcZVb z8SrB(dqe-TF7D2JciMo^tMM6s5`vE!Y?0Y!Cp$DHc*sNy{}d=spOv^uYoLTpn=Y*f z0IS$49uWrGN)g7hcN}n+%3>HKT6-#Gyw;~4gDhqM_~)#32LAJX*=!!mqhdACPv(OX zr)q`kB>yLcLC^>2t4+bsBp)U>)j=%KSG%0t`MDmUSS2^`ogg=)eOl(n;euk@N59$0 zpFdtPO({tm8f8Fps0S$UJP3}e+46>gkOr)0JP#dzlpVCHZj?Vme|8vtx@c|j=OH$J z2;-J$cxR52jzEV+nJ3NW_f-#f$%Xyt*efSCxGemj=}1qvFlB>pg7aRU_i z0Hny#d8`2-`rDUhnd>>RX?RV%+D~jZ!EGE6Jj`yydayx++rlLH4bDFe2d#{Zi`Lma z=5o&GeX#cwHwKn8Q)JipJ=kvHT?_j&SlVhE<}Tm_Eau%A1p#_KkS3~M;%VBB@;~C} z#n6n98M?7(k6{|H!h8mB;zU_lHl(grd0g|FKKhEatnCE*@K_ql-NVN+|w5p8~` zZYw>YIn2=(>GpHfD!zI)FB709bqCB#;x~B~hS<8^UQ}GkO9cg4JUm-I{n${+pgMVj z&4C1uACjJyy*&;yE^E?ar*yw(e=auuGc$M8wE;SY>fQrQ z6Jg{LU>Nuh<*AYF>iR=_KMp{)E!mnaq`Sb?68GR(VRhmQkmHtlr25CVrA(Q;b}{b| zOyMZ6Wss@VygvkWKBcxvF?H2)8Da0^XhxyY)HNs=i7tf_CvYga_tO#+4@ifeoFPXw z-9bhB#%-grFh0=mu7q9z35)5C*wcfKuDagYvpj@hk5$K!-ki6>>Mix1pxOEk2bkd#Kd?Ap)Knm!V3QfWm_Bn=q(_|Fq z?PiTA4%Ya60#rTUr_{%Hdz5Nu1X>VD1iv{phA*?H z2vCe@3oH%VQIJzm{6kPZd*eOQ?3-sXw;Zdck1eRmA>ZVle+go7opG3*){{zw9#KCb|oSd*_rppT|5l4$4h*@W_$eQm+Btl%ti#-`TxPDe`xvWP!SMAaxXpVK52ew;o zMrNTIfIs&GaqQtcx^}5@dZJibq(W$v__n+xr$Q6wAnH}4?yc; zEozj~Fh8NOb2ZDr;AGT$PfkQ(R%>o$XiCLeQbA5_*)mIXY0GfTp0;xIT~$7glD#;YR~6}QI?a(UH;l%bt7i>A z_s)qdfq!4TnQcHQ?w*gtO!C&T!%woI^_KEAuJ1`E9%4mbs!GPMb&Q!as64BFU;WQu z&Qen{@&VdmFKe*`wIAjvQ4@wmU%#2*62A0eqYFQ8qkJ0`=*yc&FE{QdElwCFEXuyw z95Uu9zfr#%`5|pxp)DwNozsZHR{1JN_JW&|Btkhbbvo!GO@yCyT)XPj21E17;80VJ z?8BZWMV}nNagc#Wrkx-ikwX9fF^jVTtH~XS4OR-;K0cD?iH85s;m} zJU^1-Bt7xC-eo%f`ySE@vpQ-s-~1zkuJ_5$)kWc*NwE)Vhc4P!X|&T1)BV#g;*V>G zuX*$5x||DSSR0Et@29${dywG!)L{BpV+=@{8PT}d_6!;=dAIcz|tc3r*k7W za^|O3Q##%%J6Jb`q?brx!jVcN>}Dk=!zLv7SRY7AMCPIQTp8*DOcq-6E|Wn`haZKa zi+Te*@lzNrnt2PMO)@>iWb8dM_2>kFS&nZ?js~#ht{SOvEV;`Oa0|q(PNPn%3PvsO zfqk_K_2CDZd|)0Y)vZU>h2FElg2`Zn+|?%_E0~sK;05l~OM;I;&-C!f`3{~4Om zvlNhc?JfEo57~5Q(N`d#&(uH-Q0vI#8anIcvEP^}X);=k<859Y=gYlJ_4`uhsgp_n z`h(p!Y$%@5?dL*koXPt|%vy#2Sd>nd7d*Ir=(X$4G^~0^(@kuKj>dNU-CGv}u7{sN z!MQ5@+11h#sL@C1az9NUn^*2P=;w)TKduz>y^~Kw9BY}CId<2Ikb17CAWyW zek$*Nz>bD3H+l8_QPMDP1`WaNdryk zJr(Xrm1z6>)f-^zo1Uk>!N@qjpKp?ADk|dc6+c45u7=dB%<}#r=Z?}J4qMTFAlcC~ zqIubANUsWq`$N|?mvP^7-}n5^`F+2ib55tUMjL-uv+S1ZS*grgb#hdq`-4m^P5Ip%x9U|m zZO#bd_`B(m1LLLhtKQU>pk6DyyY++oy91SKtPOSVbVvu6r`Z&-5u6Qem*^>OFwnhh z#?EL-XO->suDFyhUdf!ygq;(;rWrNQ7F6(@cQ%A7`9HSxN4`<->LB~hJX@jpoa|e{i&Dkw7wJQ57&9i>6L&2Q z-M0+-q>1BRVlhcmY%^|cWoj_8hd#9<~JE4Q|&7xD^;xpp8~&OW`x^>T9D94{HRqGq2g&Al7v0YQ20K-VN7a$p>DWCi6FsC7bSY?u zpuW-;rlSrpC2_|I2dZr2i%tfiVs<;NQ)UsBpyx{O3p+Ke#jHm1Em)$%2a+XO1Z(LK z#GDV|#wMD94*{{p-86!$WNSNf;dSniv<(pI`dib{GO&U!l*$if;J9 zk_<9S>GII%lAvUtxKAzw5tFaTh2iAYmJqIh{Y4k`7Cod%B4`_0F6z?{y1Cb&oc8pK z*BiP1@pCtqv@@U|Y8V^EU@h4wU2)-1fwVRg%%PuRq(sWjK-W9&jIW80_$HWab<@`U z(pB5h+Ho5Lu=#I~>d|=$J35N-zV@Fg`9g7<{I97IYjL#pzju#E|JIoKwyKNmgOFIr}6VN=D0nXR`Mw;Y6EW(EH;2`u7v~1@m zN3d`qoSEpew62RV^f1qf_FV1}6+sHJh}80m5G6Q5=`ipsI*q8~m{dI>0ScPz2$UeH zbWUUki4}djkzX`yJc5r=lOTgii&y{AI1}Z)_g2-xugoNN)D~^!Rgw?`mt37FvE}?rVblEhG%n9zePWbXN&G8=5aEGmqg{C;7nPt0l2unxXaPP& zk+8XRN!`IWipV&Z_zgyi?y@0qC;8g!@k)O3*;fs63qjCDJKZhYLt{{U;0cZw6#;B8 zS(T_>v(hp#=sU4%TkhdMdJ6R-(eyP6wN?G1&R9|an^X`pj(C}nSW~N$#jJ|34#3?b z1tHOB@_U$hG=h0d@-E|w&Jm%zY{2b1qSaBsQT4_e$7~siyYR|@@$j*NEGSJ^9=Tg>p5-JeFTwOt42g1hPTocz0G-JlReO57}vT(X&+|C6< z|6ZjI1H?r1x?C;aNR%ro)ZSl^Z6ra0cOs#Ydm_XB^SVeX^%FIA5aFsPMr+wWD`Q#w zHEAinz&@Cy6fQ&V^7*oOx>f{pD^K65>-pqT_tzlle~%K{#kh)F9mgzIvS`X;8Ku_q zWl_9Z>wE;W+G`G>NfH-X1@4e~f6@9C3Y&P@5J`SPQ(so35hK z7cVT5M!CoF>-3ATH0og9>R80E2)xw85lAPVnF=r5?TcsOw_~{*`sj|U*F$J~y<3pm z?#82CWF!hV7DYUkb@r+O`2uIvu&6h#V&2{8Duf$J?l9J8dfie30qLgXAQlmfNjm=r^vKx6&2d#*4Hk(wdQ{^=A;*W| zwQnkCTo4P*2ft`)8zW=9Tj?wZlf~CzebJ3>Tk@7$KJ81l4Tk>po*F=SaiY61w+Mg)#SmJ9C zMJxzE!}h$jKCMk@+I2aw$mpNRq5a`y88c4Vjic*0&Bi?jnM?UqwagsWReh*Zv2uF- z65HmS@?Jr;=4oYxr4OR=%)+$CT5HeNzUD93Yz~K2XGiMP&EY36k}A6vPWPGgu?e@- zRZ{bp>gF7OOx@~s)B{Dey)a-fHtY17&aNU9o~`v@a$o~{{gJ=PPdIY?AtWyXq0sH3 zs8nS4iuK|{5^+d0f2*)>0%=Ep*mK5JMX^VtOWCW9Q5X$oVP6wXX~d@Bu)V_0>nz5F z%IelbH^!WAG%u|BogC9m;1BQc(M^14NJK{93|mY5GqNmxuoPvtRnFeNs{EGS8ZX@u zoU+Sd`S=S9CiT`D|EGyx?034vxcc?*t1r)}bg~Zym)*y3%GaE1lj3zR5U6Y=%HWtQ zv*5)_hsZf`;$xCd>-_Z^kC2hgcmufs!7p09|Yo~{Vh*AWF?{m^s>3b-u zdywcTdK?nX{ASgVFS1B6p(wFytvk}HqVX|px6|G?*jgy974;6_aawmC^jh1E9+(%J zE|}e`%wAGe!k6;Q6?*R^28wPCdAT; z)H5J+W+*$26WSovbTdY|CkxC}>#K%d>Iw=FM7RYAimS)%R7RvD0@8(t0^C2%y91@?F;>(dyB;O(*puQU0?&W(dfyU!|bs{6+ONa``GwFV))w55edD2PB#*Y z)BVN7(MZSF6@$>TIxJ&E>!YK1C)I68zcc`gic@vj@%5p8zQ}Q560hIA=>?bLJh^$w~neDXunE>^05#Q)TPBR_bfWw%*k->61>a`|*#IoYA*Hn09$Bp#tQulcQ- zO{SFe4#NAy)w;z1`?Dm?57sazp1o&MCmMf)2V{V`w#%uOw$c4xC8P+n~Zx=TB(;an(RdyBHWt%C>JPRIdK%*cmo4GPo>Wl*&w&`)6$)DW%@DEofgC#rygcDdR*w+eV5EL8^5`>G!SFqgM$ zOsz0jz2WCv=_u!m{GS_Z`n0KvEfw|!olsxW@8=S;q!a!Xyi=d)SfN87EA&-q?TS`D zL6vU5BGLvLRC{c3?asH(I&t@X%Tv#PpBzd~c@DvPzi@*El{X9=4Xj0)lZD!v_acn$ zK8M}>IQ#9F&~#eVf2QmcZSQ}%t#KPS`2fz7M6d)gdqK5)saY~#Sxz2?qw)`&DLik8 zO9=t(e_&PMr7sPRk*+vOGcV^rWXUPUArb$XP1V%88S}_jz<6e_& zC>)0Gt_6A+a|o-eIYX^1w}+Qb9(1$Ooh4nT52_V1SE$|5$w#(_w&NaI_YYOh&{E}m z73uI@jMoT=goAz7XCh7n7Ino~@$G@Y@q6`a;yJUY;5PTLmhwEJcRa~@wyZ%`Z(m26 zQb#nW=6+}xt?*+k(KKDQN$|cw9Dma{FN&09**kCgLQ9VqNJ)~?&jg#)y-Y0;{8p2- z(@?>j4L7<&w~KTsVF|aQGH``uSM9BM{AzkW6o~UrSkn(AvS4dDuQNwphe4SM;Y0RW zxIHL)*d7tyLA_D83FhR}77enOCu~2SZTNtK#Num;H;(h9geR8DO+8e?4V#nn?zaG}C;s9i&c4D@Mab zlAuQta=+J%gLWo&pU6oz^IAVmu7keDxD1jA>aq4Wsss;1e7Jvja=aZ%cWeWC;D6Zt zggY9;we@Qh&JRIR{@Cd5tLXZ13@4n81}^gviRcP*04m}U=t!0&^0h{u88Pve30M)e zFH>&Q`mL`{633LAy6g(xfVIniO#mCIcwd+BUQSe|5O(X2;s6H2Yy~KMD zPwtuRe|Emvz7QN0&(%E4xRe^>99KYtrG9)S+z8TX@~UHm^KwOC z32@Qrb2C>CHLDoYC$3m9UUQ7j{Vx`9yE%?(NppuRB@8Vl_?p5|>o^Dz^d%EYA^j`uY>Ji2+dd%6SJzYgQxKSoi z&^UJw<`k4aOY)uiWRSN!9Z3+&Ijh>8?5$w$ck6Z`?&&RoiQ=3-o&U}?<>d9lIhyK& zk}Dd8dBhLF1aQk63VJ52pOXZ3`MfjNf62vgsiUWD3M`0ML{dFTr_xB9BPnwy*WpM*(7%n$mtnB&2sc-MJ(sA?qH$JhCQ=ih><<+T` z_w!g|ZPUDG4AEEnYdze@8-H%nsu;w;_+O+dmJph%2jpLF=b~9r^beDiV?E)df638r zx^rz`aSkij88Z97J(7n!&)#jqIVV6{-UN&RFslEs6?T<*o#j~8U3s>9z6L_*v5#-$ zhxfkuhYlLNb*T5Hg{+%f%plbS?lag$iMj9Mj|Oz=^O>{mSY6`31L2cS_J$MyW!M>3 zb{Qzc4?pc+Ph7$aZ*gWE!C&qFlYD{yN;|^G;IAp~zNa{5x+fx!&5k@sBeFiIjeR~d zRhoiP`m2O~fC+!XGyN~IR$S=n1Fs;UO~NbjhcMQFKWHrb&-O#{!6O<70z(e_1Fl=V zL)=Y%@_Z)#f6goym}GsJeR27fn0EMu{XIT-U6h6%D8RJnN!sY~&V4)oG9uGZtLlSb zrd?w=cswn)=n-9vfQxsf^B3}n;Cl8BB$Y>y!ccOKKf#poKvFUjeiXXfWdoOwdodW~ z|E|K{N4!vZwzY<^&d=&hG{|R@C^W6HXIVu|tV?&I=k% zC|iRYk|DzA{I)GiW6=Awyg3!(Ld9i({;&!+Ot}|;0?HCd_ zWv|G@)yCtXnDq|{hVzl5XSK=ZxVyBv0*FaVliBfQ>9o2Hm4rG!xJTYi-(aBSvlwEA z-_+y0H5iI?alc8S_&y^gyTQu9Y$(3ai$AoSe577nE^Bhficeo$_=n7YU%ketp-530 z_7wGE&t|*EualUD@O#Nz5)nOxOMyX| zgHol@KMygi0DAb9w1Fhs{ZT{ZVnn=JjzTIO-PQw!I4z62i{4m;DqN8+{!nY&fu;Xm zAod<1B*YH9@?E<8cuK4N!NBxq-hoA2s3*DC8&8tPoEyaMl>F-@!Mth9Z$KCQzH0)$ z-(fs#y-K%sbczvs#0qYY2qMi>bYG%CVkp^TzV3Tv6_!0+kE+_io$U+UBpx zsR~9>-m(uG6bX;WPRiFr6;RbVvttArI*Qc>t8CBVBj@%NT}<0$^FeZ1&U8enl~ZAw zdyU#6AM~lAyDPS1!MEf}ewqOEGLFi}a*mo|f1{T|4w3o1oLBmDp5dv|^|tE|dzr8S zZEoAWwwWl_H28*Rr5P*LbhAWN`8xRbwSJN>?{J~sepJKcQf z`}+rS#awDjJzyz7f1@0ATL|br4CFZb=2lN z0%RFj))K3q>Bob zeG@gbgdyE?4RA~iDX2YJ z1Bh|`0-hRlF*4*wjzBePa4+5(tApE+{tw&weN_-h6>5((?E=Sd)KuY%*@S19J{qqr zxU0Q^Zh2H?;*gq~`n-Ek$WomzTw11f$qD|f%}NAz+IjhUuOGGyHFxu`$g{9>XsZ;B znS_|fb%x$7GfyY)aZWSrdD^gAmQi6W_Q6G4@VKE@1w!I~zX&6*9jt9ngY+RQs`G`& zwHh%s%+s)+Bb@bk%aeV#64+(JwjR>-`D}+}N}Rj>{STr^;~=+is#u6;cpdes<2|XI z-MRavd5}PY?yaR?f{o749ji8#({lfUR!sW!*03NN*3#5uj+5M!HExCC#eQ7vc1(;f zb$zi-Y4GaSZQeP5wMrjI8WWiiI+c6>Evrbxn#1rOCXg=n9 zNd0GevGe=G+E3QM0nua?@cAv{(p4G(2Rgx9;JI{*8Nw<4-RC@wUs-&&ttAgkgSO*j z^dQ{O$?R0`hrJSazqi2vs&%Y$zAU|?^b?2>;t>ZW$SzyupE>0%ow{``^`O|wXFpTE zNOz8769h1fRR)vBJHTN@0VSm|;eVWhyml#n?FdE6lr)fR%<s_&Gx@V)xEVnS; z|0bif^QLV@n?&mEFG~lEYco}P_b~TjaBOQFO+q;b2{(B$=kuxj(Xrp(v}(kL?WE)NsRC!tCnyRouc-u9>50}teISm($` zhfne-KG#;(ed4+#_Q+I$1X7IpOUDebgnD-f|oEfHkbP1pwL9@o8@i#M30_m>xZs*Zz?{wkma6z6qSALZc z!JIfZCCqF7$jo{%oSgLQkpJ%=q~>u+>(x#1xtOgRN>@tg;Gdzc2`*3DChY$J2w@DR literal 190135 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 z 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 C9Osk( diff --git a/input/intro-notes/ActorDefinition-SHCApp-notes.md b/input/intro-notes/ActorDefinition-SHCApp-notes.md new file mode 100644 index 00000000..cc825c66 --- /dev/null +++ b/input/intro-notes/ActorDefinition-SHCApp-notes.md @@ -0,0 +1,5 @@ +### SHC App Interactions + +#### App Launch + +The PMS user initiates the Health Check App within the PMS. The PMS generates a launch context related to the current user, patient and health check questionnaire, which the PMS Authorization Server can access from the parameter provided in the App launch request. \ No newline at end of file diff --git a/input/intro-notes/ActorDefinition-SHCHostAuthorizationServer-notes.md b/input/intro-notes/ActorDefinition-SHCHostAuthorizationServer-notes.md new file mode 100644 index 00000000..bd4c0810 --- /dev/null +++ b/input/intro-notes/ActorDefinition-SHCHostAuthorizationServer-notes.md @@ -0,0 +1,16 @@ +### SHC Host Authorization Server Interactions + +#### Authorization Request + +The Health Check App responds to the PMS browser to redirect to the authorization URL with the required authorization request parameters including the response_type, client_id, redirect_uri, scope, aud, state, code_challenge, code_challenge_method and launch. +The Authorization Server, if required by PMS organization policies, may respond with a data access consent form where the PMS User grants the App access to the requested data. + +#### Authorization Callback +When granted, the Authorization Server response redirects the PMS browser back to the Health Check App authorization callback (redirect_uri) endpoint with a code parameter. + +#### Token Request +The Health Check App authorization callback extracts the code parameter and uses the token_endpoint URL to exchange it for an access token. The HTTP POST request body includes the required parameters including the code, grant_type, client_id, redirect_uri and code_verifier. + +The Authorization Server response contains the token_type, access_token, id_token, scope and the relevant launch context data stashed by the PMS such as patient, encounter and health check questionnaire, which can be used to retrieve by Id the respective FHIR resources from the PMS FHIR API. + +The id_token is a signed JWT that contains an encoding of user details, including a fhirUser reference that can be used to retrieve from the FHIR API a FHIR resource representing the user. diff --git a/input/intro-notes/ActorDefinition-SHCHostFHIRServer-notes.md b/input/intro-notes/ActorDefinition-SHCHostFHIRServer-notes.md new file mode 100644 index 00000000..313dffd5 --- /dev/null +++ b/input/intro-notes/ActorDefinition-SHCHostFHIRServer-notes.md @@ -0,0 +1,22 @@ +### SHC HOST FHIR Server Interactions + +#### SMART Authorization Configuration +The Health Check App uses the iss parameter provided in the launch request as the base URL of the PMS FHIR API to retrieve the PMS Authorization Server configuration from the .well-known/smart-configuration endpoint. The response provides, amongst other configuration elements, the authorization_endpoint and token_endpoint URLs required in the subsequent steps. + +#### Prepopulate Health Check +The Health Check APP uses the access_token as the Authorization for any request to the PMS FHIR API including the retrieval of the fhirUser and patient resources. The Health Check App will also query any FHIR resource required in the health check’s Questionnaire pre-population expressions, using the patient context as search parameter values. + +#### Fill and Submit Health Check +The PMS User fills out the health check form and when finished, submits the form. + +#### Writeback Questionnaire Response +The Health Check App writes back the health check QuestionnaireResponse to the PMS FHIR Server using a FHIR Create request when the health check is new or a FHIR Update when a health check was previously saved as a draft and retrieved for further contribution. + +#### Writeback Extract Transaction +The Health Check App will generate an extract transaction when a health check Questionnaire contains items with specified extract expressions. The extract transaction is a FHIR Bundle that the health check App will write back to the PMS FHIR API transaction endpoint. + +The resource types included in the extract transaction will be specified in the health check Questionnaire, hence the PMS is required to ensure it has writeback capability for any health check Questionnaire it launches. + +The extract transaction can include writeback requests using the following FHIR interactions: +1. Create; or +2. Patch diff --git a/input/pagecontent/general-requirements.md b/input/pagecontent/general-requirements.md new file mode 100644 index 00000000..cd604dd3 --- /dev/null +++ b/input/pagecontent/general-requirements.md @@ -0,0 +1,98 @@ +### General Requirements +Systems compatible with the Smart Health Checks (SHC) App are required to support healthcare client and provider information conforming to profiles, AND implement the interaction requirements of relevant actor's capability statements defined in this implementation guide. + +The requirements of the FHIR standard and [FHIR Conformance Rules](http://hl7.org/fhir/conformance-rules.html) apply, and define the conformance verbs - SHALL, SHALL NOT, SHOULD, SHOULD NOT, MAY. + +This page documents how CapabilityStatements declare conformance to the SHC profiles and their FHIR interactions. It also defines the expectations for mandatory and must-support elements. Authorisation to a healthcare client's record is supported using [SMART App Launch v2.2.0 implementation guide](https://hl7.org/fhir/smart-app-launch). + + +### Conformance Artifacts +The [Artifacts](artifacts.html) page lists the SHC Profiles defined for this implementation guide. Core Profile [StructureDefinitions]({{site.data.fhir.path}}structuredefinition.html) defines the minimum elements, extensions, vocabularies, and value sets which SHALL be present when using the profile. Many Profile pages also contain additional guidance. + +The Profile elements consist of both Mandatory and Must Support elements. Mandatory elements are elements with a minimum cardinality of 1 (min=1). The base [FHIR Must Support]({{site.data.fhir.path}}profiling.html#mustsupport) guidance requires specifications to define the support expected for profile elements labeled Must Support. The sections below explain how these elements are displayed and define the rules for interpreting profile elements and sub-elements labeled Mandatory and Must Support for SHC Host FHIR Server and SHC APP. + + +#### Capability Statements + +The [capability statement](capability-statements.html) page list the cabability statements that are to be supported by systems implementing the SHC actors in this IG. + +### Exchange Format Support + +In FHIR, resources are commonly exchanged in multiple formats including JSON and XML. The SHC App is a JavaScript-based apps and hence mandates the support of JSON. + +### Profile and Interaction Support +The SHC systems support the SHC *profiles* to represent clinical information and the SHC REST API *interactions* to access that information. Therefore, SHC Host FHIR Server must implement and support SHC profiles and interactions to be compatible with the SHC App. + +#### Profile Support +Profile support refers to the support of the SHC profiles, such that the system exposes FHIR resources that adhere to the SHC profiles' content model. Specifically, a SHC Host FHIR Server with SHC Profile support: +* SHALL communicate all profile data elements that are mandatory by that profile's StructureDefinition. + +#### Interaction Support +Interaction support refers to a system that supports the SHC REST API interactions. Specifically, a server with SHC Interaction support: +* SHALL implement the REST API behavior according to the FHIR specification, including *read*, *search*, *create* and *patch* interactions as required, and the required search parameters as defined in the [SHC Host FHIR Server CapabilityStatement](CapabilityStatement-SFLauncherServerAboriginalTorresStraitIslanderHealthCheck.html#resourcesSummary1). +* SHALL specify the full capability details from the SHC Host FHIR Server CapabilityStatement it claims to implement, including mandatory support for _FHIR transactions_. + +### Must Support and Obligations + +In the context of SHC, [Obligations](https://hl7.org/fhir/extensions/CodeSystem-obligation.html) defines how an actor (SHC Host FHIR Server or SHC App) must “support” a given element. All [MustSupport]({{site.data.fhir.path}}conformance-rules.html#mustSupport) elements in this IG are accompanied by an explicit obligation, which identifies structured expectations for a given actor. If an MustSupport element has no obligation for a given actor, that element need not be supported by that actor. Obligations can be found in the formal view section of a resource. + +When information on a particular data element is not present, and the reason for absence is unknown, SHC Host FHIR Server SHALL NOT include the data elements in the resource instance returned as part of the query results. Conversely, the SHC App SHALL be able to accept without error resource instances containing data elements asserting missing information. + +#### Obligations for SHC FHIR Server +[SHC Host FHIR Server](ActorDefinition-SHCHostFHIRServer.html) conforming to a profile in SHC SHALL support the behavior defined in the Obligations section for the SHC FHIR Server actor under a given data element. Implementers may notice that the vast majority of SHC Obligations on SHC Host FHIR Server is SHALL:populate-if-known, which requires that SHC Host FHIR Server populate an element if that element is available. There are a few potential reasons by a Must Support element may not be available, for example: +* Elements for a particular patient are not available. For example, a system may not have the technical capability to collect a data elements and therefore is not expected to respond with a value when queried. +* Elements are available, but the SHC App is not authorized to access the data. + +##### Missing Data +There are situations when information on a particular data element is missing, and the source system does not know the reason for the absence of data. + +###### Missing Must-Support and Optional Data +If the SHC Host FHIR Server does not have data for an element with a minimum cardinality = 0 (including elements labeled Must Support), the data element SHALL be omitted from the resource. + +Note: an SHC Host FHIR Server may have no data to be included either because there are no data or because the data available are not pertinent. + +###### Missing Must Support and Required Data +If an SHC Host FHIR Server does not have data to be included, the reason for the absence has to be specified as follows: + +1. For non-coded data elements, use the [DataAbsentReason Extension]({{site.data.fhir.path}}extension-data-absent-reason.html) in the data type. +2. For coded data elements: + - *example*, *preferred*, or *extensible* binding strengths (CodeableConcept datatypes): + - if the source systems have text but no coded data, only the text element is used. + - if there is neither text nor codes representing actual (i.e., non-exceptional) concepts: + - use the appropriate exceptional concept code from the value set if available + - use the appropriate concept code from the [DataAbsentReason Value Set]({{site.data.fhir.path}}valueset-data-absent-reason.html) if the value set does not have it. + - *required* binding strength (CodeableConcept or code datatypes): + - use the appropriate exceptional concept code from the value set + +#### Obligations for SHC App +The [SHC App](ActorDefinition-SHCApp.html) SHALL support the behavior defined in the Obligations section for the SHC App actor under a given data element. The SHC App applies different processing for SHC profile elements labelled as Must Spport, these may include: + +Code | Definition | Notes +--- | --- | --- +[MAY:ignore](https://hl7.org/fhir/extensions/CodeSystem-obligation.html#obligation-MAY.58ignore) | Conformant applications MAY not make any use of the value of this element if received. | This is a null statement and is the default behavior or consuming systems if other obligations are not specified. +[SHALL:handle](https://hl7.org/fhir/extensions/CodeSystem-obligation.html#obligation-SHALL.58handle) | Conformant applications SHALL handle the meaning of this element correctly. | This rule is vague in that doesn't specify any particular handling of the element. But it's important because an application that ignores this element is non-conformant. A good example would be a status code of 'entered-in-error' - how exactly a Resource Consumer handles this depends on the use case etc., but the application can never simply ignore such a status code. Note that whether the resource or information from it is stored for later use is irrelevant - when the resource or information in it is processed, the consequences of the element are considered. +[SHALL:display](https://hl7.org/fhir/extensions/CodeSystem-obligation.html#obligation-SHALL.58display) | Conformant applications SHALL display the value of this element when presenting the data from the resource to a human user. | Exactly how it is displayed is not specified, but it means that a human looking at the content of the resource is made aware of the value of the element so that they can consider the meaning of the resource. +[SHALL:process](https://hl7.org/fhir/extensions/CodeSystem-obligation.html#obligation-SHALL.58process) | Conformant applications SHALL consider the value of this element when processing the resource as specified by the IG. | This implies that the IG that specifies this obligation provides details about what processing is to be performed, and the obligation specifially relates to the processing specified in the IG. + +#### Obligation Code Definitions +Further clarification on the obligation code defined for an actor can be found by clicking the hyperlink on the obligation or by navigating to [obligation code value set](https://hl7.org/fhir/extensions/CodeSystem-obligation.html). + +#### Must Support - Resource References + +Some elements labeled as *Must Support* reference multiple resource types or profiles (e.g., `QuestionnaireResponse.author`). SHC Host FHIR Server SHALL support *at least one* referenced resource or profile for each element listed in the table below. The SHC App SHALL support *all* referenced resources or profiles listed in the table below. + +For example, when claiming conformance to the SHC QuestionnaireResponse Profile: + +* SHC HOST FHIR Server **SHALL** be capable of providing a QuestionnaireResponse.author with a valid reference to an AU Core Practitioner profile, an AU Core PractitioneRole profile, an AU Core Patient profile, or any combination of them if the element is available +* SHC App **SHALL** be capable of processing a QuestionnaireResponse.author with a valid reference to an AU Core Practitioner profile, AU Core PractitionerRole profile, and an AU Core Patient profile. + +#### Must Support - Choice of Data Types + +Some elements labeled as *Must Support* allow different data types (e.g., `Observation.effective[x]`) for their content. SHC HOST FHIR Server SHALL support *at least one* data type for each element listed in the table below. SHC App SHALL support *all* data types listed in the table below. + +For example, when claiming conformance to the AU Core Diagnostic Result Observation profile: + +* SHC Host FHIR Server **SHALL** be capable of populating `Observation.effectiveDateTime`, `Observation.effectivePeriod`, or both if the element is available. +* SHC App **SHALL** be capable of processing `Observation.effectiveDateTime` and `Observation.effectivePeriod` + +Systems **MAY** support populating and processing other choice elements not listed in the table (such as `Observation.effectiveInstant`), but this is not a requirement. diff --git a/input/pagecontent/index.md b/input/pagecontent/index.md index 6cfef6c8..47a1da5d 100644 --- a/input/pagecontent/index.md +++ b/input/pagecontent/index.md @@ -41,15 +41,58 @@ The Smart Health Check App follows a standard set of interactions which are summ 3. Authorization Request: SHC App redirects to the SHC Authorization Server to authorise access to patient health information using SHC Host FHR Server, the SHC User may be prompted to permit or deny access to the requested data 4. Authorization Callback: The SHC App redirects back to the SHC App to proceed with the authorised launch of the health check form 5. Token Request: SHC App requests an access token and associated launch context, including user, patient and health check form, from the SHC Host Authorization Server -6. Prepopulate Health Check: SHC App uses the launch context to use the SHC Host FHIR Server to read practitioner (6a), read patient (6b) and various search requests (6x) to prepopulate the health check form +6. Prepopulate Health Check: SHC App uses the launch context to use the SHC Host FHIR Server to: + 1. read Practitioner; + 2. read Patient; + 3. read or search QuestionnaireResponse; and + 4. various search requests to prepopulate the health check form -Launch Interactions + Launch Interactions 7. Fill and Save Health Check: The user fills out the health check form and saves the form data 8. Writeback Questionnaire Response: The health check form data is written back to the SHC Host FHIR Server as a questionnaire response 9. Writeback Extract Transaction: The health check form data extracted from a completed form as FHIR Resources are written back to the SHC Host FHIR Server as transaction Bundle -Writeback extract + Writeback extract + + Writeback extract + +#### SHC App Interactions + +##### App Launch +The PMS user initiates the Health Check App within the PMS. The PMS generates a launch context related to the current user, patient and health check questionnaire, which the PMS Authorization Server can access from the parameter provided in the App launch request. + +##### SMART Authorization Configuration +The Health Check App uses the iss parameter provided in the launch request as the base URL of the PMS FHIR API to retrieve the PMS Authorization Server configuration from the .well-known/smart-configuration endpoint. The response provides, amongst other configuration elements, the authorization_endpoint and token_endpoint URLs required in the subsequent steps. + +##### Authorization Request +The Health Check App responds to the PMS browser to redirect to the authorization URL with the required authorization request parameters including the response_type, client_id, redirect_uri, scope, aud, state, code_challenge, code_challenge_method and launch. +The Authorization Server, if required by PMS organization policies, may respond with a data access consent form where the PMS User grants the App access to the requested data. + +##### Authorization Callback +When granted, the Authorization Server response redirects the PMS browser back to the Health Check App authorization callback (redirect_uri) endpoint with a code parameter. + +##### Token Request +The Health Check App authorization callback extracts the code parameter and uses the token_endpoint URL to exchange it for an access token. The HTTP POST request body includes the required parameters including the code, grant_type, client_id, redirect_uri and code_verifier. +The Authorization Server response contains the token_type, access_token, id_token, scope and the relevant launch context data stashed by the PMS such as patient, encounter and health check questionnaire, which can be used to retrieve by Id the respective FHIR resources from the PMS FHIR API. +The id_token is a signed JWT that contains an encoding of user details, including a fhirUser reference that can be used to retrieve from the FHIR API a FHIR resource representing the user. + +##### Prepopulate Health Check +The Health Check APP uses the access_token as the Authorization for any request to the PMS FHIR API including the retrieval of the fhirUser and patient resources. The Health Check App will also query any FHIR resource required in the health check’s Questionnaire pre-population expressions, using the patient context as search parameter values. + +##### Fill and Submit Health Check +The PMS User fills out the health check form and when finished, submits the form. + +##### Writeback Questionnaire Response +The Health Check App writes back the health check QuestionnaireResponse to the PMS FHIR Server using a FHIR Create request when the health check is new or a FHIR Update when a health check was previously saved as a draft and retrieved for further contribution. + +##### Writeback Extract Transaction +The Health Check App will generate an extract transaction when a health check Questionnaire contains items with specified extract expressions. The extract transaction is a FHIR Bundle that the health check App will write back to the PMS FHIR API transaction endpoint. +The resource types included in the extract transaction will be specified in the health check Questionnaire, hence the PMS is required to ensure it has writeback capability for any health check Questionnaire it launches. +The extract transaction can include writeback requests using the following FHIR interactions: +1. Create; or +2. Patch + ### Dependencies diff --git a/sushi-config.yaml b/sushi-config.yaml index e087e18d..44d4f10d 100644 --- a/sushi-config.yaml +++ b/sushi-config.yaml @@ -145,8 +145,9 @@ menu: # General Requirements: general-requirements.html # Must Support: must-support.html Guidance: #guidance.html - Reference Implementation: reference-implementation.html + General Requirements: general-requirements.html Smart Health Check Integration: smart-health-check-integration.html + Reference Implementation: reference-implementation.html Informative Guidance: informative-guidance.html # General Guidance: general-guidance.html FHIR Artefacts: #artifact.html From 9116264d814f5c83036d68c03afa72fcf2e5d8f4 Mon Sep 17 00:00:00 2001 From: Heath Frankel Date: Fri, 4 Jul 2025 15:55:37 +0930 Subject: [PATCH 112/177] Update launchinteractions.png and made images reactive --- input/images/launchinteractions.png | Bin 67153 -> 197711 bytes input/pagecontent/index.md | 8 ++++---- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/input/images/launchinteractions.png b/input/images/launchinteractions.png index 8f942ed380a46d37ae75ae5de2c9fafaffb83411..ae045e9392ca5a87bea0bbd94925ed204ff15e2d 100644 GIT binary patch literal 197711 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%0DHO< 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

    + +When information on a particular data element is not present, and the reason for absence is unknown, [SHC Host FHIR Server](ActorDefinition-SHCHostFHIRServer.html) SHALL NOT include the data elements in the resource instance returned as part of the query results. Conversely, the [SHC App](ActorDefinition-SHCApp.html) SHALL be able to accept without error resource instances containing data elements asserting missing information. #### Obligations for SHC Host FHIR Server -[SHC Host FHIR Server](ActorDefinition-SHCHostFHIRServer.html) conforming to a profile in SHC SHALL support the behavior defined in the Obligations section for the SHC Host FHIR Server actor under a given data element. Implementers may notice that the vast majority of SHC Obligations on SHC Host FHIR Server is SHALL:populate-if-known, which requires that SHC Host FHIR Server populate an element if that element is available. There are a few potential reasons why a *Must Support* element may not be available, for example: +[SHC Host FHIR Server](ActorDefinition-SHCHostFHIRServer.html) conforming to a profile in SHC SHALL support the behavior defined in the Obligations section for the [SHC Host FHIR Server](ActorDefinition-SHCHostFHIRServer.html) actor under a given data element. Implementers may notice that many of the SHC Obligations on [SHC Host FHIR Server](ActorDefinition-SHCHostFHIRServer.html) are SHALL:populate-if-known, which requires that [SHC Host FHIR Server](ActorDefinition-SHCHostFHIRServer.html) populate an element if that element is available. There are a few potential reasons why a *Must Support* element may not be available, for example: * Elements for a particular patient are not available. For example, a system may not have the technical capability to collect a data element and therefore is not expected to respond with a value when queried. -* Elements are available, but the SHC App is not authorized to access the data. +* Elements are available, but the [SHC App](ActorDefinition-SHCApp.html) is not authorized to access the data. ##### Missing Data There are situations when information on a particular data element is missing, and the source system does not know the reason for the absence of data. ###### Missing Must-Support and Optional Data -If the SHC Host FHIR Server does not have data for an element with a minimum cardinality = 0 (including elements labeled *Must Support*), the data element SHALL be omitted from the resource. +If the [SHC Host FHIR Server](ActorDefinition-SHCHostFHIRServer.html) does not have data for an element with a minimum cardinality = 0 (including elements labeled *Must Support*), the data element SHALL be omitted from the resource. -Note: an SHC Host FHIR Server may have no data to be included either because there are no data or because the data available are not pertinent. +Note: an [SHC Host FHIR Server](ActorDefinition-SHCHostFHIRServer.html) may have no data to be included either because there is no data or because the data available is not pertinent. ###### Missing Must Support and Required Data -If an SHC Host FHIR Server does not have data to be included, the reason for the absence has to be specified as follows: +If an [SHC Host FHIR Server](ActorDefinition-SHCHostFHIRServer.html) does not have data to be included, the reason for the absence has to be specified as follows: 1. For non-coded data elements, use the [DataAbsentReason Extension]({{site.data.fhir.path}}extension-data-absent-reason.html) in the data type. 2. For coded data elements: @@ -65,12 +71,12 @@ If an SHC Host FHIR Server does not have data to be included, the reason for the - use the appropriate exceptional concept code from the value set #### Obligations for SHC App -The [SHC App](ActorDefinition-SHCApp.html) SHALL support the behavior defined in the Obligations section for the SHC App actor under a given data element. The SHC App applies different processing for SHC profile elements labelled as *Must Support*, these may include: +The [SHC App](ActorDefinition-SHCApp.html) SHALL support the behavior defined in the Obligations section for the [SHC App](ActorDefinition-SHCApp.html) actor under a given data element. The [SHC App](ActorDefinition-SHCApp.html) applies different processing for SHC profile elements labelled as *Must Support*, these may include: Code | Definition | Notes --- | --- | --- [MAY:ignore](https://hl7.org/fhir/extensions/CodeSystem-obligation.html#obligation-MAY.58ignore) | Conformant applications MAY not make any use of the value of this element if received. | This is a null statement and is the default behavior or consuming systems if other obligations are not specified. -[SHALL:handle](https://hl7.org/fhir/extensions/CodeSystem-obligation.html#obligation-SHALL.58handle) | Conformant applications SHALL handle the meaning of this element correctly. | This rule is vague in that doesn't specify any particular handling of the element. But it's important because an application that ignores this element is non-conformant. A good example would be a status code of 'entered-in-error' - how exactly a Resource Consumer handles this depends on the use case etc., but the application can never simply ignore such a status code. Note that whether the resource or information from it is stored for later use is irrelevant - when the resource or information in it is processed, the consequences of the element are considered. +[SHALL:handle](https://hl7.org/fhir/extensions/CodeSystem-obligation.html#obligation-SHALL.58handle) | Conformant applications SHALL handle the meaning of this element correctly. | This rule is vague in that it doesn't specify any particular handling of the element. But it's important because an application that ignores this element is non-conformant. A good example would be a status code of 'entered-in-error' - how exactly a Resource Consumer handles this depends on the use case etc., but the application can never simply ignore such a status code. Note that whether the resource or information from it is stored for later use is irrelevant - when the resource or information in it is processed, the consequences of the element are considered. [SHALL:display](https://hl7.org/fhir/extensions/CodeSystem-obligation.html#obligation-SHALL.58display) | Conformant applications SHALL display the value of this element when presenting the data from the resource to a human user. | Exactly how it is displayed is not specified, but it means that a human looking at the content of the resource is made aware of the value of the element so that they can consider the meaning of the resource. [SHALL:process](https://hl7.org/fhir/extensions/CodeSystem-obligation.html#obligation-SHALL.58process) | Conformant applications SHALL consider the value of this element when processing the resource as specified by the IG. | This implies that the IG that specifies this obligation provides details about what processing is to be performed, and the obligation specifically relates to the processing specified in the IG. @@ -79,20 +85,20 @@ Further clarification on the obligation code defined for an actor can be found b #### Must Support - Resource References -Some elements labeled as *Must Support* reference multiple resource types or profiles (e.g., `QuestionnaireResponse.author`). SHC Host FHIR Server SHALL support *at least one* referenced resource or profile for each element listed in the table below. The SHC App SHALL support *all* referenced resources or profiles listed in the table below. +Some elements labeled as *Must Support* reference multiple resource types or profiles (e.g., `QuestionnaireResponse.author`). [SHC Host FHIR Server](ActorDefinition-SHCHostFHIRServer.html) SHALL support *at least one* referenced resource or profile for each element listed in the table below. The [SHC App](ActorDefinition-SHCApp.html) SHALL support *all* referenced resources or profiles listed in the table below. For example, when claiming conformance to the SHC QuestionnaireResponse profile: -* SHC HOST FHIR Server **SHALL** be capable of providing a QuestionnaireResponse.author with a valid reference to an AU Core Practitioner profile, an AU Core PractitioneRole profile, an AU Core Patient profile, or any combination of them if the element is available -* SHC App **SHALL** be capable of processing a QuestionnaireResponse.author with a valid reference to an AU Core Practitioner profile, AU Core PractitionerRole profile, and an AU Core Patient profile. +* [SHC Host FHIR Server](ActorDefinition-SHCHostFHIRServer.html) **SHALL** be capable of providing a QuestionnaireResponse.author with a valid reference to an AU Core Practitioner profile, an AU Core PractitionerRole profile, an AU Core Patient profile, or any combination of them if the element is available +* [SHC App](ActorDefinition-SHCApp.html) **SHALL** be capable of processing a QuestionnaireResponse.author with a valid reference to an AU Core Practitioner profile, AU Core PractitionerRole profile, and an AU Core Patient profile. #### Must Support - Choice of Data Types -Some elements labeled as *Must Support* allow different data types (e.g., `Observation.effective[x]`) for their content. SHC HOST FHIR Server SHALL support *at least one* data type for each element listed in the table below. SHC App SHALL support *all* data types listed in the table below. +Some elements labeled as *Must Support* allow different data types (e.g., `Observation.effective[x]`) for their content. [SHC Host FHIR Server](ActorDefinition-SHCHostFHIRServer.html) SHALL support *at least one* data type for each element listed in the table below. [SHC App](ActorDefinition-SHCApp.html) SHALL support *all* data types listed in the table below. For example, when claiming conformance to the AU Core Diagnostic Result Observation profile: -* SHC Host FHIR Server **SHALL** be capable of populating `Observation.effectiveDateTime`, `Observation.effectivePeriod`, or both if the element is available. -* SHC App **SHALL** be capable of processing `Observation.effectiveDateTime` and `Observation.effectivePeriod` +* [SHC Host FHIR Server](ActorDefinition-SHCHostFHIRServer.html) **SHALL** be capable of populating `Observation.effectiveDateTime`, `Observation.effectivePeriod`, or both if the element is available. +* [SHC App](ActorDefinition-SHCApp.html) **SHALL** be capable of processing `Observation.effectiveDateTime` and `Observation.effectivePeriod` Systems **MAY** support populating and processing other choice elements not listed in the table (such as `Observation.effectiveInstant`), but this is not a requirement. From 7515f062df9f6985222f317e7bd1c7cca8a87a97 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Fri, 18 Jul 2025 16:26:54 +1000 Subject: [PATCH 149/177] Add new date calculated expressions --- .../resources/Questionnaire-Examination.json | 65 ++++++++++++++++++- input/fsh/715-Assessment-Examination.fsh | 23 ++++++- 2 files changed, 86 insertions(+), 2 deletions(-) diff --git a/fsh-generated/resources/Questionnaire-Examination.json b/fsh-generated/resources/Questionnaire-Examination.json index 29097985..00016409 100644 --- a/fsh-generated/resources/Questionnaire-Examination.json +++ b/fsh-generated/resources/Questionnaire-Examination.json @@ -195,6 +195,15 @@ "repeats": false }, { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%resource.repeat(item).where(linkId='obs-lengthheight-newresult').answer.value.exists(), today())" + } + } + ], "linkId": "obs-lengthheight-newdate", "text": "New result date", "type": "date", @@ -289,7 +298,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(repeat(item).where(linkId='obs-height-newresult').answer.exists(), today())" + "expression": "iif(%resource.repeat(item).where(linkId='obs-height-newresult').answer.value.exists(), today())" } } ], @@ -373,6 +382,15 @@ "repeats": false }, { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%resource.repeat(item).where(linkId='obs-weight-newresult').answer.value.exists(), today())" + } + } + ], "linkId": "obs-weight-newdate", "text": "New result date", "type": "date", @@ -543,6 +561,15 @@ "repeats": false }, { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%resource.repeat(item).where(linkId='obs-headcircumference-newresult').answer.value.exists(), today())" + } + } + ], "linkId": "obs-headcircumference-newdate", "text": "New result date", "type": "date", @@ -625,6 +652,15 @@ "repeats": false }, { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%resource.repeat(item).where(linkId='obs-waistcircumference-newresult').answer.value.exists(), today())" + } + } + ], "linkId": "obs-waistcircumference-newdate", "text": "New result date", "type": "date", @@ -705,6 +741,15 @@ "repeats": false }, { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%resource.repeat(item).where(linkId='obs-heartrate-newresult').answer.value.exists(), today())" + } + } + ], "linkId": "obs-heartrate-newdate", "text": "New result date", "type": "date", @@ -770,6 +815,15 @@ "answerValueSet": "#heart-rhythm-1" }, { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%resource.repeat(item).where(linkId='obs-heartrhythm-newresult').answer.value.exists(), today())" + } + } + ], "linkId": "obs-heartrhythm-newdate", "text": "New result date", "type": "date", @@ -922,6 +976,15 @@ "repeats": false }, { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%resource.repeat(item).where(linkId='bp-newbp-systolic').answer.value.exists() or %resource.repeat(item).where(linkId='bp-newbp-diastolic').answer.value.exists(), today())" + } + } + ], "linkId": "bp-newbp-date", "text": "Date performed", "type": "date", diff --git a/input/fsh/715-Assessment-Examination.fsh b/input/fsh/715-Assessment-Examination.fsh index 42038438..6bf5c081 100644 --- a/input/fsh/715-Assessment-Examination.fsh +++ b/input/fsh/715-Assessment-Examination.fsh @@ -384,6 +384,9 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * text = "cm" * type = #display * item[+] + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression].valueExpression + * language = #text/fhirpath + * expression = "iif(%resource.repeat(item).where(linkId='obs-lengthheight-newresult').answer.value.exists(), today())" * linkId = "obs-lengthheight-newdate" * text = "New result date" * type = #date @@ -419,7 +422,7 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression].valueExpression * language = #text/fhirpath - * expression = "iif(repeat(item).where(linkId='obs-height-newresult').answer.value.exists(), today())" + * expression = "iif(%resource.repeat(item).where(linkId='obs-height-newresult').answer.value.exists(), today())" * linkId = "obs-height-newdate" * text = "New result date" * type = #date @@ -450,6 +453,9 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * text = "kg" * type = #display * item[+] + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression].valueExpression + * language = #text/fhirpath + * expression = "iif(%resource.repeat(item).where(linkId='obs-weight-newresult').answer.value.exists(), today())" * linkId = "obs-weight-newdate" * text = "New result date" * type = #date @@ -515,6 +521,9 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * text = "cm" * type = #display * item[+] + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression].valueExpression + * language = #text/fhirpath + * expression = "iif(%resource.repeat(item).where(linkId='obs-headcircumference-newresult').answer.value.exists(), today())" * linkId = "obs-headcircumference-newdate" * text = "New result date" * type = #date @@ -547,6 +556,9 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * text = "cm" * type = #display * item[+] + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression].valueExpression + * language = #text/fhirpath + * expression = "iif(%resource.repeat(item).where(linkId='obs-waistcircumference-newresult').answer.value.exists(), today())" * linkId = "obs-waistcircumference-newdate" * text = "New result date" * type = #date @@ -577,6 +589,9 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * text = "/min" * type = #display * item[+] + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression].valueExpression + * language = #text/fhirpath + * expression = "iif(%resource.repeat(item).where(linkId='obs-heartrate-newresult').answer.value.exists(), today())" * linkId = "obs-heartrate-newdate" * text = "New result date" * type = #date @@ -603,6 +618,9 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * repeats = false * answerValueSet = "#heart-rhythm-1" * item[+] + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression].valueExpression + * language = #text/fhirpath + * expression = "iif(%resource.repeat(item).where(linkId='obs-heartrhythm-newresult').answer.value.exists(), today())" * linkId = "obs-heartrhythm-newdate" * text = "New result date" * type = #date @@ -655,6 +673,9 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * text = "mm Hg" * type = #display * item[+] + * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression].valueExpression + * language = #text/fhirpath + * expression = "iif(%resource.repeat(item).where(linkId='bp-newbp-systolic').answer.value.exists() or %resource.repeat(item).where(linkId='bp-newbp-diastolic').answer.value.exists(), today())" * linkId = "bp-newbp-date" * text = "Date performed" * type = #date From 1bce126d72ef4d1208b04b1217119976da8d5c4d Mon Sep 17 00:00:00 2001 From: liambarnes Date: Fri, 18 Jul 2025 16:56:58 +1000 Subject: [PATCH 150/177] update assembled questionnaire --- ...esStraitIslanderHealthCheck-assembled.json | 831 ++++++++++++------ 1 file changed, 570 insertions(+), 261 deletions(-) diff --git a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json index 86ca9332..73206dca 100644 --- a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json +++ b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json @@ -2904,7 +2904,39 @@ "valueExpression": { "name": "ObsBloodPressure", "language": "application/x-fhir-query", - "expression": "Observation?code=85354-9&_count=1&_sort=-date&patient={{%patient.id}}" + "expression": "Observation?code=85354-9&_sort=-date&patient={{%patient.id}}" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsTobaccoSmokingStatus", + "language": "application/x-fhir-query", + "expression": "Observation?code=72166-2&_sort=-date&patient={{%patient.id}}" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "SexAtBirthCoding", + "language": "text/fhirpath", + "expression": "%patient.extension.where(exists(url='http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender' and extension.where(exists(url='type' and value.coding.code='1515311000168102')) and extension.where(url='effectivePeriod').value.end.empty())).extension.where(url='value').value.coding" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsBloodPressureLatest", + "language": "text/fhirpath", + "expression": "%ObsBloodPressure.entry.resource.where(status = 'final' or status = 'amended' or status = 'corrected').first()" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsTobaccoSmokingStatusLatest", + "language": "text/fhirpath", + "expression": "%ObsTobaccoSmokingStatus.entry.resource.where(status = 'final' or status = 'amended' or status = 'corrected').first()" } }, { @@ -3254,22 +3286,6 @@ "expression": "item.where(linkId='5b224753-9365-44e3-823b-9c17e7394005').item.where(linkId='e2a16e4d-2765-4b61-b286-82cfc6356b30').answer.value" } }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": { - "name": "sex", - "language": "text/fhirpath", - "expression": "item.where(linkId='5b224753-9365-44e3-823b-9c17e7394005').item.where(linkId='56ef44bb-3d1d-4972-aad1-834b69185d61').answer.value" - } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": { - "name": "smoker", - "language": "text/fhirpath", - "expression": "repeat(item).where(linkId='b639a3a8-f476-4cc8-b5c7-f5d2abb23511').answer.value" - } - }, { "url": "http://hl7.org/fhir/StructureDefinition/variable", "valueExpression": { @@ -3582,20 +3598,12 @@ "expression": "AllergyIntolerance?patient={{%patient.id}}" } }, - { - "url": "http://hl7.org/fhir/StructureDefinition/variable", - "valueExpression": { - "name": "ObsTobaccoSmokingStatus", - "language": "application/x-fhir-query", - "expression": "Observation?code=72166-2&_count=1&_sort=-date&patient={{%patient.id}}" - } - }, { "url": "http://hl7.org/fhir/StructureDefinition/variable", "valueExpression": { "name": "ObsTobaccoSmokingStatusValue", "language": "text/fhirpath", - "expression": "%ObsTobaccoSmokingStatus.entry.resource.where(status='final').value.coding.where(system='http://snomed.info/sct').first()" + "expression": "%ObsTobaccoSmokingStatusLatest.value.coding.where(system='http://snomed.info/sct').first()" } }, { @@ -3603,7 +3611,7 @@ "valueExpression": { "name": "ObsTobaccoSmokingStatusDateString", "language": "text/fhirpath", - "expression": "%ObsTobaccoSmokingStatus.entry.resource.where(status='final').effective.toDate().toString()" + "expression": "%ObsTobaccoSmokingStatusLatest.effective.toDate().toString()" } }, { @@ -3627,7 +3635,7 @@ "valueExpression": { "name": "ObsWaistCircumference", "language": "application/x-fhir-query", - "expression": "Observation?code=8280-0&_count=1&_sort=-date&patient={{%patient.id}}" + "expression": "Observation?code=8280-0&_sort=-date&patient={{%patient.id}}" } }, { @@ -3635,7 +3643,7 @@ "valueExpression": { "name": "ObsHeartRate", "language": "application/x-fhir-query", - "expression": "Observation?code=8867-4&_count=1&_sort=-date&patient={{%patient.id}}" + "expression": "Observation?code=8867-4&_sort=-date&patient={{%patient.id}}" } }, { @@ -3643,7 +3651,7 @@ "valueExpression": { "name": "ObsHeartRhythm", "language": "application/x-fhir-query", - "expression": "Observation?code=364074009&_count=1&_sort=-date&patient={{%patient.id}}" + "expression": "Observation?code=364074009&_sort=-date&patient={{%patient.id}}" } }, { @@ -3651,7 +3659,7 @@ "valueExpression": { "name": "ObsBodyHeight", "language": "application/x-fhir-query", - "expression": "Observation?code=8302-2&_count=1&_sort=-date&patient={{%patient.id}}" + "expression": "Observation?code=8302-2&_sort=-date&patient={{%patient.id}}" } }, { @@ -3659,7 +3667,7 @@ "valueExpression": { "name": "ObsBodyWeight", "language": "application/x-fhir-query", - "expression": "Observation?code=29463-7&_count=1&_sort=-date&patient={{%patient.id}}" + "expression": "Observation?code=29463-7&_sort=-date&patient={{%patient.id}}" } }, { @@ -3667,7 +3675,55 @@ "valueExpression": { "name": "ObsHeadCircumference", "language": "application/x-fhir-query", - "expression": "Observation?code=9843-4&_count=1&_sort=-date&patient={{%patient.id}}" + "expression": "Observation?code=9843-4&_sort=-date&patient={{%patient.id}}" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsWaistCircumferenceLatest", + "language": "text/fhirpath", + "expression": "%ObsWaistCircumference.entry.resource.where(status = 'final' or status = 'amended' or status = 'corrected').first()" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsHeartRateLatest", + "language": "text/fhirpath", + "expression": "%ObsHeartRate.entry.resource.where(status = 'final' or status = 'amended' or status = 'corrected').first()" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsHeartRhythmLatest", + "language": "text/fhirpath", + "expression": "%ObsHeartRhythm.entry.resource.where(status = 'final' or status = 'amended' or status = 'corrected').first()" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsBodyHeightLatest", + "language": "text/fhirpath", + "expression": "%ObsBodyHeight.entry.resource.where(status = 'final' or status = 'amended' or status = 'corrected').first()" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsBodyWeightLatest", + "language": "text/fhirpath", + "expression": "%ObsBodyWeight.entry.resource.where(status = 'final' or status = 'amended' or status = 'corrected').first()" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsHeadCircumferenceLatest", + "language": "text/fhirpath", + "expression": "%ObsHeadCircumference.entry.resource.where(status = 'final' or status = 'amended' or status = 'corrected').first()" } }, { @@ -3675,7 +3731,7 @@ "valueExpression": { "name": "ObsBodyHeightValue", "language": "text/fhirpath", - "expression": "%ObsBodyHeight.entry.resource.where(status='final').value.value" + "expression": "%ObsBodyHeightLatest.value.value" } }, { @@ -3683,7 +3739,7 @@ "valueExpression": { "name": "ObsBodyHeightDateString", "language": "text/fhirpath", - "expression": "%ObsBodyHeight.entry.resource.where(status='final').effective.toDate().toString()" + "expression": "%ObsBodyHeightLatest.effective.toDate().toString()" } }, { @@ -3699,7 +3755,7 @@ "valueExpression": { "name": "ObsBodyWeightValue", "language": "text/fhirpath", - "expression": "%ObsBodyWeight.entry.resource.where(status='final').value.value" + "expression": "%ObsBodyWeightLatest.value.value" } }, { @@ -3707,7 +3763,7 @@ "valueExpression": { "name": "ObsBodyWeightDateString", "language": "text/fhirpath", - "expression": "%ObsBodyWeight.entry.resource.where(status='final').effective.toDate().toString()" + "expression": "%ObsBodyWeightLatest.effective.toDate().toString()" } }, { @@ -3723,7 +3779,7 @@ "valueExpression": { "name": "ObsHeadCircumferenceValue", "language": "text/fhirpath", - "expression": "%ObsHeadCircumference.entry.resource.where(status='final').value.value" + "expression": "%ObsHeadCircumferenceLatest.value.value" } }, { @@ -3731,7 +3787,7 @@ "valueExpression": { "name": "ObsHeadCircumferenceDateString", "language": "text/fhirpath", - "expression": "%ObsHeadCircumference.entry.resource.where(status='final').effective.toDate().toString" + "expression": "%ObsHeadCircumferenceLatest.effective.toDate().toString" } }, { @@ -3747,7 +3803,7 @@ "valueExpression": { "name": "ObsWaistCircumferenceValue", "language": "text/fhirpath", - "expression": "%ObsWaistCircumference.entry.resource.where(status='final').value.value" + "expression": "%ObsWaistCircumferenceLatest.value.value" } }, { @@ -3755,7 +3811,7 @@ "valueExpression": { "name": "ObsWaistCircumferenceDateString", "language": "text/fhirpath", - "expression": "%ObsWaistCircumference.entry.resource.where(status='final').effective.toDate().toString()" + "expression": "%ObsWaistCircumferenceLatest.effective.toDate().toString()" } }, { @@ -3771,7 +3827,7 @@ "valueExpression": { "name": "ObsHeartRateValue", "language": "text/fhirpath", - "expression": "%ObsHeartRate.entry.resource.where(status='final').value.value" + "expression": "%ObsHeartRateLatest.value.value" } }, { @@ -3779,7 +3835,7 @@ "valueExpression": { "name": "ObsHeartRateDateString", "language": "text/fhirpath", - "expression": "%ObsHeartRate.entry.resource.where(status='final').effective.toDate().toString()" + "expression": "%ObsHeartRateLatest.effective.toDate().toString()" } }, { @@ -3795,7 +3851,7 @@ "valueExpression": { "name": "ObsHeartRhythmValue", "language": "text/fhirpath", - "expression": "%ObsHeartRhythm.entry.resource.where(status='final').value.coding.where(system='http://snomed.info/sct').first()" + "expression": "%ObsHeartRhythmLatest.value.coding.where(system='http://snomed.info/sct').first()" } }, { @@ -3803,7 +3859,7 @@ "valueExpression": { "name": "ObsHeartRhythmDateString", "language": "text/fhirpath", - "expression": "%ObsHeartRhythm.entry.resource.where(status='final').effective.toDate().toString()" + "expression": "%ObsHeartRhythmLatest.effective.toDate().toString()" } }, { @@ -3819,7 +3875,7 @@ "valueExpression": { "name": "ObsBloodPressureValue", "language": "text/fhirpath", - "expression": "%ObsBloodPressure.entry.resource.where(status='final').component.where(code.coding.exists(code='8480-6')).value.value.round(0).toString() + ' / ' + %ObsBloodPressure.entry.resource.where(status='final').component.where(code.coding.exists(code='8462-4')).value.value.round(0).toString()" + "expression": "%ObsBloodPressureLatest.component.where(code.coding.exists(code='8480-6')).value.value.round(0).toString() + ' / ' + %ObsBloodPressureLatest.component.where(code.coding.exists(code='8462-4')).value.value.round(0).toString()" } }, { @@ -3827,7 +3883,7 @@ "valueExpression": { "name": "ObsBloodPressureDateString", "language": "text/fhirpath", - "expression": "%ObsBloodPressure.entry.resource.where(status='final').effective.toDate().toString()" + "expression": "%ObsBloodPressureLatest.effective.toDate().toString()" } }, { @@ -3859,7 +3915,7 @@ "valueExpression": { "name": "ObsTotalCholesterol", "language": "application/x-fhir-query", - "expression": "Observation?code=14647-2&_count=1&_sort=-date&patient={{%patient.id}}" + "expression": "Observation?code=14647-2&_sort=-date&patient={{%patient.id}}" } }, { @@ -3867,7 +3923,87 @@ "valueExpression": { "name": "ObsHDLCholesterol", "language": "application/x-fhir-query", - "expression": "Observation?code=14646-4&_count=1&_sort=-date&patient={{%patient.id}}" + "expression": "Observation?code=14646-4&_sort=-date&patient={{%patient.id}}" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsTotalCholesterolLatest", + "language": "text/fhirpath", + "expression": "%ObsTotalCholesterol.entry.resource.where(status = 'final' or status = 'amended' or status = 'corrected').first()" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "ObsHDLCholesterolLatest", + "language": "text/fhirpath", + "expression": "%ObsHDLCholesterol.entry.resource.where(status = 'final' or status = 'amended' or status = 'corrected').first()" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "CVDRiskResult", + "language": "application/x-fhir-query", + "expression": "Observation?code=441829007&_sort=-date&patient={{%patient.id}}" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "CVDRiskResultLatest", + "language": "text/fhirpath", + "expression": "%CVDRiskResult.entry.resource.where(status = 'final' or status = 'amended' or status = 'corrected').first()" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "CVDRiskResultValue", + "language": "text/fhirpath", + "expression": "%CVDRiskResultLatest.select((((value.ofType(Quantity).comparator + value.ofType(Quantity).value.toString() + value.ofType(Quantity).unit | value.ofType(Quantity).value.toString() + value.ofType(Quantity).unit).first() | (value.ofType(Range).low.value.toString() + ' - ' + value.ofType(Range).high.value.toString() + value.ofType(Range).high.unit)).first()) + ' ' + interpretation.coding.display)" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "CVDRiskResultDateString", + "language": "text/fhirpath", + "expression": "%CVDRiskResultLatest.effective.toString()" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "CVDRiskResultDateFormatted", + "language": "text/fhirpath", + "expression": "%CVDRiskResultDateString.substring(8,2).toInteger().toString() + ' ' + %CVDRiskResultDateString.substring(5,2).replace('01','Jan').replace('02','Feb').replace('03','Mar').replace('04','Apr').replace('05','May').replace('06','Jun').replace('07','Jul').replace('08','Aug').replace('09','Sep').replace('10','Oct').replace('11','Nov').replace('12','Dec') + ' ' + %CVDRiskResultDateString.substring(0,4)" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "NewAssessmentQuestionAnswer", + "language": "text/fhirpath", + "expression": "repeat(item).where(linkId='cvdrisk-newassessmentquestion').answer.value" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "AusCVDRiskiAccessAnswer", + "language": "text/fhirpath", + "expression": "repeat(item).where(linkId='cvdrisk-auscvdriskiaccess').answer.value" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/variable", + "valueExpression": { + "name": "RepopulateOverrideAnswer", + "language": "text/fhirpath", + "expression": "repeat(item).where(linkId='cvdrisk-repopulateoverride').answer.value" } } ], @@ -4674,7 +4810,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%patient.extension.where(exists(url='http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender' and extension.where(exists(url='type' and value.coding.code='1515311000168102')) and extension.where(url='effectivePeriod').value.end.empty())).extension.where(url='value').value.coding" + "expression": "%SexAtBirthCoding" } }, { @@ -5367,21 +5503,6 @@ "language": "text/fhirpath", "expression": "%patient.extension.where(url='http://hl7.org.au/fhir/StructureDefinition/closing-the-gap-registration').value" } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "system": "http://hl7.org/fhir/questionnaire-item-control", - "code": "radio-button" - } - ] - } - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-choiceOrientation", - "valueCode": "horizontal" } ], "linkId": "83814495-3a81-43f4-88df-42186cce516a", @@ -6912,7 +7033,7 @@ "text": "Medication", "type": "open-choice", "repeats": false, - "answerValueSet": "#smarthealthchecks-medication" + "answerValueSet": "#smart-health-checks-medicine-products" }, { "linkId": "regularmedications-summary-new-dosage", @@ -15500,6 +15621,15 @@ ] }, { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%resource.repeat(item).where(linkId='obs-lengthheight-newresult').answer.value.exists(), today())" + } + } + ], "linkId": "obs-lengthheight-newdate", "text": "New result date", "type": "date", @@ -15589,6 +15719,15 @@ ] }, { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%resource.repeat(item).where(linkId='obs-height-newresult').answer.value.exists(), today())" + } + } + ], "linkId": "obs-height-newdate", "text": "New result date", "type": "date", @@ -15669,6 +15808,15 @@ ] }, { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%resource.repeat(item).where(linkId='obs-weight-newresult').answer.value.exists(), today())" + } + } + ], "linkId": "obs-weight-newdate", "text": "New result date", "type": "date", @@ -15839,6 +15987,15 @@ ] }, { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%resource.repeat(item).where(linkId='obs-headcircumference-newresult').answer.value.exists(), today())" + } + } + ], "linkId": "obs-headcircumference-newdate", "text": "New result date", "type": "date", @@ -15921,6 +16078,15 @@ ] }, { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%resource.repeat(item).where(linkId='obs-waistcircumference-newresult').answer.value.exists(), today())" + } + } + ], "linkId": "obs-waistcircumference-newdate", "text": "New result date", "type": "date", @@ -16001,6 +16167,15 @@ ] }, { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%resource.repeat(item).where(linkId='obs-heartrate-newresult').answer.value.exists(), today())" + } + } + ], "linkId": "obs-heartrate-newdate", "text": "New result date", "type": "date", @@ -16066,6 +16241,15 @@ "answerValueSet": "#heart-rhythm-1" }, { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%resource.repeat(item).where(linkId='obs-heartrhythm-newresult').answer.value.exists(), today())" + } + } + ], "linkId": "obs-heartrhythm-newdate", "text": "New result date", "type": "date", @@ -16116,7 +16300,7 @@ "url": "http://hl7.org/fhir/StructureDefinition/cqf-expression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(%ObsBloodPressureValue.exists() and %ObsBloodPressureDateFormatted.exists(), %ObsBloodPressureValue + ' mm Hg ( ' + %bsBloodPressureDateFormatted + ' )', 'Not available')" + "expression": "iif(%ObsBloodPressureValue.exists() and %ObsBloodPressureDateFormatted.exists(), %ObsBloodPressureValue + ' mm Hg ( ' + %ObsBloodPressureDateFormatted + ' )', 'Not available')" } }, { @@ -16209,6 +16393,15 @@ ] }, { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "iif(%resource.repeat(item).where(linkId='bp-newbp-systolic').answer.value.exists() or %resource.repeat(item).where(linkId='bp-newbp-diastolic').answer.value.exists(), today())" + } + } + ], "linkId": "bp-newbp-date", "text": "Date performed", "type": "date", @@ -16396,150 +16589,295 @@ } ] }, - { - "linkId": "RecordUpdate-CVDRisk", - "text": "Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there.", - "_text": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
    \r\n Important: The patient record may not be updated with information entered here. Information intended for the patient record should be entered there first.\r\n
    " - } - ] - }, - "type": "display" - }, { "linkId": "Guidance-CVDRisk", - "text": "Australian CVD risk calculator - https://www.cvdcheck.org.au/calculator", + "text": "The Australian guideline for assessing and managing cardiovascular disease risk recommends the use of the Aus CVD Risk calculator.", "_text": { "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
    \r\n

    The Australian guideline for assessing and managing cardiovascular disease risk recommends the use of the online Australian CVD risk calculator.

    \r\n

    The items included in this section are a subset of variables that can be used as inputs for the online calculator.

    \r\n

    The final CVD risk result can be entered in the item at the bottom of this section.

    \r\n
    " + "valueString": "

    The Australian guideline for assessing and managing cardiovascular disease risk recommends the use of the Aus CVD Risk calculator.

    " } ] }, "type": "display" }, { - "linkId": "8d02ef36-3f48-4912-b001-e9fec6aa7101", - "text": "CVD risk calculator variables", + "linkId": "dabdc7b4-51db-44a0-9d59-77a88587cbe9", + "text": "CVD risk result", "type": "group", "repeats": false, - "readOnly": true, "item": [ { "extension": [ { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression", + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { - "description": "CVD Risk Age", "language": "text/fhirpath", - "expression": "%age" + "expression": "iif(%CVDRiskResultValue.exists() and %CVDRiskResultDateFormatted.exists(), %CVDRiskResultValue + ' ( ' + %CVDRiskResultDateFormatted + ' )', 'Not available')" } - }, + } + ], + "linkId": "cvdrisk-latestresult", + "text": "Latest available result", + "type": "string", + "repeats": false, + "readOnly": true + }, + { + "extension": [ { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", - "valueCoding": { - "system": "http://unitsofmeasure.org", - "code": "a" + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%CVDRiskResultValue.exists() and %CVDRiskResultDateFormatted.exists()" } } ], - "linkId": "6909cb38-a6f4-44c9-abae-0e5d697a21f5", - "text": "Age", - "type": "integer", - "item": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "system": "http://hl7.org/fhir/questionnaire-item-control", - "code": "unit" - } - ] - } - } - ], - "linkId": "b9aba16c-f910-4948-9267-e07851f69572", - "text": "years", - "type": "display" + "linkId": "cvdrisk-newassessmentquestion", + "text": "A previous CVD risk result has been found. Do you want to perform a new assessment?", + "type": "boolean", + "repeats": false + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%NewAssessmentQuestionAnswer = true or %CVDRiskResultValue.empty() or %CVDRiskResultDateFormatted.empty()" + } } - ] + ], + "linkId": "cvdrisk-auscvdriskiaccess", + "text": "Do you have access to the Aus CVD Risk-i application from your clinical system?", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "

    Do you have access to the Aus CVD Risk‑i application from your clinical system?

    " + } + ] + }, + "type": "boolean", + "repeats": false }, { "extension": [ { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression", + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { - "description": "CVD Risk Sex At Birth", "language": "text/fhirpath", - "expression": "%sex" + "expression": "%AusCVDRiskiAccessAnswer = true" } } ], - "linkId": "3dbb0e63-3b28-4567-8ef3-bac242fd95f6", - "text": "Sex at birth", - "type": "choice", - "repeats": false, - "answerValueSet": "#biological-sex-1" + "linkId": "cvdrisk-auscvdriskiguidance", + "text": "Using the Aus CVD Risk-i application, calculate the CVD risk result and save it to the patient record. This form can then be repopulated to retrieve and include the result above.", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "

    Using the Aus CVD Risk‑i application, calculate the CVD risk result and save it to the patient record. This form can then be repopulated to retrieve and include the result above.

    " + } + ] + }, + "type": "display" }, { "extension": [ { - "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression", + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { - "description": "CVD Risk Smoking Status", "language": "text/fhirpath", - "expression": "%smoker" + "expression": "%AusCVDRiskiAccessAnswer = true" } } ], - "linkId": "bac0f824-3784-400e-80f9-ad18d46bd8cb", - "text": "Smoking status", - "type": "choice", - "repeats": false, - "answerOption": [ + "linkId": "cvdrisk-repopulateoverride", + "text": "Do you need to manually enter a new CVD risk result instead of repopulating?", + "type": "boolean", + "repeats": false + }, + { + "extension": [ { - "valueCoding": { - "system": "http://snomed.info/sct", - "code": "266919005", - "display": "Lifetime non-smoker" + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%AusCVDRiskiAccessAnswer != true or %RepopulateOverrideAnswer = true" } + } + ], + "linkId": "cvdrisk-cvdriskresultgroup", + "text": "New CVD risk result", + "type": "group", + "repeats": false, + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%AusCVDRiskiAccessAnswer != true" + } + } + ], + "linkId": "cvdrisk-onlincecalculatorguidance", + "text": "Use the online Australian CVD risk calculator - https://www.cvdcheck.org.au/calculator", + "_text": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", + "valueString": "
    \r\n

    The Australian CVD risk calculator on the Aus CVD Risk website should be used. Below is a read only view of a subset of variables that can be used as inputs for the online calculator. The calculated CVD risk result can be entered here.

    " + } + ] + }, + "type": "display" }, { - "valueCoding": { - "system": "http://snomed.info/sct", - "code": "77176002", - "display": "Current smoker" - } + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", + "valueCoding": { + "system": "http://unitsofmeasure.org", + "code": "%" + } + } + ], + "linkId": "4c52fcec-0695-4916-b185-24a5c2711631", + "text": "Risk result score", + "type": "integer", + "repeats": false, + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://hl7.org/fhir/questionnaire-item-control", + "code": "unit" + } + ] + } + } + ], + "linkId": "0162854e-c124-4b58-acd9-93c17562d407", + "text": "%", + "type": "display" + } + ] }, { - "valueCoding": { - "system": "http://snomed.info/sct", - "code": "8517006", - "display": "Ex-smoker" + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://hl7.org/fhir/questionnaire-item-control", + "code": "radio-button" + } + ] + } + } + ], + "linkId": "28ff9463-b77f-435d-9ba7-427682a61f96", + "text": "Assessed risk category", + "type": "choice", + "repeats": false, + "answerOption": [ + { + "valueString": "High Risk" + }, + { + "valueString": "Intermediate Risk" + }, + { + "valueString": "Low Risk" + } + ] + } + ] + } + ] + }, + { + "linkId": "8d02ef36-3f48-4912-b001-e9fec6aa7101", + "text": "CVD risk calculator variables", + "type": "group", + "enableWhen": [ + { + "question": "cvdrisk-auscvdriskiaccess", + "operator": "=", + "answerBoolean": false + } + ], + "repeats": false, + "readOnly": true, + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression", + "valueExpression": { + "description": "CVD Risk Age", + "language": "text/fhirpath", + "expression": "%age" } }, { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", "valueCoding": { - "system": "http://snomed.info/sct", - "code": "16090371000119103", - "display": "Exposure to second hand tobacco smoke" + "system": "http://unitsofmeasure.org", + "code": "a" } - }, - { - "valueString": "Wants to quit" - }, + } + ], + "linkId": "6909cb38-a6f4-44c9-abae-0e5d697a21f5", + "text": "Age", + "type": "integer", + "item": [ { - "valueString": "Other tobacco use" + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://hl7.org/fhir/questionnaire-item-control", + "code": "unit" + } + ] + } + } + ], + "linkId": "b9aba16c-f910-4948-9267-e07851f69572", + "text": "years", + "type": "display" } ] }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression", + "valueExpression": { + "description": "CVD Risk Sex At Birth", + "language": "text/fhirpath", + "expression": "%SexAtBirthCoding" + } + } + ], + "linkId": "3dbb0e63-3b28-4567-8ef3-bac242fd95f6", + "text": "Sex at birth", + "type": "choice", + "repeats": false, + "answerValueSet": "#biological-sex-1" + }, { "extension": [ { @@ -16559,6 +16897,80 @@ "type": "group", "repeats": false, "item": [ + { + "linkId": "bac0f824-3784-400e-80f9-ad18d46bd8cb", + "text": "Smoking status", + "type": "group", + "repeats": false, + "item": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%ObsTobaccoSmokingStatusLatest.value.coding.where(system='http://snomed.info/sct').first()" + } + } + ], + "linkId": "333007c7-47a9-482b-af11-e55484abf2ae", + "text": "Value", + "type": "choice", + "repeats": false, + "answerOption": [ + { + "valueCoding": { + "system": "http://snomed.info/sct", + "code": "266919005", + "display": "Lifetime non-smoker" + } + }, + { + "valueCoding": { + "system": "http://snomed.info/sct", + "code": "77176002", + "display": "Current smoker" + } + }, + { + "valueCoding": { + "system": "http://snomed.info/sct", + "code": "8517006", + "display": "Ex-smoker" + } + }, + { + "valueCoding": { + "system": "http://snomed.info/sct", + "code": "16090371000119103", + "display": "Exposure to second hand tobacco smoke" + } + }, + { + "valueString": "Wants to quit" + }, + { + "valueString": "Other tobacco use" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", + "valueExpression": { + "language": "text/fhirpath", + "expression": "%ObsTobaccoSmokingStatusLatest.effective" + } + } + ], + "linkId": "cvdrisk-smokingstatus-date", + "text": "Date performed", + "type": "date", + "repeats": false + } + ] + }, { "linkId": "fa4f73a3-7633-410c-9177-8aa43b117122", "text": "Systolic Blood Pressure", @@ -16571,7 +16983,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%ObsBloodPressure.entry.resource.component.where(code.coding.exists(code='8480-6')).value.value" + "expression": "%ObsBloodPressureLatest.component.where(code.coding.exists(code='8480-6')).value.value" } }, { @@ -16613,7 +17025,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%ObsBloodPressure.entry.resource.effective" + "expression": "%ObsBloodPressureLatest.effective" } } ], @@ -16636,7 +17048,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%ObsTotalCholesterol.entry.resource.value.value" + "expression": "%ObsTotalCholesterolLatest.value.value" } }, { @@ -16678,7 +17090,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%ObsTotalCholesterol.entry.resource.effective" + "expression": "%ObsTotalCholesterolLatest.effective" } } ], @@ -16701,7 +17113,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%ObsHDLCholesterol.entry.resource.value.value" + "expression": "%ObsHDLCholesterolLatest.value.value" } }, { @@ -16743,7 +17155,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%ObsHDLCholesterol.entry.resource.effective" + "expression": "%ObsHDLCholesterolLatest.effective" } } ], @@ -16788,109 +17200,6 @@ } ] }, - { - "linkId": "dabdc7b4-51db-44a0-9d59-77a88587cbe9", - "text": "CVD risk result", - "type": "group", - "repeats": false, - "item": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-unit", - "valueCoding": { - "system": "http://unitsofmeasure.org", - "code": "%" - } - } - ], - "linkId": "4c52fcec-0695-4916-b185-24a5c2711631", - "text": "Calculated risk", - "type": "integer", - "repeats": false, - "item": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "system": "http://hl7.org/fhir/questionnaire-item-control", - "code": "unit" - } - ] - } - } - ], - "linkId": "0162854e-c124-4b58-acd9-93c17562d407", - "text": "%", - "type": "display" - } - ] - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "system": "http://hl7.org/fhir/questionnaire-item-control", - "code": "radio-button" - } - ] - } - } - ], - "linkId": "28ff9463-b77f-435d-9ba7-427682a61f96", - "text": "Assessed risk category", - "type": "choice", - "repeats": false, - "answerOption": [ - { - "valueString": "High Risk" - }, - { - "valueString": "Intermediate Risk" - }, - { - "valueString": "Low Risk" - } - ] - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", - "valueCodeableConcept": { - "coding": [ - { - "system": "http://hl7.org/fhir/questionnaire-item-control", - "code": "radio-button" - } - ] - } - } - ], - "linkId": "041a589e-7bb5-441d-a4ba-a22db8040b3f", - "text": "Reclassification decision", - "type": "choice", - "repeats": false, - "answerOption": [ - { - "valueString": "Reclassified up" - }, - { - "valueString": "Reclassified down" - }, - { - "valueString": "Did not reclassify" - } - ] - } - ] - }, { "linkId": "f8022f3f-21fe-42c0-8abd-95f24e2e37e5", "text": "Health priorities, actions and follow-up", From cc85ae1ce0a3263f699dc1ab4e2a2b459a1b449d Mon Sep 17 00:00:00 2001 From: liambarnes Date: Mon, 21 Jul 2025 13:06:52 +1000 Subject: [PATCH 151/177] Enhance resolution on diagrams, Add IG specific detail in Obligation Code Definitions section. --- input/images/launchinteractions.png | Bin 67266 -> 352642 bytes input/images/overviewactors.png | Bin 35993 -> 276162 bytes input/pagecontent/general-requirements.md | 24 +++++++++++++++------- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/input/images/launchinteractions.png b/input/images/launchinteractions.png index b43014e529f8049a39d3f0a573844598b0205140..e61adeae3b524f66acdf5abb81b6777e3807655b 100644 GIT binary patch literal 352642 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

    ^^(_a} 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 Cjy0sVE4J&9D{dv(cCHCK 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

      *5}oNsaqov-G95_{@tye!8Fn`+j%`qj`1xVo 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 P_;Q@Wv&)_AxAFe~sB9DA literal 67266 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%0AU9ca|3-KssGCm@IR(- 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

      `a6|dH7NRtN@JWlE8{Qo%DGiC;28>|)kGZj~ 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ƛ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

      mu3NfgD9!(fOZ_T$ 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Śzet66oRGz!G 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�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 literal 35993 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 JDiAio{}1#P>BRs5 diff --git a/input/pagecontent/general-requirements.md b/input/pagecontent/general-requirements.md index 0514cb13..d08ea5b9 100644 --- a/input/pagecontent/general-requirements.md +++ b/input/pagecontent/general-requirements.md @@ -34,13 +34,7 @@ Interaction support refers to a system that supports the SHC REST API interactio ### Must Support and Obligations -In the context of SHC, [Obligations](https://hl7.org/fhir/extensions/CodeSystem-obligation.html) defines how an actor ([SHC Host FHIR Server](ActorDefinition-SHCHostFHIRServer.html) or [SHC App](ActorDefinition-SHCApp.html)) must “support” a given element. All [*Must Support*]({{site.data.fhir.path}}conformance-rules.html#mustSupport) elements in this IG are accompanied by an explicit obligation, which identifies structured expectations for a given actor. If an *Must Support* element has no obligation for a given actor, that element need not be supported by that actor. Obligations can be found in the formal view section of a resource. - -Obligations for each actor are defined with two categories of interactions in mind. The set of interactions, as described in the [Smart Health Checks Interactions](index.html#smart-health-checks-interactions) section, for: -1. prepopulating the Health Check; and -2. writing data back to the SHC Host FHIR Server. - -
      Obligations overview.png
      +In the context of SHC, [Obligations](https://hl7.org/fhir/extensions/CodeSystem-obligation.html) defines how an actor ([SHC Host FHIR Server](ActorDefinition-SHCHostFHIRServer.html) or [SHC App](ActorDefinition-SHCApp.html)) must “support” a given element. All [*Must Support*]({{site.data.fhir.path}}conformance-rules.html#mustSupport) elements in this IG are accompanied by an explicit obligation, which identifies structured expectations for a given actor. If a *Must Support* element has no obligation for a given actor, that element need not be supported by that actor. Obligations can be found in the formal view section of a resource. When information on a particular data element is not present, and the reason for absence is unknown, [SHC Host FHIR Server](ActorDefinition-SHCHostFHIRServer.html) SHALL NOT include the data elements in the resource instance returned as part of the query results. Conversely, the [SHC App](ActorDefinition-SHCApp.html) SHALL be able to accept without error resource instances containing data elements asserting missing information. @@ -83,6 +77,22 @@ Code | Definition | Notes #### Obligation Code Definitions Further clarification on the obligation code defined for an actor can be found by clicking the hyperlink on the obligation or by navigating to [obligation code value set](https://hl7.org/fhir/extensions/CodeSystem-obligation.html). +In the context of this implementation guide, additional details for the obligations specified on data elements throughout are provided here. + +Obligations for each actor are defined with two categories of interactions in mind. Each category is the set of interactions, as described in the [Smart Health Checks Interactions](index.html#smart-health-checks-interactions) section, for: +1. prepopulating the Health Check; and +2. writing data back to the SHC Host FHIR Server. + +
      Obligations overview.png
      + +The obligation codes have been specified according to the following rationale: + +Code | SHC Host FHIR Server | SHC App +--- | --- | --- +[SHALL:populate](https://hl7.org/fhir/extensions/CodeSystem-obligation.html#obligation-SHALL.58populate) | Indicates the element is required for accurate prepopulation or writeback. Additionally, if there is a prepopulation search query with a parameter that relies on an element, it SHALL be included. | Indicates the element will be included in a resource for writeback. There is no reason the SHC App won't know this information. +[SHALL:populate-if-known](https://hl7.org/fhir/extensions/CodeSystem-obligation.html#obligation-SHALL.58populate-if-known) | Indicates thes element is important for prepopulating a field in the form, however if it is missing, population will not be inaccurate, it will just not occur. | Indicates that if it is known, the element will be included in a resource for writeback. A reason it may not be known, is if a user has not recorded it and is therefore not included in the QuestionnaireResponse. +[SHALL:process](https://hl7.org/fhir/extensions/CodeSystem-obligation.html#obligation-SHALL.58process) | Indicates that when the element is included in a resource by the SHC App, it should be processed and considered for accurate writeback. | Indicates the SHC App will process the element and use it for prepopulating a QuestionnaireResponse or for generating a transaction bundle for writeback. + #### Must Support - Resource References Some elements labeled as *Must Support* reference multiple resource types or profiles (e.g., `QuestionnaireResponse.author`). [SHC Host FHIR Server](ActorDefinition-SHCHostFHIRServer.html) SHALL support *at least one* referenced resource or profile for each element listed in the table below. The [SHC App](ActorDefinition-SHCApp.html) SHALL support *all* referenced resources or profiles listed in the table below. From 439a8cc8cd3a5ba991d0dd409cfe0ccb303223b1 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Mon, 21 Jul 2025 16:14:14 +1000 Subject: [PATCH 152/177] Add questionnaire-item-text-hidden extensions throughout --- ...estionnaire-AbsoluteCVDRiskCalculation.json | 9 +++++++++ ...uestionnaire-AllergiesAdverseReactions.json | 18 ++++++++++++++++++ .../resources/Questionnaire-Examination.json | 9 +++++++++ ...ionnaire-MedicalHistoryCurrentProblems.json | 18 ++++++++++++++++++ .../Questionnaire-PatientDetails.json | 9 +++++++++ .../Questionnaire-RegularMedications.json | 18 ++++++++++++++++++ .../resources/Questionnaire-SubstanceUse.json | 9 +++++++++ ...5-Assessment-AbsoluteCVDRiskCalculation.fsh | 4 ++++ ...15-Assessment-AllergiesAdverseReactions.fsh | 6 ++++++ input/fsh/715-Assessment-Examination.fsh | 4 ++++ ...ssessment-MedicalHistoryCurrentProblems.fsh | 8 ++++++++ .../fsh/715-Assessment-RegularMedications.fsh | 6 ++++++ input/fsh/715-Assessment-SubstanceUse.fsh | 4 ++++ input/fsh/715-PatientDetails.fsh | 4 ++++ ...resStraitIslanderHealthCheck-assembled.json | 12 ++++++------ 15 files changed, 132 insertions(+), 6 deletions(-) diff --git a/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json b/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json index c8b87598..2b6925ac 100644 --- a/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json +++ b/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json @@ -439,6 +439,15 @@ } ], "linkId": "fe9feec6-593a-4106-8a7d-f9965a632ea2", + "text": "Observation values", + "_text": { + "extension": [ + { + "url": "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden", + "valueBoolean": true + } + ] + }, "type": "group", "repeats": false }, diff --git a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json index f3602335..3d9cb9c4 100644 --- a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json +++ b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json @@ -252,6 +252,15 @@ } ], "linkId": "allergysummary", + "text": "Adverse reaction risk summary", + "_text": { + "extension": [ + { + "url": "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden", + "valueBoolean": true + } + ] + }, "type": "group", "repeats": true }, @@ -270,6 +279,15 @@ } ], "linkId": "allergynew", + "text": "New adverse reaction risks", + "_text": { + "extension": [ + { + "url": "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden", + "valueBoolean": true + } + ] + }, "type": "group", "repeats": true, "item": [ diff --git a/fsh-generated/resources/Questionnaire-Examination.json b/fsh-generated/resources/Questionnaire-Examination.json index 52232252..b3c175b4 100644 --- a/fsh-generated/resources/Questionnaire-Examination.json +++ b/fsh-generated/resources/Questionnaire-Examination.json @@ -926,6 +926,15 @@ } ], "linkId": "3639c586-9576-48d3-a52b-e91fd2138581", + "text": "Blood pressure", + "_text": { + "extension": [ + { + "url": "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden", + "valueBoolean": true + } + ] + }, "type": "group", "repeats": false }, diff --git a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json index 9948f5b7..741c4656 100644 --- a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json +++ b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json @@ -319,6 +319,15 @@ } ], "linkId": "92bd7d05-9b5e-4cf9-900b-703f361dad9d", + "text": "Medical history summary", + "_text": { + "extension": [ + { + "url": "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden", + "valueBoolean": true + } + ] + }, "type": "group", "repeats": true }, @@ -379,6 +388,15 @@ } ], "linkId": "newdiagnosis", + "text": "New diagnosis", + "_text": { + "extension": [ + { + "url": "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden", + "valueBoolean": true + } + ] + }, "type": "group", "repeats": true } diff --git a/fsh-generated/resources/Questionnaire-PatientDetails.json b/fsh-generated/resources/Questionnaire-PatientDetails.json index 5910be78..0f311764 100644 --- a/fsh-generated/resources/Questionnaire-PatientDetails.json +++ b/fsh-generated/resources/Questionnaire-PatientDetails.json @@ -551,6 +551,15 @@ } ], "linkId": "4e0dc185-f83e-4027-b7a8-ecb543d42c6d", + "text": "Home address", + "_text": { + "extension": [ + { + "url": "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden", + "valueBoolean": true + } + ] + }, "type": "group", "repeats": true, "enableWhen": [ diff --git a/fsh-generated/resources/Questionnaire-RegularMedications.json b/fsh-generated/resources/Questionnaire-RegularMedications.json index c10ff883..3ca00a11 100644 --- a/fsh-generated/resources/Questionnaire-RegularMedications.json +++ b/fsh-generated/resources/Questionnaire-RegularMedications.json @@ -283,6 +283,15 @@ } ], "linkId": "regularmedications-summary-current", + "text": "Current medications", + "_text": { + "extension": [ + { + "url": "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden", + "valueBoolean": true + } + ] + }, "type": "group", "repeats": true }, @@ -301,6 +310,15 @@ } ], "linkId": "regularmedications-summary-new", + "text": "New medications", + "_text": { + "extension": [ + { + "url": "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden", + "valueBoolean": true + } + ] + }, "type": "group", "repeats": true, "item": [ diff --git a/fsh-generated/resources/Questionnaire-SubstanceUse.json b/fsh-generated/resources/Questionnaire-SubstanceUse.json index 7800eb3a..593e65d3 100644 --- a/fsh-generated/resources/Questionnaire-SubstanceUse.json +++ b/fsh-generated/resources/Questionnaire-SubstanceUse.json @@ -168,6 +168,15 @@ } ], "linkId": "substanceuse-smoking-smokingstatus", + "text": "Smoking status", + "_text": { + "extension": [ + { + "url": "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden", + "valueBoolean": true + } + ] + }, "type": "group", "repeats": false }, diff --git a/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh b/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh index 840d395b..08d1d729 100644 --- a/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh +++ b/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh @@ -201,6 +201,10 @@ Description: "Absolute Cardiovascular Disease Risk Calculation sub-questionnaire * item[+] * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control|1.0.0#grid * linkId = "fe9feec6-593a-4106-8a7d-f9965a632ea2" + * text = "Observation values" + * extension[+] + * url = "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden" + * valueBoolean = true * type = #group * repeats = false * item[+] diff --git a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh index e0a63932..2b9853b7 100644 --- a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh +++ b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh @@ -131,6 +131,9 @@ Description: "Allergies/Adverse Reactions sub-questionnaire for Aboriginal and T * item[=].item[=].item[=].extension[TemplateExtractExtensionExtended][=].extension[resourceId][+].valueString = "item.where(linkId='allergyIntoleranceId').answer.value" * item[=].item[=].item[=].extension[TemplateExtractExtensionExtended][=].extension[type][+].valueCode = #AllergyIntolerance * item[=].item[=].item[=].linkId = "allergysummary" +* item[=].item[=].item[=].text = "Adverse reaction risk summary" +* item[=].item[=].item[=].text.extension[+].url = "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden" +* item[=].item[=].item[=].text.extension[=].valueBoolean = true * item[=].item[=].item[=].type = #group * item[=].item[=].item[=].repeats = true * item[=].item[=].item[=].item[0].extension[questionnaire-hidden].valueBoolean = true @@ -185,6 +188,9 @@ Description: "Allergies/Adverse Reactions sub-questionnaire for Aboriginal and T * item[=].item[=].item[=].extension[=].extension.url = "template" * item[=].item[=].item[=].extension[=].extension.valueReference = Reference(AllergyIntoleranceTemplate) * item[=].item[=].item[=].linkId = "allergynew" +* item[=].item[=].item[=].text = "New adverse reaction risks" +* item[=].item[=].item[=].text.extension[+].url = "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden" +* item[=].item[=].item[=].text.extension[=].valueBoolean = true * item[=].item[=].item[=].type = #group * item[=].item[=].item[=].repeats = true * item[=].item[=].item[=].item[+].extension[+].url = "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl" diff --git a/input/fsh/715-Assessment-Examination.fsh b/input/fsh/715-Assessment-Examination.fsh index bd73b725..b463ec4b 100644 --- a/input/fsh/715-Assessment-Examination.fsh +++ b/input/fsh/715-Assessment-Examination.fsh @@ -573,6 +573,10 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * expression = "%age > 12" * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control|1.0.0#grid * linkId = "3639c586-9576-48d3-a52b-e91fd2138581" + * text = "Blood pressure" + * extension[+] + * url = "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden" + * valueBoolean = true * type = #group * repeats = false * item[+] diff --git a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh index a77cc8cc..ecfeac55 100644 --- a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh +++ b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh @@ -162,6 +162,10 @@ Description: "Medical History sub-questionnaire for Aboriginal and Torres Strait * extension[resourceId][+].valueString = "item.where(linkId='conditionId').answer.value" * extension[type][+].valueCode = #Condition * linkId = "92bd7d05-9b5e-4cf9-900b-703f361dad9d" + * text = "Medical history summary" + * extension[+] + * url = "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden" + * valueBoolean = true * type = #group * repeats = true * item[+] @@ -212,6 +216,10 @@ Description: "Medical History sub-questionnaire for Aboriginal and Torres Strait * extension[sdc-questionnaire-templateExtract] * extension[template].valueReference = Reference(ConditionTemplate) * linkId = "newdiagnosis" + * text = "New diagnosis" + * extension[+] + * url = "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden" + * valueBoolean = true * type = #group * repeats = true * item[+] diff --git a/input/fsh/715-Assessment-RegularMedications.fsh b/input/fsh/715-Assessment-RegularMedications.fsh index f605b613..295467ea 100644 --- a/input/fsh/715-Assessment-RegularMedications.fsh +++ b/input/fsh/715-Assessment-RegularMedications.fsh @@ -125,6 +125,9 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * item.item[=].item[=].extension[TemplateExtractExtensionExtended][=].extension[resourceId][+].valueString = "item.where(linkId='medicationStatementId').answer.value" * item.item[=].item[=].extension[TemplateExtractExtensionExtended][=].extension[type][+].valueCode = #MedicationStatement * item.item[=].item[=].linkId = "regularmedications-summary-current" +* item.item[=].item[=].text = "Current medications" +* item.item[=].item[=].text.extension[+].url = "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden" +* item.item[=].item[=].text.extension[=].valueBoolean = true * item.item[=].item[=].type = #group * item.item[=].item[=].repeats = true * item.item[=].item[=].item[0].extension[questionnaire-hidden].valueBoolean = true @@ -238,6 +241,9 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * item.item[=].item[=].extension[=].extension.url = "template" * item.item[=].item[=].extension[=].extension.valueReference = Reference(MedicationStatementTemplate) * item.item[=].item[=].linkId = "regularmedications-summary-new" +* item.item[=].item[=].text = "New medications" +* item.item[=].item[=].text.extension[+].url = "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden" +* item.item[=].item[=].text.extension[=].valueBoolean = true * item.item[=].item[=].type = #group * item.item[=].item[=].repeats = true * item.item[=].item[=].item[+].extension[+].url = "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl" diff --git a/input/fsh/715-Assessment-SubstanceUse.fsh b/input/fsh/715-Assessment-SubstanceUse.fsh index 96b39ead..d70c9dcc 100644 --- a/input/fsh/715-Assessment-SubstanceUse.fsh +++ b/input/fsh/715-Assessment-SubstanceUse.fsh @@ -144,6 +144,10 @@ Description: "Substance Use sub-questionnaire for Aboriginal and Torres Strait I * item[+] * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control|1.0.0#grid * linkId = "substanceuse-smoking-smokingstatus" + * text = "Smoking status" + * extension[+] + * url = "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden" + * valueBoolean = true * type = #group * repeats = false * item[+] diff --git a/input/fsh/715-PatientDetails.fsh b/input/fsh/715-PatientDetails.fsh index d52a3b49..f08f9c21 100644 --- a/input/fsh/715-PatientDetails.fsh +++ b/input/fsh/715-PatientDetails.fsh @@ -287,6 +287,10 @@ Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait * repeats = false * item[+] * linkId = "4e0dc185-f83e-4027-b7a8-ecb543d42c6d" + * text = "Home address" + * extension[+] + * url = "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden" + * valueBoolean = true * type = #group * repeats = true * enableWhen[+] diff --git a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json index 404f90e7..c8fef2f0 100644 --- a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json +++ b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json @@ -4928,7 +4928,7 @@ }, { "linkId": "4e0dc185-f83e-4027-b7a8-ecb543d42c6d", - "text": "Home Address", + "text": "Home address", "_text": { "extension": [ { @@ -6544,7 +6544,7 @@ } ], "linkId": "newdiagnosis", - "text": "New Diagnosis", + "text": "New diagnosis", "_text": { "extension": [ { @@ -6750,7 +6750,7 @@ } ], "linkId": "regularmedications-summary-current", - "text": "Current regular medications", + "text": "Current medications", "_text": { "extension": [ { @@ -6927,7 +6927,7 @@ } ], "linkId": "regularmedications-summary-new", - "text": "New regular medications", + "text": "New medications", "_text": { "extension": [ { @@ -7408,7 +7408,7 @@ } ], "linkId": "allergynew", - "text": "New allergy", + "text": "New adverse reaction risks", "_text": { "extension": [ { @@ -16637,7 +16637,7 @@ } ], "linkId": "fe9feec6-593a-4106-8a7d-f9965a632ea2", - "text": "Blood pressure", + "text": "Observation values", "_text": { "extension": [ { From a30f411a7c50cfe2f1baadd9926d2b223a4cf477 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Fri, 25 Jul 2025 10:08:39 +1000 Subject: [PATCH 153/177] fhirpath expression fixes --- .../resources/Questionnaire-Examination.json | 2 +- .../Questionnaire-RegularMedications.json | 8 ++++---- input/fsh/715-Assessment-Examination.fsh | 2 +- input/fsh/715-Assessment-RegularMedications.fsh | 14 +++++++------- ...lTorresStraitIslanderHealthCheck-assembled.json | 10 +++++----- 5 files changed, 18 insertions(+), 18 deletions(-) diff --git a/fsh-generated/resources/Questionnaire-Examination.json b/fsh-generated/resources/Questionnaire-Examination.json index b82a0542..0fb1db51 100644 --- a/fsh-generated/resources/Questionnaire-Examination.json +++ b/fsh-generated/resources/Questionnaire-Examination.json @@ -1938,7 +1938,7 @@ "valueExpression": { "name": "ObsHeadCircumferenceDateString", "language": "text/fhirpath", - "expression": "%ObsHeadCircumferenceLatest.effective.toDate().toString" + "expression": "%ObsHeadCircumferenceLatest.effective.toDate().toString()" } }, { diff --git a/fsh-generated/resources/Questionnaire-RegularMedications.json b/fsh-generated/resources/Questionnaire-RegularMedications.json index a58a1a4f..92cc59b4 100644 --- a/fsh-generated/resources/Questionnaire-RegularMedications.json +++ b/fsh-generated/resources/Questionnaire-RegularMedications.json @@ -109,7 +109,7 @@ "valueExpression": { "name": "MedicationStatementRepeat", "language": "text/fhirpath", - "expression": "%MedicationStatement.entry.resource.where(resourceType = 'MedicationStatement')" + "expression": "%MedicationStatement.entry.resource.ofType(MedicationStatement)" } }, { @@ -167,7 +167,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(%MedicationStatementRepeat.medicationReference.reference.replace('#', '') in %medicationsFromContained.id, %medicationsFromContained.where(id = %MedicationStatementRepeat.medicationReference.reference.replace('#', '')).code.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first()), iif(%MedicationStatementRepeat.medicationReference.reference.replace('Medication/', '') in %medicationsFromRef.id , %medicationsFromRef.where(id = %MedicationStatementRepeat.medicationReference.reference.replace('Medication/', '')).code.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first()) ,%MedicationStatementRepeat.medication.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first())))" + "expression": "iif(%MedicationStatementRepeat.medication.reference.replace('#', '') in %medicationsFromContained.id, %medicationsFromContained.where(id = %MedicationStatementRepeat.medication.reference.replace('#', '')).code.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first()), iif(%MedicationStatementRepeat.medication.reference.replace('Medication/', '') in %medicationsFromRef.id , %medicationsFromRef.where(id = %MedicationStatementRepeat.medication.reference.replace('Medication/', '')).code.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first()) ,%MedicationStatementRepeat.medication.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first())))" } } ], @@ -963,7 +963,7 @@ "valueExpression": { "name": "medicationsFromContained", "language": "text/fhirpath", - "expression": "%MedicationStatement.entry.resource.contained.where(resourceType = 'Medication' and id in %MedicationStatement.entry.resource.medicationReference.select(reference.replace('#', '')))" + "expression": "%MedicationStatement.entry.resource.contained.ofType(MedicationStatement).where(id in %MedicationStatement.entry.resource.medication.select(reference.replace('#', '')))" } }, { @@ -971,7 +971,7 @@ "valueExpression": { "name": "medicationsFromRef", "language": "text/fhirpath", - "expression": "%MedicationStatement.entry.resource.where(resourceType = 'Medication' and id in %MedicationStatement.entry.resource.medicationReference.select(reference.replace('Medication/', '')))" + "expression": "%MedicationStatement.entry.resource.ofType(MedicationStatement).where(id in %MedicationStatement.entry.resource.medication.select(reference.replace('Medication/', '')))" } }, { diff --git a/input/fsh/715-Assessment-Examination.fsh b/input/fsh/715-Assessment-Examination.fsh index 71135fce..b615ca58 100644 --- a/input/fsh/715-Assessment-Examination.fsh +++ b/input/fsh/715-Assessment-Examination.fsh @@ -194,7 +194,7 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * valueExpression * name = "ObsHeadCircumferenceDateString" * language = #text/fhirpath - * expression = "%ObsHeadCircumferenceLatest.effective.toDate().toString" + * expression = "%ObsHeadCircumferenceLatest.effective.toDate().toString()" * extension[+] * url = "http://hl7.org/fhir/StructureDefinition/variable" * valueExpression diff --git a/input/fsh/715-Assessment-RegularMedications.fsh b/input/fsh/715-Assessment-RegularMedications.fsh index d9246fde..2290bbfe 100644 --- a/input/fsh/715-Assessment-RegularMedications.fsh +++ b/input/fsh/715-Assessment-RegularMedications.fsh @@ -48,12 +48,12 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * extension[+].url = "http://hl7.org/fhir/StructureDefinition/variable" * extension[=].valueExpression.name = "medicationsFromContained" * extension[=].valueExpression.language = #text/fhirpath -* extension[=].valueExpression.expression = "%MedicationStatement.entry.resource.contained.where(resourceType = 'Medication' and id in %MedicationStatement.entry.resource.medicationReference.select(reference.replace('#', '')))" +* extension[=].valueExpression.expression = "%MedicationStatement.entry.resource.contained.ofType(MedicationStatement).where(id in %MedicationStatement.entry.resource.medication.select(reference.replace('#', '')))" * extension[+].url = "http://hl7.org/fhir/StructureDefinition/variable" * extension[=].valueExpression.name = "medicationsFromRef" * extension[=].valueExpression.language = #text/fhirpath -* extension[=].valueExpression.expression = "%MedicationStatement.entry.resource.where(resourceType = 'Medication' and id in %MedicationStatement.entry.resource.medicationReference.select(reference.replace('Medication/', '')))" +* extension[=].valueExpression.expression = "%MedicationStatement.entry.resource.ofType(MedicationStatement).where(id in %MedicationStatement.entry.resource.medication.select(reference.replace('Medication/', '')))" * extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * extension[=].valueString = "age" @@ -120,7 +120,7 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St // Current medications * item.item[=].item[0].extension[sdc-questionnaire-itemPopulationContext][+].valueExpression[+].name = "MedicationStatementRepeat" * item.item[=].item[0].extension[sdc-questionnaire-itemPopulationContext][=].valueExpression[=].language = #text/fhirpath -* item.item[=].item[0].extension[sdc-questionnaire-itemPopulationContext][=].valueExpression[=].expression = "%MedicationStatement.entry.resource.where(resourceType = 'MedicationStatement')" +* item.item[=].item[0].extension[sdc-questionnaire-itemPopulationContext][=].valueExpression[=].expression = "%MedicationStatement.entry.resource.ofType(MedicationStatement)" * item.item[=].item[=].extension[TemplateExtractExtensionExtended][+].extension[template][+].valueReference = Reference(MedicationStatementPatchTemplate) * item.item[=].item[=].extension[TemplateExtractExtensionExtended][=].extension[resourceId][+].valueString = "item.where(linkId='medicationStatementId').answer.value" * item.item[=].item[=].extension[TemplateExtractExtensionExtended][=].extension[type][+].valueCode = #MedicationStatement @@ -146,16 +146,16 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * item.item[=].item[=].item[=].extension[=].valueExpression[+].language = #text/fhirpath /* This expression selects the SNOMED coding from MedicationStatements. - In some cases, medicationReference may be a reference to a contained Medication resource or an external Medication resource. + In some cases, medication.reference may be a reference to a contained Medication resource or an external Medication resource. %medicationsFromContained and %medicationsFromRef contains a list of contained Medication resources and externally referenced Medication resources respectively. - Step 1: Check if the medicationReference is a contained resource (starts with '#') and if its ID is in %medicationsFromContained. + Step 1: Check if the medication.reference is a contained resource (starts with '#') and if its ID is in %medicationsFromContained. Step 2: If it is, use the ID to find the corresponding Medication resource in %medicationsFromContained and select its SNOMED coding. - Step 3: Otherwise, check if the medicationReference is an external resource (starts with 'Medication/') and if its ID is in %medicationsFromRef. + Step 3: Otherwise, check if the medication.reference is an external resource (starts with 'Medication/') and if its ID is in %medicationsFromRef. Step 4: If it is, use the ID to find the corresponding Medication resource in %medicationsFromRef and select its SNOMED coding. Step 5: Otherwise, use the SNOMED coding from MedicationStatement.medication (medicationCodeableConcept to be specific). */ -* item.item[=].item[=].item[=].extension[=].valueExpression[=].expression = "iif(%MedicationStatementRepeat.medicationReference.reference.replace('#', '') in %medicationsFromContained.id, %medicationsFromContained.where(id = %MedicationStatementRepeat.medicationReference.reference.replace('#', '')).code.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first()), iif(%MedicationStatementRepeat.medicationReference.reference.replace('Medication/', '') in %medicationsFromRef.id , %medicationsFromRef.where(id = %MedicationStatementRepeat.medicationReference.reference.replace('Medication/', '')).code.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first()) ,%MedicationStatementRepeat.medication.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first())))" +* item.item[=].item[=].item[=].extension[=].valueExpression[=].expression = "iif(%MedicationStatementRepeat.medication.reference.replace('#', '') in %medicationsFromContained.id, %medicationsFromContained.where(id = %MedicationStatementRepeat.medication.reference.replace('#', '')).code.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first()), iif(%MedicationStatementRepeat.medication.reference.replace('Medication/', '') in %medicationsFromRef.id , %medicationsFromRef.where(id = %MedicationStatementRepeat.medication.reference.replace('Medication/', '')).code.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first()) ,%MedicationStatementRepeat.medication.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first())))" * item.item[=].item[=].item[=].linkId = "regularmedications-summary-current-medication" * item.item[=].item[=].item[=].text = "Medication" * item.item[=].item[=].item[=].type = #open-choice diff --git a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json index 20dda61f..fc26af48 100644 --- a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json +++ b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json @@ -3579,7 +3579,7 @@ "valueExpression": { "name": "medicationsFromContained", "language": "text/fhirpath", - "expression": "%MedicationStatement.entry.resource.contained.where(resourceType = 'Medication' and id in %MedicationStatement.entry.resource.medicationReference.select(reference.replace('#', '')))" + "expression": "%MedicationStatement.entry.resource.contained.ofType(MedicationStatement).where(id in %MedicationStatement.entry.resource.medication.select(reference.replace('#', '')))" } }, { @@ -3587,7 +3587,7 @@ "valueExpression": { "name": "medicationsFromRef", "language": "text/fhirpath", - "expression": "%MedicationStatement.entry.resource.where(resourceType = 'Medication' and id in %MedicationStatement.entry.resource.medicationReference.select(reference.replace('Medication/', '')))" + "expression": "%MedicationStatement.entry.resource.ofType(MedicationStatement).where(id in %MedicationStatement.entry.resource.medication.select(reference.replace('Medication/', '')))" } }, { @@ -3787,7 +3787,7 @@ "valueExpression": { "name": "ObsHeadCircumferenceDateString", "language": "text/fhirpath", - "expression": "%ObsHeadCircumferenceLatest.effective.toDate().toString" + "expression": "%ObsHeadCircumferenceLatest.effective.toDate().toString()" } }, { @@ -6847,7 +6847,7 @@ "valueExpression": { "name": "MedicationStatementRepeat", "language": "text/fhirpath", - "expression": "%MedicationStatement.entry.resource.where(resourceType = 'MedicationStatement')" + "expression": "%MedicationStatement.entry.resource.ofType(MedicationStatement)" } }, { @@ -6917,7 +6917,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "iif(%MedicationStatementRepeat.medicationReference.reference.replace('#', '') in %medicationsFromContained.id, %medicationsFromContained.where(id = %MedicationStatementRepeat.medicationReference.reference.replace('#', '')).code.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first()), iif(%MedicationStatementRepeat.medicationReference.reference.replace('Medication/', '') in %medicationsFromRef.id , %medicationsFromRef.where(id = %MedicationStatementRepeat.medicationReference.reference.replace('Medication/', '')).code.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first()) ,%MedicationStatementRepeat.medication.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first())))" + "expression": "iif(%MedicationStatementRepeat.medication.reference.replace('#', '') in %medicationsFromContained.id, %medicationsFromContained.where(id = %MedicationStatementRepeat.medication.reference.replace('#', '')).code.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first()), iif(%MedicationStatementRepeat.medication.reference.replace('Medication/', '') in %medicationsFromRef.id , %medicationsFromRef.where(id = %MedicationStatementRepeat.medication.reference.replace('Medication/', '')).code.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first()) ,%MedicationStatementRepeat.medication.select((coding.where(system='http://snomed.info/sct') | coding.where(system!='http://snomed.info/sct').first() | text ).first())))" } } ], From 909464b072d590445619670c4515388ddfb43773 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Fri, 25 Jul 2025 13:05:08 +1000 Subject: [PATCH 154/177] Code review and cleanup --- .../ActorDefinition-SHCHostFHIRServer.json | 2 +- ...tyStatement-SHCAppCapabilityStatement.json | 4 +- ...ntationGuide-csiro.fhir.au.smartforms.json | 16 - ...stionnaire-AbsoluteCVDRiskCalculation.json | 19 +- .../Questionnaire-AssemblyInstructions.json | 5 +- .../Questionnaire-EarHealthAndHearing.json | 2 +- .../resources/Questionnaire-Examination.json | 6 +- .../resources/Questionnaire-EyeHealth.json | 3 +- .../Questionnaire-FinalisingHealthCheck.json | 20 +- ...Questionnaire-HealthPrioritiesSummary.json | 8 +- .../Questionnaire-HealthyEating.json | 4 +- .../resources/Questionnaire-Immunisation.json | 4 +- .../Questionnaire-LearningAndDevelopment.json | 14 +- .../Questionnaire-LearningAndWork.json | 8 +- .../Questionnaire-PatientDetails.json | 4 +- ...onnaire-PhysicalActivityAndScreenTime.json | 2 +- ...aire-RedFlagsEarlyIdentificationGuide.json | 30 +- .../Questionnaire-RegularMedications.json | 2 +- .../Questionnaire-ScreeningPrograms.json | 2 +- .../resources/Questionnaire-SexualHealth.json | 4 +- .../resources/Questionnaire-SubstanceUse.json | 3 +- .../resources/ValueSet-biological-sex-1.json | 2 +- .../ValueSet-medication-reason-taken-1.json | 2 +- input/fsh/715-AboutTheHealthCheck.fsh | 12 - input/fsh/715-AssemblyInstructions.fsh | 111 +-- ...-Assessment-AbsoluteCVDRiskCalculation.fsh | 101 +-- ...5-Assessment-AllergiesAdverseReactions.fsh | 8 +- .../715-Assessment-ChronicDiseaseAgeing.fsh | 3 +- .../fsh/715-Assessment-CurrentPriorities.fsh | 5 +- .../715-Assessment-EarHealthAndHearing.fsh | 14 +- input/fsh/715-Assessment-Examination.fsh | 5 +- input/fsh/715-Assessment-EyeHealth.fsh | 4 +- input/fsh/715-Assessment-HealthyEating.fsh | 4 +- input/fsh/715-Assessment-Immunisation.fsh | 5 +- .../715-Assessment-LearningAndDevelopment.fsh | 16 +- input/fsh/715-Assessment-LearningAndWork.fsh | 5 +- ...sessment-PhysicalActivityAndScreenTime.fsh | 4 +- ...sment-RedFlagsEarlyIdentificationGuide.fsh | 30 +- .../fsh/715-Assessment-RegularMedications.fsh | 20 +- .../fsh/715-Assessment-ScreeningPrograms.fsh | 4 +- input/fsh/715-Assessment-SexualHealth.fsh | 4 +- input/fsh/715-Assessment-Skin.fsh | 1 - ...Assessment-SocialAndEmotionalWellbeing.fsh | 1 - .../fsh/715-Assessment-SocialHistoryChild.fsh | 1 - input/fsh/715-Assessment-SubstanceUse.fsh | 2 +- input/fsh/715-FinalisingHealthCheck.fsh | 21 +- input/fsh/715-HealthPrioritiesSummary.fsh | 8 +- input/fsh/715-PatientDetails.fsh | 2 +- input/fsh/actors.fsh | 2 +- input/fsh/capability.fsh | 84 +-- input/fsh/extract-templates.fsh | 5 +- input/fsh/terminology.fsh | 704 +----------------- input/pagecontent/actor-definitions.md | 2 +- input/pagecontent/capability-statements.md | 12 +- input/pagecontent/general-requirements.md | 2 +- input/pagecontent/index.md | 2 +- input/pagecontent/informative-guidance.xml | 2 +- input/pagecontent/profiles-and-extensions.md | 4 +- input/pagecontent/questionnaires.md | 10 - .../smart-health-check-integration.md | 4 +- input/pagecontent/terminology.md | 6 - ...CodeSystem-questionnaire-item-control.json | 269 ------- ...esStraitIslanderHealthCheck-assembled.json | 124 ++- .../ValueSet-questionnaire-item-control.json | 70 -- 64 files changed, 213 insertions(+), 1646 deletions(-) delete mode 100644 input/resources/CodeSystem-questionnaire-item-control.json delete mode 100644 input/resources/ValueSet-questionnaire-item-control.json diff --git a/fsh-generated/resources/ActorDefinition-SHCHostFHIRServer.json b/fsh-generated/resources/ActorDefinition-SHCHostFHIRServer.json index 4c7ae993..0d92b59f 100644 --- a/fsh-generated/resources/ActorDefinition-SHCHostFHIRServer.json +++ b/fsh-generated/resources/ActorDefinition-SHCHostFHIRServer.json @@ -8,6 +8,6 @@ "status": "draft", "experimental": false, "type": "system", - "documentation": "The SHC Host FHIR Server: \n- **SHALL** respond to [SMART Authorization Configuration`](https://hl7.org/fhir/smart-app-launch/app-launch.html#retrieve-well-knownsmart-configuration) request\n- **SHALL** authorise FHIR API requests using Bearer access token per [SMART APP Launch Access FHIR API](https://hl7.org/fhir/smart-app-launch/app-launch.html#access-fhir-api)\n- **SHALL** respond to read Practitioner request\n- **SHALL** respond to read Patient request\n- **SHALL** respond to search QuestionnaireResponse request\n- **SHALL** respond to read QuestionnaireResponse request\n- **SHALL** respond to create and update QuestionnaireResponse requests\n- **SHALL** respond to search and read requests for resources required by this IG\n- **SHALL** respond to create and patch requests in a transaction Bundle for resources required by this IG", + "documentation": "The SHC Host FHIR Server: \n- **SHALL** respond to [SMART Authorization Configuration](https://hl7.org/fhir/smart-app-launch/app-launch.html#retrieve-well-knownsmart-configuration) request\n- **SHALL** authorise FHIR API requests using Bearer access token per [SMART APP Launch Access FHIR API](https://hl7.org/fhir/smart-app-launch/app-launch.html#access-fhir-api)\n- **SHALL** respond to read Practitioner request\n- **SHALL** respond to read Patient request\n- **SHALL** respond to search QuestionnaireResponse request\n- **SHALL** respond to read QuestionnaireResponse request\n- **SHALL** respond to create and update QuestionnaireResponse requests\n- **SHALL** respond to search and read requests for resources required by this IG\n- **SHALL** respond to create and patch requests in a transaction Bundle for resources required by this IG", "capabilities": "https://smartforms.csiro.au/ig/CapabilityStatement/SHCHostFHIRServerCapabilityStatement" } diff --git a/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json b/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json index 88d01333..6ecb37e2 100644 --- a/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json +++ b/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json @@ -250,7 +250,7 @@ } ], "searchInclude": [ - "MedicationRequest:medication" + "MedicationStatement:medication" ], "searchParam": [ { @@ -414,7 +414,7 @@ ], "type": "Questionnaire", "profile": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire", - "documentation": "The client supports the Questionnaire resource, Structured Data Capture profile and the conformance expectations for the QuestionnaireResponse resource.", + "documentation": "The client supports the Questionnaire resource, Structured Data Capture profile and the conformance expectations for the Questionnaire resource.", "interaction": [ { "code": "search-type" diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index b57fafcc..5095797a 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -478,22 +478,6 @@ "description": "The Questionnaire Item Control Extension code system defines concepts that extend the HL7 questionnaire item control concepts in http://hl7.org/fhir/questionnaire-item-control. They represent interface control/display mechanisms interface control/display mechanisms that might be used when rendering an item in a questionnaire.", "exampleBoolean": false }, - { - "reference": { - "reference": "CodeSystem/questionnaire-item-control" - }, - "description": "Starter set of user interface control/display mechanisms that might be used when rendering an item in a questionnaire.", - "exampleBoolean": false, - "name": "Questionnaire Item UI Control Codes" - }, - { - "reference": { - "reference": "ValueSet/questionnaire-item-control" - }, - "description": "Starter set of user interface control/display mechanisms that might be used when rendering an item in a questionnaire.", - "exampleBoolean": false, - "name": "Questionnaire Item UI Control Codes" - }, { "reference": { "reference": "ActorDefinition/SHCApp" diff --git a/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json b/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json index a44efa42..2a208a9e 100644 --- a/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json +++ b/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json @@ -220,7 +220,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
      " + "valueString": "

      The Australian CVD risk calculator on the Aus CVD Risk website should be used. Below is a read only view of a subset of variables that can be used as inputs for the online calculator. The calculated CVD risk result can be entered here.

      " } ] }, @@ -372,8 +372,7 @@ "coding": [ { "code": "grid", - "system": "http://hl7.org/fhir/questionnaire-item-control", - "version": "1.0.0" + "system": "http://hl7.org/fhir/questionnaire-item-control" } ] } @@ -694,9 +693,9 @@ "repeats": false } ], - "linkId": "8d02ef36-3f48-4912-b001-e9fec6aa7101", - "text": "CVD risk calculator variables", - "type": "group", + "linkId": "f8022f3f-21fe-42c0-8abd-95f24e2e37e5", + "text": "Health priorities, actions and follow-up", + "type": "text", "repeats": false, "readOnly": true, "enableWhen": [ @@ -707,12 +706,6 @@ } ] }, - { - "linkId": "f8022f3f-21fe-42c0-8abd-95f24e2e37e5", - "text": "Health priorities, actions and follow-up", - "type": "text", - "repeats": false - }, { "linkId": "MarkComplete-2", "text": "Mark section as complete", @@ -835,7 +828,7 @@ { "property": "constraint", "op": "=", - "value": "^ 32570631000036107|Sex reference set|" + "value": "^32570631000036107|Sex reference set|" } ] } diff --git a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json index 5db1dc5d..9d78b286 100644 --- a/fsh-generated/resources/Questionnaire-AssemblyInstructions.json +++ b/fsh-generated/resources/Questionnaire-AssemblyInstructions.json @@ -15,8 +15,7 @@ "coding": [ { "code": "tab-container", - "system": "http://hl7.org/fhir/questionnaire-item-control", - "version": "1.0.0" + "system": "http://hl7.org/fhir/questionnaire-item-control" } ] } @@ -1869,7 +1868,7 @@ { "property": "constraint", "op": "=", - "value": "^ 32570631000036107|Sex reference set|" + "value": "^32570631000036107|Sex reference set|" } ] } diff --git a/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json b/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json index 210aa8f6..c05a2790 100644 --- a/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json +++ b/fsh-generated/resources/Questionnaire-EarHealthAndHearing.json @@ -590,7 +590,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "(%age > 5).intersect(%age <= 12)" + "expression": "(%age > 5) and (%age <= 12)" } } ], diff --git a/fsh-generated/resources/Questionnaire-Examination.json b/fsh-generated/resources/Questionnaire-Examination.json index 0fb1db51..15fba153 100644 --- a/fsh-generated/resources/Questionnaire-Examination.json +++ b/fsh-generated/resources/Questionnaire-Examination.json @@ -109,8 +109,7 @@ "coding": [ { "code": "grid", - "system": "http://hl7.org/fhir/questionnaire-item-control", - "version": "1.0.0" + "system": "http://hl7.org/fhir/questionnaire-item-control" } ] } @@ -864,8 +863,7 @@ "coding": [ { "code": "grid", - "system": "http://hl7.org/fhir/questionnaire-item-control", - "version": "1.0.0" + "system": "http://hl7.org/fhir/questionnaire-item-control" } ] } diff --git a/fsh-generated/resources/Questionnaire-EyeHealth.json b/fsh-generated/resources/Questionnaire-EyeHealth.json index 6c5fc43a..f4db5ff8 100644 --- a/fsh-generated/resources/Questionnaire-EyeHealth.json +++ b/fsh-generated/resources/Questionnaire-EyeHealth.json @@ -188,8 +188,7 @@ "coding": [ { "code": "grid", - "system": "http://hl7.org/fhir/questionnaire-item-control", - "version": "1.0.0" + "system": "http://hl7.org/fhir/questionnaire-item-control" } ] } diff --git a/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json b/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json index 4c74d2ca..db9a1c27 100644 --- a/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json +++ b/fsh-generated/resources/Questionnaire-FinalisingHealthCheck.json @@ -106,7 +106,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "(%age <= 12).intersect(%age > 5)" + "expression": "(%age <= 12) and (%age > 5)" } } ], @@ -195,7 +195,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "(%age <= 12).intersect(%age > 5)" + "expression": "(%age <= 12) and (%age > 5)" } }, { @@ -248,7 +248,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "(%age <= 24).intersect(%age > 12)" + "expression": "(%age <= 24) and (%age > 12)" } }, { @@ -307,7 +307,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "(%age <= 49).intersect(%age > 24)" + "expression": "(%age <= 49) and (%age > 24)" } }, { @@ -539,7 +539,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "(%age <= 12).intersect(%age > 5)" + "expression": "(%age <= 12) and (%age > 5)" } }, { @@ -597,7 +597,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "(%age <= 24).intersect(%age > 12)" + "expression": "(%age <= 24) and (%age > 12)" } }, { @@ -658,7 +658,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "(%age <= 49).intersect(%age > 24)" + "expression": "(%age <= 49) and (%age > 24)" } }, { @@ -894,7 +894,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "(%age <= 12).intersect(%age > 5)" + "expression": "(%age <= 12) and (%age > 5)" } } ], @@ -909,7 +909,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%age >12" + "expression": "%age > 12" } } ], @@ -937,7 +937,7 @@ } ], "linkId": "8176151f-6d86-45eb-91b1-12458d75a181", - "text": "A copy of this health check has been offerered - including details of follow-up and future appointments", + "text": "A copy of this health check has been offered - including details of follow-up and future appointments", "type": "choice", "repeats": false, "answerOption": [ diff --git a/fsh-generated/resources/Questionnaire-HealthPrioritiesSummary.json b/fsh-generated/resources/Questionnaire-HealthPrioritiesSummary.json index 61bd674f..1bbb2e09 100644 --- a/fsh-generated/resources/Questionnaire-HealthPrioritiesSummary.json +++ b/fsh-generated/resources/Questionnaire-HealthPrioritiesSummary.json @@ -251,7 +251,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "(%age > 12).intersect(%age < 50) and %HealthPrioritiesSummaryLearningWorkAdults.exists()" + "expression": "(%age > 12) and (%age < 50) and %HealthPrioritiesSummaryLearningWorkAdults.exists()" } }, { @@ -371,7 +371,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "(%age >= 50).intersect(%age <= 74) and %HealthPrioritiesSummaryScreeningPrograms.exists()" + "expression": "(%age >= 50) and (%age <= 74) and %HealthPrioritiesSummaryScreeningPrograms.exists()" } }, { @@ -515,7 +515,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "(%age > 12).intersect(%age <= 24) and %HealthPrioritiesSummarySexualHealthAdolescents.exists()" + "expression": "(%age > 12) and (%age <= 24) and %HealthPrioritiesSummarySexualHealthAdolescents.exists()" } }, { @@ -539,7 +539,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "(%age > 24).intersect(%age <= 49) and %HealthPrioritiesSummarySexualHealthAdults.exists()" + "expression": "(%age > 24) and (%age <= 49) and %HealthPrioritiesSummarySexualHealthAdults.exists()" } }, { diff --git a/fsh-generated/resources/Questionnaire-HealthyEating.json b/fsh-generated/resources/Questionnaire-HealthyEating.json index 9229a3e0..fc4daab1 100644 --- a/fsh-generated/resources/Questionnaire-HealthyEating.json +++ b/fsh-generated/resources/Questionnaire-HealthyEating.json @@ -447,12 +447,12 @@ } ], "linkId": "7a22a4c4-6611-4687-af00-37c80c3f8fc0", - "text": "Document conversation about health eating which could include: current diet including food and drinks; recommendations about fruit and vegetable intake, water as the main drink, avoiding sugary drinks, avoiding highly processed foods (including supermarket-bought and take-away like KFC, Maccas, etc)", + "text": "Document conversation about healthy eating which could include: current diet including food and drinks; recommendations about fruit and vegetable intake, water as the main drink, avoiding sugary drinks, avoiding highly processed foods (including supermarket-bought and take-away like KFC, Maccas, etc)", "_text": { "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
      \r\n
      Document conversation about health eating which could include:
      \r\n
        \r\n
      • current diet including food and drinks
      • \r\n
      • recommendations about fruit and vegetable intake, water as the main drink, avoiding sugary drinks, avoiding highly processed foods (including supermarket-bought and take-away like KFC, Maccas, etc)
      • \r\n
      \r\n
      " + "valueString": "
      \r\n
      Document conversation about healthy eating which could include:
      \r\n
        \r\n
      • current diet including food and drinks
      • \r\n
      • recommendations about fruit and vegetable intake, water as the main drink, avoiding sugary drinks, avoiding highly processed foods (including supermarket-bought and take-away like KFC, Maccas, etc)
      • \r\n
      \r\n
      " } ] }, diff --git a/fsh-generated/resources/Questionnaire-Immunisation.json b/fsh-generated/resources/Questionnaire-Immunisation.json index d8e57325..23b190e3 100644 --- a/fsh-generated/resources/Questionnaire-Immunisation.json +++ b/fsh-generated/resources/Questionnaire-Immunisation.json @@ -137,7 +137,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "(%age > 12).intersect(%age <= 24)" + "expression": "(%age > 12) and (%age <= 24)" } } ], @@ -159,7 +159,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "(%age > 24).intersect(%age <= 49)" + "expression": "(%age > 24) and (%age <= 49)" } } ], diff --git a/fsh-generated/resources/Questionnaire-LearningAndDevelopment.json b/fsh-generated/resources/Questionnaire-LearningAndDevelopment.json index 27d393ab..3906a600 100644 --- a/fsh-generated/resources/Questionnaire-LearningAndDevelopment.json +++ b/fsh-generated/resources/Questionnaire-LearningAndDevelopment.json @@ -233,7 +233,7 @@ } ], "linkId": "20ae39db-7bb5-4af4-ac59-3298d20719d8", - "text": "details", + "text": "Details", "type": "display" } ], @@ -268,7 +268,7 @@ } ], "linkId": "61ff302c-9ef0-414c-a9f8-e2b8d119373c", - "text": "details", + "text": "Details", "type": "display" } ], @@ -303,7 +303,7 @@ } ], "linkId": "520a4544-a48b-4864-8cfd-6af263756f1b", - "text": "details", + "text": "Details", "type": "display" } ], @@ -338,7 +338,7 @@ } ], "linkId": "2e24a8de-c23d-409a-a5d6-96345177e105", - "text": "details", + "text": "Details", "type": "display" } ], @@ -373,7 +373,7 @@ } ], "linkId": "f95dd477-98a2-4534-b8ab-5a74d1b46502", - "text": "details", + "text": "Details", "type": "display" } ], @@ -408,12 +408,12 @@ } ], "linkId": "f513b077-5714-4b14-b44f-30a979509651", - "text": "details", + "text": "Details", "type": "display" } ], "linkId": "9371dddc-49f4-4a8f-a9dc-a0e128f99636", - "text": "Are there any other concerns about your child's learning and development", + "text": "Are there any other concerns about your child's learning and development?", "type": "text", "repeats": false }, diff --git a/fsh-generated/resources/Questionnaire-LearningAndWork.json b/fsh-generated/resources/Questionnaire-LearningAndWork.json index cfb47ebf..2d09fe47 100644 --- a/fsh-generated/resources/Questionnaire-LearningAndWork.json +++ b/fsh-generated/resources/Questionnaire-LearningAndWork.json @@ -14,7 +14,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "(%age > 12).intersect(%age < 50)" + "expression": "(%age > 12) and (%age < 50)" } } ], @@ -370,12 +370,6 @@ "type": "group", "repeats": false }, - { - "linkId": "ed6f7800-e22a-4639-9d11-faf845513500", - "text": "Health priorities, actions and follow-up", - "type": "text", - "repeats": false - }, { "linkId": "MarkComplete-16", "text": "Mark section as complete", diff --git a/fsh-generated/resources/Questionnaire-PatientDetails.json b/fsh-generated/resources/Questionnaire-PatientDetails.json index d849d4a7..f40af126 100644 --- a/fsh-generated/resources/Questionnaire-PatientDetails.json +++ b/fsh-generated/resources/Questionnaire-PatientDetails.json @@ -1067,7 +1067,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "(%age <= 49).intersect(%age > 12)" + "expression": "(%age <= 49) and (%age > 12)" } } ], @@ -2136,7 +2136,7 @@ { "property": "constraint", "op": "=", - "value": "^ 32570631000036107|Sex reference set|" + "value": "^32570631000036107|Sex reference set|" } ] } diff --git a/fsh-generated/resources/Questionnaire-PhysicalActivityAndScreenTime.json b/fsh-generated/resources/Questionnaire-PhysicalActivityAndScreenTime.json index 895a73bb..e70f79fe 100644 --- a/fsh-generated/resources/Questionnaire-PhysicalActivityAndScreenTime.json +++ b/fsh-generated/resources/Questionnaire-PhysicalActivityAndScreenTime.json @@ -288,7 +288,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "(%age > 12).intersect(%age <= 24)" + "expression": "(%age > 12) and (%age <= 24)" } } ], diff --git a/fsh-generated/resources/Questionnaire-RedFlagsEarlyIdentificationGuide.json b/fsh-generated/resources/Questionnaire-RedFlagsEarlyIdentificationGuide.json index 84abfbb4..b709b570 100644 --- a/fsh-generated/resources/Questionnaire-RedFlagsEarlyIdentificationGuide.json +++ b/fsh-generated/resources/Questionnaire-RedFlagsEarlyIdentificationGuide.json @@ -105,7 +105,7 @@ } ], "linkId": "0b520b20-98df-4024-b25d-2986f6b96e77", - "text": "What age group is the child closet to?", + "text": "What age group is the child closest to?", "type": "choice", "repeats": false, "answerOption": [ @@ -222,7 +222,7 @@ "valueString": "Does not notice someone new" }, { - "valueString": "Does not pay early turn taking games (eg peekaboo, rolling a ball)" + "valueString": "Does not play early turn taking games (e.g. peekaboo, rolling a ball)" } ], "enableWhen": [ @@ -284,7 +284,7 @@ "repeats": true, "answerOption": [ { - "valueString": "When playing with toys tends to bang, drop, or throw them rather than use them for their purpose (eg Cuddle doll, build blocks)" + "valueString": "When playing with toys tends to bang, drop, or throw them rather than use them for their purpose (e.g. cuddle doll, build blocks)" } ], "enableWhen": [ @@ -411,7 +411,7 @@ "repeats": true, "answerOption": [ { - "valueString": "Not starting to babble (eg aahh, oohh)" + "valueString": "Not starting to babble (e.g. aahh, oohh)" } ], "enableWhen": [ @@ -442,10 +442,10 @@ "repeats": true, "answerOption": [ { - "valueString": "Not using gestures (eg pointing, showing, waving)" + "valueString": "Not using gestures (e.g. pointing, showing, waving)" }, { - "valueString": "Not using two part babble (eg bubu, dada)" + "valueString": "Not using two part babble (e.g. bubu, dada)" } ], "enableWhen": [ @@ -479,7 +479,7 @@ "valueString": "No babbled phrases that sound like talking" }, { - "valueString": "No response to familiar words (eg bottle, daddy)" + "valueString": "No response to familiar words (e.g. bottle, daddy)" } ], "enableWhen": [ @@ -513,7 +513,7 @@ "valueString": "No clear words" }, { - "valueString": "Cannot understand short requests (eg 'Where is the ball?')" + "valueString": "Cannot understand short requests (e.g. 'Where is the ball?')" } ], "enableWhen": [ @@ -547,7 +547,7 @@ "valueString": "Not learning new words" }, { - "valueString": "Not putting words together (eg 'push car')" + "valueString": "Not putting words together (e.g. 'push car')" } ], "enableWhen": [ @@ -581,7 +581,7 @@ "valueString": "Speech is difficult for familiar people to understand" }, { - "valueString": "Not using simple sentences (eg big car go)" + "valueString": "Not using simple sentences (e.g. big car go)" } ], "enableWhen": [ @@ -615,7 +615,7 @@ "valueString": "Speech difficult to understand" }, { - "valueString": "Not able to follow directions with two steps (eg 'Put your bag away and then go play')" + "valueString": "Not able to follow directions with two steps (e.g. 'Put your bag away and then go play')" } ], "enableWhen": [ @@ -649,7 +649,7 @@ "valueString": "Difficulty telling a parent what is wrong" }, { - "valueString": "Not able to answer questions in a simple conversation (eg What's your name? Who is your family?)" + "valueString": "Not able to answer questions in a simple conversation (e.g. What's your name? Who is your family?)" } ], "enableWhen": [ @@ -859,7 +859,7 @@ "valueString": "Does not attempt everyday care skills (such as feeding or dressing)" }, { - "valueString": "Difficulty in manipulating small objects (eg threading beads)" + "valueString": "Difficulty in manipulating small objects (e.g. threading beads)" } ], "enableWhen": [ @@ -930,7 +930,7 @@ "valueString": "Not independently able to complete everyday routines such as feeding and dressing" }, { - "valueString": "Cannot draw simple pictures (eg stick person)" + "valueString": "Cannot draw simple pictures (e.g. stick person)" } ], "enableWhen": [ @@ -1035,7 +1035,7 @@ "repeats": true, "answerOption": [ { - "valueString": "No form of independent mobility (eg crawling, commando crawling, bottom shuffle)" + "valueString": "No form of independent mobility (e.g. crawling, commando crawling, bottom shuffle)" }, { "valueString": "Not pulling to stand independently and holding on for support" diff --git a/fsh-generated/resources/Questionnaire-RegularMedications.json b/fsh-generated/resources/Questionnaire-RegularMedications.json index 92cc59b4..215d7905 100644 --- a/fsh-generated/resources/Questionnaire-RegularMedications.json +++ b/fsh-generated/resources/Questionnaire-RegularMedications.json @@ -660,7 +660,7 @@ { "property": "constraint", "op": "=", - "value": "^ 32570581000036105|Problem/Diagnosis reference set| OR ^ 1184831000168105|Drug prophylaxis reference set| OR << 399097000|Administration of anaesthesia| OR 169443000|Preventive procedure|" + "value": "^32570581000036105|Problem/Diagnosis reference set| OR ^1184831000168105|Drug prophylaxis reference set| OR <<399097000|Administration of anaesthesia| OR 169443000|Preventive procedure|" } ] } diff --git a/fsh-generated/resources/Questionnaire-ScreeningPrograms.json b/fsh-generated/resources/Questionnaire-ScreeningPrograms.json index e84c7946..cd972c5c 100644 --- a/fsh-generated/resources/Questionnaire-ScreeningPrograms.json +++ b/fsh-generated/resources/Questionnaire-ScreeningPrograms.json @@ -14,7 +14,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "(%age >= 50).intersect(%age <= 74)" + "expression": "(%age >= 50) and (%age <= 74)" } } ], diff --git a/fsh-generated/resources/Questionnaire-SexualHealth.json b/fsh-generated/resources/Questionnaire-SexualHealth.json index b620567d..9a7da631 100644 --- a/fsh-generated/resources/Questionnaire-SexualHealth.json +++ b/fsh-generated/resources/Questionnaire-SexualHealth.json @@ -14,7 +14,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "(%age > 12).intersect(%age <= 24)" + "expression": "(%age > 12) and (%age <= 24)" } }, { @@ -189,7 +189,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "(%age > 24).intersect(%age <= 49)" + "expression": "(%age > 24) and (%age <= 49)" } } ], diff --git a/fsh-generated/resources/Questionnaire-SubstanceUse.json b/fsh-generated/resources/Questionnaire-SubstanceUse.json index d6ac2b3d..23876ddc 100644 --- a/fsh-generated/resources/Questionnaire-SubstanceUse.json +++ b/fsh-generated/resources/Questionnaire-SubstanceUse.json @@ -97,8 +97,7 @@ "coding": [ { "code": "grid", - "system": "http://hl7.org/fhir/questionnaire-item-control", - "version": "1.0.0" + "system": "http://hl7.org/fhir/questionnaire-item-control" } ] } diff --git a/fsh-generated/resources/ValueSet-biological-sex-1.json b/fsh-generated/resources/ValueSet-biological-sex-1.json index 1605b4c0..a1de7edf 100644 --- a/fsh-generated/resources/ValueSet-biological-sex-1.json +++ b/fsh-generated/resources/ValueSet-biological-sex-1.json @@ -98,7 +98,7 @@ { "property": "constraint", "op": "=", - "value": "^ 32570631000036107|Sex reference set|" + "value": "^32570631000036107|Sex reference set|" } ] } diff --git a/fsh-generated/resources/ValueSet-medication-reason-taken-1.json b/fsh-generated/resources/ValueSet-medication-reason-taken-1.json index c4802776..15d86a83 100644 --- a/fsh-generated/resources/ValueSet-medication-reason-taken-1.json +++ b/fsh-generated/resources/ValueSet-medication-reason-taken-1.json @@ -41,7 +41,7 @@ { "property": "constraint", "op": "=", - "value": "^ 32570581000036105|Problem/Diagnosis reference set| OR ^ 1184831000168105|Drug prophylaxis reference set| OR << 399097000|Administration of anaesthesia| OR 169443000|Preventive procedure|" + "value": "^32570581000036105|Problem/Diagnosis reference set| OR ^1184831000168105|Drug prophylaxis reference set| OR <<399097000|Administration of anaesthesia| OR 169443000|Preventive procedure|" } ] } diff --git a/input/fsh/715-AboutTheHealthCheck.fsh b/input/fsh/715-AboutTheHealthCheck.fsh index 9b64e72a..5989371e 100644 --- a/input/fsh/715-AboutTheHealthCheck.fsh +++ b/input/fsh/715-AboutTheHealthCheck.fsh @@ -116,17 +116,6 @@ Description: "About The Health Check sub-questionnaire for Aboriginal and Torres * question = "MarkComplete-1" // Section complete item * operator = #= * answerBoolean = true - /* * item[+] //alert - * extension[questionnaire-itemControl].valueCodeableConcept = https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended#context-display - * linkId = "3be16eaa-737b-48f5-b0d2-f0c785946e13" - * text = "Alert" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
      \r\n\t
      \r\n\t\t\r\n\t
      \r\n
      " - * type = #display - * enableWhen[+] - * question = "820f5b73-3539-44d2-8e8f-c485cf443839" // BMI item - * operator = #>= - * answerDecimal = 25 -*/ * item[+] * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#radio-button * extension[questionnaire-choiceOrientation].valueCode = #horizontal @@ -165,7 +154,6 @@ Description: "About The Health Check sub-questionnaire for Aboriginal and Torres * text = "Date this health check commenced" * type = #date * repeats = false - * item[+] * linkId = "MarkComplete-1" * text = "Mark section as complete" diff --git a/input/fsh/715-AssemblyInstructions.fsh b/input/fsh/715-AssemblyInstructions.fsh index 697571fc..6d1db298 100644 --- a/input/fsh/715-AssemblyInstructions.fsh +++ b/input/fsh/715-AssemblyInstructions.fsh @@ -174,117 +174,16 @@ Description: "Aboriginal and Torres Strait Islander Health Check assessment form * item[+] * linkId = "fd5af92e-c248-497a-8007-ee0952ccd4d9" * type = #group - * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl][+].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control|1.0.0#tab-container + * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl][+].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#tab-container //fhirpath variables * extension[http://hl7.org/fhir/StructureDefinition/variable][+].valueExpression * name = "age" * language = #text/fhirpath * expression = "item.where(linkId='5b224753-9365-44e3-823b-9c17e7394005').item.where(linkId='e2a16e4d-2765-4b61-b286-82cfc6356b30').answer.value" - /* - * extension[http://hl7.org/fhir/StructureDefinition/variable][+].valueExpression - * name = "sex" - * language = #text/fhirpath - * expression = "item.where(linkId='5b224753-9365-44e3-823b-9c17e7394005').item.where(linkId='56ef44bb-3d1d-4972-aad1-834b69185d61').answer.value" - * extension[http://hl7.org/fhir/StructureDefinition/variable][+].valueExpression - * name = "smoker" - * language = #text/fhirpath - * expression = "repeat(item).where(linkId='b639a3a8-f476-4cc8-b5c7-f5d2abb23511').answer.value" - */ * extension[http://hl7.org/fhir/StructureDefinition/variable][+].valueExpression * name = "postcode" * language = #text/fhirpath * expression = "item.where(linkId='5b224753-9365-44e3-823b-9c17e7394005').item.where(linkId='f1262ade-843c-4eba-a86d-51a9c97d134b').item.where(linkId='4e0dc185-f83e-4027-b7a8-ecb543d42c6d').item.where(linkId='3f61a1ea-1c74-4f52-8519-432ce861a74f').answer.value" - - /* Deprecated CVD risk algorithm - * extension[http://hl7.org/fhir/StructureDefinition/variable][+].valueExpression - * name = "systolicBP" - * language = #text/fhirpath - * expression = "item.where(linkId='d95abe99-8ef2-4b97-bc88-a2901e2ebc9c').item.where(linkId='4b98f514-2f6a-41f3-ad9d-185abc68ae34').answer.value" - * extension[http://hl7.org/fhir/StructureDefinition/variable][+].valueExpression - * name = "smoker" - * language = #text/fhirpath - * expression = "iif(item.where(linkId='14a9fb5f-5b0e-4862-b143-08a11cd3ebf0').item.where(linkId='515eda6e-973a-4b10-910a-0d4bf4f2efff').item.where(linkId='b639a3a8-f476-4cc8-b5c7-f5d2abb23511').answer.value.code='77176002', 1, 0)" - * extension[http://hl7.org/fhir/StructureDefinition/variable][+].valueExpression - * name = "totalCh" - * language = #text/fhirpath - * expression = "item.where(linkId='d95abe99-8ef2-4b97-bc88-a2901e2ebc9c').item.where(linkId='f11feebc-fc4a-40d5-8481-b87d9f5a89aa').answer.value" - * extension[http://hl7.org/fhir/StructureDefinition/variable][+].valueExpression - * name = "hdl" - * language = #text/fhirpath - * expression = "item.where(linkId='d95abe99-8ef2-4b97-bc88-a2901e2ebc9c').item.where(linkId='c47a7fae-0c60-40f8-8426-1019b1f0dd8f').answer.value" - * extension[http://hl7.org/fhir/StructureDefinition/variable][+].valueExpression - * name = "diabetes" - * language = #text/fhirpath - * expression = "iif(item.where(linkId='d95abe99-8ef2-4b97-bc88-a2901e2ebc9c').item.where(linkId='e8fed84e-6c15-4f62-bc95-cd08033af3f7').answer.value = true,1,0)" - * extension[http://hl7.org/fhir/StructureDefinition/variable][+].valueExpression - * name = "female" - * language = #text/fhirpath - * expression = "iif(item.where(linkId='5b224753-9365-44e3-823b-9c17e7394005').item.where(linkId='56ef44bb-3d1d-4972-aad1-834b69185d61').answer.value.code='248152002', 1, 0)" - * extension[http://hl7.org/fhir/StructureDefinition/variable][+].valueExpression - * name = "cvdAge" - * language = #text/fhirpath - * expression = "iif(%age > 74, 74, iif(%age < 35, 35, %age))" - * extension[http://hl7.org/fhir/StructureDefinition/variable][+].valueExpression - * name = "ecgLvh" - * language = #text/fhirpath - * expression = "iif(item.where(linkId='d95abe99-8ef2-4b97-bc88-a2901e2ebc9c').item.where(linkId='b980624c-e91a-44d4-80ba-a9f34c0e1188').answer.value = true,1,0)" - * extension[http://hl7.org/fhir/StructureDefinition/variable][+].valueExpression - * name = "cBase" - * language = #text/fhirpath - * expression = "18.8144" - * extension[http://hl7.org/fhir/StructureDefinition/variable][+].valueExpression - * name = "cFemale" - * language = #text/fhirpath - * expression = "%female * -1.2146" - * extension[http://hl7.org/fhir/StructureDefinition/variable][+].valueExpression - * name = "cAge" - * language = #text/fhirpath - * expression = "%cvdAge.ln() * -1.8443" - * extension[http://hl7.org/fhir/StructureDefinition/variable][+].valueExpression - * name = "cAgeFemale" - * language = #text/fhirpath - * expression = "%female * %cvdAge.ln() * 0.3668" - * extension[http://hl7.org/fhir/StructureDefinition/variable][+].valueExpression - * name = "cSBP" - * language = #text/fhirpath - * expression = "%systolicBP.ln() * -1.4032" - * extension[http://hl7.org/fhir/StructureDefinition/variable][+].valueExpression - * name = "cSmoker" - * language = #text/fhirpath - * expression = "%smoker * -0.3899" - * extension[http://hl7.org/fhir/StructureDefinition/variable][+].valueExpression - * name = "cTcHdl" - * language = #text/fhirpath - * expression = "(%totalCh / %hdl).ln() * -0.539" - * extension[http://hl7.org/fhir/StructureDefinition/variable][+].valueExpression - * name = "cDiabetes" - * language = #text/fhirpath - * expression = "%diabetes * -0.3036" - * extension[http://hl7.org/fhir/StructureDefinition/variable][+].valueExpression - * name = "cDiabetesFemale" - * language = #text/fhirpath - * expression = "%female * %diabetes * -0.1697" - * extension[http://hl7.org/fhir/StructureDefinition/variable][+].valueExpression - * name = "cEcgLvh" - * language = #text/fhirpath - * expression = "%ecgLvh * -0.3362" - * extension[http://hl7.org/fhir/StructureDefinition/variable][+].valueExpression - * name = "sumOfCoeffs" - * language = #text/fhirpath - * expression = "%cBase + %cFemale + %cAge + %cAgeFemale + %cSBP + %cSmoker + %cTcHdl + %cDiabetes + %cDiabetesFemale + %cEcgLvh" - * extension[http://hl7.org/fhir/StructureDefinition/variable][+].valueExpression - * name = "cvdScale" - * language = #text/fhirpath - * expression = "(0.6536 + (%sumOfCoeffs * -0.2402)).exp()" - * extension[http://hl7.org/fhir/StructureDefinition/variable][+].valueExpression - * name = "cvdU" - * language = #text/fhirpath - * expression = "(5.ln()-%sumOfCoeffs)/%cvdScale" - * extension[http://hl7.org/fhir/StructureDefinition/variable][+].valueExpression - * name = "cvdScore" - * language = #text/fhirpath - * expression = "(1 - (%cvdU.exp()*-1).exp()) * 100" - */ // Health priorities summary variables * extension[http://hl7.org/fhir/StructureDefinition/variable][+].valueExpression * name = "HealthPrioritiesSummaryCurrentPriorities" @@ -410,10 +309,7 @@ Description: "Aboriginal and Torres Strait Islander Health Check assessment form * name = "HealthPrioritiesSummaryInvestigations" * language = #text/fhirpath * expression = "item.where(linkId='918f7f32-cdaf-4742-b33a-8254eda2d8bd').item.where(linkId='96a8d946-6078-4c85-9de8-3bf18d2c8150').answer.value" - - - // end variables - + // Subquestionnnaire inputs // About The Health Check * item[+] * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/AboutTheHealthCheck|0.3.0" @@ -533,8 +429,7 @@ Description: "Aboriginal and Torres Strait Islander Health Check assessment form * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/RedFlagsEarlyIdentificationGuide|0.3.0" * linkId = "db70690e-2199-495a-9919-53697efaf913" * text = "Sub-questionnaire [http://www.health.gov.au/assessments/mbs/715/RedFlagsEarlyIdentificationGuide|0.3.0] not available. Unable to display all questions." - * type = #display - + * type = #display // Substance Use * item[+] * extension[sdc-questionnaire-subQuestionnaire].valueCanonical = "http://www.health.gov.au/assessments/mbs/715/SubstanceUse|0.3.0" diff --git a/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh b/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh index 3c509ee8..e5eb781a 100644 --- a/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh +++ b/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh @@ -271,8 +271,7 @@ Description: "Absolute Cardiovascular Disease Risk Calculation sub-questionnaire * expression = "%AusCVDRiskiAccessAnswer != true" * linkId = "cvdrisk-onlincecalculatorguidance" * text = "Use the online Australian CVD risk calculator - https://www.cvdcheck.org.au/calculator" - * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
      -

      The Australian CVD risk calculator on the Aus CVD Risk website should be used. Below is a read only view of a subset of variables that can be used as inputs for the online calculator. The calculated CVD risk result can be entered here.

      " + * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "

      The Australian CVD risk calculator on the Aus CVD Risk website should be used. Below is a read only view of a subset of variables that can be used as inputs for the online calculator. The calculated CVD risk result can be entered here.

      " * type = #display * item[+] * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#% @@ -330,7 +329,7 @@ Description: "Absolute Cardiovascular Disease Risk Calculation sub-questionnaire * repeats = false * answerValueSet = "#biological-sex-1" * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control|1.0.0#grid + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#grid * linkId = "fe9feec6-593a-4106-8a7d-f9965a632ea2" * text = "Observation values" * extension[+] @@ -455,109 +454,17 @@ Description: "Absolute Cardiovascular Disease Risk Calculation sub-questionnaire * text = "Postcode" * type = #string * item[+] - * extension[+][sdc-questionnaire-initialExpression].valueExpression + * extension[sdc-questionnaire-initialExpression].valueExpression * language = #text/fhirpath * expression = "%Condition.entry.resource.code.coding.where(system='http://snomed.info/sct' and code='44054006').exists()" //type 2 diabetes * linkId = "1c1eea28-6c82-4b7b-aaa3-8655ce70f2fd" * text = "Type 2 diabetes mellitus" * type = #boolean * repeats = false - - - -/* Deprecated CVD Risk calculator - * item[+] - * extension[+][sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%ObsBloodPressure.entry.resource.component.where(code.coding.where(code='8480-6')).value.value" - * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#mm[Hg] - * linkId = "4b98f514-2f6a-41f3-ad9d-185abc68ae34" - * text = "Systolic Blood Pressure" - * type = #integer - * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#prompt - * linkId = "1624394a-1777-4692-b304-03cd42de4c27" - * text = "75 or more" - * type = #display - * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit - * linkId = "414f230f-7b33-4e55-b323-724206f6825e" - * text = "mm Hg" - * type = #display - * item[+] - * extension[+][sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%ObsTotalCholesterol.entry.resource.value.value" - * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#mmol/L - * linkId = "f11feebc-fc4a-40d5-8481-b87d9f5a89aa" - * text = "Total Cholesterol" - * type = #decimal - * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#prompt - * linkId = "0f260464-fcfc-46d1-b04b-c8fb061b781e" - * text = "2 or more" - * type = #display - * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit - * linkId = "d5a18260-0376-4c73-97a9-a23198bccce1" - * text = "mmol/L" - * type = #display - * item[+] - * extension[+][sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%ObsHDLCholesterol.entry.resource.value.value" - * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-unit].valueCoding = $UCUM#mmol/L - * linkId = "c47a7fae-0c60-40f8-8426-1019b1f0dd8f" - * text = "HDL Cholesterol" - * type = #decimal - * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#prompt - * linkId = "9b05a756-40f6-4ae4-9ec9-179e55685531" - * text = "Between 0.2 - 5" - * type = #display - * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit - * linkId = "28576058-6a24-4516-900a-42c9452722d3" - * text = "mmol/L" - * type = #display - * item[+] - * extension[+][sdc-questionnaire-initialExpression].valueExpression - * language = #text/fhirpath - * expression = "%Condition.entry.resource.code.coding.where(system='http://snomed.info/sct' and code='44054006').exists()" //type 2 diabetes - * linkId = "e8fed84e-6c15-4f62-bc95-cd08033af3f7" - * text = "Diabetes" - * type = #boolean - * repeats = false - * item[+] - * linkId = "b980624c-e91a-44d4-80ba-a9f34c0e1188" - * text = "ECG LVH" - * type = #boolean - * repeats = false - * item[+] - * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression].valueExpression - * description = "CVD Risk Score" - * language = #text/fhirpath - * expression = "%cvdScore.round(0)" - * linkId = "ca830916-e2ee-4b24-a4c1-13eee23f8733" - * text = "Cardiovascular disease risk calculated result" - // * code = $SCT#827181004 "Risk of cardiovascular disease" - * type = #integer - * repeats = false - * readOnly = true - * item[+] - * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-displayCategory].valueCodeableConcept = http://hl7.org/fhir/questionnaire-display-category#instructions - * linkId = "1d0b746d-70a3-4c09-a33b-f67fd6db63a0" - * text = "https://auscvdrisk.com.au/risk-calculator" - * type = #display -*/ - - * item[+] * linkId = "f8022f3f-21fe-42c0-8abd-95f24e2e37e5" * text = "Health priorities, actions and follow-up" * type = #text - * repeats = false - - + * repeats = false * item[+] * linkId = "MarkComplete-2" * text = "Mark section as complete" diff --git a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh index 2b9853b7..891710f6 100644 --- a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh +++ b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh @@ -114,7 +114,6 @@ Description: "Allergies/Adverse Reactions sub-questionnaire for Aboriginal and T * answerBoolean = true // Adverse reaction risk summary - * item[+] * linkId = "allergyinstruction" * text = "Adverse reaction risk summary" @@ -174,7 +173,8 @@ Description: "Allergies/Adverse Reactions sub-questionnaire for Aboriginal and T * item[=].item[=].item[=].item[=].repeats = true * item[=].item[=].item[=].item[=].readOnly = true * item[=].item[=].item[=].item[=].answerValueSet = "https://healthterminologies.gov.au/fhir/ValueSet/clinical-finding-1" -// manifestation vs * item[=].item[=].item[=].item[=].answerValueSet = "http://snomed.info/sct/32506021000036107?fhir_vs=refset/142341000036103" +// manifestation value set +// * item[=].item[=].item[=].item[=].answerValueSet = "http://snomed.info/sct/32506021000036107?fhir_vs=refset/142341000036103" * item[=].item[=].item[=].item[+].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression" * item[=].item[=].item[=].item[=].extension[=].valueExpression[+].language = #text/fhirpath * item[=].item[=].item[=].item[=].extension[=].valueExpression[=].expression = "%AllergyIntoleranceRepeat.note[0].text" @@ -208,7 +208,8 @@ Description: "Allergies/Adverse Reactions sub-questionnaire for Aboriginal and T * item[=].item[=].item[=].item[=].type = #open-choice * item[=].item[=].item[=].item[=].repeats = true * item[=].item[=].item[=].item[=].answerValueSet = "https://healthterminologies.gov.au/fhir/ValueSet/clinical-finding-1" -// manifestation vs * item[=].item[=].item[=].item[=].answerValueSet = "http://snomed.info/sct/32506021000036107?fhir_vs=refset/142341000036103" +// manifestation value set +// * item[=].item[=].item[=].item[=].answerValueSet = "http://snomed.info/sct/32506021000036107?fhir_vs=refset/142341000036103" * item[=].item[=].item[=].item[+].linkId = "allergynew-comment" * item[=].item[=].item[=].item[=].text = "Comment" * item[=].item[=].item[=].item[=].type = #text @@ -218,7 +219,6 @@ Description: "Allergies/Adverse Reactions sub-questionnaire for Aboriginal and T * item[=].item[=].text = "Health priorities, actions and follow-up" * item[=].item[=].type = #text * item[=].item[=].repeats = false - * item[=].item[+].linkId = "MarkComplete-3" * item[=].item[=].text = "Mark section as complete" * item[=].item[=].text.extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
      \r\n\r\n \r\n\r\n\r\n
      Mark section as complete
      \r\n\r\n
      " diff --git a/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh b/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh index 27284e67..c2fcd732 100644 --- a/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh +++ b/input/fsh/715-Assessment-ChronicDiseaseAgeing.fsh @@ -127,8 +127,7 @@ Description: "Chronic Disease Ageing sub-questionnaire for Aboriginal and Torres * linkId = "7292070b-8944-4a40-bcf6-9aaf1721e986" * text = "Health priorities, actions and follow-up" * type = #text - * repeats = false - + * repeats = false * item[+] * linkId = "MarkComplete-4" * text = "Mark section as complete" diff --git a/input/fsh/715-Assessment-CurrentPriorities.fsh b/input/fsh/715-Assessment-CurrentPriorities.fsh index 5e7d9bc6..45eb6f86 100644 --- a/input/fsh/715-Assessment-CurrentPriorities.fsh +++ b/input/fsh/715-Assessment-CurrentPriorities.fsh @@ -167,8 +167,6 @@ Description: "Current Priorities sub-questionnaire for Aboriginal and Torres Str * question = "2655e0e1-fe4b-431e-87af-30d4ff1aca76" * operator = #= * answerCoding = http://terminology.hl7.org/CodeSystem/v2-0136#Y - - * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression @@ -188,8 +186,7 @@ Description: "Current Priorities sub-questionnaire for Aboriginal and Torres Str * linkId = "7cd424e5-7672-4e99-8a99-30b1fb3043fd" * text = "Health priorities, actions and follow-up" * type = #text - * repeats = false - + * repeats = false * item[+] * linkId = "MarkComplete-5" diff --git a/input/fsh/715-Assessment-EarHealthAndHearing.fsh b/input/fsh/715-Assessment-EarHealthAndHearing.fsh index 93ca0c62..973b65d8 100644 --- a/input/fsh/715-Assessment-EarHealthAndHearing.fsh +++ b/input/fsh/715-Assessment-EarHealthAndHearing.fsh @@ -223,13 +223,14 @@ Description: "Ear Health And Hearing sub-questionnaire for Aboriginal and Torres * expression = "%age <= 12" * linkId = "fe96046a-a202-4c22-ad3e-00419e717185" * text = "Video otoscopy procedure recommended where possible as it allows for parental education and for images to be saved for tracking over time." - * type = #display + * type = #display + //Children group * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath * expression = "%age <= 12" * linkId = "2841915f-c8d2-4edb-8bc7-39b63385a2fb" - * text = "Otoscopy findings" //children + * text = "Otoscopy findings" * type = #group * repeats = false * item[+] @@ -268,12 +269,13 @@ Description: "Ear Health And Hearing sub-questionnaire for Aboriginal and Torres * answerOption[+].valueString = "Grommet in eardrum" * answerOption[+].valueString = "Perforation" * answerOption[+].valueString = "Red/bulging" + //Adolescents group * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath * expression = "%age > 12" * linkId = "361b3c80-375b-423e-bb61-5732826bc2f0" - * text = "Otoscopy findings" //adolescents + + * text = "Otoscopy findings" * type = #group * repeats = false * item[+] @@ -304,10 +306,11 @@ Description: "Ear Health And Hearing sub-questionnaire for Aboriginal and Torres * answerOption[+].valueString = "Retracted" * answerOption[+].valueString = "Unable to view eardrum" * answerOption[+].valueString = "Wax" - * item[+] // this group needs better modelling. The template is ambiguous so not properly represented. + // this group needs better modelling. The template is ambiguous so not properly represented. + * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath - * expression = "(%age > 5).intersect(%age <= 12)" + * expression = "(%age > 5) and (%age <= 12)" * linkId = "972afa06-9649-43d9-b8ce-c802f7f27e39" * text = "Tympanometry" * type = #group @@ -328,7 +331,6 @@ Description: "Ear Health And Hearing sub-questionnaire for Aboriginal and Torres * text = "Health priorities, actions and follow-up" * type = #text * repeats = false - * item[+] * linkId = "MarkComplete-6" diff --git a/input/fsh/715-Assessment-Examination.fsh b/input/fsh/715-Assessment-Examination.fsh index b615ca58..926c2977 100644 --- a/input/fsh/715-Assessment-Examination.fsh +++ b/input/fsh/715-Assessment-Examination.fsh @@ -349,7 +349,7 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl // Observations table with dates * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control|1.0.0#grid + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#grid * linkId = "53d5d5a6-3198-4bec-92ac-03fe7d77fb68" * text = "The tabled observations will display the most recent results available from the patient record. New observations may be added." * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "

      The tabled observations will display the most recent results available from the patient record. New observations may be added.

      " @@ -486,6 +486,7 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * text = "New result" * type = #decimal * repeats = false + // BMI is calculated from height and weight, so this field is read-only and cannot be edited directly. * readOnly = true * item[+] * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#unit @@ -632,7 +633,7 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath * expression = "%age > 12" - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control|1.0.0#grid + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#grid * linkId = "3639c586-9576-48d3-a52b-e91fd2138581" * text = "Blood pressure" * extension[+] diff --git a/input/fsh/715-Assessment-EyeHealth.fsh b/input/fsh/715-Assessment-EyeHealth.fsh index 6019a449..e6ad8781 100644 --- a/input/fsh/715-Assessment-EyeHealth.fsh +++ b/input/fsh/715-Assessment-EyeHealth.fsh @@ -145,7 +145,7 @@ Description: "Eye Health sub-questionnaire for Aboriginal and Torres Strait Isla // table * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control|1.0.0#grid + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#grid * linkId = "25d3e4b6-8c71-4c17-8f5a-aca90e232ed2" * text = "Eye examination" * type = #group @@ -229,14 +229,12 @@ Description: "Eye Health sub-questionnaire for Aboriginal and Torres Strait Isla * answerOption[+].valueCoding = $SCT#60332004 "Trichiasis" * answerOption[+].valueCoding = $SCT#95726001 "Corneal scar" - * item[+] * linkId = "8dcdc04c-7655-4b47-88eb-8425f0cdc0d0" * text = "Health priorities, actions and follow-up" * type = #text * repeats = false - * item[+] * linkId = "MarkComplete-8" * text = "Mark section as complete" diff --git a/input/fsh/715-Assessment-HealthyEating.fsh b/input/fsh/715-Assessment-HealthyEating.fsh index c1e9dfef..806d0105 100644 --- a/input/fsh/715-Assessment-HealthyEating.fsh +++ b/input/fsh/715-Assessment-HealthyEating.fsh @@ -249,9 +249,9 @@ Description: "Healthy Eating sub-questionnaire for Aboriginal and Torres Strait * language = #text/fhirpath * expression = "%age > 5" * linkId = "7a22a4c4-6611-4687-af00-37c80c3f8fc0" - * text = "Document conversation about health eating which could include: current diet including food and drinks; recommendations about fruit and vegetable intake, water as the main drink, avoiding sugary drinks, avoiding highly processed foods (including supermarket-bought and take-away like KFC, Maccas, etc)" + * text = "Document conversation about healthy eating which could include: current diet including food and drinks; recommendations about fruit and vegetable intake, water as the main drink, avoiding sugary drinks, avoiding highly processed foods (including supermarket-bought and take-away like KFC, Maccas, etc)" * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
      -
      Document conversation about health eating which could include:
      +
      Document conversation about healthy eating which could include:
      • current diet including food and drinks
      • recommendations about fruit and vegetable intake, water as the main drink, avoiding sugary drinks, avoiding highly processed foods (including supermarket-bought and take-away like KFC, Maccas, etc)
      • diff --git a/input/fsh/715-Assessment-Immunisation.fsh b/input/fsh/715-Assessment-Immunisation.fsh index 5653c8b9..e755d66e 100644 --- a/input/fsh/715-Assessment-Immunisation.fsh +++ b/input/fsh/715-Assessment-Immunisation.fsh @@ -136,7 +136,7 @@ Description: "Immunisation sub-questionnaire for Aboriginal and Torres Strait Is * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath - * expression = "(%age > 12).intersect(%age <= 24)" + * expression = "(%age > 12) and (%age <= 24)" * linkId = "77d87581-d4d7-4267-9f3c-ad6541ad0f46" * text = "Check Australian Immunisation Register" * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
        @@ -146,7 +146,7 @@ Description: "Immunisation sub-questionnaire for Aboriginal and Torres Strait Is * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath - * expression = "(%age > 24).intersect(%age <= 49)" + * expression = "(%age > 24) and (%age <= 49)" * linkId = "a2631d2c-2b5c-4147-9aca-05ae655a56a5" * text = "Check recommended primary vaccinations completed and provide catch-up if required" * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
        @@ -253,7 +253,6 @@ Description: "Immunisation sub-questionnaire for Aboriginal and Torres Strait Is * text = "Health priorities, actions and follow-up" * type = #text * repeats = false - * item[+] * linkId = "MarkComplete-13" diff --git a/input/fsh/715-Assessment-LearningAndDevelopment.fsh b/input/fsh/715-Assessment-LearningAndDevelopment.fsh index 74ed1a08..bd1c0ebe 100644 --- a/input/fsh/715-Assessment-LearningAndDevelopment.fsh +++ b/input/fsh/715-Assessment-LearningAndDevelopment.fsh @@ -157,7 +157,7 @@ Description: "Learning And Development sub-questionnaire for Aboriginal and Torr * item[+] * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#prompt * linkId = "20ae39db-7bb5-4af4-ac59-3298d20719d8" - * text = "details" + * text = "Details" * type = #display * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression @@ -170,7 +170,7 @@ Description: "Learning And Development sub-questionnaire for Aboriginal and Torr * item[+] * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#prompt * linkId = "61ff302c-9ef0-414c-a9f8-e2b8d119373c" - * text = "details" + * text = "Details" * type = #display * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression @@ -183,7 +183,7 @@ Description: "Learning And Development sub-questionnaire for Aboriginal and Torr * item[+] * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#prompt * linkId = "520a4544-a48b-4864-8cfd-6af263756f1b" - * text = "details" + * text = "Details" * type = #display * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression @@ -196,7 +196,7 @@ Description: "Learning And Development sub-questionnaire for Aboriginal and Torr * item[+] * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#prompt * linkId = "2e24a8de-c23d-409a-a5d6-96345177e105" - * text = "details" + * text = "Details" * type = #display * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression @@ -209,29 +209,27 @@ Description: "Learning And Development sub-questionnaire for Aboriginal and Torr * item[+] * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#prompt * linkId = "f95dd477-98a2-4534-b8ab-5a74d1b46502" - * text = "details" + * text = "Details" * type = #display * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath * expression = "%age > 5" * linkId = "9371dddc-49f4-4a8f-a9dc-a0e128f99636" - * text = "Are there any other concerns about your child's learning and development" + * text = "Are there any other concerns about your child's learning and development?" * type = #text * repeats = false * item[+] * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#prompt * linkId = "f513b077-5714-4b14-b44f-30a979509651" - * text = "details" + * text = "Details" * type = #display - * item[+] * linkId = "5ab80929-5901-431d-bf68-67d532f5fa58" * text = "Health priorities, actions and follow-up" * type = #text * repeats = false - * item[+] * linkId = "MarkComplete-15" diff --git a/input/fsh/715-Assessment-LearningAndWork.fsh b/input/fsh/715-Assessment-LearningAndWork.fsh index e165bca2..9df69523 100644 --- a/input/fsh/715-Assessment-LearningAndWork.fsh +++ b/input/fsh/715-Assessment-LearningAndWork.fsh @@ -78,7 +78,7 @@ Description: "Learning And Work sub-questionnaire for Aboriginal and Torres Stra * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath - * expression = "(%age > 12).intersect(%age < 50)" + * expression = "(%age > 12) and (%age < 50)" * linkId = "5437e30d-8a0a-4785-974e-00a10d2a1df0" * text = "Learning and work" * type = #group @@ -235,8 +235,7 @@ Description: "Learning And Work sub-questionnaire for Aboriginal and Torres Stra * type = #text * repeats = false - - * item[+] + * item[+] * linkId = "MarkComplete-16" * text = "Mark section as complete" * extension[http://hl7.org/fhir/StructureDefinition/rendering-xhtml].valueString = "
        \r\n\r\n \r\n\r\n\r\n
        Mark section as complete
        \r\n\r\n
        " diff --git a/input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh b/input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh index dd9381de..4f502612 100644 --- a/input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh +++ b/input/fsh/715-Assessment-PhysicalActivityAndScreenTime.fsh @@ -131,7 +131,7 @@ Description: "Physical Activity And Screen Time sub-questionnaire for Aboriginal * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath - * expression = "%age <= 12" + * expression = "%age <= 12" * linkId = "e24d487b-3dd4-4a6d-a58e-85dfa8ce3f36" * text = "Screen time concerns" * type = #group @@ -191,7 +191,7 @@ Description: "Physical Activity And Screen Time sub-questionnaire for Aboriginal * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath - * expression = "(%age > 12).intersect(%age <= 24)" + * expression = "(%age > 12) and (%age <= 24)" * linkId = "b2269be8-3ea5-494c-9368-06912b629789" * text = "Document conversation about social connection, which could include questions about sports/hobbies/clubs/other activities" * type = #text diff --git a/input/fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh b/input/fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh index 16a5918c..055e1f0b 100644 --- a/input/fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh +++ b/input/fsh/715-Assessment-RedFlagsEarlyIdentificationGuide.fsh @@ -106,7 +106,7 @@ Description: "Red Flags Early Identification Guide For Children sub-questionnair * item[+] * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#check-box * linkId = "0b520b20-98df-4024-b25d-2986f6b96e77" - * text = "What age group is the child closet to?" + * text = "What age group is the child closest to?" * type = #choice * repeats = false * answerOption[+].valueString = "6 months" @@ -152,7 +152,7 @@ Description: "Red Flags Early Identification Guide For Children sub-questionnair * type = #choice * repeats = true * answerOption[+].valueString = "Does not notice someone new" - * answerOption[+].valueString = "Does not pay early turn taking games (eg peekaboo, rolling a ball)" + * answerOption[+].valueString = "Does not play early turn taking games (e.g. peekaboo, rolling a ball)" * enableWhen[+] * question = "0b520b20-98df-4024-b25d-2986f6b96e77" * operator = #= @@ -174,7 +174,7 @@ Description: "Red Flags Early Identification Guide For Children sub-questionnair * text = "Social Emotional" * type = #choice * repeats = true - * answerOption[+].valueString = "When playing with toys tends to bang, drop, or throw them rather than use them for their purpose (eg Cuddle doll, build blocks)" + * answerOption[+].valueString = "When playing with toys tends to bang, drop, or throw them rather than use them for their purpose (e.g. cuddle doll, build blocks)" * enableWhen[+] * question = "0b520b20-98df-4024-b25d-2986f6b96e77" * operator = #= @@ -221,7 +221,7 @@ Description: "Red Flags Early Identification Guide For Children sub-questionnair * text = "Communication" * type = #choice * repeats = true - * answerOption[+].valueString = "Not starting to babble (eg aahh, oohh)" + * answerOption[+].valueString = "Not starting to babble (e.g. aahh, oohh)" * enableWhen[+] * question = "0b520b20-98df-4024-b25d-2986f6b96e77" * operator = #= @@ -232,8 +232,8 @@ Description: "Red Flags Early Identification Guide For Children sub-questionnair * text = "Communication" * type = #choice * repeats = true - * answerOption[+].valueString = "Not using gestures (eg pointing, showing, waving)" - * answerOption[+].valueString = "Not using two part babble (eg bubu, dada)" + * answerOption[+].valueString = "Not using gestures (e.g. pointing, showing, waving)" + * answerOption[+].valueString = "Not using two part babble (e.g. bubu, dada)" * enableWhen[+] * question = "0b520b20-98df-4024-b25d-2986f6b96e77" * operator = #= @@ -245,7 +245,7 @@ Description: "Red Flags Early Identification Guide For Children sub-questionnair * type = #choice * repeats = true * answerOption[+].valueString = "No babbled phrases that sound like talking" - * answerOption[+].valueString = "No response to familiar words (eg bottle, daddy)" + * answerOption[+].valueString = "No response to familiar words (e.g. bottle, daddy)" * enableWhen[+] * question = "0b520b20-98df-4024-b25d-2986f6b96e77" * operator = #= @@ -257,7 +257,7 @@ Description: "Red Flags Early Identification Guide For Children sub-questionnair * type = #choice * repeats = true * answerOption[+].valueString = "No clear words" - * answerOption[+].valueString = "Cannot understand short requests (eg 'Where is the ball?')" + * answerOption[+].valueString = "Cannot understand short requests (e.g. 'Where is the ball?')" * enableWhen[+] * question = "0b520b20-98df-4024-b25d-2986f6b96e77" * operator = #= @@ -269,7 +269,7 @@ Description: "Red Flags Early Identification Guide For Children sub-questionnair * type = #choice * repeats = true * answerOption[+].valueString = "Not learning new words" - * answerOption[+].valueString = "Not putting words together (eg 'push car')" + * answerOption[+].valueString = "Not putting words together (e.g. 'push car')" * enableWhen[+] * question = "0b520b20-98df-4024-b25d-2986f6b96e77" * operator = #= @@ -281,7 +281,7 @@ Description: "Red Flags Early Identification Guide For Children sub-questionnair * type = #choice * repeats = true * answerOption[+].valueString = "Speech is difficult for familiar people to understand" - * answerOption[+].valueString = "Not using simple sentences (eg big car go)" + * answerOption[+].valueString = "Not using simple sentences (e.g. big car go)" * enableWhen[+] * question = "0b520b20-98df-4024-b25d-2986f6b96e77" * operator = #= @@ -293,7 +293,7 @@ Description: "Red Flags Early Identification Guide For Children sub-questionnair * type = #choice * repeats = true * answerOption[+].valueString = "Speech difficult to understand" - * answerOption[+].valueString = "Not able to follow directions with two steps (eg 'Put your bag away and then go play')" + * answerOption[+].valueString = "Not able to follow directions with two steps (e.g. 'Put your bag away and then go play')" * enableWhen[+] * question = "0b520b20-98df-4024-b25d-2986f6b96e77" * operator = #= @@ -305,7 +305,7 @@ Description: "Red Flags Early Identification Guide For Children sub-questionnair * type = #choice * repeats = true * answerOption[+].valueString = "Difficulty telling a parent what is wrong" - * answerOption[+].valueString = "Not able to answer questions in a simple conversation (eg What's your name? Who is your family?)" + * answerOption[+].valueString = "Not able to answer questions in a simple conversation (e.g. What's your name? Who is your family?)" * enableWhen[+] * question = "0b520b20-98df-4024-b25d-2986f6b96e77" * operator = #= @@ -381,7 +381,7 @@ Description: "Red Flags Early Identification Guide For Children sub-questionnair * type = #choice * repeats = true * answerOption[+].valueString = "Does not attempt everyday care skills (such as feeding or dressing)" - * answerOption[+].valueString = "Difficulty in manipulating small objects (eg threading beads)" + * answerOption[+].valueString = "Difficulty in manipulating small objects (e.g. threading beads)" * enableWhen[+] * question = "0b520b20-98df-4024-b25d-2986f6b96e77" * operator = #= @@ -406,7 +406,7 @@ Description: "Red Flags Early Identification Guide For Children sub-questionnair * repeats = true * answerOption[+].valueString = "Concerns from teacher about school readiness" * answerOption[+].valueString = "Not independently able to complete everyday routines such as feeding and dressing" - * answerOption[+].valueString = "Cannot draw simple pictures (eg stick person)" + * answerOption[+].valueString = "Cannot draw simple pictures (e.g. stick person)" * enableWhen[+] * question = "0b520b20-98df-4024-b25d-2986f6b96e77" * operator = #= @@ -445,7 +445,7 @@ Description: "Red Flags Early Identification Guide For Children sub-questionnair * text = "Gross motor" * type = #choice * repeats = true - * answerOption[+].valueString = "No form of independent mobility (eg crawling, commando crawling, bottom shuffle)" + * answerOption[+].valueString = "No form of independent mobility (e.g. crawling, commando crawling, bottom shuffle)" * answerOption[+].valueString = "Not pulling to stand independently and holding on for support" * enableWhen[+] * question = "0b520b20-98df-4024-b25d-2986f6b96e77" diff --git a/input/fsh/715-Assessment-RegularMedications.fsh b/input/fsh/715-Assessment-RegularMedications.fsh index 2290bbfe..42416802 100644 --- a/input/fsh/715-Assessment-RegularMedications.fsh +++ b/input/fsh/715-Assessment-RegularMedications.fsh @@ -137,11 +137,6 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * item.item[=].item[=].item[=].type = #string * item.item[=].item[=].item[+].extension[+].url = "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl" * item.item[=].item[=].item[=].extension[=].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#autocomplete -/* -* item.item[=].item[=].item[=].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression" -* item.item[=].item[=].item[=].extension[=].valueExpression[+].language = #text/fhirpath -* item.item[=].item[=].item[=].extension[=].valueExpression[=].expression = "%MedicationStatement.entry.resource.medication.ofType(CodeableConcept).exists()" -*/ * item.item[=].item[=].item[=].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression" * item.item[=].item[=].item[=].extension[=].valueExpression[+].language = #text/fhirpath /* @@ -164,7 +159,7 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * item.item[=].item[=].item[=].answerValueSet = "#smart-health-checks-medicine-products" /* * item.item[=].item[=].item[+].extension.url = "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl" -* item.item[=].item[=].item[=].extension.valueCodeableConcept = $questionnaire-item-control#autocomplete +* item.item[=].item[=].item[=].extension.valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#autocomplete * item.item[=].item[=].item[=].linkId = "regularmedications-summary-current-form" * item.item[=].item[=].item[=].text = "Form" * item.item[=].item[=].item[=].type = #open-choice @@ -173,7 +168,7 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * item.item[=].item[=].item[+].extension.url = "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl" * item.item[=].item[=].item[=].extension.valueCodeableConcept = $questionnaire-item-control#autocomplete * item.item[=].item[=].item[=].linkId = "regularmedications-summary-current-route" -* item.item[=].item[=].item[=].text = "Route of adminsitration" +* item.item[=].item[=].item[=].text = "Route of administration" * item.item[=].item[=].item[=].type = #open-choice * item.item[=].item[=].item[=].repeats = false * item.item[=].item[=].item[=].answerValueSet = "https://healthterminologies.gov.au/fhir/ValueSet/route-of-administration-1" @@ -185,7 +180,7 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * item.item[=].item[=].item[=].item.extension.valueCodeableConcept = $questionnaire-item-control#unit * item.item[=].item[=].item[=].item.linkId = "regularmedications-summary-current-doseamount-unit" * item.item[=].item[=].item[=].item.type = #choice -* item.item[=].item[=].item[=].item.answerOption[0].valueCoding = $unitsofmeasure#mg "mg" +* item.item[=].item[=].item[=].item.answerOption[0].valueCoding = $UCUM#mg "mg" * item.item[=].item[=].item[=].item.answerOption[+].valueCoding = $unitsofmeasure#ml "ml" * item.item[=].item[=].item[+].extension.url = "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl" * item.item[=].item[=].item[=].extension.valueCodeableConcept = $questionnaire-item-control#drop-down @@ -293,19 +288,10 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * item.item[=].repeats = false * item.item[=].answerValueSet = "#YesNo" -//* item.item[+].extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#check-box * item.item[+].linkId = "874ec8db-95c9-4cc0-95db-e45edaa3cd12" * item.item[=].text = "Check the health record is up to date" * item.item[=].type = #boolean * item.item[=].repeats = false -/** item.item[=].enableWhen[+].question = "6eb59145-ed9a-4184-af83-3506d47e4d4e" -* item.item[=].enableWhen[=].operator = #= -* item.item[=].enableWhen[=].answerCoding = http://terminology.hl7.org/CodeSystem/v2-0136#Y -* item.item[=].enableWhen[+].question = "3a2d27b6-e918-4df5-aca9-b374fcf9faad" -* item.item[=].enableWhen[=].operator = #= -* item.item[=].enableWhen[=].answerCoding = http://terminology.hl7.org/CodeSystem/v2-0136#Y -* item.item[=].enableBehavior = #any*/ -//* item.item[+].extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#check-box * item.item[+].linkId = "36290837-ad70-48b2-9c66-31533fec918b" * item.item[=].text = "Check medication understanding and adherence with patient" * item.item[=].extension[sdc-questionnaire-shortText].valueString = "Understanding and adherence checked" diff --git a/input/fsh/715-Assessment-ScreeningPrograms.fsh b/input/fsh/715-Assessment-ScreeningPrograms.fsh index aea7ce97..5f87582f 100644 --- a/input/fsh/715-Assessment-ScreeningPrograms.fsh +++ b/input/fsh/715-Assessment-ScreeningPrograms.fsh @@ -75,7 +75,7 @@ Description: "Screening Programs sub-questionnaire for Aboriginal and Torres Str * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath - * expression = "(%age >= 50).intersect(%age <= 74)" + * expression = "(%age >= 50) and (%age <= 74)" * linkId = "9674ffa0-2ad9-4ca3-80e6-e8bb0670a802" * text = "Participation in screening programs" * type = #group @@ -180,13 +180,11 @@ Description: "Screening Programs sub-questionnaire for Aboriginal and Torres Str * type = #text * repeats = false - * item[+] * linkId = "70f82c4b-d1f9-44d5-9903-bd7097799c05" * text = "Health priorities, actions and follow-up" * type = #text * repeats = false - * item[+] * linkId = "MarkComplete-24" diff --git a/input/fsh/715-Assessment-SexualHealth.fsh b/input/fsh/715-Assessment-SexualHealth.fsh index 2e09bb2c..ebcb627e 100644 --- a/input/fsh/715-Assessment-SexualHealth.fsh +++ b/input/fsh/715-Assessment-SexualHealth.fsh @@ -79,7 +79,7 @@ Description: "Sexual Health sub-questionnaire for Aboriginal and Torres Strait I * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath - * expression = "(%age > 12).intersect(%age <= 24)" + * expression = "(%age > 12) and (%age <= 24)" * extension[sdc-questionnaire-shortText].valueString = "Sexual health" * linkId = "4b49c291-6e93-4b7e-be3b-15ef8bc207ad" * text = "Sexual health (sexual activity, contraception, safe sex/protection, sexual orientation, gender identity, pressure to have sex, STIs)" @@ -179,7 +179,7 @@ Description: "Sexual Health sub-questionnaire for Aboriginal and Torres Strait I * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath - * expression = "(%age > 24).intersect(%age <= 49)" + * expression = "(%age > 24) and (%age <= 49)" * linkId = "589b53a4-ceb2-41c0-850a-69438f9fd1cc" * text = "Genitourinary and sexual health" * type = #group diff --git a/input/fsh/715-Assessment-Skin.fsh b/input/fsh/715-Assessment-Skin.fsh index 4fd6d5b2..e424c636 100644 --- a/input/fsh/715-Assessment-Skin.fsh +++ b/input/fsh/715-Assessment-Skin.fsh @@ -176,7 +176,6 @@ Description: "Skin sub-questionnaire for Aboriginal and Torres Strait Islander H * type = #text * repeats = false - * item[+] * linkId = "MarkComplete-26" * text = "Mark section as complete" diff --git a/input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh b/input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh index e7ba7318..56884feb 100644 --- a/input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh +++ b/input/fsh/715-Assessment-SocialAndEmotionalWellbeing.fsh @@ -150,7 +150,6 @@ Description: "Social And Emotional Wellbeing sub-questionnaire for Aboriginal an * type = #text * repeats = false - * item[+] * linkId = "MarkComplete-27" * text = "Mark section as complete" diff --git a/input/fsh/715-Assessment-SocialHistoryChild.fsh b/input/fsh/715-Assessment-SocialHistoryChild.fsh index 9c4a88c0..10e97d61 100644 --- a/input/fsh/715-Assessment-SocialHistoryChild.fsh +++ b/input/fsh/715-Assessment-SocialHistoryChild.fsh @@ -154,7 +154,6 @@ Description: "Social History Child sub-questionnaire for Aboriginal and Torres S * type = #text * repeats = false - * item[+] * linkId = "MarkComplete-28" * text = "Mark section as complete" diff --git a/input/fsh/715-Assessment-SubstanceUse.fsh b/input/fsh/715-Assessment-SubstanceUse.fsh index 0caef25b..26e74c9e 100644 --- a/input/fsh/715-Assessment-SubstanceUse.fsh +++ b/input/fsh/715-Assessment-SubstanceUse.fsh @@ -140,7 +140,7 @@ Description: "Substance Use sub-questionnaire for Aboriginal and Torres Strait I * type = #group * repeats = false * item[+] - * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control|1.0.0#grid + * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#grid * linkId = "substanceuse-smoking-smokingstatus" * text = "Smoking status" * extension[+] diff --git a/input/fsh/715-FinalisingHealthCheck.fsh b/input/fsh/715-FinalisingHealthCheck.fsh index 2b04affd..02456b69 100644 --- a/input/fsh/715-FinalisingHealthCheck.fsh +++ b/input/fsh/715-FinalisingHealthCheck.fsh @@ -112,7 +112,7 @@ Description: "Finalising the Health Check sub-questionnaire for Aboriginal and T * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath - * expression = "(%age <= 12).intersect(%age > 5)" + * expression = "(%age <= 12) and (%age > 5)" * linkId = "6aa0a113-4d33-4f6b-9899-fa249674075a" * text = "Patient priorities and goals: What does the parent/carer and child say are the important things that have come out of this health check?" * type = #text @@ -150,7 +150,7 @@ Description: "Finalising the Health Check sub-questionnaire for Aboriginal and T * item[+] //Primary school * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath - * expression = "(%age <= 12).intersect(%age > 5)" + * expression = "(%age <= 12) and (%age > 5)" * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#check-box * extension[sdc-questionnaire-openLabel].valueString = "Other" * linkId = "0f70dec3-c1f2-4b36-b1f6-bd7f5743d5f8" @@ -169,7 +169,7 @@ Description: "Finalising the Health Check sub-questionnaire for Aboriginal and T * item[+] //Adolescent * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath - * expression = "(%age <= 24).intersect(%age > 12)" + * expression = "(%age <= 24) and (%age > 12)" * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#check-box * extension[sdc-questionnaire-openLabel].valueString = "Other" * linkId = "eaed9770-95f4-4c6a-b06c-d573427a2616" @@ -190,7 +190,7 @@ Description: "Finalising the Health Check sub-questionnaire for Aboriginal and T * item[+] //Adult * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath - * expression = "(%age <= 49).intersect(%age > 24)" + * expression = "(%age <= 49) and (%age > 24)" * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#check-box * extension[sdc-questionnaire-openLabel].valueString = "Other" * linkId = "25f27e83-fcf0-49c8-86c1-e285e201a043" @@ -282,7 +282,7 @@ Description: "Finalising the Health Check sub-questionnaire for Aboriginal and T * item[+] //Primary School * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath - * expression = "(%age <= 12).intersect(%age > 5)" + * expression = "(%age <= 12) and (%age > 5)" * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#drop-down * linkId = "f97f211a-ef2a-49a3-aef7-c4e9cd08aa2a" * text = "Who" @@ -302,7 +302,7 @@ Description: "Finalising the Health Check sub-questionnaire for Aboriginal and T * item[+] //Adolescent * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath - * expression = "(%age <= 24).intersect(%age > 12)" + * expression = "(%age <= 24) and (%age > 12)" * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#drop-down * linkId = "07cfe077-ba93-4f93-b2a5-027023faa33b" * text = "Who" @@ -323,7 +323,7 @@ Description: "Finalising the Health Check sub-questionnaire for Aboriginal and T * item[+] //Adult * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath - * expression = "(%age <= 49).intersect(%age > 24)" + * expression = "(%age <= 49) and (%age > 24)" * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#drop-down * linkId = "a525c370-d8c3-4764-ab3a-bf62081725e0" * text = "Who" @@ -421,7 +421,7 @@ Description: "Finalising the Health Check sub-questionnaire for Aboriginal and T * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath - * expression = "(%age <= 12).intersect(%age > 5)" + * expression = "(%age <= 12) and (%age > 5)" * linkId = "cde03bf0-182a-4998-a37e-7b3f22786617" * text = "Parent/patient actions" * type = #text @@ -429,7 +429,7 @@ Description: "Finalising the Health Check sub-questionnaire for Aboriginal and T * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath - * expression = "%age >12" + * expression = "%age > 12" * linkId = "51ff0c15-312a-45ce-a25a-6c6a4bf0e17e" * text = "Patient actions" * type = #text @@ -438,14 +438,13 @@ Description: "Finalising the Health Check sub-questionnaire for Aboriginal and T * extension[questionnaire-itemControl].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#radio-button * extension[sdc-questionnaire-shortText].valueString = "Copy of health check" * linkId = "8176151f-6d86-45eb-91b1-12458d75a181" - * text = "A copy of this health check has been offerered - including details of follow-up and future appointments" + * text = "A copy of this health check has been offered - including details of follow-up and future appointments" * type = #choice * repeats = false * answerOption[+].valueString = "Yes, copy taken" * answerOption[+].valueString = "Yes, but declined" * answerOption[+].valueString = "Not offered. Plan to follow up and offer at a later date" - * item[+] * linkId = "MarkComplete-31" * text = "Mark section as complete" diff --git a/input/fsh/715-HealthPrioritiesSummary.fsh b/input/fsh/715-HealthPrioritiesSummary.fsh index 4bef6202..855458c1 100644 --- a/input/fsh/715-HealthPrioritiesSummary.fsh +++ b/input/fsh/715-HealthPrioritiesSummary.fsh @@ -301,7 +301,7 @@ Description: "Health Priorities, Actions And Follow-Up Summary sub-questionnaire * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath - * expression = "(%age > 12).intersect(%age < 50) and %HealthPrioritiesSummaryLearningWorkAdults.exists()" + * expression = "(%age > 12) and (%age < 50) and %HealthPrioritiesSummaryLearningWorkAdults.exists()" * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression].valueExpression * description = "Learning and work for adolescents and adults calculation" * language = #text/fhirpath @@ -366,7 +366,7 @@ Description: "Health Priorities, Actions And Follow-Up Summary sub-questionnaire * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath - * expression = "(%age >= 50).intersect(%age <= 74) and %HealthPrioritiesSummaryScreeningPrograms.exists()" + * expression = "(%age >= 50) and (%age <= 74) and %HealthPrioritiesSummaryScreeningPrograms.exists()" * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression].valueExpression * description = "Participation in screening programs calculation" * language = #text/fhirpath @@ -444,7 +444,7 @@ Description: "Health Priorities, Actions And Follow-Up Summary sub-questionnaire * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath - * expression = "(%age > 12).intersect(%age <= 24) and %HealthPrioritiesSummarySexualHealthAdolescents.exists()" + * expression = "(%age > 12) and (%age <= 24) and %HealthPrioritiesSummarySexualHealthAdolescents.exists()" * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression].valueExpression * description = "Sexual health calculation" * language = #text/fhirpath @@ -457,7 +457,7 @@ Description: "Health Priorities, Actions And Follow-Up Summary sub-questionnaire * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath - * expression = "(%age > 24).intersect(%age <= 49) and %HealthPrioritiesSummarySexualHealthAdults.exists()" + * expression = "(%age > 24) and (%age <= 49) and %HealthPrioritiesSummarySexualHealthAdults.exists()" * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-calculatedExpression].valueExpression * description = "Sexual health calculation" * language = #text/fhirpath diff --git a/input/fsh/715-PatientDetails.fsh b/input/fsh/715-PatientDetails.fsh index 8d0c4227..c3347669 100644 --- a/input/fsh/715-PatientDetails.fsh +++ b/input/fsh/715-PatientDetails.fsh @@ -583,7 +583,7 @@ Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait * item[+] * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression].valueExpression * language = #text/fhirpath - * expression = "(%age <= 49).intersect(%age > 12)" + * expression = "(%age <= 49) and (%age > 12)" * linkId = "9bc882bc-e989-4600-9587-8089fb757641" * text = "Children" * type = #group diff --git a/input/fsh/actors.fsh b/input/fsh/actors.fsh index 6f39eee9..d8890eb7 100644 --- a/input/fsh/actors.fsh +++ b/input/fsh/actors.fsh @@ -79,7 +79,7 @@ Description: "The SHC Host FHIR Server allows the SHC App to retrieve patient he * experimental = false * type = #system * documentation = """The SHC Host FHIR Server: -- **SHALL** respond to [SMART Authorization Configuration`](https://hl7.org/fhir/smart-app-launch/app-launch.html#retrieve-well-knownsmart-configuration) request +- **SHALL** respond to [SMART Authorization Configuration](https://hl7.org/fhir/smart-app-launch/app-launch.html#retrieve-well-knownsmart-configuration) request - **SHALL** authorise FHIR API requests using Bearer access token per [SMART APP Launch Access FHIR API](https://hl7.org/fhir/smart-app-launch/app-launch.html#access-fhir-api) - **SHALL** respond to read Practitioner request - **SHALL** respond to read Patient request diff --git a/input/fsh/capability.fsh b/input/fsh/capability.fsh index 04019bb3..bb565d06 100644 --- a/input/fsh/capability.fsh +++ b/input/fsh/capability.fsh @@ -86,19 +86,6 @@ Also see the [AU Core Security and Privacy](https://hl7.org.au/fhir/core/1.0.0/s * rest.resource[=].interaction[+].code = #patch * rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[=].extension[0].valueCode = #SHALL -/* -* rest.resource[=].interaction[=].documentation = "**SHALL** support `create`, `conditional create`." -* rest.resource[=].interaction[+].code = #update -* rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].interaction[=].extension[0].valueCode = #SHALL -* rest.resource[=].interaction[=].documentation = "**SHALL** support `update`, `conditional update`." -* rest.resource[=].conditionalCreate = true -* rest.resource[=].conditionalCreate.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].conditionalCreate.extension[0].valueCode = #SHALL -* rest.resource[=].conditionalUpdate = true -* rest.resource[=].conditionalUpdate.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].conditionalUpdate.extension[0].valueCode = #SHALL -*/ * rest.resource[=].searchParam[+].name = "patient" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" * rest.resource[=].searchParam[=].type = #reference @@ -132,19 +119,6 @@ The server **SHALL** support both." * rest.resource[=].interaction[+].code = #patch * rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[=].extension[0].valueCode = #SHALL -/* -* rest.resource[=].interaction[=].documentation = "**SHALL** support `create`, `conditional create`." -* rest.resource[=].interaction[+].code = #update -* rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].interaction[=].extension[0].valueCode = #SHALL -* rest.resource[=].interaction[=].documentation = "**SHALL** support `update`, `conditional update`." -* rest.resource[=].conditionalCreate = true -* rest.resource[=].conditionalCreate.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].conditionalCreate.extension[0].valueCode = #SHALL -* rest.resource[=].conditionalUpdate = true -* rest.resource[=].conditionalUpdate.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].conditionalUpdate.extension[0].valueCode = #SHALL -*/ * rest.resource[=].searchParam[+].name = "patient" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" * rest.resource[=].searchParam[=].type = #reference @@ -198,12 +172,6 @@ The server **SHALL** support both." * rest.resource[=].interaction[+].code = #patch * rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[=].extension[0].valueCode = #SHALL -/* -* rest.resource[=].interaction[=].documentation = "**SHALL** support `create`, `conditional create`." -* rest.resource[=].conditionalCreate = true -* rest.resource[=].conditionalCreate.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].conditionalCreate.extension[0].valueCode = #SHALL -*/ * rest.resource[=].searchParam[+].name = "patient" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" * rest.resource[=].searchParam[=].type = #reference @@ -269,19 +237,6 @@ If a medication in a MedicationStatement resource is represented as an external * rest.resource[=].interaction[+].code = #patch * rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[=].extension[0].valueCode = #SHALL -/* -* rest.resource[=].interaction[=].documentation = "**SHALL** support `create`, `conditional create`." -* rest.resource[=].interaction[+].code = #update -* rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].interaction[=].extension[0].valueCode = #SHALL -* rest.resource[=].interaction[=].documentation = "**SHALL** support `update`, `conditional update`." -* rest.resource[=].conditionalCreate = true -* rest.resource[=].conditionalCreate.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].conditionalCreate.extension[0].valueCode = #SHALL -* rest.resource[=].conditionalUpdate = true -* rest.resource[=].conditionalUpdate.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].conditionalUpdate.extension[0].valueCode = #SHALL -*/ * rest.resource[=].searchInclude[+] = "MedicationStatement:medication" * rest.resource[=].searchParam[+].name = "patient" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" @@ -361,12 +316,6 @@ The client **SHALL** support this method." * rest.resource[=].interaction[+].code = #create * rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[=].extension[0].valueCode = #SHALL -/* -* rest.resource[=].interaction[=].documentation = "**SHALL** support `create`, `conditional create`." -* rest.resource[=].conditionalCreate = true -* rest.resource[=].conditionalCreate.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].conditionalCreate.extension[0].valueCode = #SHALL -*/ * rest.resource[=].searchParam[+].name = "patient" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" * rest.resource[=].searchParam[=].type = #reference @@ -409,15 +358,6 @@ The server **SHALL** support both." * rest.resource[=].interaction[+].code = #patch * rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[=].extension[0].valueCode = #SHALL -/* -* rest.resource[=].interaction[+].code = #update -* rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].interaction[=].extension[0].valueCode = #SHALL -* rest.resource[=].interaction[=].documentation = "**SHALL** support `update`, `conditional update`." -* rest.resource[=].conditionalUpdate = true -* rest.resource[=].conditionalUpdate.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].conditionalUpdate.extension[0].valueCode = #SHALL -*/ //Practitioner * rest.resource[+].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" @@ -630,11 +570,6 @@ Usage: #definition * rest.resource[=].interaction[0].code = #search-type * rest.resource[=].interaction[+].code = #create * rest.resource[=].interaction[+].code = #patch -/* -* rest.resource[=].interaction[+].code = #update -* rest.resource[=].conditionalCreate = true -* rest.resource[=].conditionalUpdate = true -*/ * rest.resource[=].searchParam[+].name = "patient" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" * rest.resource[=].searchParam[=].type = #reference @@ -654,11 +589,6 @@ The server **SHALL** support both." * rest.resource[=].interaction[0].code = #search-type * rest.resource[=].interaction[+].code = #create * rest.resource[=].interaction[+].code = #patch -/* -* rest.resource[=].interaction[+].code = #update -* rest.resource[=].conditionalCreate = true -* rest.resource[=].conditionalUpdate = true -*/ * rest.resource[=].searchParam[+].name = "patient" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" * rest.resource[=].searchParam[=].type = #reference @@ -691,7 +621,6 @@ The server **SHALL** support both." * rest.resource[=].interaction[0].code = #search-type * rest.resource[=].interaction[+].code = #create * rest.resource[=].interaction[+].code = #patch -//* rest.resource[=].conditionalCreate = true * rest.resource[=].searchParam[+].name = "patient" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" * rest.resource[=].searchParam[=].type = #reference @@ -730,13 +659,7 @@ The server **SHALL** support both." * rest.resource[=].interaction[0].code = #search-type * rest.resource[=].interaction[+].code = #create * rest.resource[=].interaction[+].code = #patch -/* -* rest.resource[=].interaction[+].code = #create -* rest.resource[=].interaction[+].code = #update -* rest.resource[=].conditionalCreate = true -* rest.resource[=].conditionalUpdate = true -*/ -* rest.resource[=].searchInclude[+] = "MedicationRequest:medication" +* rest.resource[=].searchInclude[+] = "MedicationStatement:medication" * rest.resource[=].searchParam[+].name = "patient" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" * rest.resource[=].searchParam[=].type = #reference @@ -783,7 +706,6 @@ The client **SHALL** support this method." * rest.resource[=].documentation = "The client supports the Observation resource, the Smart Health Checks profiles listed and the conformance expectations for the Observation resource." * rest.resource[=].interaction[0].code = #search-type * rest.resource[=].interaction[+].code = #create -//* rest.resource[=].conditionalCreate = true * rest.resource[=].searchParam[+].name = "patient" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" * rest.resource[=].searchParam[=].type = #reference @@ -813,8 +735,6 @@ The server **SHALL** support both." * rest.resource[=].documentation = "The client supports the Patient resource, Smart Health Checks profile and the conformance expectations for the Patient resource." * rest.resource[=].interaction[0].code = #read * rest.resource[=].interaction[+].code = #patch -//* rest.resource[=].interaction[+].code = #update -//* rest.resource[=].conditionalUpdate = true //Practitioner * rest.resource[+].type = #Practitioner @@ -843,7 +763,7 @@ The server **SHALL** support both." * rest.resource[=].type = #Questionnaire * rest.resource[=].profile = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire" //Add more SDC profiles? -* rest.resource[=].documentation = "The client supports the Questionnaire resource, Structured Data Capture profile and the conformance expectations for the QuestionnaireResponse resource." +* rest.resource[=].documentation = "The client supports the Questionnaire resource, Structured Data Capture profile and the conformance expectations for the Questionnaire resource." * rest.resource[=].interaction[+].code = #search-type * rest.resource[=].interaction[+].code = #create * rest.resource[=].searchParam[+].name = "url" diff --git a/input/fsh/extract-templates.fsh b/input/fsh/extract-templates.fsh index 9b1e100f..6a2b18d3 100644 --- a/input/fsh/extract-templates.fsh +++ b/input/fsh/extract-templates.fsh @@ -11,7 +11,7 @@ Alias: $allergyintolerance-clinical = http://terminology.hl7.org/CodeSystem/alle Alias: $au-core-smokingstatus = http://hl7.org.au/fhir/core/StructureDefinition/au-core-smokingstatus Alias: $au-core-bodyheight = http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyheight Alias: $au-core-bodyweight = http://hl7.org.au/fhir/core/StructureDefinition/au-core-bodyweight -Alias: $au-core-au-core-headcircum = http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum +Alias: $au-core-headcircum = http://hl7.org.au/fhir/core/StructureDefinition/au-core-headcircum Alias: $au-core-waistcircum = http://hl7.org.au/fhir/core/StructureDefinition/au-core-waistcircum Alias: $au-core-heartrate = http://hl7.org.au/fhir/core/StructureDefinition/au-core-heartrate Alias: $au-core-bloodpressure = http://hl7.org.au/fhir/core/StructureDefinition/au-core-bloodpressure @@ -218,7 +218,6 @@ Usage: #inline Instance: AllergyIntolerancePatchTemplate -// InstanceOf: http://hl7.org/fhir/StructureDefinition/fhirpath-patch InstanceOf: Parameters Usage: #inline * parameter[+].name = "operation" @@ -284,7 +283,6 @@ Usage: #inline * note.text.extension[=].valueString = "item.where(linkId='newdiagnosis-comment').answer.value" Instance: ConditionPatchTemplate -// InstanceOf: http://hl7.org/fhir/StructureDefinition/fhirpath-patch InstanceOf: Parameters Usage: #inline * parameter[+].name = "operation" @@ -343,7 +341,6 @@ Usage: #inline * dosage[=].text.extension[=].valueString = "$this" Instance: MedicationStatementPatchTemplate -// InstanceOf: http://hl7.org/fhir/StructureDefinition/fhirpath-patch InstanceOf: Parameters Usage: #inline * parameter[+].name = "operation" diff --git a/input/fsh/terminology.fsh b/input/fsh/terminology.fsh index 815a1a3b..1f3f5e9a 100644 --- a/input/fsh/terminology.fsh +++ b/input/fsh/terminology.fsh @@ -46,35 +46,6 @@ Description: "Concepts for Yes, No, Not Asked and Asked But Declined" * ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/data-absent-reason" * ^expansion.contains[=].code = #asked-declined * ^expansion.contains[=].display = "Asked But Declined" -/* -* ^expansion.identifier = "urn:uuid:8eda7c3c-cc35-49fa-ac6c-c0e4f0a4e203" -* ^expansion.timestamp = "2023-09-01T11:17:57+10:00" -* ^expansion.total = 4 -* ^expansion.parameter[0].name = "version" -* ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" -* ^expansion.parameter[+].name = "used-codesystem" -* ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" -* ^expansion.parameter[+].name = "version" -* ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/v2-0532|2.1.0" -* ^expansion.parameter[+].name = "used-codesystem" -* ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/v2-0532|2.1.0" -* ^expansion.contains[0].system = "http://terminology.hl7.org/CodeSystem/v2-0532" -* ^expansion.contains[=].version = "2.1.0" -* ^expansion.contains[=].code = #Y -* ^expansion.contains[=].display = "Yes" -* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/v2-0532" -* ^expansion.contains[=].version = "2.1.0" -* ^expansion.contains[=].code = #N -* ^expansion.contains[=].display = "No" -* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/v2-0532" -* ^expansion.contains[=].version = "2.1.0" -* ^expansion.contains[=].code = #NASK -* ^expansion.contains[=].display = "Not Asked" -* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/data-absent-reason" -* ^expansion.contains[=].version = "5.0.0-ballot" -* ^expansion.contains[=].code = #asked-declined -* ^expansion.contains[=].display = "Asked But Declined" -*/ * $v2-0532#Y "Yes" * $v2-0532#N "No" * $v2-0532#NASK "Not Asked" @@ -109,24 +80,6 @@ Description: "Concepts for Yes, No and Not applicable" * ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/v2-0532" * ^expansion.contains[=].code = #NA * ^expansion.contains[=].display = "N/A" -/* -* ^expansion.identifier = "urn:uuid:5baa5444-e553-4412-a08c-9ce93d3271e0" -* ^expansion.timestamp = "2023-09-01T11:16:50+10:00" -* ^expansion.total = 3 -* ^expansion.parameter[0].name = "version" -* ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/v2-0532|2.1.0" -* ^expansion.parameter[+].name = "used-codesystem" -* ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/v2-0532|2.1.0" -* ^expansion.contains[0].system = "http://terminology.hl7.org/CodeSystem/v2-0532" -* ^expansion.contains[=].code = #Y -* ^expansion.contains[=].display = "Yes" -* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/v2-0532" -* ^expansion.contains[=].code = #N -* ^expansion.contains[=].display = "No" -* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/v2-0532" -* ^expansion.contains[=].code = #NA -* ^expansion.contains[=].display = "N/A" -*/ * $v2-0532#Y "Yes" * $v2-0532#N "No" * $v2-0532#NA "N/A" @@ -158,21 +111,6 @@ Description: "Concepts for Yes and No" * ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/v2-0532" * ^expansion.contains[=].code = #N * ^expansion.contains[=].display = "No" -/* -* ^expansion.identifier = "urn:uuid:06bfacf3-ef16-4470-86a0-a2a22f49ff91" -* ^expansion.timestamp = "2023-09-01T11:15:01+10:00" -* ^expansion.total = 2 -* ^expansion.parameter[0].name = "version" -* ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/v2-0532|2.1.0" -* ^expansion.parameter[+].name = "used-codesystem" -* ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/v2-0532|2.1.0" -* ^expansion.contains[0].system = "http://terminology.hl7.org/CodeSystem/v2-0532" -* ^expansion.contains[=].code = #Y -* ^expansion.contains[=].display = "Yes" -* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/v2-0532" -* ^expansion.contains[=].code = #N -* ^expansion.contains[=].display = "No" -*/ * $v2-0532#Y "Yes" * $v2-0532#N "No" @@ -207,27 +145,6 @@ Description: "The Aboriginal and/or Torres Strait Islander value set includes th * ^expansion.contains[+].system = "https://healthterminologies.gov.au/fhir/CodeSystem/australian-indigenous-status-1" * ^expansion.contains[=].code = #3 * ^expansion.contains[=].display = "Aboriginal and Torres Strait Islander" -/* -* ^expansion.identifier = "e2b013bd-1725-4299-a7a5-53635d42f1be" -* ^expansion.timestamp = "2022-10-20T11:38:45+10:00" -* ^expansion.total = 3 -* ^expansion.offset = 0 -* ^expansion.parameter[0].name = "version" -* ^expansion.parameter[=].valueUri = "https://healthterminologies.gov.au/fhir/CodeSystem/australian-indigenous-status-1|1.0.3" -* ^expansion.parameter[+].name = "count" -* ^expansion.parameter[=].valueInteger = 2147483647 -* ^expansion.parameter[+].name = "offset" -* ^expansion.parameter[=].valueInteger = 0 -* ^expansion.contains[0].system = "https://healthterminologies.gov.au/fhir/CodeSystem/australian-indigenous-status-1" -* ^expansion.contains[=].code = #1 -* ^expansion.contains[=].display = "Aboriginal but not Torres Strait Islander origin" -* ^expansion.contains[+].system = "https://healthterminologies.gov.au/fhir/CodeSystem/australian-indigenous-status-1" -* ^expansion.contains[=].code = #2 -* ^expansion.contains[=].display = "Torres Strait Islander but not Aboriginal origin" -* ^expansion.contains[+].system = "https://healthterminologies.gov.au/fhir/CodeSystem/australian-indigenous-status-1" -* ^expansion.contains[=].code = #3 -* ^expansion.contains[=].display = "Both Aboriginal and Torres Strait Islander origin" -*/ * $australian-indigenous-status-1#1 "Aboriginal" * $australian-indigenous-status-1#2 "Torres Strait Islander" * $australian-indigenous-status-1#3 "Aboriginal and Torres Strait Islander" @@ -269,42 +186,11 @@ Description: "The Primary Carer Of Parent Or Grandparent value set includes valu * ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/v3-NullFlavor" * ^expansion.contains[=].code = #NA * ^expansion.contains[=].display = "not applicable" -/* -* ^expansion.identifier = "2809c2fa-28ec-4def-9b16-93a611d29da3" -* ^expansion.timestamp = "2022-10-20T11:42:30+10:00" -* ^expansion.total = 4 -* ^expansion.offset = 0 -* ^expansion.parameter[0].name = "version" -* ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/v3-RoleCode|2018-08-12" -* ^expansion.parameter[+].name = "version" -* ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/v3-NullFlavor|2018-08-12" -* ^expansion.parameter[+].name = "count" -* ^expansion.parameter[=].valueInteger = 2147483647 -* ^expansion.parameter[+].name = "offset" -* ^expansion.parameter[=].valueInteger = 0 -* ^expansion.contains[0].system = "http://terminology.hl7.org/CodeSystem/v3-RoleCode" -* ^expansion.contains[=].version = "2018-08-12" -* ^expansion.contains[=].code = #MTH -* ^expansion.contains[=].display = "mother" -* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/v3-RoleCode" -* ^expansion.contains[=].version = "2018-08-12" -* ^expansion.contains[=].code = #FTH -* ^expansion.contains[=].display = "father" -* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/v3-RoleCode" -* ^expansion.contains[=].version = "2018-08-12" -* ^expansion.contains[=].code = #GRPRN -* ^expansion.contains[=].display = "grandparent" -* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/v3-NullFlavor" -* ^expansion.contains[=].version = "2018-08-12" -* ^expansion.contains[=].code = #NA -* ^expansion.contains[=].display = "not applicable" -*/ * $v3-RoleCode#MTH * $v3-RoleCode#FTH * $v3-RoleCode#GRPRN * $v3-NullFlavor#NA - ValueSet: ClinicalCondition Id: clinical-condition-1 Title: "Clinical Condition" @@ -325,277 +211,6 @@ Description: "The Clinical Condition value set includes values that cover a broa * ^copyright = "Copyright © 2018 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\nThis resource includes SNOMED Clinical Terms™ (SNOMED CT®) which is used by permission of the International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. “SNOMED” and “SNOMED CT” are registered trademarks of the IHTSDO. \n\nThe rights to use and implement or implementation of SNOMED CT content are limited to the extent it is necessary to allow for the end use of this material. No further rights are granted in respect of the International Release and no further use of any SNOMED CT content by any other party is permitted. \n\nAll copies of this resource must include this copyright statement and all information contained in this statement." * include codes from system $SCT where concept in "32570581000036105" -/* -ValueSet: MedicalHistory -Id: MedicalHistory -Title: "Medical History" -Description: "The Medical History value set includes values that may be used to represent medical history, operations and hospital admissions." -* ^experimental = false - -* include codes from system $SCT where constraint = "^32570581000036105|Problem/Diagnosis reference set| OR ^32570141000036105|Procedure foundation reference set|" -*/ -/* Agreed to replace picklists with medical history table. Commenting out for now. -ValueSet: MedicalHistoryShortListInfants -Id: MedicalHistoryShortListInfants -Title: "Medical History Short List for Infants" -Description: "The Medical History Short List for Infants value set includes values to represent conditions for use in a pick list for the MBS 715 Health Check for Infants." -* ^experimental = false -* ^expansion.identifier = "06bd5f41-3c10-4cdb-a304-b8127d72957f" -* ^expansion.timestamp = "2022-10-20T09:50:13+10:00" -* ^expansion.total = 13 -* ^expansion.offset = 0 -* ^expansion.parameter[0].name = "version" -* ^expansion.parameter[=].valueUri = "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20220930" -* ^expansion.parameter[+].name = "count" -* ^expansion.parameter[=].valueInteger = 2147483647 -* ^expansion.parameter[+].name = "offset" -* ^expansion.parameter[=].valueInteger = 0 -* ^expansion.contains[0].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #609496007 -* ^expansion.contains[=].display = "Complication occurring during pregnancy" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #199745000 -* ^expansion.contains[=].display = "Complication occurring during labour and delivery" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #80113008 -* ^expansion.contains[=].display = "Complication of the puerperium" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #32485007 -* ^expansion.contains[=].display = "Hospital admission" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #50417007 -* ^expansion.contains[=].display = "Lower respiratory tract infection" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #49727002 -* ^expansion.contains[=].display = "Cough" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #129127001 -* ^expansion.contains[=].display = "Ear infection" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #38394007 -* ^expansion.contains[=].display = "Chronic otitis media with perforation" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #78868004 -* ^expansion.contains[=].display = "Chronic mucoid otitis media" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #247253001 -* ^expansion.contains[=].display = "Ventilation tube in tympanic membrane" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #43381005 -* ^expansion.contains[=].display = "Passive smoker" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #195528001 -* ^expansion.contains[=].display = "Acute rheumatic fever" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #312591002 -* ^expansion.contains[=].display = "Acute rheumatic heart disease" -* $SCT#609496007 // "Pregnancy complications" -* $SCT#199745000 // "Birth complications" -* $SCT#80113008 // "Problems after birth" //Complication of the puerperium -* $SCT#32485007 // "Hospital admissions" //valid medical history concept but maybe need to create a H/O Hospital admission concept if wanting a specific finding. No others are H/O -// following don't match form -* $SCT#50417007 // "Lower respiratory tract infection" -* $SCT#49727002 // "Cough" -* $SCT#129127001 // "Ear infection" -* $SCT#38394007 // "Chronic otitis media with perforation" -* $SCT#78868004 // "Chronic mucoid otitis media" -* $SCT#247253001 // "Ventilation tube in tympanic membrane" -* $SCT#43381005 // "Passive smoker" -* $SCT#195528001 // "Acute rheumatic fever" -* $SCT#312591002 // "Acute rheumatic heart disease" - -ValueSet: MedicalHistoryShortListPrimarySchool -Id: MedicalHistoryShortListPrimarySchool -Title: "Medical History Short List for Primary School Children" -Description: "The Medical History Short List for Primary School Children value set includes values to represent conditions for use in a pick list for the MBS 715 Health Check for Primary School Children." -* ^experimental = false -* ^expansion.identifier = "455f4b6f-5083-4f56-8995-5ec798e47cc4" -* ^expansion.timestamp = "2022-10-20T09:54:05+10:00" -* ^expansion.total = 11 -* ^expansion.offset = 0 -* ^expansion.parameter[0].name = "version" -* ^expansion.parameter[=].valueUri = "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20220930" -* ^expansion.parameter[+].name = "count" -* ^expansion.parameter[=].valueInteger = 2147483647 -* ^expansion.parameter[+].name = "offset" -* ^expansion.parameter[=].valueInteger = 0 -* ^expansion.contains[0].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #50417007 -* ^expansion.contains[=].display = "Lower respiratory tract infection" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #49727002 -* ^expansion.contains[=].display = "Cough" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #129127001 -* ^expansion.contains[=].display = "Ear infection" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #38394007 -* ^expansion.contains[=].display = "Chronic otitis media with perforation" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #78868004 -* ^expansion.contains[=].display = "Chronic mucoid otitis media" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #247253001 -* ^expansion.contains[=].display = "Ventilation tube in tympanic membrane" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #129823000 -* ^expansion.contains[=].display = "Childhood growth AND/OR development alteration" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #195528001 -* ^expansion.contains[=].display = "Acute rheumatic fever" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #312591002 -* ^expansion.contains[=].display = "Acute rheumatic heart disease" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #43381005 -* ^expansion.contains[=].display = "Passive smoker" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #32485007 -* ^expansion.contains[=].display = "Hospital admission" -// following don't match form -* $SCT#50417007 // "Lower respiratory tract infection" -* $SCT#49727002 // "Cough" -* $SCT#129127001 // "Ear infection" -* $SCT#38394007 // "Chronic otitis media with perforation" -* $SCT#78868004 // "Chronic mucoid otitis media" -* $SCT#247253001 // "Ventilation tube in tympanic membrane" -* $SCT#129823000 // "Childhood growth AND/OR development alteration" -* $SCT#195528001 // "Acute rheumatic fever" -* $SCT#312591002 // "Acute rheumatic heart disease" -* $SCT#43381005 // "Passive smoker" -* $SCT#32485007 // "Hospital admissions" //maybe need to create a H/O Hospital admission concept as it is a procedure? No others are H/O - - -ValueSet: MedicalHistoryShortListAdolescents -Id: MedicalHistoryShortListAdolescents -Title: "Medical History Short List for Adolescents" -Description: "The Medical History Short List for Adolescents value set includes values to represent conditions for use in a pick list for the MBS 715 Health Check for Adolescents." -* ^experimental = false -* ^expansion.identifier = "5b0bb9f4-1ca3-47e2-bb1d-91cad5454ce4" -* ^expansion.timestamp = "2022-10-20T09:45:56+10:00" -* ^expansion.total = 11 -* ^expansion.offset = 0 -* ^expansion.parameter[0].name = "version" -* ^expansion.parameter[=].valueUri = "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20220930" -* ^expansion.parameter[+].name = "count" -* ^expansion.parameter[=].valueInteger = 2147483647 -* ^expansion.parameter[+].name = "offset" -* ^expansion.parameter[=].valueInteger = 0 -* ^expansion.contains[0].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #129127001 -* ^expansion.contains[=].display = "Ear infection" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #300228004 -* ^expansion.contains[=].display = "Hearing problem" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #195967001 -* ^expansion.contains[=].display = "Asthma" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #38341003 -* ^expansion.contains[=].display = "Hypertension" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #84757009 -* ^expansion.contains[=].display = "Epilepsy" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #25064002 -* ^expansion.contains[=].display = "Headache" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #37796009 -* ^expansion.contains[=].display = "Migraine" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #73211009 -* ^expansion.contains[=].display = "Diabetes mellitus" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #23685000 -* ^expansion.contains[=].display = "Rheumatic heart disease" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #90708001 -* ^expansion.contains[=].display = "Kidney disease" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #413307004 -* ^expansion.contains[=].display = "Mental health problem" -* $SCT#129127001 // "Ear infections" -* $SCT#300228004 // "Hearing problems" -* $SCT#195967001 // "Asthma" -* $SCT#38341003 // "High blood pressure" -* $SCT#84757009 // "Epilepsy" -* $SCT#25064002 // "Headaches" -* $SCT#37796009 // "Migraines" -* $SCT#73211009 // "Diabetes mellitus" -* $SCT#23685000 // "Rheumatic heart disease" -* $SCT#90708001 // "Kidney disease" -* $SCT#413307004 // "Mental health" - - -ValueSet: MedicalHistoryShortListAdultsAndOlderPeople -Id: MedicalHistoryShortListAdultsAndOlderPeople -Title: "Medical History Short List for Adults and Older People" -Description: "The Medical History Short List for Adults and Older People value set includes values to represent conditions for use in a pick list for the MBS 715 Health Check for Adults and Older People." -* ^experimental = false -* ^expansion.identifier = "1998291e-ed8a-49f2-ac11-9e6056efd7f3" -* ^expansion.timestamp = "2022-10-20T09:48:19+10:00" -* ^expansion.total = 13 -* ^expansion.offset = 0 -* ^expansion.parameter[0].name = "version" -* ^expansion.parameter[=].valueUri = "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20220930" -* ^expansion.parameter[+].name = "count" -* ^expansion.parameter[=].valueInteger = 2147483647 -* ^expansion.parameter[+].name = "offset" -* ^expansion.parameter[=].valueInteger = 0 -* ^expansion.contains[0].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #44054006 -* ^expansion.contains[=].display = "Type 2 diabetes mellitus" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #38341003 -* ^expansion.contains[=].display = "Hypertension" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #22298006 -* ^expansion.contains[=].display = "Myocardial infarction" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #230690007 -* ^expansion.contains[=].display = "Stroke" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #90708001 -* ^expansion.contains[=].display = "Kidney disease" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #15188001 -* ^expansion.contains[=].display = "Hearing loss" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #84757009 -* ^expansion.contains[=].display = "Epilepsy" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #195967001 -* ^expansion.contains[=].display = "Asthma" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #13645005 -* ^expansion.contains[=].display = "COPD" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #23685000 -* ^expansion.contains[=].display = "Rheumatic heart disease" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #66071002 -* ^expansion.contains[=].display = "Hepatitis B" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #82271004 -* ^expansion.contains[=].display = "Head injury" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #413307004 -* ^expansion.contains[=].display = "Mental health problem" -* $SCT#44054006 // "Diabetes mellitus" -* $SCT#38341003 // "Hypertension" -* $SCT#22298006 // "Myocardial infarction" -* $SCT#230690007 // "Stroke" -* $SCT#90708001 // "Kidney disease" -* $SCT#15188001 // "Hearing impairment" -* $SCT#84757009 // "Epilepsy" -* $SCT#195967001 // "Asthma" -* $SCT#13645005 // "COPD" -* $SCT#23685000 // "Rheumatic heart disease" -* $SCT#66071002 // "HBV" -* $SCT#82271004 // "Significant head trauma" // the concept id is "Head inujury", which is more broad in meaning -* $SCT#413307004 // "Mental health" -*/ - Alias: $administrative-gender = http://hl7.org/fhir/administrative-gender ValueSet: AdministrativeGender @@ -653,27 +268,6 @@ Description: "The gender of a person used for administrative purposes." * ^expansion.contains[+].system = "http://hl7.org/fhir/administrative-gender" * ^expansion.contains[=].code = #unknown * ^expansion.contains[=].display = "Unknown" -/* -* ^expansion.identifier = "urn:uuid:50f050c9-3975-48d6-bdb7-baae4ebc70cd" -* ^expansion.timestamp = "2024-04-05T12:31:27+10:00" -* ^expansion.total = 4 -* ^expansion.parameter[0].name = "version" -* ^expansion.parameter[=].valueUri = "http://hl7.org/fhir/administrative-gender|4.0.1" -* ^expansion.parameter[+].name = "used-codesystem" -* ^expansion.parameter[=].valueUri = "http://hl7.org/fhir/administrative-gender|4.0.1" -* ^expansion.contains[0].system = "http://hl7.org/fhir/administrative-gender" -* ^expansion.contains[=].code = #female -* ^expansion.contains[=].display = "Female" -* ^expansion.contains[+].system = "http://hl7.org/fhir/administrative-gender" -* ^expansion.contains[=].code = #male -* ^expansion.contains[=].display = "Male" -* ^expansion.contains[+].system = "http://hl7.org/fhir/administrative-gender" -* ^expansion.contains[=].code = #other -* ^expansion.contains[=].display = "Other" -* ^expansion.contains[+].system = "http://hl7.org/fhir/administrative-gender" -* ^expansion.contains[=].code = #unknown -* ^expansion.contains[=].display = "Unknown" -*/ * include codes from system $administrative-gender ValueSet: ConditionClinicalStatusCodes @@ -733,94 +327,7 @@ Description: "Preferred value set for Condition Clinical Status." * ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/condition-clinical" * ^expansion.contains[=].code = #unknown * ^expansion.contains[=].display = "Unknown" - - - -/* -* ^expansion.identifier = "urn:uuid:79d21cca-9f34-4cfa-9020-17eee95eeed8" -* ^expansion.timestamp = "2024-04-02T14:17:12+10:00" -* ^expansion.total = 6 -* ^expansion.parameter[0].name = "version" -* ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/condition-clinical|4.0.1" -* ^expansion.parameter[+].name = "used-codesystem" -* ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/condition-clinical|4.0.1" -* ^expansion.parameter[+].name = "warning-draft" -* ^expansion.parameter[=].valueUri = "http://hl7.org/fhir/ValueSet/condition-clinical|4.0.1" -* ^expansion.parameter[+].name = "warning-trial-use" -* ^expansion.parameter[=].valueUri = "http://hl7.org/fhir/ValueSet/condition-clinical|4.0.1" -* ^expansion.parameter[+].name = "warning-trial-use" -* ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/condition-clinical|4.0.1" -* ^expansion.parameter[+].name = "warning-draft" -* ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/condition-clinical|4.0.1" -* ^expansion.contains[0].system = "http://terminology.hl7.org/CodeSystem/condition-clinical" -* ^expansion.contains[=].code = #active -* ^expansion.contains[=].display = "Active" -* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/condition-clinical" -* ^expansion.contains[=].code = #inactive -* ^expansion.contains[=].display = "Inactive" -* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/condition-clinical" -* ^expansion.contains[=].code = #recurrence -* ^expansion.contains[=].display = "Recurrence" -* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/condition-clinical" -* ^expansion.contains[=].code = #relapse -* ^expansion.contains[=].display = "Relapse" -* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/condition-clinical" -* ^expansion.contains[=].code = #remission -* ^expansion.contains[=].display = "Remission" -* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/condition-clinical" -* ^expansion.contains[=].code = #resolved -* ^expansion.contains[=].display = "Resolved" -*/ -* include codes from system ConditionClinicalStatusCodes -/* -ValueSet: AllergyIntoleranceClinicalStatusCodes -Id: allergyintolerance-clinical -Title: "AllergyIntolerance Clinical Status Codes" -Description: "Preferred value set for AllergyIntolerance Clinical Status." -* ^meta.profile = "http://hl7.org/fhir/StructureDefinition/shareablevalueset" -* ^extension[0].url = "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg" -* ^extension[=].valueCode = #pc -* ^extension[+].url = "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status" -* ^extension[=].valueCode = #trial-use -* ^extension[+].url = "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm" -* ^extension[=].valueInteger = 3 -* ^url = "http://hl7.org/fhir/ValueSet/allergyintolerance-clinical" -* ^identifier.system = "urn:ietf:rfc:3986" -* ^identifier.value = "urn:oid:2.16.840.1.113883.4.642.3.1372" -* ^version = "4.0.1" -* ^status = #draft -* ^experimental = false -* ^date = "2019-11-01T09:29:23+11:00" -* ^publisher = "FHIR Project team" -* ^contact.telecom.system = #url -* ^contact.telecom.value = "http://hl7.org/fhir" -* ^immutable = true -* ^expansion.identifier = "urn:uuid:3bf59cb7-91f1-4509-93a6-e4914cc537ff" -* ^expansion.timestamp = "2025-06-17T14:23:17+10:00" -* ^expansion.total = 3 -* ^expansion.parameter[0].name = "used-codesystem" -* ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical|4.0.1" -* ^expansion.parameter[+].name = "version" -* ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical|4.0.1" -* ^expansion.parameter[+].name = "warning-draft" -* ^expansion.parameter[=].valueUri = "http://hl7.org/fhir/ValueSet/allergyintolerance-clinical|4.0.1" -* ^expansion.parameter[+].name = "warning-trial-use" -* ^expansion.parameter[=].valueUri = "http://hl7.org/fhir/ValueSet/allergyintolerance-clinical|4.0.1" -* ^expansion.parameter[+].name = "warning-trial-use" -* ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical|4.0.1" -* ^expansion.parameter[+].name = "warning-draft" -* ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical|4.0.1" -* ^expansion.contains[0].system = "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical" -* ^expansion.contains[=].code = #active -* ^expansion.contains[=].display = "Active" -* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical" -* ^expansion.contains[=].code = #inactive -* ^expansion.contains[=].display = "Inactive" -* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical" -* ^expansion.contains[=].code = #resolved -* ^expansion.contains[=].display = "Resolved" -* include codes from system AllergyIntoleranceClinicalStatusCodes -*/ +* include codes from system http://terminology.hl7.org/CodeSystem/condition-clinical Alias: $australian-states-territories-1 = https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1 @@ -883,45 +390,6 @@ Description: "The Australian States and Territories value set includes values th * ^expansion.contains[+].system = "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1" * ^expansion.contains[=].code = #WA * ^expansion.contains[=].display = "Western Australia" -/* -* ^expansion.identifier = "e9439195-c1d8-4069-a349-98c1d552a351" -* ^expansion.timestamp = "2023-06-20T04:20:58+00:00" -* ^expansion.total = 9 -* ^expansion.offset = 0 -* ^expansion.parameter[0].name = "version" -* ^expansion.parameter[=].valueUri = "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1|1.1.3" -* ^expansion.parameter[+].name = "count" -* ^expansion.parameter[=].valueInteger = 2147483647 -* ^expansion.parameter[+].name = "offset" -* ^expansion.parameter[=].valueInteger = 0 -* ^expansion.contains[0].system = "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1" -* ^expansion.contains[=].code = #ACT -* ^expansion.contains[=].display = "Australian Capital Territory" -* ^expansion.contains[+].system = "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1" -* ^expansion.contains[=].code = #NSW -* ^expansion.contains[=].display = "New South Wales" -* ^expansion.contains[+].system = "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1" -* ^expansion.contains[=].code = #NT -* ^expansion.contains[=].display = "Northern Territory" -* ^expansion.contains[+].system = "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1" -* ^expansion.contains[=].code = #OTHER -* ^expansion.contains[=].display = "Other territories" -* ^expansion.contains[+].system = "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1" -* ^expansion.contains[=].code = #QLD -* ^expansion.contains[=].display = "Queensland" -* ^expansion.contains[+].system = "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1" -* ^expansion.contains[=].code = #SA -* ^expansion.contains[=].display = "South Australia" -* ^expansion.contains[+].system = "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1" -* ^expansion.contains[=].code = #TAS -* ^expansion.contains[=].display = "Tasmania" -* ^expansion.contains[+].system = "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1" -* ^expansion.contains[=].code = #VIC -* ^expansion.contains[=].display = "Victoria" -* ^expansion.contains[+].system = "https://healthterminologies.gov.au/fhir/CodeSystem/australian-states-territories-1" -* ^expansion.contains[=].code = #WA -* ^expansion.contains[=].display = "Western Australia" -*/ * $australian-states-territories-1#ACT * $australian-states-territories-1#NSW * $australian-states-territories-1#NT @@ -986,43 +454,6 @@ Description: "The Gender Identity Response value set includes values that may be * ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/data-absent-reason" * ^expansion.contains[=].code = #not-asked * ^expansion.contains[=].display = "Not Asked" -/* -* ^expansion.identifier = "urn:uuid:a35fc104-184f-476e-a7a2-e3f3af66a3eb" -* ^expansion.timestamp = "2024-04-02T14:21:20+10:00" -* ^expansion.total = 6 -* ^expansion.parameter[0].name = "version" -* ^expansion.parameter[=].valueUri = "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" -* ^expansion.parameter[+].name = "used-codesystem" -* ^expansion.parameter[=].valueUri = "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" -* ^expansion.parameter[+].name = "version" -* ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" -* ^expansion.parameter[+].name = "used-codesystem" -* ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" -* ^expansion.contains[0].system = "http://snomed.info/sct" -* ^expansion.contains[=].version = "http://snomed.info/sct/32506021000036107/version/20240331" -* ^expansion.contains[=].code = #446151000124109 -* ^expansion.contains[=].display = "Identifies as male gender" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].version = "http://snomed.info/sct/32506021000036107/version/20240331" -* ^expansion.contains[=].code = #446141000124107 -* ^expansion.contains[=].display = "Identifies as female gender" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].version = "http://snomed.info/sct/32506021000036107/version/20240331" -* ^expansion.contains[=].code = #33791000087105 -* ^expansion.contains[=].display = "Identifies as nonbinary gender" -* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/data-absent-reason" -* ^expansion.contains[=].version = "5.0.0-ballot" -* ^expansion.contains[=].code = #unknown -* ^expansion.contains[=].display = "Unknown" -* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/data-absent-reason" -* ^expansion.contains[=].version = "5.0.0-ballot" -* ^expansion.contains[=].code = #asked-declined -* ^expansion.contains[=].display = "Asked But Declined" -* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/data-absent-reason" -* ^expansion.contains[=].version = "5.0.0-ballot" -* ^expansion.contains[=].code = #not-asked -* ^expansion.contains[=].display = "Not Asked" -*/ * $SCT#446151000124109 * $SCT#446141000124107 * $SCT#33791000087105 @@ -1087,47 +518,6 @@ Description: "The Australian Pronouns value set includes values that indicate th * ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/data-absent-reason" * ^expansion.contains[=].code = #asked-unknown * ^expansion.contains[=].display = "Asked But Unknown" -/* -* ^expansion.identifier = "urn:uuid:ca145c1c-4915-4957-888a-39e69de8b1ad" -* ^expansion.timestamp = "2024-04-02T14:25:01+10:00" -* ^expansion.total = 7 -* ^expansion.parameter[0].name = "version" -* ^expansion.parameter[=].valueUri = "http://loinc.org|2.77" -* ^expansion.parameter[+].name = "used-codesystem" -* ^expansion.parameter[=].valueUri = "http://loinc.org|2.77" -* ^expansion.parameter[+].name = "version" -* ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" -* ^expansion.parameter[+].name = "used-codesystem" -* ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/data-absent-reason|5.0.0-ballot" -* ^expansion.contains[0].system = "http://loinc.org" -* ^expansion.contains[=].version = "2.77" -* ^expansion.contains[=].code = #LA29518-0 -* ^expansion.contains[=].display = "he/him/his/his/himself" -* ^expansion.contains[+].system = "http://loinc.org" -* ^expansion.contains[=].version = "2.77" -* ^expansion.contains[=].code = #LA29519-8 -* ^expansion.contains[=].display = "she/her/her/hers/herself" -* ^expansion.contains[+].system = "http://loinc.org" -* ^expansion.contains[=].version = "2.77" -* ^expansion.contains[=].code = #LA29520-6 -* ^expansion.contains[=].display = "they/them/their/theirs/themselves" -* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/data-absent-reason" -* ^expansion.contains[=].version = "5.0.0-ballot" -* ^expansion.contains[=].code = #asked-declined -* ^expansion.contains[=].display = "Asked But Declined" -* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/data-absent-reason" -* ^expansion.contains[=].version = "5.0.0-ballot" -* ^expansion.contains[=].code = #asked-unknown -* ^expansion.contains[=].display = "Asked But Unknown" -* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/data-absent-reason" -* ^expansion.contains[=].version = "5.0.0-ballot" -* ^expansion.contains[=].code = #not-asked -* ^expansion.contains[=].display = "Not Asked" -* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/data-absent-reason" -* ^expansion.contains[=].version = "5.0.0-ballot" -* ^expansion.contains[=].code = #unknown -* ^expansion.contains[=].display = "Unknown" -*/ * $LOINC#LA29518-0 "he/him/his/his/himself" * $LOINC#LA29519-8 "she/her/her/hers/herself" * $LOINC#LA29520-6 "they/them/their/theirs/themselves" @@ -1183,29 +573,8 @@ Description: "The Biological Sex value set includes values that represent the bi * ^expansion.contains[+].system = "http://snomed.info/sct" * ^expansion.contains[=].code = #248153007 * ^expansion.contains[=].display = "Male" -/* -* ^expansion.identifier = "urn:uuid:e9cff1c2-8743-48cb-9bde-8f4af914544b" -* ^expansion.timestamp = "2023-08-30T10:41:59+10:00" -* ^expansion.total = 4 -* ^expansion.parameter[0].name = "version" -* ^expansion.parameter[=].valueUri = "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20230831" -* ^expansion.parameter[+].name = "used-codesystem" -* ^expansion.parameter[=].valueUri = "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20230831" -* ^expansion.contains[0].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #248152002 -* ^expansion.contains[=].display = "Female" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #32570681000036106 -* ^expansion.contains[=].display = "Indeterminate sex" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #32570691000036108 -* ^expansion.contains[=].display = "Intersex" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #248153007 -* ^expansion.contains[=].display = "Male" -*/ * include codes from system $SCT - where constraint = "^ 32570631000036107|Sex reference set|" + where constraint = "^32570631000036107|Sex reference set|" CodeSystem: HealthChecksSCTSupplement @@ -1267,27 +636,6 @@ Description: "The Cervical Screening Status value set includes values that can b * ^expansion.contains[=].version = "http://snomed.info/sct/32506021000036107/version/20250430" * ^expansion.contains[=].code = #171155001 * ^expansion.contains[=].display = "Up to date" -/* -* ^expansion.identifier = "urn:uuid:7642a243-4f23-4b17-933d-57b448902d5d" -* ^expansion.timestamp = "2024-04-08T10:41:42+10:00" -* ^expansion.total = 4 -* ^expansion.parameter[0].name = "version" -* ^expansion.parameter[=].valueUri = "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" -* ^expansion.parameter[+].name = "used-codesystem" -* ^expansion.parameter[=].valueUri = "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" -* ^expansion.contains[0].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #736595007 -* ^expansion.contains[=].display = "Declined" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #410527000 -* ^expansion.contains[=].display = "Offered" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #171154002 -* ^expansion.contains[=].display = "Not required" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #171155001 -* ^expansion.contains[=].display = "Up to date" -*/ ValueSet: SmokingQuitStatus Id: SmokingQuitStatus-1 @@ -1317,21 +665,6 @@ Description: "The Smoking Quit Status value set includes values that can indicat * ^expansion.contains[=].version = "http://snomed.info/sct/32506021000036107/version/20250430" * ^expansion.contains[=].code = #735128000 * ^expansion.contains[=].display = "Quit <12 months" -/* -* ^expansion.identifier = "urn:uuid:86b4329d-aca5-4e54-9b5e-67296c7ce9db" -* ^expansion.timestamp = "2024-04-08T12:56:59+10:00" -* ^expansion.total = 2 -* ^expansion.parameter[0].name = "version" -* ^expansion.parameter[=].valueUri = "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" -* ^expansion.parameter[+].name = "used-codesystem" -* ^expansion.parameter[=].valueUri = "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20240331" -* ^expansion.contains[0].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #48031000119106 -* ^expansion.contains[=].display = "Quit >12 months" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #735128000 -* ^expansion.contains[=].display = "Quit <12 months" -*/ * $SCT|http://snomed.info/sct/32506021000036107/version/20250430#48031000119106 "Quit >12 months" * $SCT|http://snomed.info/sct/32506021000036107/version/20250430#735128000 "Quit <12 months" @@ -1379,33 +712,6 @@ Description: "The Tobacco Use Status value set includes values that may be used * ^expansion.contains[=].version = "http://snomed.info/sct/32506021000036107/version/20250430" * ^expansion.contains[=].code = #713914004 * ^expansion.contains[=].display = "Other tobacco use" - -/* -* ^expansion.identifier = "urn:uuid:577a997d-bacd-499f-bae4-aa6efdcca45e" -* ^expansion.timestamp = "2024-11-29T10:37:34+10:00" -* ^expansion.parameter[0].name = "version" -* ^expansion.parameter[=].valueUri = "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20241130" -* ^expansion.parameter[+].name = "used-codesystem" -* ^expansion.parameter[=].valueUri = "http://snomed.info/sct|http://snomed.info/sct/32506021000036107/version/20241130" -* ^expansion.contains[0].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #266919005 -* ^expansion.contains[=].display = "Never smoked" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #77176002 -* ^expansion.contains[=].display = "Current smoker" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #8517006 -* ^expansion.contains[=].display = "Ex-smoker" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #16090371000119103 -* ^expansion.contains[=].display = "Exposure to second hand tobacco smoke" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #394872000 -* ^expansion.contains[=].display = "Wants to quit" -* ^expansion.contains[+].system = "http://snomed.info/sct" -* ^expansion.contains[=].code = #713914004 -* ^expansion.contains[=].display = "Other tobacco use" -*/ * $SCT|http://snomed.info/sct/32506021000036107/version/20250430#266919005 "Never smoked" * $SCT|http://snomed.info/sct/32506021000036107/version/20250430#77176002 "Current smoker" * $SCT|http://snomed.info/sct/32506021000036107/version/20250430#8517006 "Ex-smoker" @@ -1430,7 +736,7 @@ Description: "The Australian Medicines Terminology (AMT) Vaccine value set inclu * ^contact.telecom.system = #email * ^contact.telecom.value = "help@digitalhealth.gov.au" * ^copyright = "Copyright © 2018 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\n This resource includes SNOMED Clinical Terms™ (SNOMED CT®) which is used by permission of the International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. “SNOMED” and “SNOMED CT” are registered trademarks of the IHTSDO. \n\nThe rights to use and implement or implementation of SNOMED CT content are limited to the extent it is necessary to allow for the end use of this material. No further rights are granted in respect of the International Release and no further use of any SNOMED CT content by any other party is permitted. \n\nAll copies of this resource must include this copyright statement and all information contained in this statement." -* include codes from system SNOMED_CT where concept in "1156291000168106" +* include codes from system $SCT where concept in "1156291000168106" ValueSet: SmartHealthChecksMedicineProducts Id: smart-health-checks-medicine-products @@ -1459,8 +765,8 @@ Description: "The Medication Reason Taken value set includes values that identif * ^contact.telecom.system = #email * ^contact.telecom.value = "help@digitalhealth.gov.au" * ^copyright = "Copyright © 2020 Australian Digital Health Agency - All rights reserved. Except for the material identified below, this content is licensed under a Creative Commons Attribution 4.0 International License. See https://creativecommons.org/licenses/by/4.0/. \n\nThis resource includes SNOMED Clinical Terms™ (SNOMED CT®) which is used by permission of the International Health Terminology Standards Development Organisation (IHTSDO). All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. “SNOMED” and “SNOMED CT” are registered trademarks of the IHTSDO. \n\nThe rights to use and implement or implementation of SNOMED CT content are limited to the extent it is necessary to allow for the end use of this material. No further rights are granted in respect of the International Release and no further use of any SNOMED CT content by any other party is permitted.\n\nAll copies of this resource must include this copyright statement and all information contained in this statement." -* include codes from system SNOMED_CT - where constraint = "^ 32570581000036105|Problem/Diagnosis reference set| OR ^ 1184831000168105|Drug prophylaxis reference set| OR << 399097000|Administration of anaesthesia| OR 169443000|Preventive procedure|" +* include codes from system $SCT + where constraint = "^32570581000036105|Problem/Diagnosis reference set| OR ^1184831000168105|Drug prophylaxis reference set| OR <<399097000|Administration of anaesthesia| OR 169443000|Preventive procedure|" ValueSet: HeartRhythm Id: heart-rhythm-1 diff --git a/input/pagecontent/actor-definitions.md b/input/pagecontent/actor-definitions.md index ada8f901..39f1139d 100644 --- a/input/pagecontent/actor-definitions.md +++ b/input/pagecontent/actor-definitions.md @@ -10,5 +10,5 @@ The following actor definitions have been defined for this implementation guide. - The SHC Host Authorization Server allows the SHC App to request authorisation from the PMS user to access patient health information to prepopulate and write back health checks data using the PMS FHIR Server. - [SHC Host FHIR Server](ActorDefinition-SHCHostFHIRServer.html) - - The SHC Host FHIR Server allows the SHC App to retrieve patient health information and writeback collected health check data. + - The SHC Host FHIR Server allows the SHC App to retrieve patient health information and write back collected health check data. diff --git a/input/pagecontent/capability-statements.md b/input/pagecontent/capability-statements.md index 8b3ccb88..6a286582 100644 --- a/input/pagecontent/capability-statements.md +++ b/input/pagecontent/capability-statements.md @@ -5,15 +5,5 @@ The following capability statements have been defined for this implementation gu
        {% include list-capabilitystatements.xhtml %} -
        -
        - - - - - - - - - +
        diff --git a/input/pagecontent/general-requirements.md b/input/pagecontent/general-requirements.md index d08ea5b9..7d3d0fb4 100644 --- a/input/pagecontent/general-requirements.md +++ b/input/pagecontent/general-requirements.md @@ -90,7 +90,7 @@ The obligation codes have been specified according to the following rationale: Code | SHC Host FHIR Server | SHC App --- | --- | --- [SHALL:populate](https://hl7.org/fhir/extensions/CodeSystem-obligation.html#obligation-SHALL.58populate) | Indicates the element is required for accurate prepopulation or writeback. Additionally, if there is a prepopulation search query with a parameter that relies on an element, it SHALL be included. | Indicates the element will be included in a resource for writeback. There is no reason the SHC App won't know this information. -[SHALL:populate-if-known](https://hl7.org/fhir/extensions/CodeSystem-obligation.html#obligation-SHALL.58populate-if-known) | Indicates thes element is important for prepopulating a field in the form, however if it is missing, population will not be inaccurate, it will just not occur. | Indicates that if it is known, the element will be included in a resource for writeback. A reason it may not be known, is if a user has not recorded it and is therefore not included in the QuestionnaireResponse. +[SHALL:populate-if-known](https://hl7.org/fhir/extensions/CodeSystem-obligation.html#obligation-SHALL.58populate-if-known) | Indicates this element is important for prepopulating a field in the form, however if it is missing, population will not be inaccurate, it will just not occur. | Indicates that if it is known, the element will be included in a resource for writeback. A reason it may not be known, is if a user has not recorded it and is therefore not included in the QuestionnaireResponse. [SHALL:process](https://hl7.org/fhir/extensions/CodeSystem-obligation.html#obligation-SHALL.58process) | Indicates that when the element is included in a resource by the SHC App, it should be processed and considered for accurate writeback. | Indicates the SHC App will process the element and use it for prepopulating a QuestionnaireResponse or for generating a transaction bundle for writeback. #### Must Support - Resource References diff --git a/input/pagecontent/index.md b/input/pagecontent/index.md index f74f3e5f..4587d057 100644 --- a/input/pagecontent/index.md +++ b/input/pagecontent/index.md @@ -38,7 +38,7 @@ The SHC Host Authorization Server allows the SHC App to request authorisation fr The Smart Health Check App follows a standard set of interactions which are summarised as: 1. App Launch: The SHC User initiates the SHC Host to launch SHC App with a context of the current user, patient and health check form. 2. SMART Authorization Configuration: The SHC App uses SHC Host FHIR Server to locate the SHC Host Authorization Server endpoints and capability. -3. Authorization Request: SHC App redirects to the SHC Host Authorization Server to authorise access to patient health information using the SHC Host FHR Server. The SHC User may be prompted to permit or deny access to the requested data. +3. Authorization Request: SHC App redirects to the SHC Host Authorization Server to authorise access to patient health information using the SHC Host FHIR Server. The SHC User may be prompted to permit or deny access to the requested data. 4. Authorization Callback: The SHC Host redirects back to the SHC App to proceed with the authorised launch of the health check form. 5. Token Request: SHC App requests an access token and associated launch context, including user, patient and health check form, from the SHC Host Authorization Server. 6. Prepopulate Health Check: SHC App uses the launch context to use the SHC Host FHIR Server to: diff --git a/input/pagecontent/informative-guidance.xml b/input/pagecontent/informative-guidance.xml index 1e3a8821..91da5a05 100644 --- a/input/pagecontent/informative-guidance.xml +++ b/input/pagecontent/informative-guidance.xml @@ -11,7 +11,7 @@

        The following document was produced as part of a previous phase of the Smart Health Checks project. It is provided here for reference only. Current requirements have changed since this document was produced.

        - +
        diff --git a/input/pagecontent/profiles-and-extensions.md b/input/pagecontent/profiles-and-extensions.md index 056fd517..b284069b 100644 --- a/input/pagecontent/profiles-and-extensions.md +++ b/input/pagecontent/profiles-and-extensions.md @@ -1,8 +1,6 @@ - - ### Profiles -The following profiles and have been defined for this implementation guide. +The following profiles have been defined for this implementation guide. diff --git a/input/pagecontent/questionnaires.md b/input/pagecontent/questionnaires.md index d71e2391..54133963 100644 --- a/input/pagecontent/questionnaires.md +++ b/input/pagecontent/questionnaires.md @@ -1,5 +1,3 @@ - - ### Questionnaires The following questionnaires have been defined for this implementation guide. @@ -11,11 +9,3 @@ The following questionnaires have been defined for this implementation guide.
        - - - - - - - - diff --git a/input/pagecontent/smart-health-check-integration.md b/input/pagecontent/smart-health-check-integration.md index ebd6f2d0..cb909609 100644 --- a/input/pagecontent/smart-health-check-integration.md +++ b/input/pagecontent/smart-health-check-integration.md @@ -76,7 +76,7 @@ The Smart Forms Server will also be used during the Health Check form developmen ###### Ontoserver Ontoserver is a terminology server with a FHIR API that allows the SHCA to access FHIR ValueSet resources used in Health Checks and evaluate filtered expansions at runtime based on user entered lookahead requests for concepts such as diagnoses, medications and body sites. -### Practice Mangement System Requirements +### Practice Management System Requirements The conformance requirements for a system launching the SHCA and exchanging patient data are described by the [SHC Host FHIR Server CapabilityStatement](CapabilityStatement-SHCHostFHIRServerCapabilityStatement.html). This resource forms the normative requirements for integrating the Smart Health Check solution. @@ -137,7 +137,7 @@ Fundamental requirements are defined in the [core FHIR®© spe The PMS FHIR Server requirements are described by the [SHC Host FHIR Server CapabilityStatement](CapabilityStatement-SHCHostFHIRServerCapabilityStatement.html). -A summary of the required FHIR endpoints, resources and RESTful interactions are shown below. If there are any variations between this page and the CapabilityStatement above, the CapabilityStatement takes precendence. +A summary of the required FHIR endpoints, resources and RESTful interactions are shown below. If there are any variations between this page and the CapabilityStatement above, the CapabilityStatement takes precedence. * .well-known/smart-configuration (in accordance with the [SMART App Launch implementation guide](https://hl7.org/fhir/smart-app-launch/STU2.2/app-launch.html#retrieve-well-knownsmart-configuration)) * [AU Core AllergyIntolerance](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-allergyintolerance.html) - `create`, `search` diff --git a/input/pagecontent/terminology.md b/input/pagecontent/terminology.md index 9ec025fd..17c95447 100644 --- a/input/pagecontent/terminology.md +++ b/input/pagecontent/terminology.md @@ -1,4 +1,3 @@ - This page lists all ValueSets and CodeSystems defined as part of this specification. ### Value Sets @@ -18,11 +17,6 @@ See the [FHIR terminology section]({{site.data.fhir.path}}terminologies-systems. - [Aboriginal and/or Torres Strait Islander](ValueSet-AboriginalTorresStraitIslander.html) - [Condition Clinical Status Codes](ValueSet-condition-clinical.html) - [Clinical condition](ValueSet-clinical-condition-1.html) - - - - - - [Primary Carer Of Parent Or Grandparent](ValueSet-PrimaryCarerParentGrandparent.html) - [Yes/No](ValueSet-YesNo.html) - [Yes/No/NA](ValueSet-YesNoNA.html) diff --git a/input/resources/CodeSystem-questionnaire-item-control.json b/input/resources/CodeSystem-questionnaire-item-control.json deleted file mode 100644 index 8b36aedc..00000000 --- a/input/resources/CodeSystem-questionnaire-item-control.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "resourceType": "CodeSystem", - "id": "questionnaire-item-control", - "text": { - "status": "extensions", - "div": "

        Properties

        This code system defines the following properties for its concepts

        CodeURITypeDescription
        abstractbooleanTrue if an element is considered 'abstract' - that is the code is not for use as a real concept
        statushttp://hl7.org/fhir/concept-properties#statuscodeA property that indicates the status of the concept. One of active, experimental, deprecated, or retired.
        deprecationDatehttp://hl7.org/fhir/concept-properties#deprecationDatedateTimeThe date at which a concept was deprecated. Concepts that are deprecated but not inactive can still be used, but their use is discouraged.

        Concepts

        This code system http://hl7.org/fhir/questionnaire-item-control defines the following codes:

        LvlCodeDisplayDefinitionDeprecatedabstractStatusDeprecation Date
        1group UI controls relevant to organizing groups of questionstrue
        2 list ListQuestions within the group should be listed sequentially
        2 table Vertical Answer TableQuestions within the group are rows in the table with possible answers as columns. Used for 'choice' questions. The questions within a group marked with this controlType SHALL provide an enumerated list of options and SHOULD refer to the same set of options, same value set or same expression. In the case of a 'sparse' table where some options aren't available for some questions, the order of the answers in the table is not defined and some rendering tools may refuse to display the group as a table.
        2 htable Horizontal Answer TableQuestions within the group are columns in the table with possible answers as rows. Used for 'choice' questions. The questions within a group marked with this controlType SHALL provide an enumerated list of options and SHOULD refer to the same set of options, same value set or same expression. In the case of a 'sparse' table where some options aren't available for some questions, the order of the answers in the table is not defined and some rendering tools may refuse to display the group as a table.
        2 gtable Group TableQuestions within the group are columns in the table with each group repetition as a row. Used for single-answer questions.
        2 grid Group GridChild items of type='group' within the a 'grid' group are rows, and questions beneath the 'row' groups are organized as columns in the grid. The grid might be fully populated, but could be sparse. Questions may support different data types and/or different answer choices.
        2 header HeaderThe group is to be continuously visible at the top of the questionnaire
        2 footer FooterThe group is to be continuously visible at the bottom of the questionnaire
        2 page PageIndicates that the content within the group should appear as a logical "page" when rendering the form, such that all enabled items within the page are displayed at once, but items in subsequent groups are not displayed until the user indicates a desire to move to the 'next' group. (Header and footer items may still be displayed.) This designation may also influence pagination when printing questionnaires. If there are items at the same level as a 'page' group that are listed before the 'page' group, they will be treated as a separate page. Header and footer groups for a questionnaire will be rendered on all pages.
        2 tab-container Tab ContainerIndicates that the group represents a collection of tabs. All child items SHALL be of type 'group' and SHALL NOT declare any item controls themselves. Each child group represents one tab within the tab container, where the item.title is the label for the tab.
        1display UI controls relevant to rendering questionnaire display itemstrue
        2 inline In-lineDisplay item is rendered as a paragraph in a sequential position between sibling items (default behavior)
        2 prompt PromptText is displayed immediately below or within the answer-entry area of the containing question item (typically as a guide for what to enter). **Deprecation Note** - Use the [[[http://hl7.org/fhir/StructureDefinition/entryFormat]]] extension instead.Deprecateddeprecated2019-10-03
        2 unit UnitDisplay item is rendered adjacent (horizontally or vertically) to the answer space for the parent question, typically to indicate a unit of measure. **Deprecation Note** - The display element of the [[[http://hl7.org/fhir/StructureDefinition/questionnaire-unit]]] should be used instead.Deprecateddeprecated2022-09-08
        2 lower Lower-boundDisplay item is rendered to the left of the set of answer choices or a scaling control for the parent question item to indicate the meaning of the 'lower' bound. E.g. 'Strongly disagree'
        2 upper Upper-boundDisplay item is rendered to the right of the set of answer choices or a scaling control for the parent question item to indicate the meaning of the 'upper' bound. E.g. 'Strongly agree'
        2 flyover Fly-overDisplay item is temporarily visible over top of an item if the mouse is positioned over top of the text for the containing item
        2 help Help-ButtonDisplay item is rendered in a dialog box or similar control if invoked by pushing a button or some other UI-appropriate action to request 'help' for a question, group or the questionnaire as a whole (depending what the display item is nested within)
        2 legal legal-ButtonDisplay item is rendered in a dialog box or similar control if invoked by pushing a button or some other UI-appropriate action to request 'legal' info for a question, group or the questionnaire as a whole (depending what the display item is nested within)
        1question UI controls relevant to capturing question datatrue
        2 autocomplete Auto-completeA control which provides a list of potential matches based on text entered into a control. Used for large choice sets where text-matching is an appropriate discovery mechanism.
        2 drop-down Drop downA control where an item (or multiple items) can be selected from a list that is only displayed when the user is editing the field. This control is best used for small-to-medium sized lists of options that can reasonably be scanned and selected in a drop-down control. If the list of options is managed by ValueSet, the designer should be confident that the set of codes will both be fully available and appropriately sized. For larger lists, the autocomplete control is more appropriate.
        2 check-box Check-boxA control where choices are listed with a box beside them. The box can be toggled to select or de-select a given choice. Multiple selections may be possible. Commonly useful for repeating items of type constrained by answerOption, answerValueset or answerExpression, however can also be used for boolean (if the checkbox is a 3-state control that allows 'unanswered' as a possibility).
        2 lookup LookupA control where editing an item spawns a separate dialog box or screen permitting a user to navigate, filter or otherwise discover an appropriate match. Useful for large choice sets where text matching is not an appropriate discovery mechanism. Such screens must generally be tuned for the specific choice list structure.
        2 radio-button Radio ButtonA control where choices are listed with a button beside them. The button can be toggled to select or de-select a given choice. Selecting one item deselects all others. Used for non-repeating items with 'closed' answerOption, answerValueset or answerExpression constraints. Can also be used for boolean so long as there is a button for 'unanswered' or it's possible to deselect all items.
        2 slider SliderA control where an axis is displayed between the high and low values and the control can be visually manipulated to select a value anywhere on the axis.
        2 spinner SpinnerA control where a list of numeric or other ordered values can be scrolled through via arrows.
        2 text-box Text BoxA control where a user can type in their answer freely.
        " - }, - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg", - "valueCode": "fhir" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", - "valueCode": "trial-use" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm", - "valueInteger": 3 - } - ], - "url": "http://hl7.org/fhir/questionnaire-item-control", - "identifier": [ - { - "system": "urn:ietf:rfc:3986", - "value": "urn:oid:2.16.840.1.113883.4.642.4.932" - }, - { - "use": "old", - "system": "urn:ietf:rfc:3986", - "value": "urn:oid:2.16.840.1.113883.4.642.1.849" - } - ], - "version": "1.0.0", - "name": "QuestionnaireItemUIControlCodes", - "title": "Questionnaire Item UI Control Codes", - "status": "active", - "experimental": false, - "date": "2023-03-26T09:00:24+11:00", - "publisher": "HL7 International / FHIR Infrastructure", - "contact": [ - { - "telecom": [ - { - "system": "url", - "value": "http://hl7.org/Special/committees/fhir-i" - } - ] - } - ], - "description": "Starter set of user interface control/display mechanisms that might be used when rendering an item in a questionnaire.", - "jurisdiction": [ - { - "coding": [ - { - "system": "http://unstats.un.org/unsd/methods/m49/m49.htm", - "code": "001" - } - ] - } - ], - "copyright": "Copyright © 2011+ HL7. Creative Commons 'No Rights Reserved' (CC0)", - "caseSensitive": true, - "valueSet": "http://hl7.org/fhir/ValueSet/questionnaire-item-control", - "hierarchyMeaning": "is-a", - "content": "complete", - "property": [ - { - "code": "abstract", - "description": "True if an element is considered 'abstract' - that is the code is not for use as a real concept", - "type": "boolean" - }, - { - "code": "status", - "uri": "http://hl7.org/fhir/concept-properties#status", - "description": "A property that indicates the status of the concept. One of active, experimental, deprecated, or retired.", - "type": "code" - }, - { - "code": "deprecationDate", - "uri": "http://hl7.org/fhir/concept-properties#deprecationDate", - "description": "The date at which a concept was deprecated. Concepts that are deprecated but not inactive can still be used, but their use is discouraged.", - "type": "dateTime" - } - ], - "concept": [ - { - "code": "group", - "definition": "UI controls relevant to organizing groups of questions", - "property": [ - { - "code": "abstract", - "valueBoolean": true - } - ], - "concept": [ - { - "code": "list", - "display": "List", - "definition": "Questions within the group should be listed sequentially" - }, - { - "code": "table", - "display": "Vertical Answer Table", - "definition": "Questions within the group are rows in the table with possible answers as columns. Used for 'choice' questions. The questions within a group marked with this controlType SHALL provide an enumerated list of options and SHOULD refer to the same set of options, same value set or same expression. In the case of a 'sparse' table where some options aren't available for some questions, the order of the answers in the table is not defined and some rendering tools may refuse to display the group as a table." - }, - { - "code": "htable", - "display": "Horizontal Answer Table", - "definition": "Questions within the group are columns in the table with possible answers as rows. Used for 'choice' questions. The questions within a group marked with this controlType SHALL provide an enumerated list of options and SHOULD refer to the same set of options, same value set or same expression. In the case of a 'sparse' table where some options aren't available for some questions, the order of the answers in the table is not defined and some rendering tools may refuse to display the group as a table." - }, - { - "code": "gtable", - "display": "Group Table", - "definition": "Questions within the group are columns in the table with each group repetition as a row. Used for single-answer questions." - }, - { - "code": "grid", - "display": "Group Grid", - "definition": "Child items of type='group' within the a 'grid' group are rows, and questions beneath the 'row' groups are organized as columns in the grid. The grid might be fully populated, but could be sparse. Questions may support different data types and/or different answer choices." - }, - { - "code": "header", - "display": "Header", - "definition": "The group is to be continuously visible at the top of the questionnaire" - }, - { - "code": "footer", - "display": "Footer", - "definition": "The group is to be continuously visible at the bottom of the questionnaire" - }, - { - "code": "page", - "display": "Page", - "definition": "Indicates that the content within the group should appear as a logical \"page\" when rendering the form, such that all enabled items within the page are displayed at once, but items in subsequent groups are not displayed until the user indicates a desire to move to the 'next' group. (Header and footer items may still be displayed.) This designation may also influence pagination when printing questionnaires. If there are items at the same level as a 'page' group that are listed before the 'page' group, they will be treated as a separate page. Header and footer groups for a questionnaire will be rendered on all pages." - }, - { - "code": "tab-container", - "display": "Tab Container", - "definition": "Indicates that the group represents a collection of tabs. All child items SHALL be of type 'group' and SHALL NOT declare any item controls themselves. Each child group represents one tab within the tab container, where the item.title is the label for the tab." - } - ] - }, - { - "code": "display", - "definition": "UI controls relevant to rendering questionnaire display items", - "property": [ - { - "code": "abstract", - "valueBoolean": true - } - ], - "concept": [ - { - "code": "inline", - "display": "In-line", - "definition": "Display item is rendered as a paragraph in a sequential position between sibling items (default behavior)" - }, - { - "code": "prompt", - "display": "Prompt", - "definition": "Text is displayed immediately below or within the answer-entry area of the containing question item (typically as a guide for what to enter). **Deprecation Note** - Use the [[[http://hl7.org/fhir/StructureDefinition/entryFormat]]] extension instead.", - "property": [ - { - "code": "status", - "valueCode": "deprecated" - }, - { - "code": "deprecationDate", - "valueDateTime": "2019-10-03" - } - ] - }, - { - "code": "unit", - "display": "Unit", - "definition": "Display item is rendered adjacent (horizontally or vertically) to the answer space for the parent question, typically to indicate a unit of measure. **Deprecation Note** - The display element of the [[[http://hl7.org/fhir/StructureDefinition/questionnaire-unit]]] should be used instead.", - "property": [ - { - "code": "status", - "valueCode": "deprecated" - }, - { - "code": "deprecationDate", - "valueDateTime": "2022-09-08" - } - ] - }, - { - "code": "lower", - "display": "Lower-bound", - "definition": "Display item is rendered to the left of the set of answer choices or a scaling control for the parent question item to indicate the meaning of the 'lower' bound. E.g. 'Strongly disagree'" - }, - { - "code": "upper", - "display": "Upper-bound", - "definition": "Display item is rendered to the right of the set of answer choices or a scaling control for the parent question item to indicate the meaning of the 'upper' bound. E.g. 'Strongly agree'" - }, - { - "code": "flyover", - "display": "Fly-over", - "definition": "Display item is temporarily visible over top of an item if the mouse is positioned over top of the text for the containing item" - }, - { - "code": "help", - "display": "Help-Button", - "definition": "Display item is rendered in a dialog box or similar control if invoked by pushing a button or some other UI-appropriate action to request 'help' for a question, group or the questionnaire as a whole (depending what the display item is nested within)" - }, - { - "code": "legal", - "display": "legal-Button", - "definition": "Display item is rendered in a dialog box or similar control if invoked by pushing a button or some other UI-appropriate action to request 'legal' info for a question, group or the questionnaire as a whole (depending what the display item is nested within)" - } - ] - }, - { - "code": "question", - "definition": "UI controls relevant to capturing question data", - "property": [ - { - "code": "abstract", - "valueBoolean": true - } - ], - "concept": [ - { - "code": "autocomplete", - "display": "Auto-complete", - "definition": "A control which provides a list of potential matches based on text entered into a control. Used for large choice sets where text-matching is an appropriate discovery mechanism." - }, - { - "code": "drop-down", - "display": "Drop down", - "definition": "A control where an item (or multiple items) can be selected from a list that is only displayed when the user is editing the field. This control is best used for small-to-medium sized lists of options that can reasonably be scanned and selected in a drop-down control. If the list of options is managed by ValueSet, the designer should be confident that the set of codes will both be fully available and appropriately sized. For larger lists, the autocomplete control is more appropriate." - }, - { - "code": "check-box", - "display": "Check-box", - "definition": "A control where choices are listed with a box beside them. The box can be toggled to select or de-select a given choice. Multiple selections may be possible. Commonly useful for repeating items of type constrained by answerOption, answerValueset or answerExpression, however can also be used for boolean (if the checkbox is a 3-state control that allows 'unanswered' as a possibility)." - }, - { - "code": "lookup", - "display": "Lookup", - "definition": "A control where editing an item spawns a separate dialog box or screen permitting a user to navigate, filter or otherwise discover an appropriate match. Useful for large choice sets where text matching is not an appropriate discovery mechanism. Such screens must generally be tuned for the specific choice list structure." - }, - { - "code": "radio-button", - "display": "Radio Button", - "definition": "A control where choices are listed with a button beside them. The button can be toggled to select or de-select a given choice. Selecting one item deselects all others. Used for non-repeating items with 'closed' answerOption, answerValueset or answerExpression constraints. Can also be used for boolean so long as there is a button for 'unanswered' or it's possible to deselect all items." - }, - { - "code": "slider", - "display": "Slider", - "definition": "A control where an axis is displayed between the high and low values and the control can be visually manipulated to select a value anywhere on the axis." - }, - { - "code": "spinner", - "display": "Spinner", - "definition": "A control where a list of numeric or other ordered values can be scrolled through via arrows." - }, - { - "code": "text-box", - "display": "Text Box", - "definition": "A control where a user can type in their answer freely." - } - ] - } - ] -} \ No newline at end of file diff --git a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json index fc26af48..72a262ab 100644 --- a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json +++ b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json @@ -680,7 +680,7 @@ { "property": "constraint", "op": "=", - "value": "^ 32570631000036107|Sex reference set|" + "value": "^32570631000036107|Sex reference set|" } ] } @@ -1348,7 +1348,7 @@ { "property": "constraint", "op": "=", - "value": "^ 32570581000036105|Problem/Diagnosis reference set| OR ^ 1184831000168105|Drug prophylaxis reference set| OR << 399097000|Administration of anaesthesia| OR 169443000|Preventive procedure|" + "value": "^32570581000036105|Problem/Diagnosis reference set| OR ^1184831000168105|Drug prophylaxis reference set| OR <<399097000|Administration of anaesthesia| OR 169443000|Preventive procedure|" } ] } @@ -3272,7 +3272,6 @@ "coding": [ { "system": "http://hl7.org/fhir/questionnaire-item-control", - "version": "1.0.0", "code": "tab-container" } ] @@ -5662,7 +5661,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "(%age <= 49).intersect(%age > 12)" + "expression": "(%age <= 49) and (%age > 12)" } } ], @@ -8665,7 +8664,7 @@ } ], "linkId": "20ae39db-7bb5-4af4-ac59-3298d20719d8", - "text": "details", + "text": "Details", "type": "display" } ] @@ -8700,7 +8699,7 @@ } ], "linkId": "61ff302c-9ef0-414c-a9f8-e2b8d119373c", - "text": "details", + "text": "Details", "type": "display" } ] @@ -8735,7 +8734,7 @@ } ], "linkId": "520a4544-a48b-4864-8cfd-6af263756f1b", - "text": "details", + "text": "Details", "type": "display" } ] @@ -8770,7 +8769,7 @@ } ], "linkId": "2e24a8de-c23d-409a-a5d6-96345177e105", - "text": "details", + "text": "Details", "type": "display" } ] @@ -8805,7 +8804,7 @@ } ], "linkId": "f95dd477-98a2-4534-b8ab-5a74d1b46502", - "text": "details", + "text": "Details", "type": "display" } ] @@ -8821,7 +8820,7 @@ } ], "linkId": "9371dddc-49f4-4a8f-a9dc-a0e128f99636", - "text": "Are there any other concerns about your child's learning and development", + "text": "Are there any other concerns about your child's learning and development?", "type": "text", "repeats": false, "item": [ @@ -8840,7 +8839,7 @@ } ], "linkId": "f513b077-5714-4b14-b44f-30a979509651", - "text": "details", + "text": "Details", "type": "display" } ] @@ -8873,7 +8872,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "(%age > 12).intersect(%age < 50)" + "expression": "(%age > 12) and (%age < 50)" } } ], @@ -9233,12 +9232,6 @@ } ] }, - { - "linkId": "ed6f7800-e22a-4639-9d11-faf845513500", - "text": "Health priorities, actions and follow-up", - "type": "text", - "repeats": false - }, { "linkId": "MarkComplete-16", "text": "Mark section as complete", @@ -9816,7 +9809,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "(%age >= 50).intersect(%age <= 74)" + "expression": "(%age >= 50) and (%age <= 74)" } } ], @@ -10504,12 +10497,12 @@ } ], "linkId": "7a22a4c4-6611-4687-af00-37c80c3f8fc0", - "text": "Document conversation about health eating which could include: current diet including food and drinks; recommendations about fruit and vegetable intake, water as the main drink, avoiding sugary drinks, avoiding highly processed foods (including supermarket-bought and take-away like KFC, Maccas, etc)", + "text": "Document conversation about healthy eating which could include: current diet including food and drinks; recommendations about fruit and vegetable intake, water as the main drink, avoiding sugary drinks, avoiding highly processed foods (including supermarket-bought and take-away like KFC, Maccas, etc)", "_text": { "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
        \r\n
        Document conversation about health eating which could include:
        \r\n
          \r\n
        • current diet including food and drinks
        • \r\n
        • recommendations about fruit and vegetable intake, water as the main drink, avoiding sugary drinks, avoiding highly processed foods (including supermarket-bought and take-away like KFC, Maccas, etc)
        • \r\n
        \r\n
        " + "valueString": "
        \r\n
        Document conversation about healthy eating which could include:
        \r\n
          \r\n
        • current diet including food and drinks
        • \r\n
        • recommendations about fruit and vegetable intake, water as the main drink, avoiding sugary drinks, avoiding highly processed foods (including supermarket-bought and take-away like KFC, Maccas, etc)
        • \r\n
        \r\n
        " } ] }, @@ -10890,7 +10883,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "(%age > 12).intersect(%age <= 24)" + "expression": "(%age > 12) and (%age <= 24)" } } ], @@ -11219,7 +11212,7 @@ } ], "linkId": "0b520b20-98df-4024-b25d-2986f6b96e77", - "text": "What age group is the child closet to?", + "text": "What age group is the child closest to?", "type": "choice", "repeats": false, "answerOption": [ @@ -11347,7 +11340,7 @@ "valueString": "Does not notice someone new" }, { - "valueString": "Does not pay early turn taking games (eg peekaboo, rolling a ball)" + "valueString": "Does not play early turn taking games (e.g. peekaboo, rolling a ball)" } ] }, @@ -11409,7 +11402,7 @@ "repeats": true, "answerOption": [ { - "valueString": "When playing with toys tends to bang, drop, or throw them rather than use them for their purpose (eg Cuddle doll, build blocks)" + "valueString": "When playing with toys tends to bang, drop, or throw them rather than use them for their purpose (e.g. cuddle doll, build blocks)" } ] }, @@ -11536,7 +11529,7 @@ "repeats": true, "answerOption": [ { - "valueString": "Not starting to babble (eg aahh, oohh)" + "valueString": "Not starting to babble (e.g. aahh, oohh)" } ] }, @@ -11567,10 +11560,10 @@ "repeats": true, "answerOption": [ { - "valueString": "Not using gestures (eg pointing, showing, waving)" + "valueString": "Not using gestures (e.g. pointing, showing, waving)" }, { - "valueString": "Not using two part babble (eg bubu, dada)" + "valueString": "Not using two part babble (e.g. bubu, dada)" } ] }, @@ -11604,7 +11597,7 @@ "valueString": "No babbled phrases that sound like talking" }, { - "valueString": "No response to familiar words (eg bottle, daddy)" + "valueString": "No response to familiar words (e.g. bottle, daddy)" } ] }, @@ -11638,7 +11631,7 @@ "valueString": "No clear words" }, { - "valueString": "Cannot understand short requests (eg 'Where is the ball?')" + "valueString": "Cannot understand short requests (e.g. 'Where is the ball?')" } ] }, @@ -11672,7 +11665,7 @@ "valueString": "Not learning new words" }, { - "valueString": "Not putting words together (eg 'push car')" + "valueString": "Not putting words together (e.g. 'push car')" } ] }, @@ -11706,7 +11699,7 @@ "valueString": "Speech is difficult for familiar people to understand" }, { - "valueString": "Not using simple sentences (eg big car go)" + "valueString": "Not using simple sentences (e.g. big car go)" } ] }, @@ -11740,7 +11733,7 @@ "valueString": "Speech difficult to understand" }, { - "valueString": "Not able to follow directions with two steps (eg 'Put your bag away and then go play')" + "valueString": "Not able to follow directions with two steps (e.g. 'Put your bag away and then go play')" } ] }, @@ -11774,7 +11767,7 @@ "valueString": "Difficulty telling a parent what is wrong" }, { - "valueString": "Not able to answer questions in a simple conversation (eg What's your name? Who is your family?)" + "valueString": "Not able to answer questions in a simple conversation (e.g. What's your name? Who is your family?)" } ] }, @@ -11984,7 +11977,7 @@ "valueString": "Does not attempt everyday care skills (such as feeding or dressing)" }, { - "valueString": "Difficulty in manipulating small objects (eg threading beads)" + "valueString": "Difficulty in manipulating small objects (e.g. threading beads)" } ] }, @@ -12055,7 +12048,7 @@ "valueString": "Not independently able to complete everyday routines such as feeding and dressing" }, { - "valueString": "Cannot draw simple pictures (eg stick person)" + "valueString": "Cannot draw simple pictures (e.g. stick person)" } ] }, @@ -12160,7 +12153,7 @@ "repeats": true, "answerOption": [ { - "valueString": "No form of independent mobility (eg crawling, commando crawling, bottom shuffle)" + "valueString": "No form of independent mobility (e.g. crawling, commando crawling, bottom shuffle)" }, { "valueString": "Not pulling to stand independently and holding on for support" @@ -12492,7 +12485,6 @@ "coding": [ { "system": "http://hl7.org/fhir/questionnaire-item-control", - "version": "1.0.0", "code": "grid" } ] @@ -12899,7 +12891,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "(%age > 12).intersect(%age <= 24)" + "expression": "(%age > 12) and (%age <= 24)" } }, { @@ -13074,7 +13066,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "(%age > 24).intersect(%age <= 49)" + "expression": "(%age > 24) and (%age <= 49)" } } ], @@ -13682,7 +13674,6 @@ "coding": [ { "system": "http://hl7.org/fhir/questionnaire-item-control", - "version": "1.0.0", "code": "grid" } ] @@ -14482,7 +14473,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "(%age > 5).intersect(%age <= 12)" + "expression": "(%age > 5) and (%age <= 12)" } } ], @@ -15196,7 +15187,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "(%age > 12).intersect(%age <= 24)" + "expression": "(%age > 12) and (%age <= 24)" } } ], @@ -15218,7 +15209,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "(%age > 24).intersect(%age <= 49)" + "expression": "(%age > 24) and (%age <= 49)" } } ], @@ -15591,7 +15582,6 @@ "coding": [ { "system": "http://hl7.org/fhir/questionnaire-item-control", - "version": "1.0.0", "code": "grid" } ] @@ -16346,7 +16336,6 @@ "coding": [ { "system": "http://hl7.org/fhir/questionnaire-item-control", - "version": "1.0.0", "code": "grid" } ] @@ -16811,7 +16800,7 @@ "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/rendering-xhtml", - "valueString": "
        \r\n

        The Australian CVD risk calculator on the Aus CVD Risk website should be used. Below is a read only view of a subset of variables that can be used as inputs for the online calculator. The calculated CVD risk result can be entered here.

        " + "valueString": "

        The Australian CVD risk calculator on the Aus CVD Risk website should be used. Below is a read only view of a subset of variables that can be used as inputs for the online calculator. The calculated CVD risk result can be entered here.

        " } ] }, @@ -16887,9 +16876,9 @@ ] }, { - "linkId": "8d02ef36-3f48-4912-b001-e9fec6aa7101", - "text": "CVD risk calculator variables", - "type": "group", + "linkId": "f8022f3f-21fe-42c0-8abd-95f24e2e37e5", + "text": "Health priorities, actions and follow-up", + "type": "text", "enableWhen": [ { "question": "cvdrisk-auscvdriskiaccess", @@ -16967,7 +16956,6 @@ "coding": [ { "system": "http://hl7.org/fhir/questionnaire-item-control", - "version": "1.0.0", "code": "grid" } ] @@ -17290,12 +17278,6 @@ } ] }, - { - "linkId": "f8022f3f-21fe-42c0-8abd-95f24e2e37e5", - "text": "Health priorities, actions and follow-up", - "type": "text", - "repeats": false - }, { "linkId": "MarkComplete-2", "text": "Mark section as complete", @@ -17722,7 +17704,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "(%age > 12).intersect(%age < 50) and %HealthPrioritiesSummaryLearningWorkAdults.exists()" + "expression": "(%age > 12) and (%age < 50) and %HealthPrioritiesSummaryLearningWorkAdults.exists()" } }, { @@ -17842,7 +17824,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "(%age >= 50).intersect(%age <= 74) and %HealthPrioritiesSummaryScreeningPrograms.exists()" + "expression": "(%age >= 50) and (%age <= 74) and %HealthPrioritiesSummaryScreeningPrograms.exists()" } }, { @@ -17986,7 +17968,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "(%age > 12).intersect(%age <= 24) and %HealthPrioritiesSummarySexualHealthAdolescents.exists()" + "expression": "(%age > 12) and (%age <= 24) and %HealthPrioritiesSummarySexualHealthAdolescents.exists()" } }, { @@ -18010,7 +17992,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "(%age > 24).intersect(%age <= 49) and %HealthPrioritiesSummarySexualHealthAdults.exists()" + "expression": "(%age > 24) and (%age <= 49) and %HealthPrioritiesSummarySexualHealthAdults.exists()" } }, { @@ -18348,7 +18330,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "(%age <= 12).intersect(%age > 5)" + "expression": "(%age <= 12) and (%age > 5)" } } ], @@ -18437,7 +18419,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "(%age <= 12).intersect(%age > 5)" + "expression": "(%age <= 12) and (%age > 5)" } }, { @@ -18490,7 +18472,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "(%age <= 24).intersect(%age > 12)" + "expression": "(%age <= 24) and (%age > 12)" } }, { @@ -18549,7 +18531,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "(%age <= 49).intersect(%age > 24)" + "expression": "(%age <= 49) and (%age > 24)" } }, { @@ -18789,7 +18771,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "(%age <= 12).intersect(%age > 5)" + "expression": "(%age <= 12) and (%age > 5)" } }, { @@ -18847,7 +18829,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "(%age <= 24).intersect(%age > 12)" + "expression": "(%age <= 24) and (%age > 12)" } }, { @@ -18908,7 +18890,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "(%age <= 49).intersect(%age > 24)" + "expression": "(%age <= 49) and (%age > 24)" } }, { @@ -19136,7 +19118,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "(%age <= 12).intersect(%age > 5)" + "expression": "(%age <= 12) and (%age > 5)" } } ], @@ -19151,7 +19133,7 @@ "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-enableWhenExpression", "valueExpression": { "language": "text/fhirpath", - "expression": "%age >12" + "expression": "%age > 12" } } ], @@ -19179,7 +19161,7 @@ } ], "linkId": "8176151f-6d86-45eb-91b1-12458d75a181", - "text": "A copy of this health check has been offerered - including details of follow-up and future appointments", + "text": "A copy of this health check has been offered - including details of follow-up and future appointments", "type": "choice", "repeats": false, "answerOption": [ diff --git a/input/resources/ValueSet-questionnaire-item-control.json b/input/resources/ValueSet-questionnaire-item-control.json deleted file mode 100644 index 05982d61..00000000 --- a/input/resources/ValueSet-questionnaire-item-control.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "resourceType": "ValueSet", - "id": "questionnaire-item-control", - "text": { - "status": "generated", - "div": "" - }, - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg", - "valueCode": "fhir" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", - "valueCode": "trial-use" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm", - "valueInteger": 3 - } - ], - "url": "http://hl7.org/fhir/ValueSet/questionnaire-item-control", - "identifier": [ - { - "system": "urn:ietf:rfc:3986", - "value": "urn:oid:2.16.840.1.113883.4.642.3.931" - }, - { - "use": "old", - "system": "urn:ietf:rfc:3986", - "value": "urn:oid:2.16.840.1.113883.4.642.3.848" - } - ], - "version": "1.0.0", - "name": "QuestionnaireItemUIControlCodes", - "title": "Questionnaire Item UI Control Codes", - "status": "active", - "experimental": false, - "date": "2023-03-26T09:00:24+11:00", - "publisher": "HL7 International / FHIR Infrastructure", - "contact": [ - { - "telecom": [ - { - "system": "url", - "value": "http://hl7.org/Special/committees/fhir-i" - } - ] - } - ], - "description": "Starter set of user interface control/display mechanisms that might be used when rendering an item in a questionnaire.", - "jurisdiction": [ - { - "coding": [ - { - "system": "http://unstats.un.org/unsd/methods/m49/m49.htm", - "code": "001" - } - ] - } - ], - "copyright": "Copyright © 2011+ HL7. Creative Commons 'No Rights Reserved' (CC0)", - "compose": { - "include": [ - { - "system": "http://hl7.org/fhir/questionnaire-item-control" - } - ] - } -} \ No newline at end of file From 947cdeb26fdef3203dbaef087ceed41bfe205396 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Fri, 25 Jul 2025 14:14:21 +1000 Subject: [PATCH 155/177] Update narrative guidance - scopes and remove terminology.md for maintenance ease --- ...tyStatement-SHCAppCapabilityStatement.json | 3 -- ...-SHCHostFHIRServerCapabilityStatement.json | 9 ---- ...ntationGuide-csiro.fhir.au.smartforms.json | 5 -- input/fsh/capability.fsh | 4 -- input/pagecontent/index.md | 1 - .../smart-health-check-integration.md | 42 ++++++++-------- input/pagecontent/terminology.md | 50 ------------------- sushi-config.yaml | 1 - 8 files changed, 22 insertions(+), 93 deletions(-) delete mode 100644 input/pagecontent/terminology.md diff --git a/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json b/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json index 6ecb37e2..6ab3e689 100644 --- a/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json +++ b/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json @@ -168,9 +168,6 @@ }, { "code": "create" - }, - { - "code": "patch" } ], "searchParam": [ diff --git a/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json b/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json index ee3442a2..898ddd7e 100644 --- a/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json +++ b/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json @@ -382,15 +382,6 @@ "valueCode": "SHALL" } ] - }, - { - "code": "patch", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] } ], "searchParam": [ diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index 5095797a..bddbd1f5 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -789,11 +789,6 @@ "nameUrl": "smart-health-check-integration.html", "title": "Smart Health Check Integration", "generation": "markdown" - }, - { - "nameUrl": "terminology.html", - "title": "Terminology", - "generation": "markdown" } ] }, diff --git a/input/fsh/capability.fsh b/input/fsh/capability.fsh index bb565d06..1b24f4e3 100644 --- a/input/fsh/capability.fsh +++ b/input/fsh/capability.fsh @@ -169,9 +169,6 @@ The server **SHALL** support both." * rest.resource[=].interaction[+].code = #create * rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].interaction[=].extension[0].valueCode = #SHALL -* rest.resource[=].interaction[+].code = #patch -* rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].interaction[=].extension[0].valueCode = #SHALL * rest.resource[=].searchParam[+].name = "patient" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" * rest.resource[=].searchParam[=].type = #reference @@ -620,7 +617,6 @@ The server **SHALL** support both." * rest.resource[=].documentation = "The client supports the Immunization resource, the Smart Health Checks profile and the conformance expectations for the Immunization resource." * rest.resource[=].interaction[0].code = #search-type * rest.resource[=].interaction[+].code = #create -* rest.resource[=].interaction[+].code = #patch * rest.resource[=].searchParam[+].name = "patient" * rest.resource[=].searchParam[=].definition = "http://hl7.org/fhir/SearchParameter/clinical-patient" * rest.resource[=].searchParam[=].type = #reference diff --git a/input/pagecontent/index.md b/input/pagecontent/index.md index 4587d057..ff1b1825 100644 --- a/input/pagecontent/index.md +++ b/input/pagecontent/index.md @@ -92,7 +92,6 @@ This guide is divided into several pages which are listed at the top of each pag - [Profiles and Extensions](profiles-and-extensions.html): This page lists all of the StructureDefinition resources defined in this guide. - [Capability Statements](capability-statements.html): This page lists all of the CapabilityStatement resources defined in this guide. - [Actor Definitions](actor-definitions.html): This page lists all of the ActorDefinition resources defined in this guide. - - [Terminology](terminology.html): This page lists all of the ValueSet, CodeSystem and ConceptMap resources defined in this guide. - [Downloads](downloads.html): This page provides links to downloadable artefacts including the Smart Forms FHIR NPM package. diff --git a/input/pagecontent/smart-health-check-integration.md b/input/pagecontent/smart-health-check-integration.md index cb909609..38123249 100644 --- a/input/pagecontent/smart-health-check-integration.md +++ b/input/pagecontent/smart-health-check-integration.md @@ -119,16 +119,17 @@ SHCA will request the following access scopes in the authorization request `scop * `openid` * `fhirUser` * `online_access` -* `patient/AllergyIntolerance.cs` -* `patient/Condition.cs` +* `patient/AllergyIntolerance.cus` +* `patient/Condition.cus` * `patient/Encounter.r` * `patient/Immunization.cs` * `patient/Medication.r` -* `patient/MedicationStatement.cs` +* `patient/MedicationStatement.cus` * `patient/Observation.cs` * `patient/Patient.r` * `patient/Practitioner.r` * `patient/QuestionnaireResponse.crus` +* `launch/questionnaire?role=http://ns.electronichealth.net.au/smart/role/new` #### FHIR Server A PMS will need to provide a FHIR compatible service that supports the requirements of the SHCA. @@ -140,22 +141,23 @@ The PMS FHIR Server requirements are described by the [SHC Host FHIR Server Capa A summary of the required FHIR endpoints, resources and RESTful interactions are shown below. If there are any variations between this page and the CapabilityStatement above, the CapabilityStatement takes precedence. * .well-known/smart-configuration (in accordance with the [SMART App Launch implementation guide](https://hl7.org/fhir/smart-app-launch/STU2.2/app-launch.html#retrieve-well-knownsmart-configuration)) -* [AU Core AllergyIntolerance](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-allergyintolerance.html) - `create`, `search` -* [AU Core Condition](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-condition.html) - `create`, `search` -* [AU Core Encounter](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-encounter.html) - `read` -* [AU Core Immunization](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-immunization.html) - `create`, `search` -* [AU Core Medication](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-medication.html) - `read` -* [AU Core MedicationStatement](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-medicationstatement.html) - `create`, `search` +* [Smart Health Checks AllergyIntolerance](StructureDefinition-SHCAllergyIntolerance.html) - `create`, `patch`, `search` +* [Smart Health Checks Condition](StructureDefinition-SHCCondition.html) - `create`, `patch`, `search` +* [Smart Health Checks Encounter](StructureDefinition-SHCEncounter.html) - `read` +* [Smart Health Checks Immunization](StructureDefinition-SHCImmunization.html) - `create`, `search` +* [Smart Health Checks Medication](StructureDefinition/SHCMedication) - `read` +* [Smart Health Checks MedicationStatement](StructureDefinition-SHCMedicationStatement.html) - `create`, `patch`, `search` * Observations - * [AU Core Blood Pressure](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-bloodpressure.html) - `create`, `search` - * [AU Core Body Height](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-bodyheight.html) - `create`, `search` - * [AU Core Body Weight](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-bodyweight.html) - `create`, `search` - * [AU Core Head Circumference](StructureDefinition-au-core-headcircum.html) - `create`, `search` - * [AU Core Heart Rate](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-heartrate.html) - `create`, `search` - * [AU Core Pathology Result Observation](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-diagnosticresult-path.html) - `search` - * [AU Core Smoking Status](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-smokingstatus.html) - `create`, `search` - * [AU Core Waist Circumference](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-waistcircum.html) - `create`, `search` -* [AU Core Patient](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-patient.html) - `read` -* [AU Core Practitioner](https://hl7.org.au/fhir/core/1.0.0/StructureDefinition-au-core-practitioner.html) - `read` -* [SDC Questionnaire Response](https://hl7.org/fhir/uv/sdc/STU3/StructureDefinition-sdc-questionnaireresponse.html) - `create`, `read`, `update`, `search` + * [Smart Health Checks Blood Pressure](StructureDefinition-SHCBloodPressure.html) - `create`, `search` + * [Smart Health Checks Body Height](StructureDefinition-SHCBodyHeight.html) - `create`, `search` + * [Smart Health Checks Body Weight](StructureDefinition-SHCBodyWeight.html) - `create`, `search` + * [Smart Health Checks Head Circumference](StructureDefinition-SHCHeadCircumference.html) - `create`, `search` + * [Smart Health Checks Heart Rate](StructureDefinition-SHCHeartRate.html) - `create`, `search` + * [Smart Health Checks Heart Rhythm](StructureDefinition-SHCHeartRhythm.html) - `create`, `search` + * [Smart Health Checks Pathology Result](StructureDefinition-SHCPathologyResult.html) - `search` + * [Smart Health Checks Smoking Status](StructureDefinition-SHCSmokingStatus.html) - `create`, `search` + * [Smart Health Checks Waist Circumference](StructureDefinition-SHCWaistCircumference.html) - `create`, `search` +* [Smart Health Checks Patient](StructureDefinition-SHCPatient.html) - `read` +* [Smart Health Checks Practitioner](StructureDefinition-SHCPractitioner.html) - `read` +* [Smart Health Checks Questionnaire Response](StructureDefinition-SHCQuestionnaireResponse.html) - `create`, `read`, `update`, `search` diff --git a/input/pagecontent/terminology.md b/input/pagecontent/terminology.md deleted file mode 100644 index 17c95447..00000000 --- a/input/pagecontent/terminology.md +++ /dev/null @@ -1,50 +0,0 @@ -This page lists all ValueSets and CodeSystems defined as part of this specification. - -### Value Sets - -See the [FHIR terminology section]({{site.data.fhir.path}}terminologies-systems.html) for a complete discussion on value sets and a list of value set names used in FHIR. - - - - - - - - - - -**Value sets contained in the Aboriginal and Torres Strait Islander Health Check Questionnaire** -- [Aboriginal and/or Torres Strait Islander](ValueSet-AboriginalTorresStraitIslander.html) -- [Condition Clinical Status Codes](ValueSet-condition-clinical.html) -- [Clinical condition](ValueSet-clinical-condition-1.html) -- [Primary Carer Of Parent Or Grandparent](ValueSet-PrimaryCarerParentGrandparent.html) -- [Yes/No](ValueSet-YesNo.html) -- [Yes/No/NA](ValueSet-YesNoNA.html) -- [Yes/No/Not Asked/Asked But Declined](ValueSet-YesNoNotAskedDeclined.html) -- [Australian States and Territories](ValueSet-australian-states-territories-2.html) -- [Australian Pronouns](ValueSet-australian-pronouns-1.html) -- [Gender Identity Response](ValueSet-gender-identity-response-1.html) -- [Biological Sex](ValueSet-biological-sex-1.html) -- [AdministrativeGender](ValueSet-administrative-gender.html) -- [Cervical Screening Status](ValueSet-CervicalScreeningStatus-1.html) -- [Smoking Quit Status](ValueSet-SmokingQuitStatus-1.html) - - -### Code systems - -See the [FHIR terminology section]({{site.data.fhir.path}}terminologies-systems.html) for a complete discussion on code systems and a list of code system names used in FHIR. - -**Code systems published in this guide** - - - - -{% include res-list-generator.md type="CodeSystem" %} - - - -### Concept Maps - -See the [FHIR terminology section]({{site.data.fhir.path}}terminologies-conceptmaps.html) for a complete discussion on concept maps and a list of concept map names used in FHIR. - -No concept maps have been defined for this implementation guide. \ No newline at end of file diff --git a/sushi-config.yaml b/sushi-config.yaml index 1bcbabbc..ee73410a 100644 --- a/sushi-config.yaml +++ b/sushi-config.yaml @@ -152,7 +152,6 @@ menu: Profiles and Extensions: profiles-and-extensions.html Capability Statements: capability-statements.html Actor Definitions: actor-definitions.html - Terminology: terminology.html # Examples: examples.html Downloads: downloads.html # Change Log: changes.html From 14bdb5bfab1026ee129bbfb441d725fcbb731fbd Mon Sep 17 00:00:00 2001 From: liambarnes Date: Fri, 25 Jul 2025 17:36:07 +1000 Subject: [PATCH 156/177] Add new custom extensions --- ...ntationGuide-csiro.fhir.au.smartforms.json | 24 ++++++++ ...stionnaire-AbsoluteCVDRiskCalculation.json | 2 +- ...estionnaire-AllergiesAdverseReactions.json | 4 +- .../resources/Questionnaire-Examination.json | 2 +- ...onnaire-MedicalHistoryCurrentProblems.json | 4 +- .../Questionnaire-PatientDetails.json | 2 +- .../Questionnaire-RegularMedications.json | 4 +- .../resources/Questionnaire-SubstanceUse.json | 2 +- ...Definition-ContainedResourceReference.json | 1 + ...tureDefinition-GranularRepopulateSync.json | 52 ++++++++++++++++++ ...tureDefinition-GroupHideAddItemButton.json | 55 +++++++++++++++++++ ...efinition-QuestionnaireItemTextHidden.json | 52 ++++++++++++++++++ ...-Assessment-AbsoluteCVDRiskCalculation.fsh | 2 +- ...5-Assessment-AllergiesAdverseReactions.fsh | 4 +- input/fsh/715-Assessment-Examination.fsh | 2 +- ...sessment-MedicalHistoryCurrentProblems.fsh | 4 +- .../fsh/715-Assessment-RegularMedications.fsh | 4 +- input/fsh/715-Assessment-SubstanceUse.fsh | 2 +- input/fsh/715-PatientDetails.fsh | 2 +- input/fsh/extensions.fsh | 40 +++++++++++++- ...esStraitIslanderHealthCheck-assembled.json | 20 +++---- 21 files changed, 253 insertions(+), 31 deletions(-) create mode 100644 fsh-generated/resources/StructureDefinition-GranularRepopulateSync.json create mode 100644 fsh-generated/resources/StructureDefinition-GroupHideAddItemButton.json create mode 100644 fsh-generated/resources/StructureDefinition-QuestionnaireItemTextHidden.json diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index bddbd1f5..fc0d55e2 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -446,6 +446,22 @@ "description": "The Gender Identity Response value set includes values that may be used to represent a response for an individual's gender. A person's gender is a social and cultural identity, expression and experience.", "exampleBoolean": false }, + { + "reference": { + "reference": "StructureDefinition/GranularRepopulateSync" + }, + "name": "Granular Repopulate Sync", + "description": "This custom extension is used to add a UI component that allows a user to repopulate an individual Questionnaire item with the latest data from the FHIR server. This is useful for updating specific items without having to refresh the entire form.", + "exampleBoolean": false + }, + { + "reference": { + "reference": "StructureDefinition/GroupHideAddItemButton" + }, + "name": "Group Hide Add Item Button", + "description": "This custom extension is used to hide the UI component that allows a user to add new items for repeating groups in a Questionnaire. This is useful for preventing users from adding additional items to a group when it is not appropriate to do so, such as when a group is intended to be prepopulated with existing data but no new ones added by the user.", + "exampleBoolean": false + }, { "reference": { "reference": "ValueSet/heart-rhythm-1" @@ -478,6 +494,14 @@ "description": "The Questionnaire Item Control Extension code system defines concepts that extend the HL7 questionnaire item control concepts in http://hl7.org/fhir/questionnaire-item-control. They represent interface control/display mechanisms interface control/display mechanisms that might be used when rendering an item in a questionnaire.", "exampleBoolean": false }, + { + "reference": { + "reference": "StructureDefinition/QuestionnaireItemTextHidden" + }, + "name": "Questionnaire Item Text Hidden", + "description": "This custom extension is used to indicate that the text of a Questionnaire item should be hidden in the user interface. This is useful for items where the text is not intended to be displayed to the user but is still needed for other processes.", + "exampleBoolean": false + }, { "reference": { "reference": "ActorDefinition/SHCApp" diff --git a/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json b/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json index 2a208a9e..f7465f61 100644 --- a/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json +++ b/fsh-generated/resources/Questionnaire-AbsoluteCVDRiskCalculation.json @@ -654,7 +654,7 @@ "_text": { "extension": [ { - "url": "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/QuestionnaireItemTextHidden", "valueBoolean": true } ] diff --git a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json index 3d9cb9c4..066e180f 100644 --- a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json +++ b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json @@ -256,7 +256,7 @@ "_text": { "extension": [ { - "url": "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/QuestionnaireItemTextHidden", "valueBoolean": true } ] @@ -283,7 +283,7 @@ "_text": { "extension": [ { - "url": "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/QuestionnaireItemTextHidden", "valueBoolean": true } ] diff --git a/fsh-generated/resources/Questionnaire-Examination.json b/fsh-generated/resources/Questionnaire-Examination.json index 15fba153..aed395a4 100644 --- a/fsh-generated/resources/Questionnaire-Examination.json +++ b/fsh-generated/resources/Questionnaire-Examination.json @@ -1000,7 +1000,7 @@ "_text": { "extension": [ { - "url": "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/QuestionnaireItemTextHidden", "valueBoolean": true } ] diff --git a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json index 741c4656..f7c643e1 100644 --- a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json +++ b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json @@ -323,7 +323,7 @@ "_text": { "extension": [ { - "url": "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/QuestionnaireItemTextHidden", "valueBoolean": true } ] @@ -392,7 +392,7 @@ "_text": { "extension": [ { - "url": "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/QuestionnaireItemTextHidden", "valueBoolean": true } ] diff --git a/fsh-generated/resources/Questionnaire-PatientDetails.json b/fsh-generated/resources/Questionnaire-PatientDetails.json index f40af126..5f5e55e7 100644 --- a/fsh-generated/resources/Questionnaire-PatientDetails.json +++ b/fsh-generated/resources/Questionnaire-PatientDetails.json @@ -554,7 +554,7 @@ "_text": { "extension": [ { - "url": "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/QuestionnaireItemTextHidden", "valueBoolean": true } ] diff --git a/fsh-generated/resources/Questionnaire-RegularMedications.json b/fsh-generated/resources/Questionnaire-RegularMedications.json index 215d7905..ae01701d 100644 --- a/fsh-generated/resources/Questionnaire-RegularMedications.json +++ b/fsh-generated/resources/Questionnaire-RegularMedications.json @@ -287,7 +287,7 @@ "_text": { "extension": [ { - "url": "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/QuestionnaireItemTextHidden", "valueBoolean": true } ] @@ -314,7 +314,7 @@ "_text": { "extension": [ { - "url": "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/QuestionnaireItemTextHidden", "valueBoolean": true } ] diff --git a/fsh-generated/resources/Questionnaire-SubstanceUse.json b/fsh-generated/resources/Questionnaire-SubstanceUse.json index 23876ddc..64ee4301 100644 --- a/fsh-generated/resources/Questionnaire-SubstanceUse.json +++ b/fsh-generated/resources/Questionnaire-SubstanceUse.json @@ -171,7 +171,7 @@ "_text": { "extension": [ { - "url": "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/QuestionnaireItemTextHidden", "valueBoolean": true } ] diff --git a/fsh-generated/resources/StructureDefinition-ContainedResourceReference.json b/fsh-generated/resources/StructureDefinition-ContainedResourceReference.json index 9a836e2a..5f0f8080 100644 --- a/fsh-generated/resources/StructureDefinition-ContainedResourceReference.json +++ b/fsh-generated/resources/StructureDefinition-ContainedResourceReference.json @@ -39,6 +39,7 @@ { "id": "Extension.value[x]", "path": "Extension.value[x]", + "min": 1, "type": [ { "code": "Reference" diff --git a/fsh-generated/resources/StructureDefinition-GranularRepopulateSync.json b/fsh-generated/resources/StructureDefinition-GranularRepopulateSync.json new file mode 100644 index 00000000..fd4ac14f --- /dev/null +++ b/fsh-generated/resources/StructureDefinition-GranularRepopulateSync.json @@ -0,0 +1,52 @@ +{ + "resourceType": "StructureDefinition", + "id": "GranularRepopulateSync", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/GranularRepopulateSync", + "name": "GranularRepopulateSync", + "title": "Granular Repopulate Sync", + "status": "draft", + "description": "This custom extension is used to add a UI component that allows a user to repopulate an individual Questionnaire item with the latest data from the FHIR server. This is useful for updating specific items without having to refresh the entire form.", + "fhirVersion": "4.0.1", + "kind": "complex-type", + "abstract": false, + "context": [ + { + "expression": "Questionnaire.item", + "type": "element" + } + ], + "type": "Extension", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Extension", + "path": "Extension", + "short": "Granular repopulate sync", + "definition": "If true, the item will be able to be individually repopulated with the latest data from the FHIR server.", + "max": "1" + }, + { + "id": "Extension.extension", + "path": "Extension.extension", + "max": "0" + }, + { + "id": "Extension.url", + "path": "Extension.url", + "fixedUri": "https://smartforms.csiro.au/ig/StructureDefinition/GranularRepopulateSync" + }, + { + "id": "Extension.value[x]", + "path": "Extension.value[x]", + "min": 1, + "type": [ + { + "code": "boolean" + } + ] + } + ] + } +} diff --git a/fsh-generated/resources/StructureDefinition-GroupHideAddItemButton.json b/fsh-generated/resources/StructureDefinition-GroupHideAddItemButton.json new file mode 100644 index 00000000..3e1d5c8d --- /dev/null +++ b/fsh-generated/resources/StructureDefinition-GroupHideAddItemButton.json @@ -0,0 +1,55 @@ +{ + "resourceType": "StructureDefinition", + "id": "GroupHideAddItemButton", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/GroupHideAddItemButton", + "name": "GroupHideAddItemButton", + "title": "Group Hide Add Item Button", + "status": "draft", + "description": "This custom extension is used to hide the UI component that allows a user to add new items for repeating groups in a Questionnaire. This is useful for preventing users from adding additional items to a group when it is not appropriate to do so, such as when a group is intended to be prepopulated with existing data but no new ones added by the user.", + "fhirVersion": "4.0.1", + "kind": "complex-type", + "abstract": false, + "context": [ + { + "expression": "Questionnaire.item", + "type": "element" + } + ], + "contextInvariant": [ + "type='group' and repeats=true" + ], + "type": "Extension", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Extension", + "path": "Extension", + "short": "Group hide add item button", + "definition": "If true, the UI component that allows a user to add new items will be hidden.", + "max": "1" + }, + { + "id": "Extension.extension", + "path": "Extension.extension", + "max": "0" + }, + { + "id": "Extension.url", + "path": "Extension.url", + "fixedUri": "https://smartforms.csiro.au/ig/StructureDefinition/GroupHideAddItemButton" + }, + { + "id": "Extension.value[x]", + "path": "Extension.value[x]", + "min": 1, + "type": [ + { + "code": "boolean" + } + ] + } + ] + } +} diff --git a/fsh-generated/resources/StructureDefinition-QuestionnaireItemTextHidden.json b/fsh-generated/resources/StructureDefinition-QuestionnaireItemTextHidden.json new file mode 100644 index 00000000..5e30356c --- /dev/null +++ b/fsh-generated/resources/StructureDefinition-QuestionnaireItemTextHidden.json @@ -0,0 +1,52 @@ +{ + "resourceType": "StructureDefinition", + "id": "QuestionnaireItemTextHidden", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/QuestionnaireItemTextHidden", + "name": "QuestionnaireItemTextHidden", + "title": "Questionnaire Item Text Hidden", + "status": "draft", + "description": "This custom extension is used to indicate that the text of a Questionnaire item should be hidden in the user interface. This is useful for items where the text is not intended to be displayed to the user but is still needed for other processes.", + "fhirVersion": "4.0.1", + "kind": "complex-type", + "abstract": false, + "context": [ + { + "expression": "Questionnaire.item.text", + "type": "element" + } + ], + "type": "Extension", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Extension", + "path": "Extension", + "short": "Don't display text to user", + "definition": "If true, indicates that the text of an item should not be displayed to the user.", + "max": "1" + }, + { + "id": "Extension.extension", + "path": "Extension.extension", + "max": "0" + }, + { + "id": "Extension.url", + "path": "Extension.url", + "fixedUri": "https://smartforms.csiro.au/ig/StructureDefinition/QuestionnaireItemTextHidden" + }, + { + "id": "Extension.value[x]", + "path": "Extension.value[x]", + "min": 1, + "type": [ + { + "code": "boolean" + } + ] + } + ] + } +} diff --git a/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh b/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh index e5eb781a..f3daa4aa 100644 --- a/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh +++ b/input/fsh/715-Assessment-AbsoluteCVDRiskCalculation.fsh @@ -333,7 +333,7 @@ Description: "Absolute Cardiovascular Disease Risk Calculation sub-questionnaire * linkId = "fe9feec6-593a-4106-8a7d-f9965a632ea2" * text = "Observation values" * extension[+] - * url = "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden" + * url = "https://smartforms.csiro.au/ig/StructureDefinition/QuestionnaireItemTextHidden" * valueBoolean = true * type = #group * repeats = false diff --git a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh index 891710f6..a0b09fc3 100644 --- a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh +++ b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh @@ -131,7 +131,7 @@ Description: "Allergies/Adverse Reactions sub-questionnaire for Aboriginal and T * item[=].item[=].item[=].extension[TemplateExtractExtensionExtended][=].extension[type][+].valueCode = #AllergyIntolerance * item[=].item[=].item[=].linkId = "allergysummary" * item[=].item[=].item[=].text = "Adverse reaction risk summary" -* item[=].item[=].item[=].text.extension[+].url = "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden" +* item[=].item[=].item[=].text.extension[+].url = "https://smartforms.csiro.au/ig/StructureDefinition/QuestionnaireItemTextHidden" * item[=].item[=].item[=].text.extension[=].valueBoolean = true * item[=].item[=].item[=].type = #group * item[=].item[=].item[=].repeats = true @@ -189,7 +189,7 @@ Description: "Allergies/Adverse Reactions sub-questionnaire for Aboriginal and T * item[=].item[=].item[=].extension[=].extension.valueReference = Reference(AllergyIntoleranceTemplate) * item[=].item[=].item[=].linkId = "allergynew" * item[=].item[=].item[=].text = "New adverse reaction risks" -* item[=].item[=].item[=].text.extension[+].url = "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden" +* item[=].item[=].item[=].text.extension[+].url = "https://smartforms.csiro.au/ig/StructureDefinition/QuestionnaireItemTextHidden" * item[=].item[=].item[=].text.extension[=].valueBoolean = true * item[=].item[=].item[=].type = #group * item[=].item[=].item[=].repeats = true diff --git a/input/fsh/715-Assessment-Examination.fsh b/input/fsh/715-Assessment-Examination.fsh index 926c2977..1897f234 100644 --- a/input/fsh/715-Assessment-Examination.fsh +++ b/input/fsh/715-Assessment-Examination.fsh @@ -637,7 +637,7 @@ Description: "Examination sub-questionnaire for Aboriginal and Torres Strait Isl * linkId = "3639c586-9576-48d3-a52b-e91fd2138581" * text = "Blood pressure" * extension[+] - * url = "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden" + * url = "https://smartforms.csiro.au/ig/StructureDefinition/QuestionnaireItemTextHidden" * valueBoolean = true * type = #group * repeats = false diff --git a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh index ecfeac55..110f87cd 100644 --- a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh +++ b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh @@ -164,7 +164,7 @@ Description: "Medical History sub-questionnaire for Aboriginal and Torres Strait * linkId = "92bd7d05-9b5e-4cf9-900b-703f361dad9d" * text = "Medical history summary" * extension[+] - * url = "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden" + * url = "https://smartforms.csiro.au/ig/StructureDefinition/QuestionnaireItemTextHidden" * valueBoolean = true * type = #group * repeats = true @@ -218,7 +218,7 @@ Description: "Medical History sub-questionnaire for Aboriginal and Torres Strait * linkId = "newdiagnosis" * text = "New diagnosis" * extension[+] - * url = "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden" + * url = "https://smartforms.csiro.au/ig/StructureDefinition/QuestionnaireItemTextHidden" * valueBoolean = true * type = #group * repeats = true diff --git a/input/fsh/715-Assessment-RegularMedications.fsh b/input/fsh/715-Assessment-RegularMedications.fsh index 42416802..6a6d0ce2 100644 --- a/input/fsh/715-Assessment-RegularMedications.fsh +++ b/input/fsh/715-Assessment-RegularMedications.fsh @@ -126,7 +126,7 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * item.item[=].item[=].extension[TemplateExtractExtensionExtended][=].extension[type][+].valueCode = #MedicationStatement * item.item[=].item[=].linkId = "regularmedications-summary-current" * item.item[=].item[=].text = "Current medications" -* item.item[=].item[=].text.extension[+].url = "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden" +* item.item[=].item[=].text.extension[+].url = "https://smartforms.csiro.au/ig/StructureDefinition/QuestionnaireItemTextHidden" * item.item[=].item[=].text.extension[=].valueBoolean = true * item.item[=].item[=].type = #group * item.item[=].item[=].repeats = true @@ -237,7 +237,7 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * item.item[=].item[=].extension[=].extension.valueReference = Reference(MedicationStatementTemplate) * item.item[=].item[=].linkId = "regularmedications-summary-new" * item.item[=].item[=].text = "New medications" -* item.item[=].item[=].text.extension[+].url = "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden" +* item.item[=].item[=].text.extension[+].url = "https://smartforms.csiro.au/ig/StructureDefinition/QuestionnaireItemTextHidden" * item.item[=].item[=].text.extension[=].valueBoolean = true * item.item[=].item[=].type = #group * item.item[=].item[=].repeats = true diff --git a/input/fsh/715-Assessment-SubstanceUse.fsh b/input/fsh/715-Assessment-SubstanceUse.fsh index 26e74c9e..1881e070 100644 --- a/input/fsh/715-Assessment-SubstanceUse.fsh +++ b/input/fsh/715-Assessment-SubstanceUse.fsh @@ -144,7 +144,7 @@ Description: "Substance Use sub-questionnaire for Aboriginal and Torres Strait I * linkId = "substanceuse-smoking-smokingstatus" * text = "Smoking status" * extension[+] - * url = "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden" + * url = "https://smartforms.csiro.au/ig/StructureDefinition/QuestionnaireItemTextHidden" * valueBoolean = true * type = #group * repeats = false diff --git a/input/fsh/715-PatientDetails.fsh b/input/fsh/715-PatientDetails.fsh index c3347669..4d858e7b 100644 --- a/input/fsh/715-PatientDetails.fsh +++ b/input/fsh/715-PatientDetails.fsh @@ -291,7 +291,7 @@ Description: "Patient Details sub-questionnaire for Aboriginal and Torres Strait * linkId = "4e0dc185-f83e-4027-b7a8-ecb543d42c6d" * text = "Home address" * extension[+] - * url = "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden" + * url = "https://smartforms.csiro.au/ig/StructureDefinition/QuestionnaireItemTextHidden" * valueBoolean = true * type = #group * repeats = true diff --git a/input/fsh/extensions.fsh b/input/fsh/extensions.fsh index 23e553cc..8dfad54a 100644 --- a/input/fsh/extensions.fsh +++ b/input/fsh/extensions.fsh @@ -3,6 +3,7 @@ Id: ContainedResourceReference Title: "Contained Resource Reference" Description: "This extension is intended to be used as a work around to a known bug whereby contained resources that are not referenced with the type, 'Reference' are removed before a resource is created in a HAPI FHIR server. This is problematic when referencing with the type, 'canonical'. The extension can be used to reference contained resources so they are retained when added to a HAPI FHIR server." +* value[x] 1.. * value[x] only Reference Extension: TemplateExtractExtensionExtended @@ -16,4 +17,41 @@ Description: "This extension is used to extend the [Extract Template - Resource] * extension[type] ^definition = "When templating a Parameters resource, this is the kind of resource to be patched. It is used to construct the request URL for the entry in a transaction bundle." * extension[type].value[x] 1.. * extension[type].value[x] only code -* extension[type].value[x] from ResourceType (required) \ No newline at end of file +* extension[type].value[x] from ResourceType (required) + +Extension: QuestionnaireItemTextHidden +Id: QuestionnaireItemTextHidden +Title: "Questionnaire Item Text Hidden" +Description: "This custom extension is used to indicate that the text of a Questionnaire item should be hidden in the user interface. This is useful for items where the text is not intended to be displayed to the user but is still needed for other processes." +Context: Questionnaire.item.text + +* . 0..1 +* . ^short = "Don't display text to user" +* . ^definition = "If true, indicates that the text of an item should not be displayed to the user." +* value[x] 1.. +* value[x] only boolean + +Extension: GranularRepopulateSync +Id: GranularRepopulateSync +Title: "Granular Repopulate Sync" +Description: "This custom extension is used to add a UI component that allows a user to repopulate an individual Questionnaire item with the latest data from the FHIR server. This is useful for updating specific items without having to refresh the entire form." +Context: Questionnaire.item + +* . 0..1 +* . ^short = "Granular repopulate sync" +* . ^definition = "If true, the item will be able to be individually repopulated with the latest data from the FHIR server." +* value[x] 1.. +* value[x] only boolean + +Extension: GroupHideAddItemButton +Id: GroupHideAddItemButton +Title: "Group Hide Add Item Button" +Description: "This custom extension is used to hide the UI component that allows a user to add new items for repeating groups in a Questionnaire. This is useful for preventing users from adding additional items to a group when it is not appropriate to do so, such as when a group is intended to be prepopulated with existing data but no new ones added by the user." +Context: Questionnaire.item + +* ^contextInvariant = "type='group' and repeats=true" +* . 0..1 +* . ^short = "Group hide add item button" +* . ^definition = "If true, the UI component that allows a user to add new items will be hidden." +* value[x] 1.. +* value[x] only boolean \ No newline at end of file diff --git a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json index 72a262ab..26a0989a 100644 --- a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json +++ b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json @@ -5067,7 +5067,7 @@ "_text": { "extension": [ { - "url": "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/QuestionnaireItemTextHidden", "valueBoolean": true } ] @@ -6529,7 +6529,7 @@ "_text": { "extension": [ { - "url": "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/QuestionnaireItemTextHidden", "valueBoolean": true } ] @@ -6668,7 +6668,7 @@ "_text": { "extension": [ { - "url": "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/QuestionnaireItemTextHidden", "valueBoolean": true } ] @@ -6874,7 +6874,7 @@ "_text": { "extension": [ { - "url": "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/QuestionnaireItemTextHidden", "valueBoolean": true } ] @@ -7051,7 +7051,7 @@ "_text": { "extension": [ { - "url": "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/QuestionnaireItemTextHidden", "valueBoolean": true } ] @@ -7373,7 +7373,7 @@ "_text": { "extension": [ { - "url": "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/QuestionnaireItemTextHidden", "valueBoolean": true } ] @@ -7532,7 +7532,7 @@ "_text": { "extension": [ { - "url": "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/QuestionnaireItemTextHidden", "valueBoolean": true } ] @@ -12496,7 +12496,7 @@ "_text": { "extension": [ { - "url": "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/QuestionnaireItemTextHidden", "valueBoolean": true } ] @@ -16347,7 +16347,7 @@ "_text": { "extension": [ { - "url": "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/QuestionnaireItemTextHidden", "valueBoolean": true } ] @@ -16967,7 +16967,7 @@ "_text": { "extension": [ { - "url": "https://smartforms.csiro.au/docs/custom-extension/questionnaire-item-text-hidden", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/QuestionnaireItemTextHidden", "valueBoolean": true } ] From 41043dd5ab15584d609338d31f67d0ce65662488 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Mon, 28 Jul 2025 16:31:01 +1000 Subject: [PATCH 157/177] Fix broken link --- input/pagecontent/smart-health-check-integration.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/input/pagecontent/smart-health-check-integration.md b/input/pagecontent/smart-health-check-integration.md index 38123249..d7909d14 100644 --- a/input/pagecontent/smart-health-check-integration.md +++ b/input/pagecontent/smart-health-check-integration.md @@ -145,7 +145,7 @@ A summary of the required FHIR endpoints, resources and RESTful interactions are * [Smart Health Checks Condition](StructureDefinition-SHCCondition.html) - `create`, `patch`, `search` * [Smart Health Checks Encounter](StructureDefinition-SHCEncounter.html) - `read` * [Smart Health Checks Immunization](StructureDefinition-SHCImmunization.html) - `create`, `search` -* [Smart Health Checks Medication](StructureDefinition/SHCMedication) - `read` +* [Smart Health Checks Medication](StructureDefinition-SHCMedication.html) - `read` * [Smart Health Checks MedicationStatement](StructureDefinition-SHCMedicationStatement.html) - `create`, `patch`, `search` * Observations * [Smart Health Checks Blood Pressure](StructureDefinition-SHCBloodPressure.html) - `create`, `search` From c2b967028af36b7a5bf4699287191934b62e8187 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Tue, 29 Jul 2025 09:32:31 +1000 Subject: [PATCH 158/177] update extension descriptions --- .../resources/ImplementationGuide-csiro.fhir.au.smartforms.json | 2 +- .../resources/StructureDefinition-GroupHideAddItemButton.json | 2 +- input/fsh/extensions.fsh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index fc0d55e2..47ec1b77 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -459,7 +459,7 @@ "reference": "StructureDefinition/GroupHideAddItemButton" }, "name": "Group Hide Add Item Button", - "description": "This custom extension is used to hide the UI component that allows a user to add new items for repeating groups in a Questionnaire. This is useful for preventing users from adding additional items to a group when it is not appropriate to do so, such as when a group is intended to be prepopulated with existing data but no new ones added by the user.", + "description": "This custom extension is used to hide the UI component that allows a user to add new items for repeating groups in a Questionnaire. This is useful for preventing users from adding additional groups when it is not appropriate to do so, such as when a group is intended to be prepopulated with existing data but no new ones added by the user.", "exampleBoolean": false }, { diff --git a/fsh-generated/resources/StructureDefinition-GroupHideAddItemButton.json b/fsh-generated/resources/StructureDefinition-GroupHideAddItemButton.json index 3e1d5c8d..8cf157bd 100644 --- a/fsh-generated/resources/StructureDefinition-GroupHideAddItemButton.json +++ b/fsh-generated/resources/StructureDefinition-GroupHideAddItemButton.json @@ -5,7 +5,7 @@ "name": "GroupHideAddItemButton", "title": "Group Hide Add Item Button", "status": "draft", - "description": "This custom extension is used to hide the UI component that allows a user to add new items for repeating groups in a Questionnaire. This is useful for preventing users from adding additional items to a group when it is not appropriate to do so, such as when a group is intended to be prepopulated with existing data but no new ones added by the user.", + "description": "This custom extension is used to hide the UI component that allows a user to add new items for repeating groups in a Questionnaire. This is useful for preventing users from adding additional groups when it is not appropriate to do so, such as when a group is intended to be prepopulated with existing data but no new ones added by the user.", "fhirVersion": "4.0.1", "kind": "complex-type", "abstract": false, diff --git a/input/fsh/extensions.fsh b/input/fsh/extensions.fsh index 8dfad54a..83103c36 100644 --- a/input/fsh/extensions.fsh +++ b/input/fsh/extensions.fsh @@ -46,7 +46,7 @@ Context: Questionnaire.item Extension: GroupHideAddItemButton Id: GroupHideAddItemButton Title: "Group Hide Add Item Button" -Description: "This custom extension is used to hide the UI component that allows a user to add new items for repeating groups in a Questionnaire. This is useful for preventing users from adding additional items to a group when it is not appropriate to do so, such as when a group is intended to be prepopulated with existing data but no new ones added by the user." +Description: "This custom extension is used to hide the UI component that allows a user to add new items for repeating groups in a Questionnaire. This is useful for preventing users from adding additional groups when it is not appropriate to do so, such as when a group is intended to be prepopulated with existing data but no new ones added by the user." Context: Questionnaire.item * ^contextInvariant = "type='group' and repeats=true" From 071d837097d643e8926a2b3d97adca287cee0d80 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Fri, 1 Aug 2025 11:33:35 +1000 Subject: [PATCH 159/177] ignorewarnings updates and publisher update --- _build.new.bat | 386 ++++++++++++++++++ input/ignoreWarnings.txt | 10 +- smartforms-template/package/.index.db | Bin 12288 -> 12288 bytes smartforms-template/package/content/.index.db | Bin 12288 -> 12288 bytes .../package/content/assets/.index.db | Bin 12288 -> 12288 bytes .../package/content/assets/css/.index.db | Bin 12288 -> 12288 bytes .../package/content/assets/images/.index.db | Bin 12288 -> 12288 bytes .../package/includes/.index.db | Bin 12288 -> 12288 bytes 8 files changed, 387 insertions(+), 9 deletions(-) create mode 100644 _build.new.bat diff --git a/_build.new.bat b/_build.new.bat new file mode 100644 index 00000000..2bf0d793 --- /dev/null +++ b/_build.new.bat @@ -0,0 +1,386 @@ +@ECHO OFF +setlocal enabledelayedexpansion + +SET "dlurl=https://github.com/HL7/fhir-ig-publisher/releases/latest/download/publisher.jar" +SET "publisher_jar=publisher.jar" +SET "input_cache_path=%CD%\input-cache\" +SET "skipPrompts=false" +SET "upper_path=..\" +SET "scriptdlroot=https://raw.githubusercontent.com/HL7/ig-publisher-scripts/main" +SET "build_bat_url=%scriptdlroot%/_build.bat" +SET "build_sh_url=%scriptdlroot%/_build.sh" + + + +:: Debugging statements to check jar file location +ECHO Checking for publisher.jar in %input_cache_path% +IF EXIST "%input_cache_path%%publisher_jar%" ( + SET "jar_location=%input_cache_path%%publisher_jar%" + ECHO Found publisher.jar in input-cache +) ELSE ( + ECHO Checking for publisher.jar in %upper_path% + IF EXIST "%upper_path%%publisher_jar%" ( + SET "jar_location=%upper_path%%publisher_jar%" + ECHO Found publisher.jar in parent folder + ) ELSE ( + SET "jar_location=not_found" + SET "default_choice=1" + ECHO publisher.jar not found in input-cache or parent folder + ) +) + + +:: Handle command-line argument to bypass the menu +IF NOT "%~1"=="" ( + IF /I "%~1"=="update" SET "userChoice=1" + IF /I "%~1"=="build" SET "userChoice=2" + IF /I "%~1"=="nosushi" SET "userChoice=3" + IF /I "%~1"=="notx" SET "userChoice=4" + IF /I "%~1"=="jekyll" SET "userChoice=5" + IF /I "%~1"=="clean" SET "userChoice=6" + IF /I "%~1"=="exit" SET "userChoice=0" + GOTO executeChoice +) + +echo --------------------------------------------------------------- +ECHO Checking internet connection... +PING tx.fhir.org -4 -n 1 -w 4000 >nul 2>&1 && SET "online_status=true" || SET "online_status=false" + +IF "%online_status%"=="true" ( + ECHO We're online and tx.fhir.org is available. + FOR /F "tokens=2 delims=:" %%a IN ('curl -s https://api.github.com/repos/HL7/fhir-ig-publisher/releases/latest ^| findstr "tag_name"') DO SET "latest_version=%%a" + SET "latest_version=!latest_version:"=!" + SET "latest_version=!latest_version: =!" + SET "latest_version=!latest_version:~0,-1!" +) ELSE ( + ECHO We're offline or tx.fhir.org is not available, can only run the publisher without TX... + SET "txoption=-tx n/a" + SET "latest_version=unknown" + SET "default_choice=4" +) + +echo --------------------------------------------------------------- + + +IF NOT "%jar_location%"=="not_found" ( + FOR /F "tokens=*" %%i IN ('java "-Dfile.encoding=UTF-8" -jar "%jar_location%" -v 2^>^&1') DO SET "publisher_version=%%i" + SET "publisher_version=!publisher_version:"=!" + ECHO Detected publisher version: !publisher_version! +) ELSE ( + SET "publisher_version=unknown" + ECHO publisher.jar location is not found +) + +ECHO Publisher version: !publisher_version!; Latest is !latest_version! + +IF NOT "%online_status%"=="true" ( + ECHO We're offline. +) ELSE ( + IF NOT "!publisher_version!"=="!latest_version!" ( + ECHO An update is recommended. + SET "default_choice=1" + ) ELSE ( + ECHO Publisher is up to date. + SET "default_choice=2" + ) +) + +echo --------------------------------------------------------------- +echo. + +echo Please select an option: +echo 1. Download or upload publisher +echo 2. Build IG +echo 3. Build IG - no sushi +echo 4. Build IG - force no TX server +echo 5. Jekyll build +echo 6. Clean up temp directories +echo 0. Exit +:: echo [Press Enter for default (%default_choice%) or type an option number:] +echo. + +:: Using CHOICE to handle input with timeout +:: ECHO [Enter=Continue, 1-7=Option, 0=Exit] +choice /C 12345670 /N /CS /D %default_choice% /T 5 /M "Choose an option number or wait 5 seconds for default (%default_choice%):" +SET "userChoice=%ERRORLEVEL%" + + +:executeChoice +echo You selected: %userChoice% + +IF "%userChoice%"=="1" GOTO downloadpublisher +IF "%userChoice%"=="2" GOTO publish_once +IF "%userChoice%"=="3" GOTO publish_nosushi +IF "%userChoice%"=="4" GOTO publish_notx +IF "%userChoice%"=="5" GOTO debugjekyll +IF "%userChoice%"=="6" GOTO clean +IF "%userChoice%"=="0" EXIT /B + +:end + + + +:debugjekyll + echo Running Jekyll build... + jekyll build -s temp/pages -d output +GOTO end + + +:clean + echo Cleaning up directories... + if exist ".\input-cache\publisher.jar" ( + echo Preserving publisher.jar and removing other files in .\input-cache... + move ".\input-cache\publisher.jar" ".\" + rmdir /s /q ".\input-cache" + mkdir ".\input-cache" + move ".\publisher.jar" ".\input-cache" + ) else ( + if exist ".\input-cache\" ( + rmdir /s /q ".\input-cache" + ) + ) + if exist ".\temp\" ( + rmdir /s /q ".\temp" + echo Removed: .\temp + ) + if exist ".\output\" ( + rmdir /s /q ".\output" + echo Removed: .\output + ) + if exist ".\template\" ( + rmdir /s /q ".\template" + echo Removed: .\template + ) + +GOTO end + + + + + +:downloadpublisher +ECHO Downloading Publisher... +:processflags +SET ARG=%1 +IF DEFINED ARG ( + IF "%ARG%"=="-f" SET FORCE=true + IF "%ARG%"=="--force" SET FORCE=true + SHIFT + GOTO processflags +) + +FOR %%x IN ("%CD%") DO SET upper_path=%%~dpx + +ECHO. +IF NOT EXIST "%input_cache_path%%publisher_jar%" ( + IF NOT EXIST "%upper_path%%publisher_jar%" ( + SET jarlocation="%input_cache_path%%publisher_jar%" + SET jarlocationname=Input Cache + ECHO IG Publisher is not yet in input-cache or parent folder. + REM we don't use jarlocation below because it will be empty because we're in a bracketed if statement + GOTO create + ) ELSE ( + ECHO IG Publisher FOUND in parent folder + SET jarlocation="%upper_path%%publisher_jar%" + SET jarlocationname=Parent folder + GOTO upgrade + ) +) ELSE ( + ECHO IG Publisher FOUND in input-cache + SET jarlocation="%input_cache_path%%publisher_jar%" + SET jarlocationname=Input Cache + GOTO upgrade +) + +:create +IF DEFINED FORCE ( + MKDIR "%input_cache_path%" 2> NUL + GOTO download +) + +IF "%skipPrompts%"=="y" ( + SET create=Y +) ELSE ( + SET /p create="Download? (Y/N) " +) +IF /I "%create%"=="Y" ( + ECHO Will place publisher jar here: %input_cache_path%%publisher_jar% + MKDIR "%input_cache_path%" 2> NUL + GOTO download +) +GOTO done + +:upgrade +IF "%skipPrompts%"=="y" ( + SET overwrite=Y +) ELSE ( + SET /p overwrite="Overwrite %jarlocation%? (Y/N) " +) + +IF /I "%overwrite%"=="Y" ( + GOTO download +) +GOTO done + +:download +ECHO Downloading most recent publisher to %jarlocationname% - it's ~200 MB, so this may take a bit + +FOR /f "tokens=4-5 delims=. " %%i IN ('ver') DO SET VERSION=%%i.%%j +IF "%version%" == "10.0" GOTO win10 +IF "%version%" == "6.3" GOTO win8.1 +IF "%version%" == "6.2" GOTO win8 +IF "%version%" == "6.1" GOTO win7 +IF "%version%" == "6.0" GOTO vista + +ECHO Unrecognized version: %version% +GOTO done + +:win10 +CALL POWERSHELL -command if ('System.Net.WebClient' -as [type]) {(new-object System.Net.WebClient).DownloadFile(\"%dlurl%\",\"%jarlocation%\") } else { Invoke-WebRequest -Uri "%dlurl%" -Outfile "%jarlocation%" } + +GOTO done + +:win7 +rem this may be triggering the antivirus - bitsadmin.exe is a known threat +rem CALL bitsadmin /transfer GetPublisher /download /priority normal "%dlurl%" "%jarlocation%" + +rem this didn't work in win 10 +rem CALL Start-BitsTransfer /priority normal "%dlurl%" "%jarlocation%" + +rem this should work - untested +call (New-Object Net.WebClient).DownloadFile('%dlurl%', '%jarlocation%') +GOTO done + +:win8.1 +:win8 +:vista +GOTO done + + + +:done + + + + +ECHO. +ECHO Updating scripts +IF "%skipPrompts%"=="y" ( + SET updateScripts=Y +) ELSE ( + SET /p updateScripts="Update scripts? (Y/N) " +) +IF /I "%updateScripts%"=="Y" ( + GOTO scripts +) +GOTO end + + +:scripts + +REM Download all batch files (and this one with a new name) + +SETLOCAL DisableDelayedExpansion + + + +:dl_script_1 +ECHO Updating _build.sh +call POWERSHELL -command if ('System.Net.WebClient' -as [type]) {(new-object System.Net.WebClient).DownloadFile(\"%build_sh_url%\",\"_build.new.sh\") } else { Invoke-WebRequest -Uri "%build_sh_url%" -Outfile "_build.new.sh" } +if %ERRORLEVEL% == 0 goto upd_script_1 +echo "Errors encountered during download: %errorlevel%" +goto dl_script_2 +:upd_script_1 +start copy /y "_build.new.sh" "_build.sh" ^&^& del "_build.new.sh" ^&^& exit + + +:dl_script_2 +ECHO Updating _build.bat +call POWERSHELL -command if ('System.Net.WebClient' -as [type]) {(new-object System.Net.WebClient).DownloadFile(\"%build_bat_url%\",\"_build.new.bat\") } else { Invoke-WebRequest -Uri "%build_bat_url%" -Outfile "_build.new.bat" } +if %ERRORLEVEL% == 0 goto upd_script_2 +echo "Errors encountered during download: %errorlevel%" +goto end +:upd_script_2 +start copy /y "_build.new.bat" "_build.bat" ^&^& del "_build.new.bat" ^&^& exit + + +GOTO end + + +:publish_once + +SET JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8 + +:: Debugging statements before running publisher +ECHO 1jar_location is: %jar_location% +IF NOT "%jar_location%"=="not_found" ( + java %JAVA_OPTS% -jar "%jar_location%" -ig . %txoption% %* +) ELSE ( + ECHO IG Publisher NOT FOUND in input-cache or parent folder. Please run _updatePublisher. Aborting... +) + +GOTO end + + + +:publish_nosushi + +SET JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8 + +:: Debugging statements before running publisher +ECHO 3jar_location is: %jar_location% +IF NOT "%jar_location%"=="not_found" ( + java %JAVA_OPTS% -jar "%jar_location%" -ig . %txoption% -no-sushi %* +) ELSE ( + ECHO IG Publisher NOT FOUND in input-cache or parent folder. Please run _updatePublisher. Aborting... +) + +GOTO end + + +:publish_notx +SET txoption=-tx n/a + +SET JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8 + +:: Debugging statements before running publisher +ECHO 2jar_location is: %jar_location% +IF NOT "%jar_location%"=="not_found" ( + java %JAVA_OPTS% -jar "%jar_location%" -ig . %txoption% %* +) ELSE ( + ECHO IG Publisher NOT FOUND in input-cache or parent folder. Please run _updatePublisher. Aborting... +) + +GOTO end + + + + +:publish_continuous + +SET JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8 + +:: Debugging statements before running publisher +ECHO Checking %input_cache_path% for publisher.jar +IF EXIST "%input_cache_path%\%publisher_jar%" ( + java %JAVA_OPTS% -jar "%input_cache_path%\%publisher_jar%" -ig . %txoption% -watch %* +) ELSE ( + ECHO Checking %upper_path% for publisher.jar + IF EXIST "..\%publisher_jar%" ( + java %JAVA_OPTS% -jar "..\%publisher_jar%" -ig . %txoption% -watch %* + ) ELSE ( + ECHO IG Publisher NOT FOUND in input-cache or parent folder. Please run _updatePublisher. Aborting... + ) +) + +GOTO end + + +:end + +:: Pausing at the end + + +IF NOT "%skipPrompts%"=="true" ( + PAUSE +) diff --git a/input/ignoreWarnings.txt b/input/ignoreWarnings.txt index 7cf39fed..e4abc7d6 100644 --- a/input/ignoreWarnings.txt +++ b/input/ignoreWarnings.txt @@ -5,9 +5,6 @@ # See https://github.com/FHIR/sample-ig/blob/master/input/ignoreWarnings.txt for examples # Slice matching - There are several extensions used that either match slices in other profiles stated in meta or are permitted for use by the extension itself. -This element does not match any known slice defined in the profile http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-render|3.0.0 -This element does not match any known slice defined in the profile http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-modular|3.0.0 -This element does not match any known slice defined in the profile http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-pop-exp|3.0.0 # Slice matching - CapabilityStatement This element does not match any known slice defined in the profile http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination% @@ -23,17 +20,13 @@ The URL 'http://www.health.gov.au/assessments/mbs/715' has already been used by The URL 'http://www.health.gov.au/assessments/mbs/715' is also used by AboriginalTorresStraitIslanderHealthCheck% # Draft code systems referenced as intended -Reference to draft CodeSystem http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext|3.0.0 Reference to draft CodeSystem https://smartforms.csiro.au/ig/CodeSystem/QuestionnaireItemControlExtended% -Reference to draft CodeSystem http://hl7.org/fhir/questionnaire-item-control|4.0.1 -Reference to draft CodeSystem http://hl7.org/fhir/questionnaire-display-category|4.0.1 -Reference to draft CodeSystem http://hl7.org/fhir/choice-list-orientation|5.1.0 # Embedded HTML warnings checked The string value contains text that looks like embedded HTML tags. If this content is rendered to HTML without appropriate post-processing, it may be a security risk # Invalid errors - invariant bug -The extension http://hl7.org/fhir/StructureDefinition/questionnaire-displayCategory is not allowed to be used at this point (based on context invariant 'type!='display'') +Constraint failed: que-7: 'If the operator is 'exists', the value must be a boolean' # HL7 core warnings WARNING: 1: The HTML fragment 'ip-statements.xhtml' is not included anywhere in the produced implementation guide @@ -42,6 +35,5 @@ WARNING: 4: The HTML fragment 'globals-table.xhtml' is not included anywhere in The resource status 'draft' and the standards status 'trial-use' may not be consistent and should be reviewed The nominated WG 'pc' means that the publisher should be 'HL7 International / Patient Care' but 'FHIR Project team' was found The nominated WG 'pc' means that the contact url should be 'http://www.hl7.org/Special/committees/patientcare' but it was not found -The nominated WG 'fhir' means that the contact url should be 'http://www.hl7.org/Special/committees/fiwg' but it was not found The nominated WG 'pa' means that the publisher should be 'HL7 International / Patient Administration' but 'HL7 (FHIR Project)' was found The nominated WG 'pa' means that the contact url should be 'http://www.hl7.org/Special/committees/pafm' but it was not found diff --git a/smartforms-template/package/.index.db b/smartforms-template/package/.index.db index 6eec3bcced8ca197dd770132646e409b6aea0d7b..f4572f232c9608285db2943b368a10c287197cb8 100644 GIT binary patch delta 31 ncmZojXh@il#MdRv%m0IciI0tekBxu-W Date: Thu, 7 Aug 2025 12:09:03 +0930 Subject: [PATCH 160/177] Update patient/Practitioner.r scope to user/Practitioner.r scope --- input/pagecontent/smart-health-check-integration.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/input/pagecontent/smart-health-check-integration.md b/input/pagecontent/smart-health-check-integration.md index d7909d14..6a263fa2 100644 --- a/input/pagecontent/smart-health-check-integration.md +++ b/input/pagecontent/smart-health-check-integration.md @@ -127,8 +127,8 @@ SHCA will request the following access scopes in the authorization request `scop * `patient/MedicationStatement.cus` * `patient/Observation.cs` * `patient/Patient.r` -* `patient/Practitioner.r` * `patient/QuestionnaireResponse.crus` +* `user/Practitioner.r` * `launch/questionnaire?role=http://ns.electronichealth.net.au/smart/role/new` #### FHIR Server From 561ce78e9ae35c19ee9bb37748b2afc162bb0d48 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Tue, 12 Aug 2025 13:52:52 +1000 Subject: [PATCH 161/177] Fix fhirpath defect --- .../resources/Questionnaire-RegularMedications.json | 4 ++-- input/fsh/715-Assessment-RegularMedications.fsh | 4 ++-- ...AboriginalTorresStraitIslanderHealthCheck-assembled.json | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/fsh-generated/resources/Questionnaire-RegularMedications.json b/fsh-generated/resources/Questionnaire-RegularMedications.json index ae01701d..eefdc972 100644 --- a/fsh-generated/resources/Questionnaire-RegularMedications.json +++ b/fsh-generated/resources/Questionnaire-RegularMedications.json @@ -963,7 +963,7 @@ "valueExpression": { "name": "medicationsFromContained", "language": "text/fhirpath", - "expression": "%MedicationStatement.entry.resource.contained.ofType(MedicationStatement).where(id in %MedicationStatement.entry.resource.medication.select(reference.replace('#', '')))" + "expression": "%MedicationStatement.entry.resource.contained.ofType(Medication).where(id in %MedicationStatement.entry.resource.medication.select(reference.replace('#', '')))" } }, { @@ -971,7 +971,7 @@ "valueExpression": { "name": "medicationsFromRef", "language": "text/fhirpath", - "expression": "%MedicationStatement.entry.resource.ofType(MedicationStatement).where(id in %MedicationStatement.entry.resource.medication.select(reference.replace('Medication/', '')))" + "expression": "%MedicationStatement.entry.resource.ofType(Medication).where(id in %MedicationStatement.entry.resource.medication.select(reference.replace('Medication/', '')))" } }, { diff --git a/input/fsh/715-Assessment-RegularMedications.fsh b/input/fsh/715-Assessment-RegularMedications.fsh index 6a6d0ce2..ef5e7bce 100644 --- a/input/fsh/715-Assessment-RegularMedications.fsh +++ b/input/fsh/715-Assessment-RegularMedications.fsh @@ -48,12 +48,12 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * extension[+].url = "http://hl7.org/fhir/StructureDefinition/variable" * extension[=].valueExpression.name = "medicationsFromContained" * extension[=].valueExpression.language = #text/fhirpath -* extension[=].valueExpression.expression = "%MedicationStatement.entry.resource.contained.ofType(MedicationStatement).where(id in %MedicationStatement.entry.resource.medication.select(reference.replace('#', '')))" +* extension[=].valueExpression.expression = "%MedicationStatement.entry.resource.contained.ofType(Medication).where(id in %MedicationStatement.entry.resource.medication.select(reference.replace('#', '')))" * extension[+].url = "http://hl7.org/fhir/StructureDefinition/variable" * extension[=].valueExpression.name = "medicationsFromRef" * extension[=].valueExpression.language = #text/fhirpath -* extension[=].valueExpression.expression = "%MedicationStatement.entry.resource.ofType(MedicationStatement).where(id in %MedicationStatement.entry.resource.medication.select(reference.replace('Medication/', '')))" +* extension[=].valueExpression.expression = "%MedicationStatement.entry.resource.ofType(Medication).where(id in %MedicationStatement.entry.resource.medication.select(reference.replace('Medication/', '')))" * extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assembleContext" * extension[=].valueString = "age" diff --git a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json index 26a0989a..7f829343 100644 --- a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json +++ b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json @@ -3578,7 +3578,7 @@ "valueExpression": { "name": "medicationsFromContained", "language": "text/fhirpath", - "expression": "%MedicationStatement.entry.resource.contained.ofType(MedicationStatement).where(id in %MedicationStatement.entry.resource.medication.select(reference.replace('#', '')))" + "expression": "%MedicationStatement.entry.resource.contained.ofType(Medication).where(id in %MedicationStatement.entry.resource.medication.select(reference.replace('#', '')))" } }, { @@ -3586,7 +3586,7 @@ "valueExpression": { "name": "medicationsFromRef", "language": "text/fhirpath", - "expression": "%MedicationStatement.entry.resource.ofType(MedicationStatement).where(id in %MedicationStatement.entry.resource.medication.select(reference.replace('Medication/', '')))" + "expression": "%MedicationStatement.entry.resource.ofType(Medication).where(id in %MedicationStatement.entry.resource.medication.select(reference.replace('Medication/', '')))" } }, { @@ -19195,4 +19195,4 @@ ] } ] -} \ No newline at end of file +} From d6faa1b87d218e2cecb824e16eb171f4f9b53937 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Thu, 14 Aug 2025 16:28:05 +1000 Subject: [PATCH 162/177] Add hide button extensions --- .../Questionnaire-AllergiesAdverseReactions.json | 4 ++++ .../Questionnaire-MedicalHistoryCurrentProblems.json | 4 ++++ .../resources/Questionnaire-RegularMedications.json | 4 ++++ .../fsh/715-Assessment-AllergiesAdverseReactions.fsh | 1 + .../715-Assessment-MedicalHistoryCurrentProblems.fsh | 1 + input/fsh/715-Assessment-RegularMedications.fsh | 5 +++-- ...nalTorresStraitIslanderHealthCheck-assembled.json | 12 ++++++++++++ 7 files changed, 29 insertions(+), 2 deletions(-) diff --git a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json index 066e180f..7260463f 100644 --- a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json +++ b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json @@ -117,6 +117,10 @@ } ], "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract" + }, + { + "url": "https://smartforms.csiro.au/ig/StructureDefinition/GroupHideAddItemButton", + "valueBoolean": true } ], "item": [ diff --git a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json index f7c643e1..ec4c17e8 100644 --- a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json +++ b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json @@ -178,6 +178,10 @@ "item": [ { "extension": [ + { + "url": "https://smartforms.csiro.au/ig/StructureDefinition/GroupHideAddItemButton", + "valueBoolean": true + }, { "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", "valueCodeableConcept": { diff --git a/fsh-generated/resources/Questionnaire-RegularMedications.json b/fsh-generated/resources/Questionnaire-RegularMedications.json index eefdc972..09a18871 100644 --- a/fsh-generated/resources/Questionnaire-RegularMedications.json +++ b/fsh-generated/resources/Questionnaire-RegularMedications.json @@ -130,6 +130,10 @@ } ], "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract" + }, + { + "url": "https://smartforms.csiro.au/ig/StructureDefinition/GroupHideAddItemButton", + "valueBoolean": true } ], "item": [ diff --git a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh index a0b09fc3..82b4d5ad 100644 --- a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh +++ b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh @@ -129,6 +129,7 @@ Description: "Allergies/Adverse Reactions sub-questionnaire for Aboriginal and T * item[=].item[=].item[=].extension[TemplateExtractExtensionExtended][+].extension[template][+].valueReference = Reference(AllergyIntolerancePatchTemplate) * item[=].item[=].item[=].extension[TemplateExtractExtensionExtended][=].extension[resourceId][+].valueString = "item.where(linkId='allergyIntoleranceId').answer.value" * item[=].item[=].item[=].extension[TemplateExtractExtensionExtended][=].extension[type][+].valueCode = #AllergyIntolerance +* item[=].item[=].item[=].extension[https://smartforms.csiro.au/ig/StructureDefinition/GroupHideAddItemButton][+].valueBoolean = true * item[=].item[=].item[=].linkId = "allergysummary" * item[=].item[=].item[=].text = "Adverse reaction risk summary" * item[=].item[=].item[=].text.extension[+].url = "https://smartforms.csiro.au/ig/StructureDefinition/QuestionnaireItemTextHidden" diff --git a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh index 110f87cd..0b0d76b4 100644 --- a/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh +++ b/input/fsh/715-Assessment-MedicalHistoryCurrentProblems.fsh @@ -152,6 +152,7 @@ Description: "Medical History sub-questionnaire for Aboriginal and Torres Strait
        " * type = #group * item[+] + * extension[https://smartforms.csiro.au/ig/StructureDefinition/GroupHideAddItemButton][+].valueBoolean = true * extension[http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl][+].valueCodeableConcept = http://hl7.org/fhir/questionnaire-item-control#gtable * extension[http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemPopulationContext][+].valueExpression * name = "ConditionRepeat" diff --git a/input/fsh/715-Assessment-RegularMedications.fsh b/input/fsh/715-Assessment-RegularMedications.fsh index ef5e7bce..c3297bd8 100644 --- a/input/fsh/715-Assessment-RegularMedications.fsh +++ b/input/fsh/715-Assessment-RegularMedications.fsh @@ -119,11 +119,12 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St // Current medications * item.item[=].item[0].extension[sdc-questionnaire-itemPopulationContext][+].valueExpression[+].name = "MedicationStatementRepeat" -* item.item[=].item[0].extension[sdc-questionnaire-itemPopulationContext][=].valueExpression[=].language = #text/fhirpath -* item.item[=].item[0].extension[sdc-questionnaire-itemPopulationContext][=].valueExpression[=].expression = "%MedicationStatement.entry.resource.ofType(MedicationStatement)" +* item.item[=].item[=].extension[sdc-questionnaire-itemPopulationContext][=].valueExpression[=].language = #text/fhirpath +* item.item[=].item[=].extension[sdc-questionnaire-itemPopulationContext][=].valueExpression[=].expression = "%MedicationStatement.entry.resource.ofType(MedicationStatement)" * item.item[=].item[=].extension[TemplateExtractExtensionExtended][+].extension[template][+].valueReference = Reference(MedicationStatementPatchTemplate) * item.item[=].item[=].extension[TemplateExtractExtensionExtended][=].extension[resourceId][+].valueString = "item.where(linkId='medicationStatementId').answer.value" * item.item[=].item[=].extension[TemplateExtractExtensionExtended][=].extension[type][+].valueCode = #MedicationStatement +* item.item[=].item[=].extension[https://smartforms.csiro.au/ig/StructureDefinition/GroupHideAddItemButton][+].valueBoolean = true * item.item[=].item[=].linkId = "regularmedications-summary-current" * item.item[=].item[=].text = "Current medications" * item.item[=].item[=].text.extension[+].url = "https://smartforms.csiro.au/ig/StructureDefinition/QuestionnaireItemTextHidden" diff --git a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json index 7f829343..c1902279 100644 --- a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json +++ b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json @@ -6485,6 +6485,10 @@ "item": [ { "extension": [ + { + "url": "https://smartforms.csiro.au/ig/StructureDefinition/GroupHideAddItemButton", + "valueBoolean": true + }, { "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl", "valueCodeableConcept": { @@ -6867,6 +6871,10 @@ "valueCode": "MedicationStatement" } ] + }, + { + "url": "https://smartforms.csiro.au/ig/StructureDefinition/GroupHideAddItemButton", + "valueBoolean": true } ], "linkId": "regularmedications-summary-current", @@ -7366,6 +7374,10 @@ "valueCode": "AllergyIntolerance" } ] + }, + { + "url": "https://smartforms.csiro.au/ig/StructureDefinition/GroupHideAddItemButton", + "valueBoolean": true } ], "linkId": "allergysummary", From 36044b4cad812038d19ba298625fe5f89bef91b6 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Fri, 15 Aug 2025 14:22:22 +1000 Subject: [PATCH 163/177] Add examples --- ...ntationGuide-csiro.fhir.au.smartforms.json | 42 + .../resources/Questionnaire-Examination.json | 2 +- .../StructureDefinition-SHCHeartRhythm.json | 56 +- .../AllergyIntolerance-604a-pat-sf.json | 51 ++ ...dle-sdc-template-extract-928bbdd27d15.json | 804 ++++++++++++++++++ input/examples/Condition-fever-pat-sf.json | 65 ++ ...ationStatement-chloramphenicol-pat-sf.json | 40 + input/examples/Patient-pat-sf.json | 282 ++++++ .../examples/Practitioner-primary-peter.json | 37 + input/fsh/extract-templates.fsh | 2 +- input/fsh/profiles.fsh | 10 + ...esStraitIslanderHealthCheck-assembled.json | 2 +- 12 files changed, 1354 insertions(+), 39 deletions(-) create mode 100644 input/examples/AllergyIntolerance-604a-pat-sf.json create mode 100644 input/examples/Bundle-sdc-template-extract-928bbdd27d15.json create mode 100644 input/examples/Condition-fever-pat-sf.json create mode 100644 input/examples/MedicationStatement-chloramphenicol-pat-sf.json create mode 100644 input/examples/Patient-pat-sf.json create mode 100644 input/examples/Practitioner-primary-peter.json diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index 47ec1b77..56a912c3 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -71,6 +71,13 @@ ], "definition": { "resource": [ + { + "reference": { + "reference": "AllergyIntolerance/604a-pat-sf" + }, + "name": "604a-pat-sf", + "exampleCanonical": "https://smartforms.csiro.au/ig/StructureDefinition/SHCAllergyIntolerance" + }, { "reference": { "reference": "Questionnaire/AssemblyInstructions" @@ -414,6 +421,13 @@ "description": "The Cervical Screening Status value set includes values that can be used to represent the status of an individual's participation in a cervical screening program.", "exampleBoolean": false }, + { + "reference": { + "reference": "MedicationStatement/chloramphenicol-pat-sf" + }, + "name": "chloramphenicol-pat-sf", + "exampleCanonical": "https://smartforms.csiro.au/ig/StructureDefinition/SHCMedicationStatement" + }, { "reference": { "reference": "ValueSet/clinical-condition-1" @@ -438,6 +452,13 @@ "description": "This extension is intended to be used as a work around to a known bug whereby contained resources that are not referenced with the type, 'Reference' are removed before a resource is created in a HAPI FHIR server. This is problematic when referencing with the type, 'canonical'. The extension can be used to reference contained resources so they are retained when added to a HAPI FHIR server.", "exampleBoolean": false }, + { + "reference": { + "reference": "Condition/fever-pat-sf" + }, + "name": "fever-pat-sf", + "exampleCanonical": "https://smartforms.csiro.au/ig/StructureDefinition/SHCCondition" + }, { "reference": { "reference": "ValueSet/gender-identity-response-1" @@ -478,6 +499,13 @@ "description": "The Medication Reason Taken value set includes values that identify a reason why a medication has been or is being taken.", "exampleBoolean": false }, + { + "reference": { + "reference": "Patient/pat-sf" + }, + "name": "pat-sf", + "exampleCanonical": "https://smartforms.csiro.au/ig/StructureDefinition/SHCPatient" + }, { "reference": { "reference": "ValueSet/PrimaryCarerParentGrandparent" @@ -486,6 +514,13 @@ "description": "The Primary Carer Of Parent Or Grandparent value set includes values that can indicate whether a primary carer is one of the parents or a grandparent.", "exampleBoolean": false }, + { + "reference": { + "reference": "Practitioner/primary-peter" + }, + "name": "primary-peter", + "exampleCanonical": "https://smartforms.csiro.au/ig/StructureDefinition/SHCPractitioner" + }, { "reference": { "reference": "CodeSystem/QuestionnaireItemControlExtended" @@ -502,6 +537,13 @@ "description": "This custom extension is used to indicate that the text of a Questionnaire item should be hidden in the user interface. This is useful for items where the text is not intended to be displayed to the user but is still needed for other processes.", "exampleBoolean": false }, + { + "reference": { + "reference": "Bundle/sdc-template-extract-928bbdd27d15" + }, + "name": "sdc-template-extract-928bbdd27d15", + "exampleBoolean": true + }, { "reference": { "reference": "ActorDefinition/SHCApp" diff --git a/fsh-generated/resources/Questionnaire-Examination.json b/fsh-generated/resources/Questionnaire-Examination.json index aed395a4..894a7869 100644 --- a/fsh-generated/resources/Questionnaire-Examination.json +++ b/fsh-generated/resources/Questionnaire-Examination.json @@ -1696,7 +1696,7 @@ "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "item.where(linkId='bp-newbp-date').answer.value.toDateTime()" + "valueString": "%resource.repeat(item).where(linkId='bp-newbp-date').answer.value.toDateTime()" } ] } diff --git a/fsh-generated/resources/StructureDefinition-SHCHeartRhythm.json b/fsh-generated/resources/StructureDefinition-SHCHeartRhythm.json index b568048f..9b49aa8a 100644 --- a/fsh-generated/resources/StructureDefinition-SHCHeartRhythm.json +++ b/fsh-generated/resources/StructureDefinition-SHCHeartRhythm.json @@ -98,46 +98,30 @@ }, { "id": "Observation.category:vitalSignsCategory", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/obligation", - "extension": [ - { - "url": "code", - "valueCode": "SHALL:process" - }, - { - "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" - } - ] - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/obligation", - "extension": [ - { - "url": "code", - "valueCode": "SHALL:populate" - }, - { - "url": "actor", - "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" - } - ] - } - ], "path": "Observation.category", "sliceName": "vitalSignsCategory", "min": 1, "max": "1", - "fixedCodeableConcept": { - "coding": [ - { - "code": "vital-signs", - "system": "http://terminology.hl7.org/CodeSystem/observation-category" - } - ] - }, + "mustSupport": true + }, + { + "id": "Observation.category:vitalSignsCategory.coding", + "path": "Observation.category.coding", + "min": 1, + "mustSupport": true + }, + { + "id": "Observation.category:vitalSignsCategory.coding.system", + "path": "Observation.category.coding.system", + "min": 1, + "fixedUri": "http://terminology.hl7.org/CodeSystem/observation-category", + "mustSupport": true + }, + { + "id": "Observation.category:vitalSignsCategory.coding.code", + "path": "Observation.category.coding.code", + "min": 1, + "fixedCode": "vital-signs", "mustSupport": true }, { diff --git a/input/examples/AllergyIntolerance-604a-pat-sf.json b/input/examples/AllergyIntolerance-604a-pat-sf.json new file mode 100644 index 00000000..7b31d506 --- /dev/null +++ b/input/examples/AllergyIntolerance-604a-pat-sf.json @@ -0,0 +1,51 @@ +{ + "resourceType": "AllergyIntolerance", + "id": "604a-pat-sf", + "meta": { + "profile": [ + "https://smartforms.csiro.au/ig/StructureDefinition/SHCAllergyIntolerance" + ] + }, + "clinicalStatus": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical", + "code": "active" + } + ] + }, + "code": { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "412583005", + "display": "Bee pollen" + } + ], + "text": "Bee pollen" + }, + "patient": { + "reference": "Patient/pat-sf" + }, + "note": [ + { + "text": "comment" + } + ], + "reaction": [ + { + "manifestation": [ + { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "271807003", + "display": "Rash" + } + ], + "text": "Rash" + } + ] + } + ] +} \ No newline at end of file diff --git a/input/examples/Bundle-sdc-template-extract-928bbdd27d15.json b/input/examples/Bundle-sdc-template-extract-928bbdd27d15.json new file mode 100644 index 00000000..94461000 --- /dev/null +++ b/input/examples/Bundle-sdc-template-extract-928bbdd27d15.json @@ -0,0 +1,804 @@ +{ + "resourceType": "Bundle", + "id": "sdc-template-extract-928bbdd27d15", + "meta": { + "tag": [ + { + "code": "@aehrc/sdc-template-extract-v0.1.0:generated" + } + ] + }, + "type": "transaction", + "timestamp": "2025-08-15T00:08:34.723Z", + "entry": [ + { + "fullUrl": "urn:uuid:c618ee3d-b07b-4711-90f5-56d934b906de", + "resource": { + "resourceType": "Condition", + "meta": { + "profile": [ + "https://smartforms.csiro.au/ig/StructureDefinition/SHCCondition" + ] + }, + "clinicalStatus": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", + "code": "active" + } + ] + }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/condition-category", + "code": "problem-list-item" + } + ] + } + ], + "code": { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "195967001", + "display": "Asthma" + } + ] + }, + "subject": { + "reference": "Patient/pat-sf" + }, + "onsetDateTime": "2025-07-01", + "note": [ + { + "text": "Difficulty breathing" + } + ] + }, + "request": { + "method": "POST", + "url": "Condition" + } + }, + { + "fullUrl": "urn:uuid:81c413e3-46e4-4f9f-96f5-c71983f6ffcd", + "resource": { + "resourceType": "Condition", + "meta": { + "profile": [ + "https://smartforms.csiro.au/ig/StructureDefinition/SHCCondition" + ] + }, + "clinicalStatus": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", + "code": "active" + } + ] + }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/condition-category", + "code": "problem-list-item" + } + ] + } + ], + "code": { + "text": "Really bad pain" + }, + "subject": { + "reference": "Patient/pat-sf" + }, + "onsetDateTime": "2025-08-13" + }, + "request": { + "method": "POST", + "url": "Condition" + } + }, + { + "fullUrl": "urn:uuid:ffb87c39-5fa8-4ea7-92c1-83911ecf33a7", + "resource": { + "resourceType": "Parameters", + "parameter": [ + { + "name": "operation", + "part": [ + { + "name": "type", + "valueCode": "replace" + }, + { + "name": "path", + "valueString": "Condition.clinicalStatus" + }, + { + "name": "name", + "valueString": "clinicalStatus" + }, + { + "name": "value", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", + "code": "inactive", + "display": "Inactive" + } + ] + } + }, + { + "name": "pathLabel", + "valueString": "Clinical status" + } + ] + }, + { + "name": "operation", + "part": [ + { + "name": "type", + "valueCode": "replace" + }, + { + "name": "path", + "valueString": "Condition.abatement" + }, + { + "name": "name", + "valueString": "abatement" + }, + { + "name": "value", + "valueDateTime": "2025-08-15" + }, + { + "name": "pathLabel", + "valueString": "Abatement date" + } + ] + } + ] + }, + "request": { + "method": "PATCH", + "url": "Condition/fever-pat-sf" + } + }, + { + "fullUrl": "urn:uuid:f23b4046-2326-4c86-b4f6-1e8b6f6f7321", + "resource": { + "resourceType": "MedicationStatement", + "meta": { + "profile": [ + "https://smartforms.csiro.au/ig/StructureDefinition/SHCMedicationStatement" + ] + }, + "status": "active", + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "85332011000036101", + "display": "Coveram 10 mg/10 mg (perindopril arginine/amlodipine) tablet" + } + ] + }, + "reasonCode": [ + { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "38341003", + "display": "Hypertension" + } + ] + } + ], + "dosage": [ + { + "text": "One tablet daily" + } + ], + "subject": { + "reference": "Patient/pat-sf" + }, + "dateAsserted": "2025-08-15T10:08:34.551+10:00", + "note": [ + { + "text": "Review regularly" + } + ] + }, + "request": { + "method": "POST", + "url": "MedicationStatement" + } + }, + { + "fullUrl": "urn:uuid:c8a97d6f-d0d5-4561-ab83-2607b3bb072f", + "resource": { + "resourceType": "Parameters", + "parameter": [ + { + "name": "operation", + "part": [ + { + "name": "type", + "valueCode": "replace" + }, + { + "name": "path", + "valueString": "MedicationStatement.status" + }, + { + "name": "name", + "valueString": "status" + }, + { + "name": "value", + "valueCode": "completed" + }, + { + "name": "pathLabel", + "valueString": "Status" + } + ] + } + ] + }, + "request": { + "method": "PATCH", + "url": "MedicationStatement/chloramphenicol-pat-sf" + } + }, + { + "fullUrl": "urn:uuid:e1f31c73-cb18-4ddd-aacb-26d59de074ba", + "resource": { + "resourceType": "AllergyIntolerance", + "meta": { + "profile": [ + "https://smartforms.csiro.au/ig/StructureDefinition/SHCAllergyIntolerance" + ] + }, + "clinicalStatus": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical", + "code": "active" + } + ] + }, + "code": { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "387458008", + "display": "Aspirin" + } + ] + }, + "reaction": [ + { + "manifestation": [ + { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "126485001", + "display": "Urticaria" + } + ] + } + ] + } + ], + "patient": { + "reference": "Patient/pat-sf" + }, + "note": [ + { + "text": "Moderate reaction" + } + ] + }, + "request": { + "method": "POST", + "url": "AllergyIntolerance" + } + }, + { + "fullUrl": "urn:uuid:346d80b8-9aef-42eb-a794-bbb74774ff7f", + "resource": { + "resourceType": "Parameters", + "parameter": [ + { + "name": "operation", + "part": [ + { + "name": "type", + "valueCode": "replace" + }, + { + "name": "path", + "valueString": "AllergyIntolerance.clinicalStatus" + }, + { + "name": "name", + "valueString": "clinicalStatus" + }, + { + "name": "value", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical", + "code": "inactive", + "display": "Inactive" + } + ] + } + }, + { + "name": "pathLabel", + "valueString": "Clinical status" + } + ] + }, + { + "name": "operation", + "part": [ + { + "name": "type", + "valueCode": "replace" + }, + { + "name": "path", + "valueString": "AllergyIntolerance.note[0].text" + }, + { + "name": "name", + "valueString": "text" + }, + { + "name": "value", + "valueMarkdown": "Duplicated allergy in record. Removed." + }, + { + "name": "pathLabel", + "valueString": "Comment" + } + ] + } + ] + }, + "request": { + "method": "PATCH", + "url": "AllergyIntolerance/604a-pat-sf" + } + }, + { + "fullUrl": "urn:uuid:29c3f6e2-4789-4114-8faf-95d250fc1986", + "resource": { + "resourceType": "Observation", + "meta": { + "profile": [ + "https://smartforms.csiro.au/ig/StructureDefinition/SHCSmokingStatus" + ] + }, + "status": "final", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "social-history" + } + ] + } + ], + "code": { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "1747861000168109" + }, + { + "system": "http://loinc.org", + "code": "72166-2" + } + ], + "text": "Smoking status" + }, + "subject": { + "reference": "Patient/pat-sf" + }, + "effectiveDateTime": "2025-08-15", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "8517006", + "display": "Ex-smoker" + } + ] + } + }, + "request": { + "method": "POST", + "url": "Observation" + } + }, + { + "fullUrl": "urn:uuid:9c321cfb-0218-455e-a44b-4c6c65afc40e", + "resource": { + "resourceType": "Immunization", + "meta": { + "profile": [ + "https://smartforms.csiro.au/ig/StructureDefinition/SHCImmunization" + ] + }, + "status": "completed", + "vaccineCode": { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "884862121000036103", + "display": "Fluquadri 2025" + } + ] + }, + "patient": { + "reference": "Patient/pat-sf" + }, + "occurrenceDateTime": "2025-08-15", + "lotNumber": "123" + }, + "request": { + "method": "POST", + "url": "Immunization" + } + }, + { + "fullUrl": "urn:uuid:559e4dda-ee0d-46c2-9f32-0bb66d9ae5e2", + "resource": { + "resourceType": "Observation", + "meta": { + "profile": [ + "https://smartforms.csiro.au/ig/StructureDefinition/SHCBodyHeight" + ] + }, + "status": "final", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs" + } + ] + } + ], + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "8302-2" + }, + { + "system": "http://snomed.info/sct", + "code": "50373000" + } + ], + "text": "Height" + }, + "valueQuantity": { + "unit": "cm", + "system": "http://unitsofmeasure.org", + "code": "cm", + "value": 164 + }, + "subject": { + "reference": "Patient/pat-sf" + }, + "effectiveDateTime": "2025-08-15" + }, + "request": { + "method": "POST", + "url": "Observation" + } + }, + { + "fullUrl": "urn:uuid:20e79d0a-17cc-4e0a-9507-b441815ec266", + "resource": { + "resourceType": "Observation", + "meta": { + "profile": [ + "https://smartforms.csiro.au/ig/StructureDefinition/SHCBodyWeight" + ] + }, + "status": "final", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs" + } + ] + } + ], + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "29463-7" + }, + { + "system": "http://snomed.info/sct", + "code": "27113001" + } + ], + "text": "Weight" + }, + "valueQuantity": { + "unit": "kg", + "system": "http://unitsofmeasure.org", + "code": "kg", + "value": 80 + }, + "subject": { + "reference": "Patient/pat-sf" + }, + "effectiveDateTime": "2025-08-15" + }, + "request": { + "method": "POST", + "url": "Observation" + } + }, + { + "fullUrl": "urn:uuid:553b15aa-fa22-4290-bcfb-f683ad6d6674", + "resource": { + "resourceType": "Observation", + "meta": { + "profile": [ + "https://smartforms.csiro.au/ig/StructureDefinition/SHCWaistCircumference" + ] + }, + "status": "final", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs" + } + ] + } + ], + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "8280-0" + }, + { + "system": "http://snomed.info/sct", + "code": "276361009" + } + ], + "text": "Waist circumference" + }, + "valueQuantity": { + "unit": "cm", + "system": "http://unitsofmeasure.org", + "code": "cm", + "value": 90 + }, + "subject": { + "reference": "Patient/pat-sf" + }, + "effectiveDateTime": "2025-08-15" + }, + "request": { + "method": "POST", + "url": "Observation" + } + }, + { + "fullUrl": "urn:uuid:1d0cce77-432d-42d7-a9be-5711972e7953", + "resource": { + "resourceType": "Observation", + "meta": { + "profile": [ + "https://smartforms.csiro.au/ig/StructureDefinition/SHCHeartRate" + ] + }, + "status": "final", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs" + } + ] + } + ], + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "8867-4" + }, + { + "system": "http://snomed.info/sct", + "code": "364075005" + } + ], + "text": "Heart rate" + }, + "valueQuantity": { + "unit": "/min", + "system": "http://unitsofmeasure.org", + "code": "/min", + "value": 75 + }, + "subject": { + "reference": "Patient/pat-sf" + }, + "effectiveDateTime": "2025-08-15" + }, + "request": { + "method": "POST", + "url": "Observation" + } + }, + { + "fullUrl": "urn:uuid:3583d16f-a22f-4f03-8251-1d5d04ea87de", + "resource": { + "resourceType": "Observation", + "meta": { + "profile": [ + "https://smartforms.csiro.au/ig/StructureDefinition/SHCHeartRhythm" + ] + }, + "status": "final", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs" + } + ] + } + ], + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "8884-9" + }, + { + "system": "http://snomed.info/sct", + "code": "364074009" + } + ], + "text": "Heart rhythm" + }, + "subject": { + "reference": "Patient/pat-sf" + }, + "effectiveDateTime": "2025-08-15", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "933506231000036108", + "display": "Regular heart rhythm" + } + ] + } + }, + "request": { + "method": "POST", + "url": "Observation" + } + }, + { + "fullUrl": "urn:uuid:37e726d5-6ccd-4c81-ad8f-abc3460a645f", + "resource": { + "resourceType": "Observation", + "meta": { + "profile": [ + "https://smartforms.csiro.au/ig/StructureDefinition/SHCBloodPressure" + ] + }, + "status": "final", + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs" + } + ] + } + ], + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "85354-9" + }, + { + "system": "http://snomed.info/sct", + "code": "75367002" + } + ], + "text": "Blood pressure" + }, + "component": [ + { + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "8480-6" + }, + { + "system": "http://snomed.info/sct", + "code": "271649006" + } + ], + "text": "Systolic" + }, + "valueQuantity": { + "unit": "mm[Hg]", + "system": "http://unitsofmeasure.org", + "code": "mm[Hg]", + "value": 170 + } + }, + { + "code": { + "coding": [ + { + "system": "http://loinc.org", + "code": "8462-4" + }, + { + "system": "http://snomed.info/sct", + "code": "271650006" + } + ], + "text": "Diastolic" + }, + "valueQuantity": { + "unit": "mm[Hg]", + "system": "http://unitsofmeasure.org", + "code": "mm[Hg]", + "value": 90 + } + } + ], + "subject": { + "reference": "Patient/pat-sf" + } + }, + "request": { + "method": "POST", + "url": "Observation" + } + } + ] +} \ No newline at end of file diff --git a/input/examples/Condition-fever-pat-sf.json b/input/examples/Condition-fever-pat-sf.json new file mode 100644 index 00000000..1bad3cf9 --- /dev/null +++ b/input/examples/Condition-fever-pat-sf.json @@ -0,0 +1,65 @@ +{ + "resourceType": "Condition", + "id": "fever-pat-sf", + "meta": { + "profile": [ + "https://smartforms.csiro.au/ig/StructureDefinition/SHCCondition" + ] + }, + "clinicalStatus": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/condition-clinical", + "code": "active", + "display": "Active" + } + ] + }, + "verificationStatus": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/condition-ver-status", + "code": "confirmed", + "display": "Confirmed" + } + ], + "text": "Confirmed" + }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/condition-category", + "code": "problem-list-item" + } + ] + } + ], + "severity": { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "6736007", + "display": "Moderate" + } + ] + }, + "code": { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "63993003", + "display": "Remittent fever" + } + ], + "text": "Remittent fever" + }, + "subject": { + "reference": "Patient/pat-sf" + }, + "onsetDateTime": "2015-02-11T00:00:00.000Z", + "recordedDate": "2015-02-12", + "recorder": { + "reference": "Practitioner/primary-peter" + } +} \ No newline at end of file diff --git a/input/examples/MedicationStatement-chloramphenicol-pat-sf.json b/input/examples/MedicationStatement-chloramphenicol-pat-sf.json new file mode 100644 index 00000000..c8cd20b5 --- /dev/null +++ b/input/examples/MedicationStatement-chloramphenicol-pat-sf.json @@ -0,0 +1,40 @@ +{ + "resourceType": "MedicationStatement", + "id": "chloramphenicol-pat-sf", + "meta": { + "profile": [ + "https://smartforms.csiro.au/ig/StructureDefinition/SHCMedicationStatement" + ] + }, + "status": "active", + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "22717011000036101", + "display": "Chloramphenicol 1% eye ointment" + } + ], + "text": "Chloramphenicol 1% eye ointment" + }, + "subject": { + "reference": "Patient/pat-sf" + }, + "dateAsserted": "2024-02-05", + "reasonCode": [ + { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "128350005" + } + ], + "text": "Bacterial conjunctivitis" + } + ], + "dosage": [ + { + "text": "Apply 1 drop to each eye every 2 hours for 7 days" + } + ] +} \ No newline at end of file diff --git a/input/examples/Patient-pat-sf.json b/input/examples/Patient-pat-sf.json new file mode 100644 index 00000000..93ac09ad --- /dev/null +++ b/input/examples/Patient-pat-sf.json @@ -0,0 +1,282 @@ +{ + "resourceType": "Patient", + "id": "pat-sf", + "meta": { + "profile": [ + "https://smartforms.csiro.au/ig/StructureDefinition/SHCPatient" + ] + }, + "extension": [ + { + "url": "http://hl7.org.au/fhir/StructureDefinition/indigenous-status", + "valueCoding": { + "system": "https://healthterminologies.gov.au/fhir/CodeSystem/australian-indigenous-status-1", + "code": "1", + "display": "Aboriginal but not Torres Strait Islander origin" + } + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/individual-genderIdentity", + "extension": [ + { + "url": "value", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "446141000124107", + "display": "Identifies as female gender" + } + ] + } + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/individual-pronouns", + "extension": [ + { + "url": "value", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://loinc.org", + "code": "LA29520-6", + "display": "they/them/their/theirs/themselves" + } + ] + } + }, + { + "url": "period", + "valuePeriod": { + "start": "2018-02", + "end": "2022-06" + } + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/individual-pronouns", + "extension": [ + { + "url": "value", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://loinc.org", + "code": "LA29519-8", + "display": "she/her/her/hers/herself" + } + ] + } + }, + { + "url": "period", + "valuePeriod": { + "start": "2022-06" + } + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender", + "extension": [ + { + "url": "value", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "248152002", + "display": "Female" + } + ], + "text": "Female" + } + }, + { + "url": "type", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "1515311000168102", + "display": "Biological sex at birth" + } + ], + "text": "Sex at Birth" + } + }, + { + "url": "effectivePeriod", + "valuePeriod": { + "start": "2022-06" + } + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/individual-recordedSexOrGender", + "extension": [ + { + "url": "value", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "32570681000036106", + "display": "Indeterminate sex" + } + ], + "text": "Indeterminate sex" + } + }, + { + "url": "type", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "code": "1515311000168102", + "display": "Biological sex at birth" + } + ], + "text": "Sex at Birth" + } + }, + { + "url": "effectivePeriod", + "valuePeriod": { + "start": "2018-02", + "end": "2022-06" + } + } + ] + } + ], + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "MC" + } + ], + "text": "Medicare Number" + }, + "system": "http://ns.electronichealth.net.au/id/medicare-number", + "value": "69514496771", + "period": { + "end": "2024-08" + } + }, + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "NI", + "display": "National unique individual identifier" + } + ], + "text": "IHI" + }, + "system": "http://ns.electronichealth.net.au/id/hi/ihi/1.0", + "value": "8003608833357361" + } + ], + "name": [ + { + "use": "official", + "text": "Mrs. Smart Form", + "family": "Form", + "given": [ + "Smart" + ], + "prefix": [ + "Mrs" + ] + }, + { + "use": "usual", + "text": "Clever Form" + } + ], + "telecom": [ + { + "system": "phone", + "value": "0491 572 665", + "use": "mobile" + }, + { + "system": "phone", + "value": "0123456879", + "use": "home" + } + ], + "gender": "female", + "birthDate": "1968-10-11", + "address": [ + { + "use": "home", + "type": "physical", + "line": [ + "4 Brisbane Street" + ], + "city": "Brisbane", + "state": "QLD", + "postalCode": "4112", + "country": "AU" + }, + { + "use": "temp", + "type": "postal", + "line": [ + "PO Box Number" + ], + "city": "Brisbane", + "state": "QLD", + "postalCode": "4112", + "country": "AU" + } + ], + "contact": [ + { + "relationship": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0131", + "code": "C" + } + ] + } + ], + "name": { + "use": "usual", + "text": "Ms Phone A Friend" + }, + "telecom": [ + { + "system": "phone", + "value": "0987654321" + } + ] + } + ], + "communication": [ + { + "language": { + "coding": [ + { + "system": "urn:ietf:bcp:47", + "code": "yub" + } + ], + "text": "Yugambal" + } + } + ] +} \ No newline at end of file diff --git a/input/examples/Practitioner-primary-peter.json b/input/examples/Practitioner-primary-peter.json new file mode 100644 index 00000000..375904dc --- /dev/null +++ b/input/examples/Practitioner-primary-peter.json @@ -0,0 +1,37 @@ +{ + "resourceType": "Practitioner", + "id": "primary-peter", + "meta": { + "profile": [ + "https://smartforms.csiro.au/ig/StructureDefinition/SHCPractitioner" + ] + }, + "identifier": [ + { + "system": "http://www.acme.org/practitioners", + "value": "25456" + } + ], + "name": [ + { + "family": "Primary", + "given": [ + "Peter" + ], + "prefix": [ + "Dr" + ] + } + ], + "address": [ + { + "use": "work", + "line": [ + "310 Hay St" + ], + "city": "East Perth", + "state": "WA", + "postalCode": "6004" + } + ] +} \ No newline at end of file diff --git a/input/fsh/extract-templates.fsh b/input/fsh/extract-templates.fsh index 6a2b18d3..da822974 100644 --- a/input/fsh/extract-templates.fsh +++ b/input/fsh/extract-templates.fsh @@ -173,7 +173,7 @@ Usage: #inline * subject.reference.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * subject.reference.extension[=].valueString = "%resource.subject.reference" * effectiveDateTime.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" -* effectiveDateTime.extension[=].valueString = "item.where(linkId='bp-newbp-date').answer.value.toDateTime()" +* effectiveDateTime.extension[=].valueString = "%resource.repeat(item).where(linkId='bp-newbp-date').answer.value.toDateTime()" * component[+].code.coding[+] = $LNC#8480-6 * component[=].code.coding[+] = $SCT#271649006 * component[=].code.text = "Systolic" diff --git a/input/fsh/profiles.fsh b/input/fsh/profiles.fsh index 5247a1cd..c6e05715 100644 --- a/input/fsh/profiles.fsh +++ b/input/fsh/profiles.fsh @@ -465,9 +465,19 @@ Description: "This profile sets the minimum expectations for an Observation reso * category ^slicing.ordered = false * category ^slicing.rules = #open * category contains vitalSignsCategory 1..1 MS +* category[vitalSignsCategory].coding 1..* MS +* category[vitalSignsCategory].coding only Coding +* category[vitalSignsCategory].coding.system 1..1 MS +* category[vitalSignsCategory].coding.system only uri +* category[vitalSignsCategory].coding.system = "http://terminology.hl7.org/CodeSystem/observation-category" (exactly) +* category[vitalSignsCategory].coding.code 1..1 MS +* category[vitalSignsCategory].coding.code only code +* category[vitalSignsCategory].coding.code = #vital-signs (exactly) +/* * category[vitalSignsCategory] = http://terminology.hl7.org/CodeSystem/observation-category#vital-signs (exactly) * category[vitalSignsCategory] insert obligationServer (0, SHALL:process) * category[vitalSignsCategory] insert obligationApp (1, SHALL:populate) +*/ * code MS * code ^short = "Heart Rhythm" * code ^definition = "Heart Rhythm." diff --git a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json index c1902279..b5a3034b 100644 --- a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json +++ b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json @@ -2826,7 +2826,7 @@ "extension": [ { "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue", - "valueString": "item.where(linkId='bp-newbp-date').answer.value.toDateTime()" + "valueString": "%resource.repeat(item).where(linkId='bp-newbp-date').answer.value.toDateTime()" } ] }, From bf5e2ef73a40816960ce5aa563f3a947e2f61bd1 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Fri, 15 Aug 2025 16:29:48 +1000 Subject: [PATCH 164/177] fix BP effective time in template --- input/examples/Bundle-sdc-template-extract-928bbdd27d15.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/input/examples/Bundle-sdc-template-extract-928bbdd27d15.json b/input/examples/Bundle-sdc-template-extract-928bbdd27d15.json index 94461000..a038c496 100644 --- a/input/examples/Bundle-sdc-template-extract-928bbdd27d15.json +++ b/input/examples/Bundle-sdc-template-extract-928bbdd27d15.json @@ -793,7 +793,8 @@ ], "subject": { "reference": "Patient/pat-sf" - } + }, + "effectiveDateTime": "2025-08-15" }, "request": { "method": "POST", From 06fca204d88e076abab34063ee3305cfa6cf2e1f Mon Sep 17 00:00:00 2001 From: liambarnes Date: Thu, 21 Aug 2025 16:51:01 +1000 Subject: [PATCH 165/177] Remove unnecessary search param combo --- _build.new.bat | 386 ------------------ ...-SHCHostFHIRServerCapabilityStatement.json | 13 - input/fsh/capability.fsh | 5 - 3 files changed, 404 deletions(-) delete mode 100644 _build.new.bat diff --git a/_build.new.bat b/_build.new.bat deleted file mode 100644 index 2bf0d793..00000000 --- a/_build.new.bat +++ /dev/null @@ -1,386 +0,0 @@ -@ECHO OFF -setlocal enabledelayedexpansion - -SET "dlurl=https://github.com/HL7/fhir-ig-publisher/releases/latest/download/publisher.jar" -SET "publisher_jar=publisher.jar" -SET "input_cache_path=%CD%\input-cache\" -SET "skipPrompts=false" -SET "upper_path=..\" -SET "scriptdlroot=https://raw.githubusercontent.com/HL7/ig-publisher-scripts/main" -SET "build_bat_url=%scriptdlroot%/_build.bat" -SET "build_sh_url=%scriptdlroot%/_build.sh" - - - -:: Debugging statements to check jar file location -ECHO Checking for publisher.jar in %input_cache_path% -IF EXIST "%input_cache_path%%publisher_jar%" ( - SET "jar_location=%input_cache_path%%publisher_jar%" - ECHO Found publisher.jar in input-cache -) ELSE ( - ECHO Checking for publisher.jar in %upper_path% - IF EXIST "%upper_path%%publisher_jar%" ( - SET "jar_location=%upper_path%%publisher_jar%" - ECHO Found publisher.jar in parent folder - ) ELSE ( - SET "jar_location=not_found" - SET "default_choice=1" - ECHO publisher.jar not found in input-cache or parent folder - ) -) - - -:: Handle command-line argument to bypass the menu -IF NOT "%~1"=="" ( - IF /I "%~1"=="update" SET "userChoice=1" - IF /I "%~1"=="build" SET "userChoice=2" - IF /I "%~1"=="nosushi" SET "userChoice=3" - IF /I "%~1"=="notx" SET "userChoice=4" - IF /I "%~1"=="jekyll" SET "userChoice=5" - IF /I "%~1"=="clean" SET "userChoice=6" - IF /I "%~1"=="exit" SET "userChoice=0" - GOTO executeChoice -) - -echo --------------------------------------------------------------- -ECHO Checking internet connection... -PING tx.fhir.org -4 -n 1 -w 4000 >nul 2>&1 && SET "online_status=true" || SET "online_status=false" - -IF "%online_status%"=="true" ( - ECHO We're online and tx.fhir.org is available. - FOR /F "tokens=2 delims=:" %%a IN ('curl -s https://api.github.com/repos/HL7/fhir-ig-publisher/releases/latest ^| findstr "tag_name"') DO SET "latest_version=%%a" - SET "latest_version=!latest_version:"=!" - SET "latest_version=!latest_version: =!" - SET "latest_version=!latest_version:~0,-1!" -) ELSE ( - ECHO We're offline or tx.fhir.org is not available, can only run the publisher without TX... - SET "txoption=-tx n/a" - SET "latest_version=unknown" - SET "default_choice=4" -) - -echo --------------------------------------------------------------- - - -IF NOT "%jar_location%"=="not_found" ( - FOR /F "tokens=*" %%i IN ('java "-Dfile.encoding=UTF-8" -jar "%jar_location%" -v 2^>^&1') DO SET "publisher_version=%%i" - SET "publisher_version=!publisher_version:"=!" - ECHO Detected publisher version: !publisher_version! -) ELSE ( - SET "publisher_version=unknown" - ECHO publisher.jar location is not found -) - -ECHO Publisher version: !publisher_version!; Latest is !latest_version! - -IF NOT "%online_status%"=="true" ( - ECHO We're offline. -) ELSE ( - IF NOT "!publisher_version!"=="!latest_version!" ( - ECHO An update is recommended. - SET "default_choice=1" - ) ELSE ( - ECHO Publisher is up to date. - SET "default_choice=2" - ) -) - -echo --------------------------------------------------------------- -echo. - -echo Please select an option: -echo 1. Download or upload publisher -echo 2. Build IG -echo 3. Build IG - no sushi -echo 4. Build IG - force no TX server -echo 5. Jekyll build -echo 6. Clean up temp directories -echo 0. Exit -:: echo [Press Enter for default (%default_choice%) or type an option number:] -echo. - -:: Using CHOICE to handle input with timeout -:: ECHO [Enter=Continue, 1-7=Option, 0=Exit] -choice /C 12345670 /N /CS /D %default_choice% /T 5 /M "Choose an option number or wait 5 seconds for default (%default_choice%):" -SET "userChoice=%ERRORLEVEL%" - - -:executeChoice -echo You selected: %userChoice% - -IF "%userChoice%"=="1" GOTO downloadpublisher -IF "%userChoice%"=="2" GOTO publish_once -IF "%userChoice%"=="3" GOTO publish_nosushi -IF "%userChoice%"=="4" GOTO publish_notx -IF "%userChoice%"=="5" GOTO debugjekyll -IF "%userChoice%"=="6" GOTO clean -IF "%userChoice%"=="0" EXIT /B - -:end - - - -:debugjekyll - echo Running Jekyll build... - jekyll build -s temp/pages -d output -GOTO end - - -:clean - echo Cleaning up directories... - if exist ".\input-cache\publisher.jar" ( - echo Preserving publisher.jar and removing other files in .\input-cache... - move ".\input-cache\publisher.jar" ".\" - rmdir /s /q ".\input-cache" - mkdir ".\input-cache" - move ".\publisher.jar" ".\input-cache" - ) else ( - if exist ".\input-cache\" ( - rmdir /s /q ".\input-cache" - ) - ) - if exist ".\temp\" ( - rmdir /s /q ".\temp" - echo Removed: .\temp - ) - if exist ".\output\" ( - rmdir /s /q ".\output" - echo Removed: .\output - ) - if exist ".\template\" ( - rmdir /s /q ".\template" - echo Removed: .\template - ) - -GOTO end - - - - - -:downloadpublisher -ECHO Downloading Publisher... -:processflags -SET ARG=%1 -IF DEFINED ARG ( - IF "%ARG%"=="-f" SET FORCE=true - IF "%ARG%"=="--force" SET FORCE=true - SHIFT - GOTO processflags -) - -FOR %%x IN ("%CD%") DO SET upper_path=%%~dpx - -ECHO. -IF NOT EXIST "%input_cache_path%%publisher_jar%" ( - IF NOT EXIST "%upper_path%%publisher_jar%" ( - SET jarlocation="%input_cache_path%%publisher_jar%" - SET jarlocationname=Input Cache - ECHO IG Publisher is not yet in input-cache or parent folder. - REM we don't use jarlocation below because it will be empty because we're in a bracketed if statement - GOTO create - ) ELSE ( - ECHO IG Publisher FOUND in parent folder - SET jarlocation="%upper_path%%publisher_jar%" - SET jarlocationname=Parent folder - GOTO upgrade - ) -) ELSE ( - ECHO IG Publisher FOUND in input-cache - SET jarlocation="%input_cache_path%%publisher_jar%" - SET jarlocationname=Input Cache - GOTO upgrade -) - -:create -IF DEFINED FORCE ( - MKDIR "%input_cache_path%" 2> NUL - GOTO download -) - -IF "%skipPrompts%"=="y" ( - SET create=Y -) ELSE ( - SET /p create="Download? (Y/N) " -) -IF /I "%create%"=="Y" ( - ECHO Will place publisher jar here: %input_cache_path%%publisher_jar% - MKDIR "%input_cache_path%" 2> NUL - GOTO download -) -GOTO done - -:upgrade -IF "%skipPrompts%"=="y" ( - SET overwrite=Y -) ELSE ( - SET /p overwrite="Overwrite %jarlocation%? (Y/N) " -) - -IF /I "%overwrite%"=="Y" ( - GOTO download -) -GOTO done - -:download -ECHO Downloading most recent publisher to %jarlocationname% - it's ~200 MB, so this may take a bit - -FOR /f "tokens=4-5 delims=. " %%i IN ('ver') DO SET VERSION=%%i.%%j -IF "%version%" == "10.0" GOTO win10 -IF "%version%" == "6.3" GOTO win8.1 -IF "%version%" == "6.2" GOTO win8 -IF "%version%" == "6.1" GOTO win7 -IF "%version%" == "6.0" GOTO vista - -ECHO Unrecognized version: %version% -GOTO done - -:win10 -CALL POWERSHELL -command if ('System.Net.WebClient' -as [type]) {(new-object System.Net.WebClient).DownloadFile(\"%dlurl%\",\"%jarlocation%\") } else { Invoke-WebRequest -Uri "%dlurl%" -Outfile "%jarlocation%" } - -GOTO done - -:win7 -rem this may be triggering the antivirus - bitsadmin.exe is a known threat -rem CALL bitsadmin /transfer GetPublisher /download /priority normal "%dlurl%" "%jarlocation%" - -rem this didn't work in win 10 -rem CALL Start-BitsTransfer /priority normal "%dlurl%" "%jarlocation%" - -rem this should work - untested -call (New-Object Net.WebClient).DownloadFile('%dlurl%', '%jarlocation%') -GOTO done - -:win8.1 -:win8 -:vista -GOTO done - - - -:done - - - - -ECHO. -ECHO Updating scripts -IF "%skipPrompts%"=="y" ( - SET updateScripts=Y -) ELSE ( - SET /p updateScripts="Update scripts? (Y/N) " -) -IF /I "%updateScripts%"=="Y" ( - GOTO scripts -) -GOTO end - - -:scripts - -REM Download all batch files (and this one with a new name) - -SETLOCAL DisableDelayedExpansion - - - -:dl_script_1 -ECHO Updating _build.sh -call POWERSHELL -command if ('System.Net.WebClient' -as [type]) {(new-object System.Net.WebClient).DownloadFile(\"%build_sh_url%\",\"_build.new.sh\") } else { Invoke-WebRequest -Uri "%build_sh_url%" -Outfile "_build.new.sh" } -if %ERRORLEVEL% == 0 goto upd_script_1 -echo "Errors encountered during download: %errorlevel%" -goto dl_script_2 -:upd_script_1 -start copy /y "_build.new.sh" "_build.sh" ^&^& del "_build.new.sh" ^&^& exit - - -:dl_script_2 -ECHO Updating _build.bat -call POWERSHELL -command if ('System.Net.WebClient' -as [type]) {(new-object System.Net.WebClient).DownloadFile(\"%build_bat_url%\",\"_build.new.bat\") } else { Invoke-WebRequest -Uri "%build_bat_url%" -Outfile "_build.new.bat" } -if %ERRORLEVEL% == 0 goto upd_script_2 -echo "Errors encountered during download: %errorlevel%" -goto end -:upd_script_2 -start copy /y "_build.new.bat" "_build.bat" ^&^& del "_build.new.bat" ^&^& exit - - -GOTO end - - -:publish_once - -SET JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8 - -:: Debugging statements before running publisher -ECHO 1jar_location is: %jar_location% -IF NOT "%jar_location%"=="not_found" ( - java %JAVA_OPTS% -jar "%jar_location%" -ig . %txoption% %* -) ELSE ( - ECHO IG Publisher NOT FOUND in input-cache or parent folder. Please run _updatePublisher. Aborting... -) - -GOTO end - - - -:publish_nosushi - -SET JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8 - -:: Debugging statements before running publisher -ECHO 3jar_location is: %jar_location% -IF NOT "%jar_location%"=="not_found" ( - java %JAVA_OPTS% -jar "%jar_location%" -ig . %txoption% -no-sushi %* -) ELSE ( - ECHO IG Publisher NOT FOUND in input-cache or parent folder. Please run _updatePublisher. Aborting... -) - -GOTO end - - -:publish_notx -SET txoption=-tx n/a - -SET JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8 - -:: Debugging statements before running publisher -ECHO 2jar_location is: %jar_location% -IF NOT "%jar_location%"=="not_found" ( - java %JAVA_OPTS% -jar "%jar_location%" -ig . %txoption% %* -) ELSE ( - ECHO IG Publisher NOT FOUND in input-cache or parent folder. Please run _updatePublisher. Aborting... -) - -GOTO end - - - - -:publish_continuous - -SET JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8 - -:: Debugging statements before running publisher -ECHO Checking %input_cache_path% for publisher.jar -IF EXIST "%input_cache_path%\%publisher_jar%" ( - java %JAVA_OPTS% -jar "%input_cache_path%\%publisher_jar%" -ig . %txoption% -watch %* -) ELSE ( - ECHO Checking %upper_path% for publisher.jar - IF EXIST "..\%publisher_jar%" ( - java %JAVA_OPTS% -jar "..\%publisher_jar%" -ig . %txoption% -watch %* - ) ELSE ( - ECHO IG Publisher NOT FOUND in input-cache or parent folder. Please run _updatePublisher. Aborting... - ) -) - -GOTO end - - -:end - -:: Pausing at the end - - -IF NOT "%skipPrompts%"=="true" ( - PAUSE -) diff --git a/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json b/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json index 898ddd7e..3c5db0b5 100644 --- a/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json +++ b/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json @@ -138,19 +138,6 @@ { "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", "valueCode": "SHALL" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination", - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - }, - { - "url": "required", - "valueString": "patient" - } - ] } ], "type": "AllergyIntolerance", diff --git a/input/fsh/capability.fsh b/input/fsh/capability.fsh index 1b24f4e3..101b1d5a 100644 --- a/input/fsh/capability.fsh +++ b/input/fsh/capability.fsh @@ -67,11 +67,6 @@ Also see the [AU Core Security and Privacy](https://hl7.org.au/fhir/core/1.0.0/s //AllergyIntolerance * rest.resource[+].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].extension[0].valueCode = #SHALL -* rest.resource[=].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination" -* rest.resource[=].extension[=].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].extension[=].extension[=].valueCode = #SHALL -* rest.resource[=].extension[=].extension[+].url = "required" -* rest.resource[=].extension[=].extension[=].valueString = "patient" * rest.resource[=].type = #AllergyIntolerance * rest.resource[=].profile = "https://smartforms.csiro.au/ig/StructureDefinition/SHCAllergyIntolerance" * rest.resource[=].profile.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" From 4522e2de77f2915c7b274cf28afcc97ab581fcab Mon Sep 17 00:00:00 2001 From: liambarnes Date: Fri, 22 Aug 2025 08:55:48 +1000 Subject: [PATCH 166/177] Add derivedFrom references to AU Core actors --- fsh-generated/resources/ActorDefinition-SHCApp.json | 5 ++++- .../resources/ActorDefinition-SHCHostFHIRServer.json | 5 ++++- input/fsh/actors.fsh | 4 +++- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/fsh-generated/resources/ActorDefinition-SHCApp.json b/fsh-generated/resources/ActorDefinition-SHCApp.json index 411ff2e7..b3f1efb2 100644 --- a/fsh-generated/resources/ActorDefinition-SHCApp.json +++ b/fsh-generated/resources/ActorDefinition-SHCApp.json @@ -9,5 +9,8 @@ "experimental": false, "type": "system", "documentation": "The Smart Health Checks (SHC) App: \n- **SHALL** accept [App Launch](https://hl7.org/fhir/smart-app-launch/app-launch.html#launch-app-ehr-launch) request\n- **SHALL** invoke [SMART Authorization Configuration](https://hl7.org/fhir/smart-app-launch/app-launch.html#retrieve-well-knownsmart-configuration) request\n- **SHALL** redirect to [Authorization Request](https://hl7.org/fhir/smart-app-launch/app-launch.html#obtain-authorization-code)\n- **SHALL** accept Authorization Callback request\n- **SHALL** invoke [Token Request](https://hl7.org/fhir/smart-app-launch/app-launch.html#obtain-access-token)\n- **SHALL** authorise FHIR API requests using Bearer access token per [SMART APP Launch Access FHIR API](https://hl7.org/fhir/smart-app-launch/app-launch.html#access-fhir-api)\n- **SHALL** invoke read Practitioner request\n- **SHALL** invoke read Patient request\n- **SHALL** invoke search QuestionnaireResponse request\n- **SHALL** invoke read QuestionnaireResponse request\n- **SHALL** invoke create and update QuestionnaireResponse request\n- **SHALL** invoke search and read requests for resources required by this IG to pre-populate questionnaire response\n- **SHALL** invoke create and patch requests in a transaction Bundle for resources required by this IG", - "capabilities": "https://smartforms.csiro.au/ig/CapabilityStatement/SHCAppCapabilityStatement" + "capabilities": "https://smartforms.csiro.au/ig/CapabilityStatement/SHCAppCapabilityStatement", + "derivedFrom": [ + "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + ] } diff --git a/fsh-generated/resources/ActorDefinition-SHCHostFHIRServer.json b/fsh-generated/resources/ActorDefinition-SHCHostFHIRServer.json index 0d92b59f..54630a7d 100644 --- a/fsh-generated/resources/ActorDefinition-SHCHostFHIRServer.json +++ b/fsh-generated/resources/ActorDefinition-SHCHostFHIRServer.json @@ -9,5 +9,8 @@ "experimental": false, "type": "system", "documentation": "The SHC Host FHIR Server: \n- **SHALL** respond to [SMART Authorization Configuration](https://hl7.org/fhir/smart-app-launch/app-launch.html#retrieve-well-knownsmart-configuration) request\n- **SHALL** authorise FHIR API requests using Bearer access token per [SMART APP Launch Access FHIR API](https://hl7.org/fhir/smart-app-launch/app-launch.html#access-fhir-api)\n- **SHALL** respond to read Practitioner request\n- **SHALL** respond to read Patient request\n- **SHALL** respond to search QuestionnaireResponse request\n- **SHALL** respond to read QuestionnaireResponse request\n- **SHALL** respond to create and update QuestionnaireResponse requests\n- **SHALL** respond to search and read requests for resources required by this IG\n- **SHALL** respond to create and patch requests in a transaction Bundle for resources required by this IG", - "capabilities": "https://smartforms.csiro.au/ig/CapabilityStatement/SHCHostFHIRServerCapabilityStatement" + "capabilities": "https://smartforms.csiro.au/ig/CapabilityStatement/SHCHostFHIRServerCapabilityStatement", + "derivedFrom": [ + "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" + ] } diff --git a/input/fsh/actors.fsh b/input/fsh/actors.fsh index d8890eb7..d3f95203 100644 --- a/input/fsh/actors.fsh +++ b/input/fsh/actors.fsh @@ -24,6 +24,7 @@ Description: "The SHC App is a system that a SHC Host can launch allowing a user - **SHALL** invoke create and patch requests in a transaction Bundle for resources required by this IG """ * capabilities = "https://smartforms.csiro.au/ig/CapabilityStatement/SHCAppCapabilityStatement" +* derivedFrom = "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" Instance: SHCHost InstanceOf: ActorDefinition @@ -89,4 +90,5 @@ Description: "The SHC Host FHIR Server allows the SHC App to retrieve patient he - **SHALL** respond to search and read requests for resources required by this IG - **SHALL** respond to create and patch requests in a transaction Bundle for resources required by this IG """ -* capabilities = "https://smartforms.csiro.au/ig/CapabilityStatement/SHCHostFHIRServerCapabilityStatement" \ No newline at end of file +* capabilities = "https://smartforms.csiro.au/ig/CapabilityStatement/SHCHostFHIRServerCapabilityStatement" +* derivedFrom = "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-responder" \ No newline at end of file From 359bfd8787ad9ad9019cf3f3c15806d0f336bb8a Mon Sep 17 00:00:00 2001 From: liambarnes Date: Fri, 22 Aug 2025 09:04:06 +1000 Subject: [PATCH 167/177] Remove erroneous instatiates and valueset base profile --- ...tyStatement-SHCAppCapabilityStatement.json | 6 ++-- ...-SHCHostFHIRServerCapabilityStatement.json | 31 ------------------- input/fsh/capability.fsh | 18 ++--------- 3 files changed, 5 insertions(+), 50 deletions(-) diff --git a/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json b/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json index 6ab3e689..2542be2d 100644 --- a/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json +++ b/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json @@ -11,10 +11,11 @@ "publisher": "AEHRC CSIRO", "kind": "capability", "instantiates": [ - "http://hl7.org/fhir/uv/sdc/CapabilityStatement/sdc-form-filler" + "http://hl7.org/fhir/uv/sdc/CapabilityStatement/sdc-form-filler", + "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" ], "software": { - "name": "Smart Forms Application" + "name": "Smart Health Checks Application" }, "fhirVersion": "4.0.1", "format": [ @@ -572,7 +573,6 @@ }, { "type": "ValueSet", - "profile": "http://hl7.org/fhir/StructureDefinition/ValueSet", "documentation": "The client supports the ValueSet resource and the conformance expectations for the ValueSet resource.", "operation": [ { diff --git a/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json b/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json index 3c5db0b5..414c84ea 100644 --- a/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json +++ b/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json @@ -20,37 +20,6 @@ } ], "kind": "requirements", - "instantiates": [ - "http://hl7.org.au/fhir/core/CapabilityStatement/au-core-responder", - "http://hl7.org/fhir/uv/sdc/CapabilityStatement/sdc-form-response-manager", - "http://hl7.org/fhir/uv/sdc/CapabilityStatement/sdc-form-archiver" - ], - "_instantiates": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHOULD" - } - ] - }, - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHOULD" - } - ] - } - ], "fhirVersion": "4.0.1", "format": [ "json" diff --git a/input/fsh/capability.fsh b/input/fsh/capability.fsh index 101b1d5a..467ce648 100644 --- a/input/fsh/capability.fsh +++ b/input/fsh/capability.fsh @@ -10,19 +10,7 @@ Usage: #definition * publisher = "AEHRC CSIRO" * jurisdiction = urn:iso:std:iso:3166#AU * kind = #requirements - -* instantiates[+] = "http://hl7.org.au/fhir/core/CapabilityStatement/au-core-responder" -* instantiates[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* instantiates[=].extension[0].valueCode = #SHALL -* instantiates[+] = "http://hl7.org/fhir/uv/sdc/CapabilityStatement/sdc-form-response-manager" -* instantiates[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* instantiates[=].extension[0].valueCode = #SHOULD -* instantiates[+] = "http://hl7.org/fhir/uv/sdc/CapabilityStatement/sdc-form-archiver" -* instantiates[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* instantiates[=].extension[0].valueCode = #SHOULD - * fhirVersion = #4.0.1 - * format[+] = #json * format[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * format[=].extension[0].valueCode = #SHALL @@ -538,7 +526,8 @@ Usage: #definition * publisher = "AEHRC CSIRO" * kind = #capability * instantiates[+] = "http://hl7.org/fhir/uv/sdc/CapabilityStatement/sdc-form-filler" -* software.name = "Smart Forms Application" +* instantiates[+] = "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" +* software.name = "Smart Health Checks Application" * fhirVersion = #4.0.1 * format[0] = #json * patchFormat[0] = #application/fhir+json @@ -550,8 +539,6 @@ Usage: #definition * rest.security.service = http://terminology.hl7.org/CodeSystem/restful-security-service#SMART-on-FHIR * rest.security.description = "SMART App Launch supported to allow secure data exchange." - - //AllergyIntolerance * rest.resource[+].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination" * rest.resource[=].extension[=].extension[+].url = "required" @@ -841,7 +828,6 @@ The server **SHALL** support both." //ValueSet * rest.resource[+].type = #ValueSet -* rest.resource[=].profile = "http://hl7.org/fhir/StructureDefinition/ValueSet" * rest.resource[=].documentation = "The client supports the ValueSet resource and the conformance expectations for the ValueSet resource." * rest.resource[=].operation[0].name = "expand" * rest.resource[=].operation[0].definition = "http://hl7.org/fhir/OperationDefinition/ValueSet-expand" From 1010b0c8fed55a40d2ea1b0892c5c2c65be7a103 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Fri, 22 Aug 2025 09:13:39 +1000 Subject: [PATCH 168/177] Fix canonical --- .../CapabilityStatement-SHCAppCapabilityStatement.json | 2 +- input/fsh/capability.fsh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json b/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json index 2542be2d..fbef48c8 100644 --- a/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json +++ b/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json @@ -12,7 +12,7 @@ "kind": "capability", "instantiates": [ "http://hl7.org/fhir/uv/sdc/CapabilityStatement/sdc-form-filler", - "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" + "http://hl7.org.au/fhir/core/CapabilityStatement/au-core-requester" ], "software": { "name": "Smart Health Checks Application" diff --git a/input/fsh/capability.fsh b/input/fsh/capability.fsh index 467ce648..34925b8b 100644 --- a/input/fsh/capability.fsh +++ b/input/fsh/capability.fsh @@ -526,7 +526,7 @@ Usage: #definition * publisher = "AEHRC CSIRO" * kind = #capability * instantiates[+] = "http://hl7.org/fhir/uv/sdc/CapabilityStatement/sdc-form-filler" -* instantiates[+] = "http://hl7.org.au/fhir/core/ActorDefinition/au-core-actor-requester" +* instantiates[+] = "http://hl7.org.au/fhir/core/CapabilityStatement/au-core-requester" * software.name = "Smart Health Checks Application" * fhirVersion = #4.0.1 * format[0] = #json From f8dca0ec69d87f81ae39ecdb7ea4f0670f7f8784 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Mon, 25 Aug 2025 16:28:39 +1000 Subject: [PATCH 169/177] Add patch and bundle profiles; Add profiles to CapabilityStatement; Add AllergyIntolerance clinical status and MedicationStatement status value sets to be referenced in profiles...also change Questionnaire to use answerValueSet for these. --- ...-SHCHostFHIRServerCapabilityStatement.json | 66 +- ...ntationGuide-csiro.fhir.au.smartforms.json | 48 + ...estionnaire-AllergiesAdverseReactions.json | 78 +- .../Questionnaire-RegularMedications.json | 108 +- ...Definition-SHCAllergyIntolerancePatch.json | 1119 +++++++++++ ...StructureDefinition-SHCConditionPatch.json | 1119 +++++++++++ .../StructureDefinition-SHCExtractBundle.json | 563 ++++++ ...efinition-SHCMedicationStatementPatch.json | 1642 +++++++++++++++++ ...lergyIntoleranceClinicalStatusMinimal.json | 61 + ...eSet-MedicationStatementStatusLimited.json | 77 + ...5-Assessment-AllergiesAdverseReactions.fsh | 4 +- .../fsh/715-Assessment-RegularMedications.fsh | 7 +- input/fsh/capability.fsh | 29 +- input/fsh/profiles.fsh | 606 ++++++ input/fsh/terminology.fsh | 59 + 15 files changed, 5531 insertions(+), 55 deletions(-) create mode 100644 fsh-generated/resources/StructureDefinition-SHCAllergyIntolerancePatch.json create mode 100644 fsh-generated/resources/StructureDefinition-SHCConditionPatch.json create mode 100644 fsh-generated/resources/StructureDefinition-SHCExtractBundle.json create mode 100644 fsh-generated/resources/StructureDefinition-SHCMedicationStatementPatch.json create mode 100644 fsh-generated/resources/ValueSet-AllergyIntoleranceClinicalStatusMinimal.json create mode 100644 fsh-generated/resources/ValueSet-MedicationStatementStatusLimited.json diff --git a/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json b/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json index 414c84ea..945df272 100644 --- a/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json +++ b/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json @@ -72,7 +72,7 @@ "rest": [ { "mode": "server", - "documentation": "Smart Forms Launcher Server **SHALL**:\r\n1. Support the [Smart Health Checks AllergyIntolerance resource profile](StructureDefinition-SHCAllergyIntolerance.html)\r\n1. Support the [Smart Health Checks Condition resource profile](StructureDefinition-SHCCondition.html)\r\n1. Support the [Smart Health Checks Encounter resource profile](StructureDefinition-SHCEncounter.html)\r\n1. Support the [Smart Health Checks Immunization resource profile](StructureDefinition-SHCImmunization.html)\r\n1. Support the [Smart Health Checks Medication profile](StructureDefinition-SHCMedication.html)\r\n1. Support the [Smart Health Checks MedicationStatement profile](StructureDefinition-SHCMedicationStatement.html)\r\n1. Support the [Smart Health Checks Observation resource profiles](profiles-and-extensions.html#observation)\r\n1. Support the [Smart Health Checks Patient resource profile](StructureDefinition-SHCPatient.html)\r\n1. Support the [Smart Health Checks Practitioner resource profile](StructureDefinition-SHCPractitioner.html)\r\n1. Support the [Smart Health Checks Questionnaire Response profile](StructureDefinition-SHCQuestionnaireResponse.html)\r\n1. Implement the RESTful behavior according to the FHIR specification\r\n1. Support JSON source formats for all interactions", + "documentation": "Smart Forms Launcher Server **SHALL**:\r\n1. Support the [Smart Health Checks AllergyIntolerance resource profile](StructureDefinition-SHCAllergyIntolerance.html)\r\n1. Support the [Smart Health Checks AllergyIntolerance Patch resource profile](StructureDefinition-SHCAllergyIntolerancePatch.html)\r\n1. Support the [Smart Health Checks Condition resource profile](StructureDefinition-SHCCondition.html)\r\n1. Support the [Smart Health Checks Condition Patch resource profile](StructureDefinition-SHCConditionPatch.html)\r\n1. Support the [Smart Health Checks Encounter resource profile](StructureDefinition-SHCEncounter.html)\r\n1. Support the [Smart Health Checks Immunization resource profile](StructureDefinition-SHCImmunization.html)\r\n1. Support the [Smart Health Checks Medication profile](StructureDefinition-SHCMedication.html)\r\n1. Support the [Smart Health Checks MedicationStatement profile](StructureDefinition-SHCMedicationStatement.html)\r\n1. Support the [Smart Health Checks MedicationStatement Patch profile](StructureDefinition-SHCMedicationStatementPatch.html)\r\n1. Support the [Smart Health Checks Observation resource profiles](profiles-and-extensions.html#observation)\r\n1. Support the [Smart Health Checks Patient resource profile](StructureDefinition-SHCPatient.html)\r\n1. Support the [Smart Health Checks Practitioner resource profile](StructureDefinition-SHCPractitioner.html)\r\n1. Support the [Smart Health Checks QuestionnaireResponse resource profile](StructureDefinition-SHCQuestionnaireResponse.html)\r\n1. Support the [Smart Health Checks Extract Bundle resource profile](StructureDefinition-SHCExtractBundle.html)\r\n1. Implement the RESTful behavior according to the FHIR specification\r\n1. Support JSON source formats for all interactions", "security": { "cors": true, "_cors": { @@ -164,6 +164,29 @@ } ] }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "type": "Bundle", + "supportedProfile": [ + "https://smartforms.csiro.au/ig/StructureDefinition/SHCExtractBundle" + ], + "_supportedProfile": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + } + ], + "documentation": "The server **SHALL** support the Bundle resource, the Smart Health Checks profile listed and the conformance expectations for the Bundle resource." + }, { "extension": [ { @@ -696,6 +719,47 @@ } ] }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], + "type": "Parameters", + "supportedProfile": [ + "https://smartforms.csiro.au/ig/StructureDefinition/SHCAllergyIntolerancePatch", + "https://smartforms.csiro.au/ig/StructureDefinition/SHCConditionPatch", + "https://smartforms.csiro.au/ig/StructureDefinition/SHCMedicationStatementPatch" + ], + "_supportedProfile": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + } + ], + "documentation": "The server **SHALL** support the Parameters resource, the Smart Health Checks profiles listed and the conformance expectations for the Parameters resource." + }, { "extension": [ { diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index 47ec1b77..01005acd 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -366,6 +366,14 @@ "description": "The gender of a person used for administrative purposes.", "exampleBoolean": false }, + { + "reference": { + "reference": "ValueSet/AllergyIntoleranceClinicalStatusMinimal" + }, + "name": "Allergy Intolerance Clinical Status Minimal", + "description": "This value set includes the minimal set of codes to represent the clinical status of an allergy intolerance (i.e., active and inactive).", + "exampleBoolean": false + }, { "reference": { "reference": "StructureDefinition/au-core-headcircum" @@ -478,6 +486,14 @@ "description": "The Medication Reason Taken value set includes values that identify a reason why a medication has been or is being taken.", "exampleBoolean": false }, + { + "reference": { + "reference": "ValueSet/MedicationStatementStatusLimited" + }, + "name": "Medication Statement Status Limited", + "description": "This value set includes the minimal set of codes to represent the status of a medication statement (i.e., active, completed, stopped and on-hold).", + "exampleBoolean": false + }, { "reference": { "reference": "ValueSet/PrimaryCarerParentGrandparent" @@ -558,6 +574,14 @@ "description": "This profile sets the minimum expectations for an AllergyIntolerance resource to record, search and save allergy or intolerance information when used within Smart Health Checks.", "exampleBoolean": false }, + { + "reference": { + "reference": "StructureDefinition/SHCAllergyIntolerancePatch" + }, + "name": "Smart Health Checks AllergyIntolerance Patch", + "description": "This profile sets the expectations for a Parameters resource when used to patch AllergyIntolerance resources within Smart Health Checks.", + "exampleBoolean": false + }, { "reference": { "reference": "StructureDefinition/SHCBloodPressure" @@ -590,6 +614,14 @@ "description": "This profile sets the minimum expectations for a Condition resource to record, search and save condition information when used within Smart Health Checks.", "exampleBoolean": false }, + { + "reference": { + "reference": "StructureDefinition/SHCConditionPatch" + }, + "name": "Smart Health Checks Condition Patch", + "description": "This profile sets the expectations for a Parameters resource when used to patch Condition resources within Smart Health Checks.", + "exampleBoolean": false + }, { "reference": { "reference": "StructureDefinition/SHCEncounter" @@ -598,6 +630,14 @@ "description": "This profile sets the minimum expectations for a Encounter resource to search and retrieve encounter information when used within Smart Health Checks.", "exampleBoolean": false }, + { + "reference": { + "reference": "StructureDefinition/SHCExtractBundle" + }, + "name": "Smart Health Checks Extract Bundle", + "description": "This profile sets the expectations for a Bundle resource when used to represent a transaction bundle of resources extracted by the SHC App following the completion of a Smart Health Checks Questionnaire. This bundle is used to write patient information to the SHC Host FHIR server.", + "exampleBoolean": false + }, { "reference": { "reference": "StructureDefinition/SHCHeadCircumference" @@ -646,6 +686,14 @@ "description": "This profile sets the minimum expectations for a MedicationStatement resource to record, search and save medication information when used within Smart Health Checks.", "exampleBoolean": false }, + { + "reference": { + "reference": "StructureDefinition/SHCMedicationStatementPatch" + }, + "name": "Smart Health Checks MedicationStatement Patch", + "description": "This profile sets the expectations for a Parameters resource when used to patch MedicationStatement resources within Smart Health Checks.", + "exampleBoolean": false + }, { "reference": { "reference": "ValueSet/smart-health-checks-medicine-products" diff --git a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json index 7260463f..ad65667e 100644 --- a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json +++ b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json @@ -194,22 +194,7 @@ "text": "Status", "type": "choice", "repeats": false, - "answerOption": [ - { - "valueCoding": { - "code": "active", - "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical", - "display": "Active" - } - }, - { - "valueCoding": { - "code": "inactive", - "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical", - "display": "Inactive" - } - } - ] + "answerValueSet": "#AllergyIntoleranceClinicalStatusMinimal" }, { "extension": [ @@ -558,6 +543,67 @@ ] } ] + }, + { + "resourceType": "ValueSet", + "id": "AllergyIntoleranceClinicalStatusMinimal", + "status": "draft", + "name": "AllergyIntoleranceClinicalStatusMinimal", + "title": "Allergy Intolerance Clinical Status Minimal", + "description": "This value set includes the minimal set of codes to represent the clinical status of an allergy intolerance (i.e., active and inactive).", + "url": "https://smartforms.csiro.au/ig/ValueSet/AllergyIntoleranceClinicalStatusMinimal", + "experimental": false, + "expansion": { + "identifier": "urn:uuid:40f0c59e-9fa5-4322-bc1d-5fde644a076c", + "timestamp": "2025-08-25T15:52:50+10:00", + "total": 2, + "offset": 0, + "parameter": [ + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false + }, + { + "name": "used-codesystem", + "valueUri": "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical|1.0.0" + } + ], + "contains": [ + { + "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical", + "code": "active", + "display": "Active" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical", + "code": "inactive", + "display": "Inactive" + } + ] + }, + "compose": { + "include": [ + { + "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical", + "concept": [ + { + "code": "active" + }, + { + "code": "inactive" + } + ] + } + ] + } } ], "extension": [ diff --git a/fsh-generated/resources/Questionnaire-RegularMedications.json b/fsh-generated/resources/Questionnaire-RegularMedications.json index 09a18871..a9fe617c 100644 --- a/fsh-generated/resources/Questionnaire-RegularMedications.json +++ b/fsh-generated/resources/Questionnaire-RegularMedications.json @@ -196,36 +196,7 @@ "text": "Status", "type": "choice", "repeats": false, - "answerOption": [ - { - "valueCoding": { - "code": "active", - "system": "http://hl7.org/fhir/CodeSystem/medication-statement-status", - "display": "Active" - } - }, - { - "valueCoding": { - "code": "completed", - "system": "http://hl7.org/fhir/CodeSystem/medication-statement-status", - "display": "Completed" - } - }, - { - "valueCoding": { - "code": "stopped", - "system": "http://hl7.org/fhir/CodeSystem/medication-statement-status", - "display": "Stopped" - } - }, - { - "valueCoding": { - "code": "on-hold", - "system": "http://hl7.org/fhir/CodeSystem/medication-statement-status", - "display": "On Hold" - } - } - ] + "answerValueSet": "#MedicationStatementStatusLimited" }, { "extension": [ @@ -887,6 +858,83 @@ ] } ] + }, + { + "resourceType": "ValueSet", + "id": "MedicationStatementStatusLimited", + "status": "draft", + "name": "MedicationStatementStatusLimited", + "title": "Medication Statement Status Limited", + "description": "This value set includes the minimal set of codes to represent the status of a medication statement (i.e., active, completed, stopped and on-hold).", + "url": "https://smartforms.csiro.au/ig/ValueSet/MedicationStatementStatusLimited", + "experimental": false, + "expansion": { + "identifier": "urn:uuid:59fe5ac1-65bf-4606-8c2a-0a55fba1d064", + "timestamp": "2025-08-25T15:53:32+10:00", + "total": 4, + "offset": 0, + "parameter": [ + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false + }, + { + "name": "used-codesystem", + "valueUri": "http://hl7.org/fhir/CodeSystem/medication-statement-status|4.0.1" + } + ], + "contains": [ + { + "system": "http://hl7.org/fhir/CodeSystem/medication-statement-status", + "code": "active", + "display": "Active" + }, + { + "system": "http://hl7.org/fhir/CodeSystem/medication-statement-status", + "code": "completed", + "display": "Completed" + }, + { + "system": "http://hl7.org/fhir/CodeSystem/medication-statement-status", + "code": "stopped", + "display": "Stopped" + }, + { + "system": "http://hl7.org/fhir/CodeSystem/medication-statement-status", + "code": "on-hold", + "display": "On Hold" + } + ] + }, + "compose": { + "include": [ + { + "system": "http://hl7.org/fhir/CodeSystem/medication-statement-status", + "concept": [ + { + "code": "active" + }, + { + "code": "completed" + }, + { + "code": "stopped" + }, + { + "code": "on-hold" + } + ] + } + ] + } } ], "extension": [ diff --git a/fsh-generated/resources/StructureDefinition-SHCAllergyIntolerancePatch.json b/fsh-generated/resources/StructureDefinition-SHCAllergyIntolerancePatch.json new file mode 100644 index 00000000..b30fe10d --- /dev/null +++ b/fsh-generated/resources/StructureDefinition-SHCAllergyIntolerancePatch.json @@ -0,0 +1,1119 @@ +{ + "resourceType": "StructureDefinition", + "id": "SHCAllergyIntolerancePatch", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCAllergyIntolerancePatch", + "name": "SmartHealthChecksAllergyIntolerancePatch", + "title": "Smart Health Checks AllergyIntolerance Patch", + "status": "draft", + "description": "This profile sets the expectations for a Parameters resource when used to patch AllergyIntolerance resources within Smart Health Checks.", + "fhirVersion": "4.0.1", + "kind": "resource", + "abstract": false, + "type": "Parameters", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Parameters", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Parameters.parameter", + "path": "Parameters.parameter", + "slicing": { + "discriminator": [ + { + "type": "value", + "path": "part" + } + ], + "ordered": false, + "rules": "open" + }, + "min": 1 + }, + { + "id": "Parameters.parameter:clinicalStatus", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter", + "sliceName": "clinicalStatus", + "min": 0, + "max": "1", + "mustSupport": true + }, + { + "id": "Parameters.parameter:clinicalStatus.name", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.name", + "short": "Parameters for clinicalStatus patching", + "fixedString": "operation", + "mustSupport": true + }, + { + "id": "Parameters.parameter:clinicalStatus.part", + "path": "Parameters.parameter.part", + "slicing": { + "discriminator": [ + { + "type": "value", + "path": "name" + } + ], + "ordered": false, + "rules": "open" + }, + "min": 3 + }, + { + "id": "Parameters.parameter:clinicalStatus.part:type", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part", + "sliceName": "type", + "short": "Patch operation to perform", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mustSupport": true + }, + { + "id": "Parameters.parameter:clinicalStatus.part:type.name", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.name", + "fixedString": "type", + "mustSupport": true + }, + { + "id": "Parameters.parameter:clinicalStatus.part:type.value[x]", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.value[x]", + "min": 1, + "type": [ + { + "code": "code" + } + ], + "fixedCode": "replace", + "mustSupport": true + }, + { + "id": "Parameters.parameter:clinicalStatus.part:path", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part", + "sliceName": "path", + "short": "Where to perform the operation", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mustSupport": true + }, + { + "id": "Parameters.parameter:clinicalStatus.part:path.name", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.name", + "fixedString": "path", + "mustSupport": true + }, + { + "id": "Parameters.parameter:clinicalStatus.part:path.value[x]", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.value[x]", + "min": 1, + "type": [ + { + "code": "string" + } + ], + "fixedString": "AllergyIntolerance.clinicalStatus", + "mustSupport": true + }, + { + "id": "Parameters.parameter:clinicalStatus.part:value", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part", + "sliceName": "value", + "short": "Replacement value", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mustSupport": true + }, + { + "id": "Parameters.parameter:clinicalStatus.part:value.name", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.name", + "fixedString": "value", + "mustSupport": true + }, + { + "id": "Parameters.parameter:clinicalStatus.part:value.value[x]", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.value[x]", + "min": 1, + "type": [ + { + "code": "CodeableConcept" + } + ], + "mustSupport": true, + "binding": { + "strength": "required", + "valueSet": "https://smartforms.csiro.au/ig/ValueSet/AllergyIntoleranceClinicalStatusMinimal" + } + }, + { + "id": "Parameters.parameter:clinicalStatus.part:value.value[x].coding", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.value[x].coding", + "min": 1, + "max": "1", + "mustSupport": true + }, + { + "id": "Parameters.parameter:clinicalStatus.part:pathLabel", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part", + "sliceName": "pathLabel", + "short": "Human readable representation of the path. Typically this is the relevant item text from the Questionnaire.", + "min": 0, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mustSupport": true + }, + { + "id": "Parameters.parameter:clinicalStatus.part:pathLabel.name", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.name", + "fixedString": "pathLabel", + "mustSupport": true + }, + { + "id": "Parameters.parameter:clinicalStatus.part:pathLabel.value[x]", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.value[x]", + "min": 1, + "type": [ + { + "code": "string" + } + ], + "fixedString": "Clinical status", + "mustSupport": true + }, + { + "id": "Parameters.parameter:comment", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter", + "sliceName": "comment", + "min": 0, + "max": "1", + "mustSupport": true + }, + { + "id": "Parameters.parameter:comment.name", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.name", + "short": "Parameters for note.text patching", + "fixedString": "operation", + "mustSupport": true + }, + { + "id": "Parameters.parameter:comment.part", + "path": "Parameters.parameter.part", + "slicing": { + "discriminator": [ + { + "type": "value", + "path": "name" + } + ], + "ordered": false, + "rules": "open" + }, + "min": 3 + }, + { + "id": "Parameters.parameter:comment.part:type", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part", + "sliceName": "type", + "short": "Patch operation to perform", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mustSupport": true + }, + { + "id": "Parameters.parameter:comment.part:type.name", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.name", + "fixedString": "type", + "mustSupport": true + }, + { + "id": "Parameters.parameter:comment.part:type.value[x]", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.value[x]", + "min": 1, + "type": [ + { + "code": "code" + } + ], + "fixedCode": "replace", + "mustSupport": true + }, + { + "id": "Parameters.parameter:comment.part:path", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part", + "sliceName": "path", + "short": "Where to perform the operation", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mustSupport": true + }, + { + "id": "Parameters.parameter:comment.part:path.name", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.name", + "fixedString": "path", + "mustSupport": true + }, + { + "id": "Parameters.parameter:comment.part:path.value[x]", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.value[x]", + "min": 1, + "type": [ + { + "code": "string" + } + ], + "fixedString": "AllergyIntolerance.note[0].text", + "mustSupport": true + }, + { + "id": "Parameters.parameter:comment.part:value", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part", + "sliceName": "value", + "short": "Replacement value", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mustSupport": true + }, + { + "id": "Parameters.parameter:comment.part:value.name", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.name", + "fixedString": "value", + "mustSupport": true + }, + { + "id": "Parameters.parameter:comment.part:value.value[x]", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.value[x]", + "min": 1, + "type": [ + { + "code": "markdown" + } + ], + "mustSupport": true + }, + { + "id": "Parameters.parameter:comment.part:pathLabel", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part", + "sliceName": "pathLabel", + "short": "Human readable representation of the path. Typically this is the relevant item text from the Questionnaire.", + "min": 0, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mustSupport": true + }, + { + "id": "Parameters.parameter:comment.part:pathLabel.name", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.name", + "fixedString": "pathLabel", + "mustSupport": true + }, + { + "id": "Parameters.parameter:comment.part:pathLabel.value[x]", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.value[x]", + "min": 1, + "type": [ + { + "code": "string" + } + ], + "fixedString": "Comment", + "mustSupport": true + } + ] + } +} diff --git a/fsh-generated/resources/StructureDefinition-SHCConditionPatch.json b/fsh-generated/resources/StructureDefinition-SHCConditionPatch.json new file mode 100644 index 00000000..7d31a9a5 --- /dev/null +++ b/fsh-generated/resources/StructureDefinition-SHCConditionPatch.json @@ -0,0 +1,1119 @@ +{ + "resourceType": "StructureDefinition", + "id": "SHCConditionPatch", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCConditionPatch", + "name": "SmartHealthChecksConditionPatch", + "title": "Smart Health Checks Condition Patch", + "status": "draft", + "description": "This profile sets the expectations for a Parameters resource when used to patch Condition resources within Smart Health Checks.", + "fhirVersion": "4.0.1", + "kind": "resource", + "abstract": false, + "type": "Parameters", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Parameters", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Parameters.parameter", + "path": "Parameters.parameter", + "slicing": { + "discriminator": [ + { + "type": "value", + "path": "part" + } + ], + "ordered": false, + "rules": "open" + }, + "min": 1 + }, + { + "id": "Parameters.parameter:clinicalStatus", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter", + "sliceName": "clinicalStatus", + "min": 0, + "max": "1", + "mustSupport": true + }, + { + "id": "Parameters.parameter:clinicalStatus.name", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.name", + "short": "Parameters for clinicalStatus patching", + "fixedString": "operation", + "mustSupport": true + }, + { + "id": "Parameters.parameter:clinicalStatus.part", + "path": "Parameters.parameter.part", + "slicing": { + "discriminator": [ + { + "type": "value", + "path": "name" + } + ], + "ordered": false, + "rules": "open" + }, + "min": 3 + }, + { + "id": "Parameters.parameter:clinicalStatus.part:type", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part", + "sliceName": "type", + "short": "Patch operation to perform", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mustSupport": true + }, + { + "id": "Parameters.parameter:clinicalStatus.part:type.name", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.name", + "fixedString": "type", + "mustSupport": true + }, + { + "id": "Parameters.parameter:clinicalStatus.part:type.value[x]", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.value[x]", + "min": 1, + "type": [ + { + "code": "code" + } + ], + "fixedCode": "replace", + "mustSupport": true + }, + { + "id": "Parameters.parameter:clinicalStatus.part:path", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part", + "sliceName": "path", + "short": "Where to perform the operation", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mustSupport": true + }, + { + "id": "Parameters.parameter:clinicalStatus.part:path.name", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.name", + "fixedString": "path", + "mustSupport": true + }, + { + "id": "Parameters.parameter:clinicalStatus.part:path.value[x]", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.value[x]", + "min": 1, + "type": [ + { + "code": "string" + } + ], + "fixedString": "Condition.clinicalStatus", + "mustSupport": true + }, + { + "id": "Parameters.parameter:clinicalStatus.part:value", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part", + "sliceName": "value", + "short": "Replacement value", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mustSupport": true + }, + { + "id": "Parameters.parameter:clinicalStatus.part:value.name", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.name", + "fixedString": "value", + "mustSupport": true + }, + { + "id": "Parameters.parameter:clinicalStatus.part:value.value[x]", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.value[x]", + "min": 1, + "type": [ + { + "code": "CodeableConcept" + } + ], + "mustSupport": true, + "binding": { + "strength": "required", + "valueSet": "http://hl7.org/fhir/ValueSet/condition-clinical" + } + }, + { + "id": "Parameters.parameter:clinicalStatus.part:value.value[x].coding", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.value[x].coding", + "min": 1, + "max": "1", + "mustSupport": true + }, + { + "id": "Parameters.parameter:clinicalStatus.part:pathLabel", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part", + "sliceName": "pathLabel", + "short": "Human readable representation of the path. Typically this is the relevant item text from the Questionnaire.", + "min": 0, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mustSupport": true + }, + { + "id": "Parameters.parameter:clinicalStatus.part:pathLabel.name", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.name", + "fixedString": "pathLabel", + "mustSupport": true + }, + { + "id": "Parameters.parameter:clinicalStatus.part:pathLabel.value[x]", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.value[x]", + "min": 1, + "type": [ + { + "code": "string" + } + ], + "fixedString": "Clinical status", + "mustSupport": true + }, + { + "id": "Parameters.parameter:abatementDate", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter", + "sliceName": "abatementDate", + "min": 0, + "max": "1", + "mustSupport": true + }, + { + "id": "Parameters.parameter:abatementDate.name", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.name", + "short": "Parameters for abatement patching", + "fixedString": "operation", + "mustSupport": true + }, + { + "id": "Parameters.parameter:abatementDate.part", + "path": "Parameters.parameter.part", + "slicing": { + "discriminator": [ + { + "type": "value", + "path": "name" + } + ], + "ordered": false, + "rules": "open" + }, + "min": 3 + }, + { + "id": "Parameters.parameter:abatementDate.part:type", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part", + "sliceName": "type", + "short": "Patch operation to perform", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mustSupport": true + }, + { + "id": "Parameters.parameter:abatementDate.part:type.name", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.name", + "fixedString": "type", + "mustSupport": true + }, + { + "id": "Parameters.parameter:abatementDate.part:type.value[x]", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.value[x]", + "min": 1, + "type": [ + { + "code": "code" + } + ], + "fixedCode": "replace", + "mustSupport": true + }, + { + "id": "Parameters.parameter:abatementDate.part:path", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part", + "sliceName": "path", + "short": "Where to perform the operation", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mustSupport": true + }, + { + "id": "Parameters.parameter:abatementDate.part:path.name", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.name", + "fixedString": "path", + "mustSupport": true + }, + { + "id": "Parameters.parameter:abatementDate.part:path.value[x]", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.value[x]", + "min": 1, + "type": [ + { + "code": "string" + } + ], + "fixedString": "Condition.abatement", + "mustSupport": true + }, + { + "id": "Parameters.parameter:abatementDate.part:value", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part", + "sliceName": "value", + "short": "Replacement value", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mustSupport": true + }, + { + "id": "Parameters.parameter:abatementDate.part:value.name", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.name", + "fixedString": "value", + "mustSupport": true + }, + { + "id": "Parameters.parameter:abatementDate.part:value.value[x]", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.value[x]", + "min": 1, + "type": [ + { + "code": "dateTime" + } + ], + "mustSupport": true + }, + { + "id": "Parameters.parameter:abatementDate.part:pathLabel", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part", + "sliceName": "pathLabel", + "short": "Human readable representation of the path. Typically this is the relevant item text from the Questionnaire.", + "min": 0, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mustSupport": true + }, + { + "id": "Parameters.parameter:abatementDate.part:pathLabel.name", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.name", + "fixedString": "pathLabel", + "mustSupport": true + }, + { + "id": "Parameters.parameter:abatementDate.part:pathLabel.value[x]", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.value[x]", + "min": 1, + "type": [ + { + "code": "string" + } + ], + "fixedString": "Abatement date", + "mustSupport": true + } + ] + } +} diff --git a/fsh-generated/resources/StructureDefinition-SHCExtractBundle.json b/fsh-generated/resources/StructureDefinition-SHCExtractBundle.json new file mode 100644 index 00000000..005386f0 --- /dev/null +++ b/fsh-generated/resources/StructureDefinition-SHCExtractBundle.json @@ -0,0 +1,563 @@ +{ + "resourceType": "StructureDefinition", + "id": "SHCExtractBundle", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCExtractBundle", + "name": "SmartHealthChecksExtractBundle", + "title": "Smart Health Checks Extract Bundle", + "status": "draft", + "description": "This profile sets the expectations for a Bundle resource when used to represent a transaction bundle of resources extracted by the SHC App following the completion of a Smart Health Checks Questionnaire. This bundle is used to write patient information to the SHC Host FHIR server.", + "fhirVersion": "4.0.1", + "kind": "resource", + "abstract": false, + "type": "Bundle", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Bundle", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Bundle.type", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Bundle.type", + "fixedCode": "transaction", + "mustSupport": true + }, + { + "id": "Bundle.timestamp", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Bundle.timestamp", + "min": 1, + "mustSupport": true + }, + { + "id": "Bundle.entry", + "path": "Bundle.entry", + "slicing": { + "discriminator": [ + { + "type": "value", + "path": "request.method" + } + ], + "ordered": false, + "rules": "open" + }, + "min": 1 + }, + { + "id": "Bundle.entry:post", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Bundle.entry", + "sliceName": "post", + "short": "Entries for creating new resources", + "min": 0, + "max": "*", + "mustSupport": true + }, + { + "id": "Bundle.entry:post.fullUrl", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Bundle.entry.fullUrl", + "min": 1, + "mustSupport": true + }, + { + "id": "Bundle.entry:post.resource", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:persist" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Bundle.entry.resource", + "min": 1, + "type": [ + { + "code": "AllergyIntolerance", + "profile": [ + "https://smartforms.csiro.au/ig/StructureDefinition/SHCAllergyIntolerance" + ] + }, + { + "code": "Condition", + "profile": [ + "https://smartforms.csiro.au/ig/StructureDefinition/SHCCondition" + ] + }, + { + "code": "Immunization", + "profile": [ + "https://smartforms.csiro.au/ig/StructureDefinition/SHCImmunization" + ] + }, + { + "code": "MedicationStatement", + "profile": [ + "https://smartforms.csiro.au/ig/StructureDefinition/SHCMedicationStatement" + ] + }, + { + "code": "Observation", + "profile": [ + "https://smartforms.csiro.au/ig/StructureDefinition/SHCBloodPressure", + "https://smartforms.csiro.au/ig/StructureDefinition/SHCBodyHeight", + "https://smartforms.csiro.au/ig/StructureDefinition/SHCBodyWeight", + "https://smartforms.csiro.au/ig/StructureDefinition/SHCHeartRate", + "https://smartforms.csiro.au/ig/StructureDefinition/SHCHeartRhythm", + "https://smartforms.csiro.au/ig/StructureDefinition/SHCSmokingStatus", + "https://smartforms.csiro.au/ig/StructureDefinition/SHCWaistCircumference", + "https://smartforms.csiro.au/ig/StructureDefinition/SHCHeadCircumference" + ] + } + ], + "mustSupport": true + }, + { + "id": "Bundle.entry:post.request", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Bundle.entry.request", + "min": 1, + "mustSupport": true + }, + { + "id": "Bundle.entry:post.request.method", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Bundle.entry.request.method", + "fixedCode": "POST", + "mustSupport": true + }, + { + "id": "Bundle.entry:post.request.url", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Bundle.entry.request.url", + "mustSupport": true + }, + { + "id": "Bundle.entry:patch", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Bundle.entry", + "sliceName": "patch", + "short": "Entries for patching existing resources", + "min": 0, + "max": "*", + "mustSupport": true + }, + { + "id": "Bundle.entry:patch.fullUrl", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Bundle.entry.fullUrl", + "min": 1, + "mustSupport": true + }, + { + "id": "Bundle.entry:patch.resource", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Bundle.entry.resource", + "min": 1, + "type": [ + { + "code": "Parameters", + "profile": [ + "https://smartforms.csiro.au/ig/StructureDefinition/SHCAllergyIntolerancePatch", + "https://smartforms.csiro.au/ig/StructureDefinition/SHCConditionPatch", + "https://smartforms.csiro.au/ig/StructureDefinition/SHCMedicationStatementPatch" + ] + } + ], + "mustSupport": true + }, + { + "id": "Bundle.entry:patch.request", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Bundle.entry.request", + "min": 1, + "mustSupport": true + }, + { + "id": "Bundle.entry:patch.request.method", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Bundle.entry.request.method", + "fixedCode": "PATCH", + "mustSupport": true + }, + { + "id": "Bundle.entry:patch.request.url", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Bundle.entry.request.url", + "mustSupport": true + } + ] + } +} diff --git a/fsh-generated/resources/StructureDefinition-SHCMedicationStatementPatch.json b/fsh-generated/resources/StructureDefinition-SHCMedicationStatementPatch.json new file mode 100644 index 00000000..a6971bb2 --- /dev/null +++ b/fsh-generated/resources/StructureDefinition-SHCMedicationStatementPatch.json @@ -0,0 +1,1642 @@ +{ + "resourceType": "StructureDefinition", + "id": "SHCMedicationStatementPatch", + "url": "https://smartforms.csiro.au/ig/StructureDefinition/SHCMedicationStatementPatch", + "name": "SmartHealthChecksMedicationStatementPatch", + "title": "Smart Health Checks MedicationStatement Patch", + "status": "draft", + "description": "This profile sets the expectations for a Parameters resource when used to patch MedicationStatement resources within Smart Health Checks.", + "fhirVersion": "4.0.1", + "kind": "resource", + "abstract": false, + "type": "Parameters", + "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Parameters", + "derivation": "constraint", + "differential": { + "element": [ + { + "id": "Parameters.parameter", + "path": "Parameters.parameter", + "slicing": { + "discriminator": [ + { + "type": "value", + "path": "part" + } + ], + "ordered": false, + "rules": "open" + }, + "min": 1 + }, + { + "id": "Parameters.parameter:status", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter", + "sliceName": "status", + "min": 0, + "max": "1", + "mustSupport": true + }, + { + "id": "Parameters.parameter:status.name", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.name", + "short": "Parameters for status patching", + "fixedString": "operation", + "mustSupport": true + }, + { + "id": "Parameters.parameter:status.part", + "path": "Parameters.parameter.part", + "slicing": { + "discriminator": [ + { + "type": "value", + "path": "name" + } + ], + "ordered": false, + "rules": "open" + }, + "min": 3 + }, + { + "id": "Parameters.parameter:status.part:type", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part", + "sliceName": "type", + "short": "Patch operation to perform", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mustSupport": true + }, + { + "id": "Parameters.parameter:status.part:type.name", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.name", + "fixedString": "type", + "mustSupport": true + }, + { + "id": "Parameters.parameter:status.part:type.value[x]", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.value[x]", + "min": 1, + "type": [ + { + "code": "code" + } + ], + "fixedCode": "replace", + "mustSupport": true + }, + { + "id": "Parameters.parameter:status.part:path", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part", + "sliceName": "path", + "short": "Where to perform the operation", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mustSupport": true + }, + { + "id": "Parameters.parameter:status.part:path.name", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.name", + "fixedString": "path", + "mustSupport": true + }, + { + "id": "Parameters.parameter:status.part:path.value[x]", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.value[x]", + "min": 1, + "type": [ + { + "code": "string" + } + ], + "fixedString": "MedicationStatement.status", + "mustSupport": true + }, + { + "id": "Parameters.parameter:status.part:value", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part", + "sliceName": "value", + "short": "Replacement value", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mustSupport": true + }, + { + "id": "Parameters.parameter:status.part:value.name", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.name", + "fixedString": "value", + "mustSupport": true + }, + { + "id": "Parameters.parameter:status.part:value.value[x]", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.value[x]", + "min": 1, + "type": [ + { + "code": "CodeableConcept" + } + ], + "mustSupport": true, + "binding": { + "strength": "required", + "valueSet": "https://smartforms.csiro.au/ig/ValueSet/MedicationStatementStatusLimited" + } + }, + { + "id": "Parameters.parameter:status.part:value.value[x].coding", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.value[x].coding", + "min": 1, + "max": "1", + "mustSupport": true + }, + { + "id": "Parameters.parameter:status.part:pathLabel", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part", + "sliceName": "pathLabel", + "short": "Human readable representation of the path. Typically this is the relevant item text from the Questionnaire.", + "min": 0, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mustSupport": true + }, + { + "id": "Parameters.parameter:status.part:pathLabel.name", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.name", + "fixedString": "pathLabel", + "mustSupport": true + }, + { + "id": "Parameters.parameter:status.part:pathLabel.value[x]", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.value[x]", + "min": 1, + "type": [ + { + "code": "string" + } + ], + "fixedString": "Status", + "mustSupport": true + }, + { + "id": "Parameters.parameter:comment", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter", + "sliceName": "comment", + "min": 0, + "max": "1", + "mustSupport": true + }, + { + "id": "Parameters.parameter:comment.name", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.name", + "short": "Parameters for note.text patching", + "fixedString": "operation", + "mustSupport": true + }, + { + "id": "Parameters.parameter:comment.part", + "path": "Parameters.parameter.part", + "slicing": { + "discriminator": [ + { + "type": "value", + "path": "name" + } + ], + "ordered": false, + "rules": "open" + }, + "min": 3 + }, + { + "id": "Parameters.parameter:comment.part:type", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part", + "sliceName": "type", + "short": "Patch operation to perform", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mustSupport": true + }, + { + "id": "Parameters.parameter:comment.part:type.name", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.name", + "fixedString": "type", + "mustSupport": true + }, + { + "id": "Parameters.parameter:comment.part:type.value[x]", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.value[x]", + "min": 1, + "type": [ + { + "code": "code" + } + ], + "fixedCode": "replace", + "mustSupport": true + }, + { + "id": "Parameters.parameter:comment.part:path", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part", + "sliceName": "path", + "short": "Where to perform the operation", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mustSupport": true + }, + { + "id": "Parameters.parameter:comment.part:path.name", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.name", + "fixedString": "path", + "mustSupport": true + }, + { + "id": "Parameters.parameter:comment.part:path.value[x]", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.value[x]", + "min": 1, + "type": [ + { + "code": "string" + } + ], + "fixedString": "MedicationStatement.note[0].text", + "mustSupport": true + }, + { + "id": "Parameters.parameter:comment.part:value", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part", + "sliceName": "value", + "short": "Replacement value", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mustSupport": true + }, + { + "id": "Parameters.parameter:comment.part:value.name", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.name", + "fixedString": "value", + "mustSupport": true + }, + { + "id": "Parameters.parameter:comment.part:value.value[x]", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.value[x]", + "min": 1, + "type": [ + { + "code": "markdown" + } + ], + "mustSupport": true + }, + { + "id": "Parameters.parameter:comment.part:pathLabel", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part", + "sliceName": "pathLabel", + "short": "Human readable representation of the path. Typically this is the relevant item text from the Questionnaire.", + "min": 0, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mustSupport": true + }, + { + "id": "Parameters.parameter:comment.part:pathLabel.name", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.name", + "fixedString": "pathLabel", + "mustSupport": true + }, + { + "id": "Parameters.parameter:comment.part:pathLabel.value[x]", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.value[x]", + "min": 1, + "type": [ + { + "code": "string" + } + ], + "fixedString": "Comment", + "mustSupport": true + }, + { + "id": "Parameters.parameter:dosage", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter", + "sliceName": "dosage", + "min": 0, + "max": "1", + "mustSupport": true + }, + { + "id": "Parameters.parameter:dosage.name", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.name", + "short": "Parameters for dosage.text patching", + "fixedString": "operation", + "mustSupport": true + }, + { + "id": "Parameters.parameter:dosage.part", + "path": "Parameters.parameter.part", + "slicing": { + "discriminator": [ + { + "type": "value", + "path": "name" + } + ], + "ordered": false, + "rules": "open" + }, + "min": 3 + }, + { + "id": "Parameters.parameter:dosage.part:type", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part", + "sliceName": "type", + "short": "Patch operation to perform", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mustSupport": true + }, + { + "id": "Parameters.parameter:dosage.part:type.name", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.name", + "fixedString": "type", + "mustSupport": true + }, + { + "id": "Parameters.parameter:dosage.part:type.value[x]", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.value[x]", + "min": 1, + "type": [ + { + "code": "code" + } + ], + "fixedCode": "replace", + "mustSupport": true + }, + { + "id": "Parameters.parameter:dosage.part:path", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part", + "sliceName": "path", + "short": "Where to perform the operation", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mustSupport": true + }, + { + "id": "Parameters.parameter:dosage.part:path.name", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.name", + "fixedString": "path", + "mustSupport": true + }, + { + "id": "Parameters.parameter:dosage.part:path.value[x]", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.value[x]", + "min": 1, + "type": [ + { + "code": "string" + } + ], + "fixedString": "MedicationStatement.dosage[0].text", + "mustSupport": true + }, + { + "id": "Parameters.parameter:dosage.part:value", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part", + "sliceName": "value", + "short": "Replacement value", + "min": 1, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mustSupport": true + }, + { + "id": "Parameters.parameter:dosage.part:value.name", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.name", + "fixedString": "value", + "mustSupport": true + }, + { + "id": "Parameters.parameter:dosage.part:value.value[x]", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate-if-known" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.value[x]", + "min": 1, + "type": [ + { + "code": "string" + } + ], + "mustSupport": true + }, + { + "id": "Parameters.parameter:dosage.part:pathLabel", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:process" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCHostFHIRServer" + } + ] + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part", + "sliceName": "pathLabel", + "short": "Human readable representation of the path. Typically this is the relevant item text from the Questionnaire.", + "min": 0, + "max": "1", + "type": [ + { + "code": "BackboneElement" + } + ], + "mustSupport": true + }, + { + "id": "Parameters.parameter:dosage.part:pathLabel.name", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.name", + "fixedString": "pathLabel", + "mustSupport": true + }, + { + "id": "Parameters.parameter:dosage.part:pathLabel.value[x]", + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/obligation", + "extension": [ + { + "url": "code", + "valueCode": "SHALL:populate" + }, + { + "url": "actor", + "valueCanonical": "https://smartforms.csiro.au/ig/ActorDefinition/SHCApp" + } + ] + } + ], + "path": "Parameters.parameter.part.value[x]", + "min": 1, + "type": [ + { + "code": "string" + } + ], + "fixedString": "Dosage", + "mustSupport": true + } + ] + } +} diff --git a/fsh-generated/resources/ValueSet-AllergyIntoleranceClinicalStatusMinimal.json b/fsh-generated/resources/ValueSet-AllergyIntoleranceClinicalStatusMinimal.json new file mode 100644 index 00000000..a24927bd --- /dev/null +++ b/fsh-generated/resources/ValueSet-AllergyIntoleranceClinicalStatusMinimal.json @@ -0,0 +1,61 @@ +{ + "resourceType": "ValueSet", + "status": "draft", + "name": "AllergyIntoleranceClinicalStatusMinimal", + "id": "AllergyIntoleranceClinicalStatusMinimal", + "title": "Allergy Intolerance Clinical Status Minimal", + "description": "This value set includes the minimal set of codes to represent the clinical status of an allergy intolerance (i.e., active and inactive).", + "url": "https://smartforms.csiro.au/ig/ValueSet/AllergyIntoleranceClinicalStatusMinimal", + "experimental": false, + "expansion": { + "identifier": "urn:uuid:40f0c59e-9fa5-4322-bc1d-5fde644a076c", + "timestamp": "2025-08-25T15:52:50+10:00", + "total": 2, + "offset": 0, + "parameter": [ + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false + }, + { + "name": "used-codesystem", + "valueUri": "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical|1.0.0" + } + ], + "contains": [ + { + "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical", + "code": "active", + "display": "Active" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical", + "code": "inactive", + "display": "Inactive" + } + ] + }, + "compose": { + "include": [ + { + "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical", + "concept": [ + { + "code": "active" + }, + { + "code": "inactive" + } + ] + } + ] + } +} diff --git a/fsh-generated/resources/ValueSet-MedicationStatementStatusLimited.json b/fsh-generated/resources/ValueSet-MedicationStatementStatusLimited.json new file mode 100644 index 00000000..e7cc1107 --- /dev/null +++ b/fsh-generated/resources/ValueSet-MedicationStatementStatusLimited.json @@ -0,0 +1,77 @@ +{ + "resourceType": "ValueSet", + "status": "draft", + "name": "MedicationStatementStatusLimited", + "id": "MedicationStatementStatusLimited", + "title": "Medication Statement Status Limited", + "description": "This value set includes the minimal set of codes to represent the status of a medication statement (i.e., active, completed, stopped and on-hold).", + "url": "https://smartforms.csiro.au/ig/ValueSet/MedicationStatementStatusLimited", + "experimental": false, + "expansion": { + "identifier": "urn:uuid:59fe5ac1-65bf-4606-8c2a-0a55fba1d064", + "timestamp": "2025-08-25T15:53:32+10:00", + "total": 4, + "offset": 0, + "parameter": [ + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false + }, + { + "name": "used-codesystem", + "valueUri": "http://hl7.org/fhir/CodeSystem/medication-statement-status|4.0.1" + } + ], + "contains": [ + { + "system": "http://hl7.org/fhir/CodeSystem/medication-statement-status", + "code": "active", + "display": "Active" + }, + { + "system": "http://hl7.org/fhir/CodeSystem/medication-statement-status", + "code": "completed", + "display": "Completed" + }, + { + "system": "http://hl7.org/fhir/CodeSystem/medication-statement-status", + "code": "stopped", + "display": "Stopped" + }, + { + "system": "http://hl7.org/fhir/CodeSystem/medication-statement-status", + "code": "on-hold", + "display": "On Hold" + } + ] + }, + "compose": { + "include": [ + { + "system": "http://hl7.org/fhir/CodeSystem/medication-statement-status", + "concept": [ + { + "code": "active" + }, + { + "code": "completed" + }, + { + "code": "stopped" + }, + { + "code": "on-hold" + } + ] + } + ] + } +} diff --git a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh index 82b4d5ad..0b065f73 100644 --- a/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh +++ b/input/fsh/715-Assessment-AllergiesAdverseReactions.fsh @@ -10,6 +10,7 @@ Description: "Allergies/Adverse Reactions sub-questionnaire for Aboriginal and T * contained[+] = AllergyIntoleranceTemplate * contained[+] = AllergyIntolerancePatchTemplate +* contained[+] = AllergyIntoleranceClinicalStatusMinimal //assemble expectation * extension[+] @@ -161,8 +162,7 @@ Description: "Allergies/Adverse Reactions sub-questionnaire for Aboriginal and T * item[=].item[=].item[=].item[=].text = "Status" * item[=].item[=].item[=].item[=].type = #choice * item[=].item[=].item[=].item[=].repeats = false -* item[=].item[=].item[=].item[=].answerOption[+].valueCoding = http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical#active "Active" -* item[=].item[=].item[=].item[=].answerOption[+].valueCoding = http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical#inactive "Inactive" +* item[=].item[=].item[=].item[=].answerValueSet = "#AllergyIntoleranceClinicalStatusMinimal" * item[=].item[=].item[=].item[+].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression" * item[=].item[=].item[=].item[=].extension[=].valueExpression[+].language = #text/fhirpath * item[=].item[=].item[=].item[=].extension[=].valueExpression[=].expression = "%AllergyIntoleranceRepeat.reaction.manifestation.coding" diff --git a/input/fsh/715-Assessment-RegularMedications.fsh b/input/fsh/715-Assessment-RegularMedications.fsh index c3297bd8..7888b0da 100644 --- a/input/fsh/715-Assessment-RegularMedications.fsh +++ b/input/fsh/715-Assessment-RegularMedications.fsh @@ -13,7 +13,7 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * contained[+] = medication-reason-taken-1 * contained[+] = MedicationStatementTemplate * contained[+] = MedicationStatementPatchTemplate - +* contained[+] = MedicationStatementStatusLimited * extension[0].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-assemble-expectation" * extension[=].valueCode = #assemble-child @@ -199,10 +199,7 @@ Description: "Regular Medications sub-questionnaire for Aboriginal and Torres St * item.item[=].item[=].item[=].text = "Status" * item.item[=].item[=].item[=].type = #choice * item.item[=].item[=].item[=].repeats = false -* item.item[=].item[=].item[=].answerOption[0].valueCoding = http://hl7.org/fhir/CodeSystem/medication-statement-status#active "Active" -* item.item[=].item[=].item[=].answerOption[+].valueCoding = http://hl7.org/fhir/CodeSystem/medication-statement-status#completed "Completed" -* item.item[=].item[=].item[=].answerOption[+].valueCoding = http://hl7.org/fhir/CodeSystem/medication-statement-status#stopped "Stopped" -* item.item[=].item[=].item[=].answerOption[+].valueCoding = http://hl7.org/fhir/CodeSystem/medication-statement-status#on-hold "On Hold" +* item.item[=].item[=].item[=].answerValueSet = "#MedicationStatementStatusLimited" * item.item[=].item[=].item[+].extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-initialExpression" * item.item[=].item[=].item[=].extension[=].valueExpression[+].language = #text/fhirpath diff --git a/input/fsh/capability.fsh b/input/fsh/capability.fsh index 34925b8b..7c0c6429 100644 --- a/input/fsh/capability.fsh +++ b/input/fsh/capability.fsh @@ -28,15 +28,19 @@ Usage: #definition * rest.mode = #server * rest.documentation = "Smart Forms Launcher Server **SHALL**: 1. Support the [Smart Health Checks AllergyIntolerance resource profile](StructureDefinition-SHCAllergyIntolerance.html) +1. Support the [Smart Health Checks AllergyIntolerance Patch resource profile](StructureDefinition-SHCAllergyIntolerancePatch.html) 1. Support the [Smart Health Checks Condition resource profile](StructureDefinition-SHCCondition.html) +1. Support the [Smart Health Checks Condition Patch resource profile](StructureDefinition-SHCConditionPatch.html) 1. Support the [Smart Health Checks Encounter resource profile](StructureDefinition-SHCEncounter.html) 1. Support the [Smart Health Checks Immunization resource profile](StructureDefinition-SHCImmunization.html) 1. Support the [Smart Health Checks Medication profile](StructureDefinition-SHCMedication.html) 1. Support the [Smart Health Checks MedicationStatement profile](StructureDefinition-SHCMedicationStatement.html) +1. Support the [Smart Health Checks MedicationStatement Patch profile](StructureDefinition-SHCMedicationStatementPatch.html) 1. Support the [Smart Health Checks Observation resource profiles](profiles-and-extensions.html#observation) 1. Support the [Smart Health Checks Patient resource profile](StructureDefinition-SHCPatient.html) 1. Support the [Smart Health Checks Practitioner resource profile](StructureDefinition-SHCPractitioner.html) -1. Support the [Smart Health Checks Questionnaire Response profile](StructureDefinition-SHCQuestionnaireResponse.html) +1. Support the [Smart Health Checks QuestionnaireResponse resource profile](StructureDefinition-SHCQuestionnaireResponse.html) +1. Support the [Smart Health Checks Extract Bundle resource profile](StructureDefinition-SHCExtractBundle.html) 1. Implement the RESTful behavior according to the FHIR specification 1. Support JSON source formats for all interactions" @@ -78,6 +82,15 @@ The server **SHALL** support both." * rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL +//Bundle +* rest.resource[+].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].extension[=].valueCode = #SHALL +* rest.resource[=].type = #Bundle +* rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCExtractBundle" +* rest.resource[=].supportedProfile[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].supportedProfile[=].extension[0].valueCode = #SHALL +* rest.resource[=].documentation = "The server **SHALL** support the Bundle resource, the Smart Health Checks profile listed and the conformance expectations for the Bundle resource." + //Condition * rest.resource[+].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].extension[0].valueCode = #SHALL @@ -323,6 +336,20 @@ The server **SHALL** support both." * rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL +//Parameters +* rest.resource[+].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].extension[=].valueCode = #SHALL +* rest.resource[=].type = #Parameters +* rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCAllergyIntolerancePatch" +* rest.resource[=].supportedProfile[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].supportedProfile[=].extension[0].valueCode = #SHALL +* rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCConditionPatch" +* rest.resource[=].supportedProfile[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].supportedProfile[=].extension[0].valueCode = #SHALL +* rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCMedicationStatementPatch" +* rest.resource[=].supportedProfile[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].supportedProfile[=].extension[0].valueCode = #SHALL +* rest.resource[=].documentation = "The server **SHALL** support the Parameters resource, the Smart Health Checks profiles listed and the conformance expectations for the Parameters resource." //Patient * rest.resource[+].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" diff --git a/input/fsh/profiles.fsh b/input/fsh/profiles.fsh index 5247a1cd..61ad188b 100644 --- a/input/fsh/profiles.fsh +++ b/input/fsh/profiles.fsh @@ -26,6 +26,8 @@ Alias: $au-address = http://hl7.org.au/fhir/StructureDefinition/au-address Alias: $au-pensionerconcessioncardnumber = http://hl7.org.au/fhir/StructureDefinition/au-pensionerconcessioncardnumber Alias: $au-healthcarecardnumber = http://hl7.org.au/fhir/StructureDefinition/au-healthcarecardnumber + + /* Old RuleSets to be reinstated following SUSHI bug fix RuleSet: obligationApp(index, appCode) * ^extension[$obligation][{index}].extension[code].valueCode = #"{appCode}" @@ -773,3 +775,607 @@ Description: "This profile sets the minimum expectations for a Heart Rate resour * valueQuantity.code MS * valueQuantity.code insert obligation2Server (2, SHALL:populate-if-known, SHALL:process) * valueQuantity.code insert obligation2App (3, SHALL:populate, SHALL:process) + +Profile: SmartHealthChecksConditionPatch +Parent: Parameters +Id: SHCConditionPatch +Title: "Smart Health Checks Condition Patch" +Description: "This profile sets the expectations for a Parameters resource when used to patch Condition resources within Smart Health Checks." + +* parameter 1.. +* parameter ^slicing.discriminator.type = #value +* parameter ^slicing.discriminator.path = "part" +* parameter ^slicing.ordered = false +* parameter ^slicing.rules = #open +* parameter contains + clinicalStatus 0..1 and + abatementDate 0..1 +* parameter[clinicalStatus] MS +* parameter[clinicalStatus] insert obligationServer (0, SHALL:process) +* parameter[clinicalStatus] insert obligationApp (1, SHALL:populate) +* parameter[clinicalStatus].name ^short = "Parameters for clinicalStatus patching" +* parameter[clinicalStatus].name 1.. MS +* parameter[clinicalStatus].name insert obligationServer (0, SHALL:process) +* parameter[clinicalStatus].name insert obligationApp (1, SHALL:populate) +* parameter[clinicalStatus].name = "operation" (exactly) +* parameter[clinicalStatus].part ^slicing.discriminator.type = #value +* parameter[clinicalStatus].part ^slicing.discriminator.path = "name" +* parameter[clinicalStatus].part ^slicing.ordered = false +* parameter[clinicalStatus].part ^slicing.rules = #open +* parameter[clinicalStatus].part contains + type 1..1 and + path 1..1 and + value 1..1 and + pathLabel 0..1 +* parameter[clinicalStatus].part[type] MS +* parameter[clinicalStatus].part[type] insert obligationServer (0, SHALL:process) +* parameter[clinicalStatus].part[type] insert obligationApp (1, SHALL:populate) +* parameter[clinicalStatus].part[type] ^short = "Patch operation to perform" +* parameter[clinicalStatus].part[type].name 1..1 MS +* parameter[clinicalStatus].part[type].name insert obligationServer (0, SHALL:process) +* parameter[clinicalStatus].part[type].name insert obligationApp (1, SHALL:populate) +* parameter[clinicalStatus].part[type].name = "type" (exactly) +* parameter[clinicalStatus].part[type].value[x] 1..1 MS +* parameter[clinicalStatus].part[type].value[x] insert obligationServer (0, SHALL:process) +* parameter[clinicalStatus].part[type].value[x] insert obligationApp (1, SHALL:populate) +* parameter[clinicalStatus].part[type].value[x] only code +* parameter[clinicalStatus].part[type].value[x] = #replace (exactly) +* parameter[clinicalStatus].part[path] MS +* parameter[clinicalStatus].part[path] insert obligationServer (0, SHALL:process) +* parameter[clinicalStatus].part[path] insert obligationApp (1, SHALL:populate) +* parameter[clinicalStatus].part[path] ^short = "Where to perform the operation" +* parameter[clinicalStatus].part[path].name 1..1 MS +* parameter[clinicalStatus].part[path].name insert obligationServer (0, SHALL:process) +* parameter[clinicalStatus].part[path].name insert obligationApp (1, SHALL:populate) +* parameter[clinicalStatus].part[path].name = "path" (exactly) +* parameter[clinicalStatus].part[path].value[x] 1..1 MS +* parameter[clinicalStatus].part[path].value[x] insert obligationServer (0, SHALL:process) +* parameter[clinicalStatus].part[path].value[x] insert obligationApp (1, SHALL:populate) +* parameter[clinicalStatus].part[path].value[x] only string +* parameter[clinicalStatus].part[path].value[x] = "Condition.clinicalStatus" (exactly) +* parameter[clinicalStatus].part[value] MS +* parameter[clinicalStatus].part[value] insert obligationServer (0, SHALL:process) +* parameter[clinicalStatus].part[value] insert obligationApp (1, SHALL:populate) +* parameter[clinicalStatus].part[value] ^short = "Replacement value" +* parameter[clinicalStatus].part[value].name 1..1 MS +* parameter[clinicalStatus].part[value].name insert obligationServer (0, SHALL:process) +* parameter[clinicalStatus].part[value].name insert obligationApp (1, SHALL:populate) +* parameter[clinicalStatus].part[value].name = "value" (exactly) +* parameter[clinicalStatus].part[value].value[x] 1..1 MS +* parameter[clinicalStatus].part[value].value[x] insert obligationServer (0, SHALL:process) +* parameter[clinicalStatus].part[value].value[x] insert obligationApp (1, SHALL:populate-if-known) +* parameter[clinicalStatus].part[value].value[x] only CodeableConcept +* parameter[clinicalStatus].part[value].value[x] from http://hl7.org/fhir/ValueSet/condition-clinical (required) +* parameter[clinicalStatus].part[value].value[x].coding 1..1 MS +* parameter[clinicalStatus].part[value].value[x].coding insert obligationServer (0, SHALL:process) +* parameter[clinicalStatus].part[value].value[x].coding insert obligationApp (1, SHALL:populate-if-known) +* parameter[clinicalStatus].part[pathLabel] MS +* parameter[clinicalStatus].part[pathLabel] insert obligationServer (0, SHALL:process) +* parameter[clinicalStatus].part[pathLabel] insert obligationApp (1, SHALL:populate) +* parameter[clinicalStatus].part[pathLabel] ^short = "Human readable representation of the path. Typically this is the relevant item text from the Questionnaire." +* parameter[clinicalStatus].part[pathLabel].name 1..1 MS +* parameter[clinicalStatus].part[pathLabel].name insert obligationApp (0, SHALL:populate) +* parameter[clinicalStatus].part[pathLabel].name = "pathLabel" (exactly) +* parameter[clinicalStatus].part[pathLabel].value[x] 1..1 MS +* parameter[clinicalStatus].part[pathLabel].value[x] insert obligationApp (0, SHALL:populate) +* parameter[clinicalStatus].part[pathLabel].value[x] only string +* parameter[clinicalStatus].part[pathLabel].value[x] = "Clinical status" (exactly) +* parameter[abatementDate] MS +* parameter[abatementDate] insert obligationServer (0, SHALL:process) +* parameter[abatementDate] insert obligationApp (1, SHALL:populate) +* parameter[abatementDate].name ^short = "Parameters for abatement patching" +* parameter[abatementDate].name 1.. MS +* parameter[abatementDate].name insert obligationServer (0, SHALL:process) +* parameter[abatementDate].name insert obligationApp (1, SHALL:populate) +* parameter[abatementDate].name = "operation" (exactly) +* parameter[abatementDate].part ^slicing.discriminator.type = #value +* parameter[abatementDate].part ^slicing.discriminator.path = "name" +* parameter[abatementDate].part ^slicing.ordered = false +* parameter[abatementDate].part ^slicing.rules = #open +* parameter[abatementDate].part contains + type 1..1 and + path 1..1 and + value 1..1 and + pathLabel 0..1 +* parameter[abatementDate].part[type] MS +* parameter[abatementDate].part[type] insert obligationServer (0, SHALL:process) +* parameter[abatementDate].part[type] insert obligationApp (1, SHALL:populate) +* parameter[abatementDate].part[type] ^short = "Patch operation to perform" +* parameter[abatementDate].part[type].name 1..1 MS +* parameter[abatementDate].part[type].name insert obligationServer (0, SHALL:process) +* parameter[abatementDate].part[type].name insert obligationApp (1, SHALL:populate) +* parameter[abatementDate].part[type].name = "type" (exactly) +* parameter[abatementDate].part[type].value[x] 1..1 MS +* parameter[abatementDate].part[type].value[x] insert obligationServer (0, SHALL:process) +* parameter[abatementDate].part[type].value[x] insert obligationApp (1, SHALL:populate) +* parameter[abatementDate].part[type].value[x] only code +* parameter[abatementDate].part[type].value[x] = #replace (exactly) +* parameter[abatementDate].part[path] MS +* parameter[abatementDate].part[path] insert obligationServer (0, SHALL:process) +* parameter[abatementDate].part[path] insert obligationApp (1, SHALL:populate) +* parameter[abatementDate].part[path] ^short = "Where to perform the operation" +* parameter[abatementDate].part[path].name 1..1 MS +* parameter[abatementDate].part[path].name insert obligationServer (0, SHALL:process) +* parameter[abatementDate].part[path].name insert obligationApp (1, SHALL:populate) +* parameter[abatementDate].part[path].name = "path" (exactly) +* parameter[abatementDate].part[path].value[x] 1..1 MS +* parameter[abatementDate].part[path].value[x] insert obligationServer (0, SHALL:process) +* parameter[abatementDate].part[path].value[x] insert obligationApp (1, SHALL:populate) +* parameter[abatementDate].part[path].value[x] only string +* parameter[abatementDate].part[path].value[x] = "Condition.abatement" (exactly) +* parameter[abatementDate].part[value] MS +* parameter[abatementDate].part[value] insert obligationServer (0, SHALL:process) +* parameter[abatementDate].part[value] insert obligationApp (1, SHALL:populate) +* parameter[abatementDate].part[value] ^short = "Replacement value" +* parameter[abatementDate].part[value].name 1..1 MS +* parameter[abatementDate].part[value].name insert obligationServer (0, SHALL:process) +* parameter[abatementDate].part[value].name insert obligationApp (1, SHALL:populate) +* parameter[abatementDate].part[value].name = "value" (exactly) +* parameter[abatementDate].part[value].value[x] 1..1 MS +* parameter[abatementDate].part[value].value[x] insert obligationServer (0, SHALL:process) +* parameter[abatementDate].part[value].value[x] insert obligationApp (1, SHALL:populate-if-known) +* parameter[abatementDate].part[value].value[x] only dateTime +* parameter[abatementDate].part[pathLabel] MS +* parameter[abatementDate].part[pathLabel] insert obligationServer (0, SHALL:process) +* parameter[abatementDate].part[pathLabel] insert obligationApp (1, SHALL:populate) +* parameter[abatementDate].part[pathLabel] ^short = "Human readable representation of the path. Typically this is the relevant item text from the Questionnaire." +* parameter[abatementDate].part[pathLabel].name 1..1 MS +* parameter[abatementDate].part[pathLabel].name insert obligationApp (0, SHALL:populate) +* parameter[abatementDate].part[pathLabel].name = "pathLabel" (exactly) +* parameter[abatementDate].part[pathLabel].value[x] 1..1 MS +* parameter[abatementDate].part[pathLabel].value[x] insert obligationApp (0, SHALL:populate) +* parameter[abatementDate].part[pathLabel].value[x] only string +* parameter[abatementDate].part[pathLabel].value[x] = "Abatement date" (exactly) + +Profile: SmartHealthChecksAllergyIntolerancePatch +Parent: Parameters +Id: SHCAllergyIntolerancePatch +Title: "Smart Health Checks AllergyIntolerance Patch" +Description: "This profile sets the expectations for a Parameters resource when used to patch AllergyIntolerance resources within Smart Health Checks." + +* parameter 1.. +* parameter ^slicing.discriminator.type = #value +* parameter ^slicing.discriminator.path = "part" +* parameter ^slicing.ordered = false +* parameter ^slicing.rules = #open +* parameter contains + clinicalStatus 0..1 and + comment 0..1 +* parameter[clinicalStatus] MS +* parameter[clinicalStatus] insert obligationServer (0, SHALL:process) +* parameter[clinicalStatus] insert obligationApp (1, SHALL:populate) +* parameter[clinicalStatus].name ^short = "Parameters for clinicalStatus patching" +* parameter[clinicalStatus].name 1.. MS +* parameter[clinicalStatus].name insert obligationServer (0, SHALL:process) +* parameter[clinicalStatus].name insert obligationApp (1, SHALL:populate) +* parameter[clinicalStatus].name = "operation" (exactly) +* parameter[clinicalStatus].part ^slicing.discriminator.type = #value +* parameter[clinicalStatus].part ^slicing.discriminator.path = "name" +* parameter[clinicalStatus].part ^slicing.ordered = false +* parameter[clinicalStatus].part ^slicing.rules = #open +* parameter[clinicalStatus].part contains + type 1..1 and + path 1..1 and + value 1..1 and + pathLabel 0..1 +* parameter[clinicalStatus].part[type] MS +* parameter[clinicalStatus].part[type] insert obligationServer (0, SHALL:process) +* parameter[clinicalStatus].part[type] insert obligationApp (1, SHALL:populate) +* parameter[clinicalStatus].part[type] ^short = "Patch operation to perform" +* parameter[clinicalStatus].part[type].name 1..1 MS +* parameter[clinicalStatus].part[type].name insert obligationServer (0, SHALL:process) +* parameter[clinicalStatus].part[type].name insert obligationApp (1, SHALL:populate) +* parameter[clinicalStatus].part[type].name = "type" (exactly) +* parameter[clinicalStatus].part[type].value[x] 1..1 MS +* parameter[clinicalStatus].part[type].value[x] insert obligationServer (0, SHALL:process) +* parameter[clinicalStatus].part[type].value[x] insert obligationApp (1, SHALL:populate) +* parameter[clinicalStatus].part[type].value[x] only code +* parameter[clinicalStatus].part[type].value[x] = #replace (exactly) +* parameter[clinicalStatus].part[path] MS +* parameter[clinicalStatus].part[path] insert obligationServer (0, SHALL:process) +* parameter[clinicalStatus].part[path] insert obligationApp (1, SHALL:populate) +* parameter[clinicalStatus].part[path] ^short = "Where to perform the operation" +* parameter[clinicalStatus].part[path].name 1..1 MS +* parameter[clinicalStatus].part[path].name insert obligationServer (0, SHALL:process) +* parameter[clinicalStatus].part[path].name insert obligationApp (1, SHALL:populate) +* parameter[clinicalStatus].part[path].name = "path" (exactly) +* parameter[clinicalStatus].part[path].value[x] 1..1 MS +* parameter[clinicalStatus].part[path].value[x] insert obligationServer (0, SHALL:process) +* parameter[clinicalStatus].part[path].value[x] insert obligationApp (1, SHALL:populate) +* parameter[clinicalStatus].part[path].value[x] only string +* parameter[clinicalStatus].part[path].value[x] = "AllergyIntolerance.clinicalStatus" (exactly) +* parameter[clinicalStatus].part[value] MS +* parameter[clinicalStatus].part[value] insert obligationServer (0, SHALL:process) +* parameter[clinicalStatus].part[value] insert obligationApp (1, SHALL:populate) +* parameter[clinicalStatus].part[value] ^short = "Replacement value" +* parameter[clinicalStatus].part[value].name 1..1 MS +* parameter[clinicalStatus].part[value].name insert obligationServer (0, SHALL:process) +* parameter[clinicalStatus].part[value].name insert obligationApp (1, SHALL:populate) +* parameter[clinicalStatus].part[value].name = "value" (exactly) +* parameter[clinicalStatus].part[value].value[x] 1..1 MS +* parameter[clinicalStatus].part[value].value[x] insert obligationServer (0, SHALL:process) +* parameter[clinicalStatus].part[value].value[x] insert obligationApp (1, SHALL:populate-if-known) +* parameter[clinicalStatus].part[value].value[x] only CodeableConcept +* parameter[clinicalStatus].part[value].value[x] from AllergyIntoleranceClinicalStatusMinimal (required) +* parameter[clinicalStatus].part[value].value[x].coding 1..1 MS +* parameter[clinicalStatus].part[value].value[x].coding insert obligationServer (0, SHALL:process) +* parameter[clinicalStatus].part[value].value[x].coding insert obligationApp (1, SHALL:populate-if-known) +* parameter[clinicalStatus].part[pathLabel] MS +* parameter[clinicalStatus].part[pathLabel] insert obligationServer (0, SHALL:process) +* parameter[clinicalStatus].part[pathLabel] insert obligationApp (1, SHALL:populate) +* parameter[clinicalStatus].part[pathLabel] ^short = "Human readable representation of the path. Typically this is the relevant item text from the Questionnaire." +* parameter[clinicalStatus].part[pathLabel].name 1..1 MS +* parameter[clinicalStatus].part[pathLabel].name insert obligationApp (0, SHALL:populate) +* parameter[clinicalStatus].part[pathLabel].name = "pathLabel" (exactly) +* parameter[clinicalStatus].part[pathLabel].value[x] 1..1 MS +* parameter[clinicalStatus].part[pathLabel].value[x] insert obligationApp (0, SHALL:populate) +* parameter[clinicalStatus].part[pathLabel].value[x] only string +* parameter[clinicalStatus].part[pathLabel].value[x] = "Clinical status" (exactly) +* parameter[comment] MS +* parameter[comment] insert obligationServer (0, SHALL:process) +* parameter[comment] insert obligationApp (1, SHALL:populate) +* parameter[comment].name ^short = "Parameters for note.text patching" +* parameter[comment].name 1.. MS +* parameter[comment].name insert obligationServer (0, SHALL:process) +* parameter[comment].name insert obligationApp (1, SHALL:populate) +* parameter[comment].name = "operation" (exactly) +* parameter[comment].part ^slicing.discriminator.type = #value +* parameter[comment].part ^slicing.discriminator.path = "name" +* parameter[comment].part ^slicing.ordered = false +* parameter[comment].part ^slicing.rules = #open +* parameter[comment].part contains + type 1..1 and + path 1..1 and + value 1..1 and + pathLabel 0..1 +* parameter[comment].part[type] MS +* parameter[comment].part[type] insert obligationServer (0, SHALL:process) +* parameter[comment].part[type] insert obligationApp (1, SHALL:populate) +* parameter[comment].part[type] ^short = "Patch operation to perform" +* parameter[comment].part[type].name 1..1 MS +* parameter[comment].part[type].name insert obligationServer (0, SHALL:process) +* parameter[comment].part[type].name insert obligationApp (1, SHALL:populate) +* parameter[comment].part[type].name = "type" (exactly) +* parameter[comment].part[type].value[x] 1..1 MS +* parameter[comment].part[type].value[x] insert obligationServer (0, SHALL:process) +* parameter[comment].part[type].value[x] insert obligationApp (1, SHALL:populate) +* parameter[comment].part[type].value[x] only code +* parameter[comment].part[type].value[x] = #replace (exactly) +* parameter[comment].part[path] MS +* parameter[comment].part[path] insert obligationServer (0, SHALL:process) +* parameter[comment].part[path] insert obligationApp (1, SHALL:populate) +* parameter[comment].part[path] ^short = "Where to perform the operation" +* parameter[comment].part[path].name 1..1 MS +* parameter[comment].part[path].name insert obligationServer (0, SHALL:process) +* parameter[comment].part[path].name insert obligationApp (1, SHALL:populate) +* parameter[comment].part[path].name = "path" (exactly) +* parameter[comment].part[path].value[x] 1..1 MS +* parameter[comment].part[path].value[x] insert obligationServer (0, SHALL:process) +* parameter[comment].part[path].value[x] insert obligationApp (1, SHALL:populate) +* parameter[comment].part[path].value[x] only string +* parameter[comment].part[path].value[x] = "AllergyIntolerance.note[0].text" (exactly) +* parameter[comment].part[value] MS +* parameter[comment].part[value] insert obligationServer (0, SHALL:process) +* parameter[comment].part[value] insert obligationApp (1, SHALL:populate) +* parameter[comment].part[value] ^short = "Replacement value" +* parameter[comment].part[value].name 1..1 MS +* parameter[comment].part[value].name insert obligationServer (0, SHALL:process) +* parameter[comment].part[value].name insert obligationApp (1, SHALL:populate) +* parameter[comment].part[value].name = "value" (exactly) +* parameter[comment].part[value].value[x] 1..1 MS +* parameter[comment].part[value].value[x] insert obligationServer (0, SHALL:process) +* parameter[comment].part[value].value[x] insert obligationApp (1, SHALL:populate-if-known) +* parameter[comment].part[value].value[x] only markdown +* parameter[comment].part[pathLabel] MS +* parameter[comment].part[pathLabel] insert obligationServer (0, SHALL:process) +* parameter[comment].part[pathLabel] insert obligationApp (1, SHALL:populate) +* parameter[comment].part[pathLabel] ^short = "Human readable representation of the path. Typically this is the relevant item text from the Questionnaire." +* parameter[comment].part[pathLabel].name 1..1 MS +* parameter[comment].part[pathLabel].name insert obligationApp (0, SHALL:populate) +* parameter[comment].part[pathLabel].name = "pathLabel" (exactly) +* parameter[comment].part[pathLabel].value[x] 1..1 MS +* parameter[comment].part[pathLabel].value[x] insert obligationApp (0, SHALL:populate) +* parameter[comment].part[pathLabel].value[x] only string +* parameter[comment].part[pathLabel].value[x] = "Comment" (exactly) + + +Profile: SmartHealthChecksMedicationStatementPatch +Parent: Parameters +Id: SHCMedicationStatementPatch +Title: "Smart Health Checks MedicationStatement Patch" +Description: "This profile sets the expectations for a Parameters resource when used to patch MedicationStatement resources within Smart Health Checks." + +* parameter 1.. +* parameter ^slicing.discriminator.type = #value +* parameter ^slicing.discriminator.path = "part" +* parameter ^slicing.ordered = false +* parameter ^slicing.rules = #open +* parameter contains + status 0..1 and + comment 0..1 and + dosage 0..1 +* parameter[status] MS +* parameter[status] insert obligationServer (0, SHALL:process) +* parameter[status] insert obligationApp (1, SHALL:populate) +* parameter[status].name ^short = "Parameters for status patching" +* parameter[status].name 1.. MS +* parameter[status].name insert obligationServer (0, SHALL:process) +* parameter[status].name insert obligationApp (1, SHALL:populate) +* parameter[status].name = "operation" (exactly) +* parameter[status].part ^slicing.discriminator.type = #value +* parameter[status].part ^slicing.discriminator.path = "name" +* parameter[status].part ^slicing.ordered = false +* parameter[status].part ^slicing.rules = #open +* parameter[status].part contains + type 1..1 and + path 1..1 and + value 1..1 and + pathLabel 0..1 +* parameter[status].part[type] MS +* parameter[status].part[type] insert obligationServer (0, SHALL:process) +* parameter[status].part[type] insert obligationApp (1, SHALL:populate) +* parameter[status].part[type] ^short = "Patch operation to perform" +* parameter[status].part[type].name 1..1 MS +* parameter[status].part[type].name insert obligationServer (0, SHALL:process) +* parameter[status].part[type].name insert obligationApp (1, SHALL:populate) +* parameter[status].part[type].name = "type" (exactly) +* parameter[status].part[type].value[x] 1..1 MS +* parameter[status].part[type].value[x] insert obligationServer (0, SHALL:process) +* parameter[status].part[type].value[x] insert obligationApp (1, SHALL:populate) +* parameter[status].part[type].value[x] only code +* parameter[status].part[type].value[x] = #replace (exactly) +* parameter[status].part[path] MS +* parameter[status].part[path] insert obligationServer (0, SHALL:process) +* parameter[status].part[path] insert obligationApp (1, SHALL:populate) +* parameter[status].part[path] ^short = "Where to perform the operation" +* parameter[status].part[path].name 1..1 MS +* parameter[status].part[path].name insert obligationServer (0, SHALL:process) +* parameter[status].part[path].name insert obligationApp (1, SHALL:populate) +* parameter[status].part[path].name = "path" (exactly) +* parameter[status].part[path].value[x] 1..1 MS +* parameter[status].part[path].value[x] insert obligationServer (0, SHALL:process) +* parameter[status].part[path].value[x] insert obligationApp (1, SHALL:populate) +* parameter[status].part[path].value[x] only string +* parameter[status].part[path].value[x] = "MedicationStatement.status" (exactly) +* parameter[status].part[value] MS +* parameter[status].part[value] insert obligationServer (0, SHALL:process) +* parameter[status].part[value] insert obligationApp (1, SHALL:populate) +* parameter[status].part[value] ^short = "Replacement value" +* parameter[status].part[value].name 1..1 MS +* parameter[status].part[value].name insert obligationServer (0, SHALL:process) +* parameter[status].part[value].name insert obligationApp (1, SHALL:populate) +* parameter[status].part[value].name = "value" (exactly) +* parameter[status].part[value].value[x] 1..1 MS +* parameter[status].part[value].value[x] insert obligationServer (0, SHALL:process) +* parameter[status].part[value].value[x] insert obligationApp (1, SHALL:populate-if-known) +* parameter[status].part[value].value[x] only CodeableConcept +* parameter[status].part[value].value[x] from MedicationStatementStatusLimited (required) +* parameter[status].part[value].value[x].coding 1..1 MS +* parameter[status].part[value].value[x].coding insert obligationServer (0, SHALL:process) +* parameter[status].part[value].value[x].coding insert obligationApp (1, SHALL:populate-if-known) +* parameter[status].part[pathLabel] MS +* parameter[status].part[pathLabel] insert obligationServer (0, SHALL:process) +* parameter[status].part[pathLabel] insert obligationApp (1, SHALL:populate) +* parameter[status].part[pathLabel] ^short = "Human readable representation of the path. Typically this is the relevant item text from the Questionnaire." +* parameter[status].part[pathLabel].name 1..1 MS +* parameter[status].part[pathLabel].name insert obligationApp (0, SHALL:populate) +* parameter[status].part[pathLabel].name = "pathLabel" (exactly) +* parameter[status].part[pathLabel].value[x] 1..1 MS +* parameter[status].part[pathLabel].value[x] insert obligationApp (0, SHALL:populate) +* parameter[status].part[pathLabel].value[x] only string +* parameter[status].part[pathLabel].value[x] = "Status" (exactly) +* parameter[comment] MS +* parameter[comment] insert obligationServer (0, SHALL:process) +* parameter[comment] insert obligationApp (1, SHALL:populate) +* parameter[comment].name ^short = "Parameters for note.text patching" +* parameter[comment].name 1.. MS +* parameter[comment].name insert obligationServer (0, SHALL:process) +* parameter[comment].name insert obligationApp (1, SHALL:populate) +* parameter[comment].name = "operation" (exactly) +* parameter[comment].part ^slicing.discriminator.type = #value +* parameter[comment].part ^slicing.discriminator.path = "name" +* parameter[comment].part ^slicing.ordered = false +* parameter[comment].part ^slicing.rules = #open +* parameter[comment].part contains + type 1..1 and + path 1..1 and + value 1..1 and + pathLabel 0..1 +* parameter[comment].part[type] MS +* parameter[comment].part[type] insert obligationServer (0, SHALL:process) +* parameter[comment].part[type] insert obligationApp (1, SHALL:populate) +* parameter[comment].part[type] ^short = "Patch operation to perform" +* parameter[comment].part[type].name 1..1 MS +* parameter[comment].part[type].name insert obligationServer (0, SHALL:process) +* parameter[comment].part[type].name insert obligationApp (1, SHALL:populate) +* parameter[comment].part[type].name = "type" (exactly) +* parameter[comment].part[type].value[x] 1..1 MS +* parameter[comment].part[type].value[x] insert obligationServer (0, SHALL:process) +* parameter[comment].part[type].value[x] insert obligationApp (1, SHALL:populate) +* parameter[comment].part[type].value[x] only code +* parameter[comment].part[type].value[x] = #replace (exactly) +* parameter[comment].part[path] MS +* parameter[comment].part[path] insert obligationServer (0, SHALL:process) +* parameter[comment].part[path] insert obligationApp (1, SHALL:populate) +* parameter[comment].part[path] ^short = "Where to perform the operation" +* parameter[comment].part[path].name 1..1 MS +* parameter[comment].part[path].name insert obligationServer (0, SHALL:process) +* parameter[comment].part[path].name insert obligationApp (1, SHALL:populate) +* parameter[comment].part[path].name = "path" (exactly) +* parameter[comment].part[path].value[x] 1..1 MS +* parameter[comment].part[path].value[x] insert obligationServer (0, SHALL:process) +* parameter[comment].part[path].value[x] insert obligationApp (1, SHALL:populate) +* parameter[comment].part[path].value[x] only string +* parameter[comment].part[path].value[x] = "MedicationStatement.note[0].text" (exactly) +* parameter[comment].part[value] MS +* parameter[comment].part[value] insert obligationServer (0, SHALL:process) +* parameter[comment].part[value] insert obligationApp (1, SHALL:populate) +* parameter[comment].part[value] ^short = "Replacement value" +* parameter[comment].part[value].name 1..1 MS +* parameter[comment].part[value].name insert obligationServer (0, SHALL:process) +* parameter[comment].part[value].name insert obligationApp (1, SHALL:populate) +* parameter[comment].part[value].name = "value" (exactly) +* parameter[comment].part[value].value[x] 1..1 MS +* parameter[comment].part[value].value[x] insert obligationServer (0, SHALL:process) +* parameter[comment].part[value].value[x] insert obligationApp (1, SHALL:populate-if-known) +* parameter[comment].part[value].value[x] only markdown +* parameter[comment].part[pathLabel] MS +* parameter[comment].part[pathLabel] insert obligationServer (0, SHALL:process) +* parameter[comment].part[pathLabel] insert obligationApp (1, SHALL:populate) +* parameter[comment].part[pathLabel] ^short = "Human readable representation of the path. Typically this is the relevant item text from the Questionnaire." +* parameter[comment].part[pathLabel].name 1..1 MS +* parameter[comment].part[pathLabel].name insert obligationApp (0, SHALL:populate) +* parameter[comment].part[pathLabel].name = "pathLabel" (exactly) +* parameter[comment].part[pathLabel].value[x] 1..1 MS +* parameter[comment].part[pathLabel].value[x] insert obligationApp (0, SHALL:populate) +* parameter[comment].part[pathLabel].value[x] only string +* parameter[comment].part[pathLabel].value[x] = "Comment" (exactly) +* parameter[dosage] MS +* parameter[dosage] insert obligationServer (0, SHALL:process) +* parameter[dosage] insert obligationApp (1, SHALL:populate) +* parameter[dosage].name ^short = "Parameters for dosage.text patching" +* parameter[dosage].name 1.. MS +* parameter[dosage].name insert obligationServer (0, SHALL:process) +* parameter[dosage].name insert obligationApp (1, SHALL:populate) +* parameter[dosage].name = "operation" (exactly) +* parameter[dosage].part ^slicing.discriminator.type = #value +* parameter[dosage].part ^slicing.discriminator.path = "name" +* parameter[dosage].part ^slicing.ordered = false +* parameter[dosage].part ^slicing.rules = #open +* parameter[dosage].part contains + type 1..1 and + path 1..1 and + value 1..1 and + pathLabel 0..1 +* parameter[dosage].part[type] MS +* parameter[dosage].part[type] insert obligationServer (0, SHALL:process) +* parameter[dosage].part[type] insert obligationApp (1, SHALL:populate) +* parameter[dosage].part[type] ^short = "Patch operation to perform" +* parameter[dosage].part[type].name 1..1 MS +* parameter[dosage].part[type].name insert obligationServer (0, SHALL:process) +* parameter[dosage].part[type].name insert obligationApp (1, SHALL:populate) +* parameter[dosage].part[type].name = "type" (exactly) +* parameter[dosage].part[type].value[x] 1..1 MS +* parameter[dosage].part[type].value[x] insert obligationServer (0, SHALL:process) +* parameter[dosage].part[type].value[x] insert obligationApp (1, SHALL:populate) +* parameter[dosage].part[type].value[x] only code +* parameter[dosage].part[type].value[x] = #replace (exactly) +* parameter[dosage].part[path] MS +* parameter[dosage].part[path] insert obligationServer (0, SHALL:process) +* parameter[dosage].part[path] insert obligationApp (1, SHALL:populate) +* parameter[dosage].part[path] ^short = "Where to perform the operation" +* parameter[dosage].part[path].name 1..1 MS +* parameter[dosage].part[path].name insert obligationServer (0, SHALL:process) +* parameter[dosage].part[path].name insert obligationApp (1, SHALL:populate) +* parameter[dosage].part[path].name = "path" (exactly) +* parameter[dosage].part[path].value[x] 1..1 MS +* parameter[dosage].part[path].value[x] insert obligationServer (0, SHALL:process) +* parameter[dosage].part[path].value[x] insert obligationApp (1, SHALL:populate) +* parameter[dosage].part[path].value[x] only string +* parameter[dosage].part[path].value[x] = "MedicationStatement.dosage[0].text" (exactly) +* parameter[dosage].part[value] MS +* parameter[dosage].part[value] insert obligationServer (0, SHALL:process) +* parameter[dosage].part[value] insert obligationApp (1, SHALL:populate) +* parameter[dosage].part[value] ^short = "Replacement value" +* parameter[dosage].part[value].name 1..1 MS +* parameter[dosage].part[value].name insert obligationServer (0, SHALL:process) +* parameter[dosage].part[value].name insert obligationApp (1, SHALL:populate) +* parameter[dosage].part[value].name = "value" (exactly) +* parameter[dosage].part[value].value[x] 1..1 MS +* parameter[dosage].part[value].value[x] insert obligationServer (0, SHALL:process) +* parameter[dosage].part[value].value[x] insert obligationApp (1, SHALL:populate-if-known) +* parameter[dosage].part[value].value[x] only string +* parameter[dosage].part[pathLabel] MS +* parameter[dosage].part[pathLabel] insert obligationServer (0, SHALL:process) +* parameter[dosage].part[pathLabel] insert obligationApp (1, SHALL:populate) +* parameter[dosage].part[pathLabel] ^short = "Human readable representation of the path. Typically this is the relevant item text from the Questionnaire." +* parameter[dosage].part[pathLabel].name 1..1 MS +* parameter[dosage].part[pathLabel].name insert obligationApp (0, SHALL:populate) +* parameter[dosage].part[pathLabel].name = "pathLabel" (exactly) +* parameter[dosage].part[pathLabel].value[x] 1..1 MS +* parameter[dosage].part[pathLabel].value[x] insert obligationApp (0, SHALL:populate) +* parameter[dosage].part[pathLabel].value[x] only string +* parameter[dosage].part[pathLabel].value[x] = "Dosage" (exactly) + +Profile: SmartHealthChecksExtractBundle +Parent: Bundle +Id: SHCExtractBundle +Title: "Smart Health Checks Extract Bundle" +Description: "This profile sets the expectations for a Bundle resource when used to represent a transaction bundle of resources extracted by the SHC App following the completion of a Smart Health Checks Questionnaire. This bundle is used to write patient information to the SHC Host FHIR server." + +* type MS +* type insert obligationServer (0, SHALL:process) +* type insert obligationApp (1, SHALL:populate) +* type = #transaction (exactly) +* timestamp 1.. MS +* timestamp insert obligationServer (0, SHALL:process) +* timestamp insert obligationApp (1, SHALL:populate) +* entry 1.. +* entry ^slicing.discriminator.type = #value +* entry ^slicing.discriminator.path = "request.method" +* entry ^slicing.ordered = false +* entry ^slicing.rules = #open +* entry contains + post 0..* and + patch 0..* +* entry[post] MS +* entry[post] insert obligationServer (0, SHALL:process) +* entry[post] insert obligationApp (1, SHALL:populate) +* entry[post] ^short = "Entries for creating new resources" +* entry[post].fullUrl 1.. MS +* entry[post].fullUrl insert obligationServer (0, SHALL:process) +* entry[post].fullUrl insert obligationApp (1, SHALL:populate) +* entry[post].resource 1.. MS +* entry[post].resource insert obligationServer (0, SHALL:persist) +* entry[post].resource insert obligationApp (1, SHALL:populate) +* entry[post].resource only + SHCAllergyIntolerance or + SHCCondition or + SHCImmunization or + SHCMedicationStatement or + SHCBloodPressure or + SHCBodyHeight or + SHCBodyWeight or + SHCHeartRate or + SHCHeartRhythm or + SHCSmokingStatus or + SHCWaistCircumference or + SHCHeadCircumference +* entry[post].request 1.. MS +* entry[post].request insert obligationServer (0, SHALL:process) +* entry[post].request insert obligationApp (1, SHALL:populate) +* entry[post].request.method MS +* entry[post].request.method insert obligationServer (0, SHALL:process) +* entry[post].request.method insert obligationApp (1, SHALL:populate) +* entry[post].request.method = #POST (exactly) +* entry[post].request.url MS +* entry[post].request.url insert obligationServer (0, SHALL:process) +* entry[post].request.url insert obligationApp (1, SHALL:populate) +* entry[patch] MS +* entry[patch] insert obligationServer (0, SHALL:process) +* entry[patch] insert obligationApp (1, SHALL:populate) +* entry[patch] ^short = "Entries for patching existing resources" +* entry[patch].fullUrl 1.. MS +* entry[patch].fullUrl insert obligationServer (0, SHALL:process) +* entry[patch].fullUrl insert obligationApp (1, SHALL:populate) +* entry[patch].resource 1.. MS +* entry[patch].resource insert obligationServer (0, SHALL:process) +* entry[patch].resource insert obligationApp (1, SHALL:populate) +* entry[patch].resource only + SHCAllergyIntolerancePatch or + SHCConditionPatch or + SHCMedicationStatementPatch +* entry[patch].request 1.. MS +* entry[patch].request insert obligationServer (0, SHALL:process) +* entry[patch].request insert obligationApp (1, SHALL:populate) +* entry[patch].request.method MS +* entry[patch].request.method insert obligationServer (0, SHALL:process) +* entry[patch].request.method insert obligationApp (1, SHALL:populate) +* entry[patch].request.method = #PATCH (exactly) +* entry[patch].request.url MS +* entry[patch].request.url insert obligationServer (0, SHALL:process) +* entry[patch].request.url insert obligationApp (1, SHALL:populate) + + + + diff --git a/input/fsh/terminology.fsh b/input/fsh/terminology.fsh index 1f3f5e9a..9d69a968 100644 --- a/input/fsh/terminology.fsh +++ b/input/fsh/terminology.fsh @@ -799,3 +799,62 @@ Description: "The Heart Rhythm value set includes values that may be used to rep * $SCT#933506231000036108 "Regular heart rhythm" * $SCT#361137007 "Irregular heart rhythm" +ValueSet: AllergyIntoleranceClinicalStatusMinimal +Id: AllergyIntoleranceClinicalStatusMinimal +Title: "Allergy Intolerance Clinical Status Minimal" +Description: "This value set includes the minimal set of codes to represent the clinical status of an allergy intolerance (i.e., active and inactive)." +* ^experimental = false +* ^expansion.identifier = "urn:uuid:40f0c59e-9fa5-4322-bc1d-5fde644a076c" +* ^expansion.timestamp = "2025-08-25T15:52:50+10:00" +* ^expansion.total = 2 +* ^expansion.offset = 0 +* ^expansion.parameter[0].name = "count" +* ^expansion.parameter[=].valueInteger = 1000 +* ^expansion.parameter[+].name = "offset" +* ^expansion.parameter[=].valueInteger = 0 +* ^expansion.parameter[+].name = "excludeNested" +* ^expansion.parameter[=].valueBoolean = false +* ^expansion.parameter[+].name = "used-codesystem" +* ^expansion.parameter[=].valueUri = "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical|1.0.0" +* ^expansion.contains[0].system = "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical" +* ^expansion.contains[=].code = #active +* ^expansion.contains[=].display = "Active" +* ^expansion.contains[+].system = "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical" +* ^expansion.contains[=].code = #inactive +* ^expansion.contains[=].display = "Inactive" +* http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical#active +* http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical#inactive + +ValueSet: MedicationStatementStatusLimited +Id: MedicationStatementStatusLimited +Title: "Medication Statement Status Limited" +Description: "This value set includes the minimal set of codes to represent the status of a medication statement (i.e., active, completed, stopped and on-hold)." +* ^experimental = false +* ^expansion.identifier = "urn:uuid:59fe5ac1-65bf-4606-8c2a-0a55fba1d064" +* ^expansion.timestamp = "2025-08-25T15:53:32+10:00" +* ^expansion.total = 4 +* ^expansion.offset = 0 +* ^expansion.parameter[0].name = "count" +* ^expansion.parameter[=].valueInteger = 1000 +* ^expansion.parameter[+].name = "offset" +* ^expansion.parameter[=].valueInteger = 0 +* ^expansion.parameter[+].name = "excludeNested" +* ^expansion.parameter[=].valueBoolean = false +* ^expansion.parameter[+].name = "used-codesystem" +* ^expansion.parameter[=].valueUri = "http://hl7.org/fhir/CodeSystem/medication-statement-status|4.0.1" +* ^expansion.contains[0].system = "http://hl7.org/fhir/CodeSystem/medication-statement-status" +* ^expansion.contains[=].code = #active +* ^expansion.contains[=].display = "Active" +* ^expansion.contains[+].system = "http://hl7.org/fhir/CodeSystem/medication-statement-status" +* ^expansion.contains[=].code = #completed +* ^expansion.contains[=].display = "Completed" +* ^expansion.contains[+].system = "http://hl7.org/fhir/CodeSystem/medication-statement-status" +* ^expansion.contains[=].code = #stopped +* ^expansion.contains[=].display = "Stopped" +* ^expansion.contains[+].system = "http://hl7.org/fhir/CodeSystem/medication-statement-status" +* ^expansion.contains[=].code = #on-hold +* ^expansion.contains[=].display = "On Hold" +* http://hl7.org/fhir/CodeSystem/medication-statement-status#active +* http://hl7.org/fhir/CodeSystem/medication-statement-status#completed +* http://hl7.org/fhir/CodeSystem/medication-statement-status#stopped +* http://hl7.org/fhir/CodeSystem/medication-statement-status#on-hold \ No newline at end of file From 16c316f4449aaeff37621bfa4673cec4cccd675f Mon Sep 17 00:00:00 2001 From: liambarnes Date: Mon, 25 Aug 2025 16:42:51 +1000 Subject: [PATCH 170/177] SHC App CapabilityStatement: Add patch and bundle profiles and fix description/documentation --- ...tyStatement-SHCAppCapabilityStatement.json | 46 ++++++++++++++++++- ...ntationGuide-csiro.fhir.au.smartforms.json | 2 +- input/fsh/capability.fsh | 22 ++++++++- 3 files changed, 65 insertions(+), 5 deletions(-) diff --git a/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json b/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json index fbef48c8..bd51679d 100644 --- a/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json +++ b/fsh-generated/resources/CapabilityStatement-SHCAppCapabilityStatement.json @@ -4,7 +4,7 @@ "url": "https://smartforms.csiro.au/ig/CapabilityStatement/SHCAppCapabilityStatement", "name": "SHCApp", "title": "SHC App", - "description": "This CapabilityStatement describes the capabilities of the SHC App. These capabilities include supported FHIR profiles, RESTful operations, and search parameters. It covers supported tasks such as SMART App launch context, prepopulation, write-back and completion of forms.", + "description": "This CapabilityStatement describes the capabilities of the SHC App. These capabilities include supported FHIR profiles, RESTful operations, and search parameters. It covers supported tasks such as SMART App launch context, prepopulation, write-back of extracted resources and completion of forms.", "status": "draft", "experimental": false, "date": "2025-04-16", @@ -30,7 +30,7 @@ "rest": [ { "mode": "client", - "documentation": "The Smart Forms Application performs interactions to support SMART App Launch, form prepopulation and form filling. The interactions performed for prepopulation are not listed here as they can vary greatly and are defined in the Questionnaire instance.", + "documentation": "The SHC App performs interactions to support SMART App Launch, form prepopulation, write-back of extracted resources and form filling.", "security": { "cors": true, "service": [ @@ -83,6 +83,13 @@ } ] }, + { + "type": "Bundle", + "supportedProfile": [ + "https://smartforms.csiro.au/ig/StructureDefinition/SHCExtractBundle" + ], + "documentation": "The client supports the Bundle resource, the Smart Health Checks profile listed and the conformance expectations for the Bundle resource." + }, { "extension": [ { @@ -337,6 +344,41 @@ } ] }, + { + "type": "Parameters", + "supportedProfile": [ + "https://smartforms.csiro.au/ig/StructureDefinition/SHCAllergyIntolerancePatch", + "https://smartforms.csiro.au/ig/StructureDefinition/SHCConditionPatch", + "https://smartforms.csiro.au/ig/StructureDefinition/SHCMedicationStatementPatch" + ], + "_supportedProfile": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + } + ], + "documentation": "The client supports the Parameters resource, the Smart Health Checks profiles listed and the conformance expectations for the Parameters resource." + }, { "type": "Patient", "supportedProfile": [ diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index 01005acd..e91086d2 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -531,7 +531,7 @@ "reference": "CapabilityStatement/SHCAppCapabilityStatement" }, "name": "SHC App", - "description": "This CapabilityStatement describes the capabilities of the SHC App. These capabilities include supported FHIR profiles, RESTful operations, and search parameters. It covers supported tasks such as SMART App launch context, prepopulation, write-back and completion of forms.", + "description": "This CapabilityStatement describes the capabilities of the SHC App. These capabilities include supported FHIR profiles, RESTful operations, and search parameters. It covers supported tasks such as SMART App launch context, prepopulation, write-back of extracted resources and completion of forms.", "exampleBoolean": false }, { diff --git a/input/fsh/capability.fsh b/input/fsh/capability.fsh index 7c0c6429..0a8d7e7f 100644 --- a/input/fsh/capability.fsh +++ b/input/fsh/capability.fsh @@ -546,7 +546,7 @@ InstanceOf: CapabilityStatement Usage: #definition * name = "SHCApp" * title = "SHC App" -* description = "This CapabilityStatement describes the capabilities of the SHC App. These capabilities include supported FHIR profiles, RESTful operations, and search parameters. It covers supported tasks such as SMART App launch context, prepopulation, write-back and completion of forms." +* description = "This CapabilityStatement describes the capabilities of the SHC App. These capabilities include supported FHIR profiles, RESTful operations, and search parameters. It covers supported tasks such as SMART App launch context, prepopulation, write-back of extracted resources and completion of forms." * status = #draft * experimental = false * date = "2025-04-16" @@ -561,7 +561,7 @@ Usage: #definition * implementationGuide[+] = "http://hl7.org/fhir/smart-app-launch/ImplementationGuide/hl7.fhir.uv.smart-app-launch|2.2.0" * rest.mode = #client -* rest.documentation = "The Smart Forms Application performs interactions to support SMART App Launch, form prepopulation and form filling. The interactions performed for prepopulation are not listed here as they can vary greatly and are defined in the Questionnaire instance." +* rest.documentation = "The SHC App performs interactions to support SMART App Launch, form prepopulation, write-back of extracted resources and form filling." * rest.security.cors = true * rest.security.service = http://terminology.hl7.org/CodeSystem/restful-security-service#SMART-on-FHIR * rest.security.description = "SMART App Launch supported to allow secure data exchange." @@ -583,6 +583,11 @@ Usage: #definition The server **SHALL** support both." +//Bundle +* rest.resource[+].type = #Bundle +* rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCExtractBundle" +* rest.resource[=].documentation = "The client supports the Bundle resource, the Smart Health Checks profile listed and the conformance expectations for the Bundle resource." + //Condition * rest.resource[+].extension[+].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-search-parameter-combination" * rest.resource[=].extension[=].extension[+].url = "required" @@ -734,6 +739,19 @@ The server **SHALL** support both." * rest.resource[=].searchParam[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL +//Parameters +* rest.resource[+].type = #Parameters +* rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCAllergyIntolerancePatch" +* rest.resource[=].supportedProfile[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].supportedProfile[=].extension[0].valueCode = #SHALL +* rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCConditionPatch" +* rest.resource[=].supportedProfile[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].supportedProfile[=].extension[0].valueCode = #SHALL +* rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCMedicationStatementPatch" +* rest.resource[=].supportedProfile[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].supportedProfile[=].extension[0].valueCode = #SHALL +* rest.resource[=].documentation = "The client supports the Parameters resource, the Smart Health Checks profiles listed and the conformance expectations for the Parameters resource." + //Patient * rest.resource[+].type = #Patient * rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCPatient" From 6fe4f40fab1d6251573496eff8717e44ca7537aa Mon Sep 17 00:00:00 2001 From: liambarnes Date: Mon, 25 Aug 2025 17:33:03 +1000 Subject: [PATCH 171/177] Rejig CapabilityStatements to use supportedProfile instead of profile where appropriate. Fix capability statement expectation path on interaction. --- ...-SHCHostFHIRServerCapabilityStatement.json | 212 ++++++++++-------- input/fsh/capability.fsh | 58 ++--- 2 files changed, 152 insertions(+), 118 deletions(-) diff --git a/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json b/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json index 945df272..70528a6e 100644 --- a/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json +++ b/fsh-generated/resources/CapabilityStatement-SHCHostFHIRServerCapabilityStatement.json @@ -110,15 +110,19 @@ } ], "type": "AllergyIntolerance", - "profile": "https://smartforms.csiro.au/ig/StructureDefinition/SHCAllergyIntolerance", - "_profile": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, + "supportedProfile": [ + "https://smartforms.csiro.au/ig/StructureDefinition/SHCAllergyIntolerance" + ], + "_supportedProfile": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + } + ], "documentation": "The server **SHALL** support the AllergyIntolerance resource, the Smart Health Checks profile and the conformance expectations for the AllergyIntolerance resource.", "interaction": [ { @@ -212,15 +216,19 @@ } ], "type": "Condition", - "profile": "https://smartforms.csiro.au/ig/StructureDefinition/SHCCondition", - "_profile": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, + "supportedProfile": [ + "https://smartforms.csiro.au/ig/StructureDefinition/SHCCondition" + ], + "_supportedProfile": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + } + ], "documentation": "The server **SHALL** support the Condition resource, the Smart Health Checks profile and the conformance expectations for the Condition resource.", "interaction": [ { @@ -286,15 +294,19 @@ } ], "type": "Encounter", - "profile": "https://smartforms.csiro.au/ig/StructureDefinition/SHCEncounter", - "_profile": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, + "supportedProfile": [ + "https://smartforms.csiro.au/ig/StructureDefinition/SHCEncounter" + ], + "_supportedProfile": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + } + ], "documentation": "The server **SHALL** support the Encounter resource, Smart Health Checks profile and the conformance expectations for the Encounter resource.", "interaction": [ { @@ -333,15 +345,19 @@ } ], "type": "Immunization", - "profile": "https://smartforms.csiro.au/ig/StructureDefinition/SHCImmunization", - "_profile": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, + "supportedProfile": [ + "https://smartforms.csiro.au/ig/StructureDefinition/SHCImmunization" + ], + "_supportedProfile": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + } + ], "documentation": "The server **SHALL** support the Immunization resource, the Smart Health Checks profile and the conformance expectations for the Immunization resource.", "interaction": [ { @@ -398,15 +414,19 @@ } ], "type": "Medication", - "profile": "https://smartforms.csiro.au/ig/StructureDefinition/SHCMedication", - "_profile": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, + "supportedProfile": [ + "https://smartforms.csiro.au/ig/StructureDefinition/SHCMedication" + ], + "_supportedProfile": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + } + ], "documentation": "If an external reference to a Medication resource is used in MedicationStatement, then the server **SHALL** support the Medication resource, the Smart Health Checks profile and the conformance expectations for the Medication resource.", "interaction": [ { @@ -466,15 +486,19 @@ } ], "type": "MedicationStatement", - "profile": "https://smartforms.csiro.au/ig/StructureDefinition/SHCMedicationStatement", - "_profile": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, + "supportedProfile": [ + "https://smartforms.csiro.au/ig/StructureDefinition/SHCMedicationStatement" + ], + "_supportedProfile": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + } + ], "documentation": "The server **SHALL** support the MedicationStatement resource, the Smart Health Checks profile and the conformance expectations for the MedicationStatement resource.\r\n\r\nIf a medication in a MedicationStatement resource is represented as an external Medication resource reference, the server **SHALL** support the `_include` parameter for searching this element (`MedicationStatement:medication`)\r\n", "interaction": [ { @@ -768,15 +792,19 @@ } ], "type": "Patient", - "profile": "https://smartforms.csiro.au/ig/StructureDefinition/SHCPatient", - "_profile": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, + "supportedProfile": [ + "https://smartforms.csiro.au/ig/StructureDefinition/SHCPatient" + ], + "_supportedProfile": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + } + ], "documentation": "The server **SHALL** support the Patient resource, Smart Health Checks profile and the conformance expectations for the Patient resource.", "interaction": [ { @@ -807,15 +835,19 @@ } ], "type": "Practitioner", - "profile": "https://smartforms.csiro.au/ig/StructureDefinition/SHCPractitioner", - "_profile": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, + "supportedProfile": [ + "https://smartforms.csiro.au/ig/StructureDefinition/SHCPractitioner" + ], + "_supportedProfile": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + } + ], "documentation": "The server **SHALL** support the Practitioner resource, Smart Health Checks profile and the conformance expectations for the Practitioner resource.", "interaction": [ { @@ -908,15 +940,19 @@ } ], "type": "QuestionnaireResponse", - "profile": "https://smartforms.csiro.au/ig/StructureDefinition/SHCQuestionnaireResponse", - "_profile": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, + "supportedProfile": [ + "https://smartforms.csiro.au/ig/StructureDefinition/SHCQuestionnaireResponse" + ], + "_supportedProfile": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ] + } + ], "documentation": "The server **SHALL** support the QuestionnaireResponse resource, Smart Health Checks profile and the conformance expectations for the QuestionnaireResponse resource.", "interaction": [ { @@ -1030,14 +1066,12 @@ "interaction": [ { "code": "transaction", - "_code": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", - "valueCode": "SHALL" - } - ] - }, + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", + "valueCode": "SHALL" + } + ], "documentation": "The server **SHALL** support the transaction interaction for all resources." } ] diff --git a/input/fsh/capability.fsh b/input/fsh/capability.fsh index 0a8d7e7f..f997a037 100644 --- a/input/fsh/capability.fsh +++ b/input/fsh/capability.fsh @@ -60,9 +60,9 @@ Also see the [AU Core Security and Privacy](https://hl7.org.au/fhir/core/1.0.0/s * rest.resource[+].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].extension[0].valueCode = #SHALL * rest.resource[=].type = #AllergyIntolerance -* rest.resource[=].profile = "https://smartforms.csiro.au/ig/StructureDefinition/SHCAllergyIntolerance" -* rest.resource[=].profile.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].profile.extension[0].valueCode = #SHALL +* rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCAllergyIntolerance" +* rest.resource[=].supportedProfile[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].supportedProfile[=].extension[0].valueCode = #SHALL * rest.resource[=].documentation = "The server **SHALL** support the AllergyIntolerance resource, the Smart Health Checks profile and the conformance expectations for the AllergyIntolerance resource." * rest.resource[=].interaction[0].code = #search-type * rest.resource[=].interaction[0].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" @@ -102,9 +102,9 @@ The server **SHALL** support both." * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "category" * rest.resource[=].type = #Condition -* rest.resource[=].profile = "https://smartforms.csiro.au/ig/StructureDefinition/SHCCondition" -* rest.resource[=].profile.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].profile.extension[0].valueCode = #SHALL +* rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCCondition" +* rest.resource[=].supportedProfile[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].supportedProfile[=].extension[0].valueCode = #SHALL * rest.resource[=].documentation = "The server **SHALL** support the Condition resource, the Smart Health Checks profile and the conformance expectations for the Condition resource." * rest.resource[=].interaction[0].code = #search-type * rest.resource[=].interaction[0].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" @@ -136,9 +136,9 @@ The server **SHALL** support both." * rest.resource[+].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].extension[0].valueCode = #SHALL * rest.resource[=].type = #Encounter -* rest.resource[=].profile = "https://smartforms.csiro.au/ig/StructureDefinition/SHCEncounter" -* rest.resource[=].profile.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].profile.extension[0].valueCode = #SHALL +* rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCEncounter" +* rest.resource[=].supportedProfile[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].supportedProfile[=].extension[0].valueCode = #SHALL * rest.resource[=].documentation = "The server **SHALL** support the Encounter resource, Smart Health Checks profile and the conformance expectations for the Encounter resource." * rest.resource[=].interaction[0].code = #read * rest.resource[=].interaction[0].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" @@ -155,9 +155,9 @@ The server **SHALL** support both." * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "status" * rest.resource[=].type = #Immunization -* rest.resource[=].profile = "https://smartforms.csiro.au/ig/StructureDefinition/SHCImmunization" -* rest.resource[=].profile.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].profile.extension[0].valueCode = #SHALL +* rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCImmunization" +* rest.resource[=].supportedProfile[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].supportedProfile[=].extension[0].valueCode = #SHALL * rest.resource[=].documentation = "The server **SHALL** support the Immunization resource, the Smart Health Checks profile and the conformance expectations for the Immunization resource." * rest.resource[=].interaction[0].code = #search-type * rest.resource[=].interaction[0].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" @@ -186,9 +186,9 @@ The server **SHALL** support both." * rest.resource[+].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].extension[0].valueCode = #MAY * rest.resource[=].type = #Medication -* rest.resource[=].profile = "https://smartforms.csiro.au/ig/StructureDefinition/SHCMedication" -* rest.resource[=].profile.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].profile.extension[0].valueCode = #SHALL +* rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCMedication" +* rest.resource[=].supportedProfile[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].supportedProfile[=].extension[0].valueCode = #SHALL * rest.resource[=].documentation = "If an external reference to a Medication resource is used in MedicationStatement, then the server **SHALL** support the Medication resource, the Smart Health Checks profile and the conformance expectations for the Medication resource." * rest.resource[=].interaction[0].code = #read * rest.resource[=].interaction[0].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" @@ -214,9 +214,9 @@ The server **SHALL** support both." * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "_include" * rest.resource[=].type = #MedicationStatement -* rest.resource[=].profile = "https://smartforms.csiro.au/ig/StructureDefinition/SHCMedicationStatement" -* rest.resource[=].profile.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].profile.extension[0].valueCode = #SHALL +* rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCMedicationStatement" +* rest.resource[=].supportedProfile[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].supportedProfile[=].extension[0].valueCode = #SHALL * rest.resource[=].documentation = "The server **SHALL** support the MedicationStatement resource, the Smart Health Checks profile and the conformance expectations for the MedicationStatement resource. If a medication in a MedicationStatement resource is represented as an external Medication resource reference, the server **SHALL** support the `_include` parameter for searching this element (`MedicationStatement:medication`) @@ -355,9 +355,9 @@ The server **SHALL** support both." * rest.resource[+].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].extension[0].valueCode = #SHALL * rest.resource[=].type = #Patient -* rest.resource[=].profile = "https://smartforms.csiro.au/ig/StructureDefinition/SHCPatient" -* rest.resource[=].profile.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].profile.extension[0].valueCode = #SHALL +* rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCPatient" +* rest.resource[=].supportedProfile[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].supportedProfile[=].extension[0].valueCode = #SHALL * rest.resource[=].documentation = "The server **SHALL** support the Patient resource, Smart Health Checks profile and the conformance expectations for the Patient resource." * rest.resource[=].interaction[0].code = #read * rest.resource[=].interaction[0].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" @@ -370,9 +370,9 @@ The server **SHALL** support both." * rest.resource[+].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" * rest.resource[=].extension[0].valueCode = #SHALL * rest.resource[=].type = #Practitioner -* rest.resource[=].profile = "https://smartforms.csiro.au/ig/StructureDefinition/SHCPractitioner" -* rest.resource[=].profile.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].profile.extension[0].valueCode = #SHALL +* rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCPractitioner" +* rest.resource[=].supportedProfile[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].supportedProfile[=].extension[0].valueCode = #SHALL * rest.resource[=].documentation = "The server **SHALL** support the Practitioner resource, Smart Health Checks profile and the conformance expectations for the Practitioner resource." * rest.resource[=].interaction[0].code = #read * rest.resource[=].interaction[0].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" @@ -413,9 +413,9 @@ The server **SHALL** support both." * rest.resource[=].extension[=].extension[+].url = "required" * rest.resource[=].extension[=].extension[=].valueString = "status" * rest.resource[=].type = #QuestionnaireResponse -* rest.resource[=].profile = "https://smartforms.csiro.au/ig/StructureDefinition/SHCQuestionnaireResponse" -* rest.resource[=].profile.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.resource[=].profile.extension[0].valueCode = #SHALL +* rest.resource[=].supportedProfile[+] = "https://smartforms.csiro.au/ig/StructureDefinition/SHCQuestionnaireResponse" +* rest.resource[=].supportedProfile[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.resource[=].supportedProfile[=].extension[0].valueCode = #SHALL * rest.resource[=].documentation = "The server **SHALL** support the QuestionnaireResponse resource, Smart Health Checks profile and the conformance expectations for the QuestionnaireResponse resource." * rest.resource[=].interaction[+].code = #read * rest.resource[=].interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" @@ -470,8 +470,8 @@ The server **SHALL** support both." * rest.resource[=].searchParam[=].extension[0].valueCode = #SHALL * rest.interaction[+].code = #transaction -* rest.interaction[=].code.extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" -* rest.interaction[=].code.extension[0].valueCode = #SHALL +* rest.interaction[=].extension[0].url = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation" +* rest.interaction[=].extension[0].valueCode = #SHALL * rest.interaction[=].documentation = "The server **SHALL** support the transaction interaction for all resources." From 1c10686407b7ff125e3a87271dcb6aa003bdcf9d Mon Sep 17 00:00:00 2001 From: liambarnes Date: Tue, 26 Aug 2025 09:36:05 +1000 Subject: [PATCH 172/177] update ignorewarning comment --- input/ignoreWarnings.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/input/ignoreWarnings.txt b/input/ignoreWarnings.txt index e4abc7d6..c8244549 100644 --- a/input/ignoreWarnings.txt +++ b/input/ignoreWarnings.txt @@ -26,7 +26,8 @@ Reference to draft CodeSystem https://smartforms.csiro.au/ig/CodeSystem/Question The string value contains text that looks like embedded HTML tags. If this content is rendered to HTML without appropriate post-processing, it may be a security risk # Invalid errors - invariant bug -Constraint failed: que-7: 'If the operator is 'exists', the value must be a boolean' +# Boolean should be lower case +Constraint failed: que-7: 'If the operator is 'exists', the value must be a boolean (operator = 'exists' implies (answer is Boolean))' # HL7 core warnings WARNING: 1: The HTML fragment 'ip-statements.xhtml' is not included anywhere in the produced implementation guide From 7c39f24a7683504af28631101acb4059bee2c0c0 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Tue, 26 Aug 2025 09:46:53 +1000 Subject: [PATCH 173/177] Constrain QuestionnaireResponse.author to Practitioner --- .../StructureDefinition-SHCQuestionnaireResponse.json | 10 +++++++++- input/fsh/profiles.fsh | 1 + 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/fsh-generated/resources/StructureDefinition-SHCQuestionnaireResponse.json b/fsh-generated/resources/StructureDefinition-SHCQuestionnaireResponse.json index 18867e76..c3c532ef 100644 --- a/fsh-generated/resources/StructureDefinition-SHCQuestionnaireResponse.json +++ b/fsh-generated/resources/StructureDefinition-SHCQuestionnaireResponse.json @@ -379,7 +379,15 @@ } ], "path": "QuestionnaireResponse.author", - "min": 1 + "min": 1, + "type": [ + { + "code": "Reference", + "targetProfile": [ + "http://hl7.org/fhir/StructureDefinition/Practitioner" + ] + } + ] }, { "id": "QuestionnaireResponse.item", diff --git a/input/fsh/profiles.fsh b/input/fsh/profiles.fsh index 61ad188b..8513faa6 100644 --- a/input/fsh/profiles.fsh +++ b/input/fsh/profiles.fsh @@ -426,6 +426,7 @@ Description: "This profile sets the minimum expectations for a QuestionnaireResp * author 1.. MS * author insert obligation2Server (0, SHALL:populate, SHALL:persist) * author insert obligation2App (1, SHALL:populate, SHALL:process) +* author only Reference(Practitioner) * item MS * item insert obligation2Server (0, SHALL:populate-if-known, SHALL:persist) * item insert obligation2App (1, SHALL:populate-if-known, SHALL:process) From 80baaa854ca5557027c98b9584ce4962520ff630 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Tue, 26 Aug 2025 11:02:52 +1000 Subject: [PATCH 174/177] Remove "name" param part from patch templates --- .../Questionnaire-AllergiesAdverseReactions.json | 8 -------- ...uestionnaire-MedicalHistoryCurrentProblems.json | 8 -------- .../Questionnaire-RegularMedications.json | 12 ------------ input/fsh/extract-templates.fsh | 14 -------------- 4 files changed, 42 deletions(-) diff --git a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json index ad65667e..d287ce73 100644 --- a/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json +++ b/fsh-generated/resources/Questionnaire-AllergiesAdverseReactions.json @@ -485,10 +485,6 @@ "name": "path", "valueString": "AllergyIntolerance.clinicalStatus" }, - { - "name": "name", - "valueString": "clinicalStatus" - }, { "name": "value", "valueCodeableConcept": { @@ -521,10 +517,6 @@ "name": "path", "valueString": "AllergyIntolerance.note[0].text" }, - { - "name": "name", - "valueString": "text" - }, { "name": "value", "_valueMarkdown": { diff --git a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json index ec4c17e8..3225b290 100644 --- a/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json +++ b/fsh-generated/resources/Questionnaire-MedicalHistoryCurrentProblems.json @@ -708,10 +708,6 @@ "name": "path", "valueString": "Condition.clinicalStatus" }, - { - "name": "name", - "valueString": "clinicalStatus" - }, { "name": "value", "valueCodeableConcept": { @@ -744,10 +740,6 @@ "name": "path", "valueString": "Condition.abatement" }, - { - "name": "name", - "valueString": "abatement" - }, { "name": "value", "_valueDateTime": { diff --git a/fsh-generated/resources/Questionnaire-RegularMedications.json b/fsh-generated/resources/Questionnaire-RegularMedications.json index a9fe617c..50263670 100644 --- a/fsh-generated/resources/Questionnaire-RegularMedications.json +++ b/fsh-generated/resources/Questionnaire-RegularMedications.json @@ -772,10 +772,6 @@ "name": "path", "valueString": "MedicationStatement.status" }, - { - "name": "name", - "valueString": "status" - }, { "name": "value", "_valueCode": { @@ -804,10 +800,6 @@ "name": "path", "valueString": "MedicationStatement.note[0].text" }, - { - "name": "name", - "valueString": "text" - }, { "name": "value", "_valueMarkdown": { @@ -836,10 +828,6 @@ "name": "path", "valueString": "MedicationStatement.dosage[0].text" }, - { - "name": "name", - "valueString": "text" - }, { "name": "value", "_valueString": { diff --git a/input/fsh/extract-templates.fsh b/input/fsh/extract-templates.fsh index 6a2b18d3..28a69489 100644 --- a/input/fsh/extract-templates.fsh +++ b/input/fsh/extract-templates.fsh @@ -225,8 +225,6 @@ Usage: #inline * parameter[=].part[=].valueCode = #replace * parameter[=].part[+].name = "path" * parameter[=].part[=].valueString = "AllergyIntolerance.clinicalStatus" -* parameter[=].part[+].name = "name" -* parameter[=].part[=].valueString = "clinicalStatus" * parameter[=].part[+].name = "value" * parameter[=].part[=].valueCodeableConcept.coding.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * parameter[=].part[=].valueCodeableConcept.coding.extension[=].valueString = "item.where(linkId='allergysummary-status').answer.value.first()" @@ -237,8 +235,6 @@ Usage: #inline * parameter[=].part[=].valueCode = #replace * parameter[=].part[+].name = "path" * parameter[=].part[=].valueString = "AllergyIntolerance.note[0].text" -* parameter[=].part[+].name = "name" -* parameter[=].part[=].valueString = "text" * parameter[=].part[+].name = "value" * parameter[=].part[=].valueMarkdown.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * parameter[=].part[=].valueMarkdown.extension[=].valueString = "item.where(linkId='allergysummary-comment').answer.value.first()" @@ -290,8 +286,6 @@ Usage: #inline * parameter[=].part[=].valueCode = #replace * parameter[=].part[+].name = "path" * parameter[=].part[=].valueString = "Condition.clinicalStatus" -* parameter[=].part[+].name = "name" -* parameter[=].part[=].valueString = "clinicalStatus" * parameter[=].part[+].name = "value" * parameter[=].part[=].valueCodeableConcept.coding.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * parameter[=].part[=].valueCodeableConcept.coding.extension[=].valueString = "item.where(linkId='88bcfad7-386b-4d87-b34b-2e50482e4d2c').answer.value.first()" @@ -302,8 +296,6 @@ Usage: #inline * parameter[=].part[=].valueCode = #replace * parameter[=].part[+].name = "path" * parameter[=].part[=].valueString = "Condition.abatement" -* parameter[=].part[+].name = "name" -* parameter[=].part[=].valueString = "abatement" * parameter[=].part[+].name = "value" * parameter[=].part[=].valueDateTime.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * parameter[=].part[=].valueDateTime.extension[=].valueString = "item.where(linkId='e4524654-f6de-4717-b288-34919394d46b').answer.value.toDateTime()" @@ -348,8 +340,6 @@ Usage: #inline * parameter[=].part[=].valueCode = #replace * parameter[=].part[+].name = "path" * parameter[=].part[=].valueString = "MedicationStatement.status" -* parameter[=].part[+].name = "name" -* parameter[=].part[=].valueString = "status" * parameter[=].part[+].name = "value" * parameter[=].part[=].valueCode.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * parameter[=].part[=].valueCode.extension[=].valueString = "item.where(linkId='regularmedications-summary-current-status').answer.value.code" @@ -360,8 +350,6 @@ Usage: #inline * parameter[=].part[=].valueCode = #replace * parameter[=].part[+].name = "path" * parameter[=].part[=].valueString = "MedicationStatement.note[0].text" -* parameter[=].part[+].name = "name" -* parameter[=].part[=].valueString = "text" * parameter[=].part[+].name = "value" * parameter[=].part[=].valueMarkdown.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * parameter[=].part[=].valueMarkdown.extension[=].valueString = "item.where(linkId='regularmedications-summary-current-comment').answer.value.first()" @@ -372,8 +360,6 @@ Usage: #inline * parameter[=].part[=].valueCode = #replace * parameter[=].part[+].name = "path" * parameter[=].part[=].valueString = "MedicationStatement.dosage[0].text" -* parameter[=].part[+].name = "name" -* parameter[=].part[=].valueString = "text" * parameter[=].part[+].name = "value" * parameter[=].part[=].valueString.extension[+].url = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue" * parameter[=].part[=].valueString.extension[=].valueString = "item.where(linkId='regularmedications-summary-current-dosage').answer.value.first()" From 9f01cdddb61e28a262fb4b875f3dbac6888195d7 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Tue, 26 Aug 2025 12:10:19 +1000 Subject: [PATCH 175/177] Update assembled Questionnaire --- ...esStraitIslanderHealthCheck-assembled.json | 216 ++++++++++++------ 1 file changed, 141 insertions(+), 75 deletions(-) diff --git a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json index b5a3034b..d52a6e42 100644 --- a/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json +++ b/input/resources/Questionnaire-AboriginalTorresStraitIslanderHealthCheck-assembled.json @@ -1221,10 +1221,6 @@ "name": "path", "valueString": "Condition.clinicalStatus" }, - { - "name": "name", - "valueString": "clinicalStatus" - }, { "name": "value", "valueCodeableConcept": { @@ -1257,10 +1253,6 @@ "name": "path", "valueString": "Condition.abatement" }, - { - "name": "name", - "valueString": "abatement" - }, { "name": "value", "_valueDateTime": { @@ -1358,7 +1350,7 @@ { "resourceType": "MedicationStatement", "id": "MedicationStatementTemplate", - "status": "completed", + "status": "active", "medicationCodeableConcept": { "extension": [ { @@ -1485,10 +1477,6 @@ "name": "path", "valueString": "MedicationStatement.status" }, - { - "name": "name", - "valueString": "status" - }, { "name": "value", "_valueCode": { @@ -1517,10 +1505,6 @@ "name": "path", "valueString": "MedicationStatement.note[0].text" }, - { - "name": "name", - "valueString": "text" - }, { "name": "value", "_valueMarkdown": { @@ -1549,10 +1533,6 @@ "name": "path", "valueString": "MedicationStatement.dosage[0].text" }, - { - "name": "name", - "valueString": "text" - }, { "name": "value", "_valueString": { @@ -1572,6 +1552,83 @@ } ] }, + { + "resourceType": "ValueSet", + "id": "MedicationStatementStatusLimited", + "url": "https://smartforms.csiro.au/ig/ValueSet/MedicationStatementStatusLimited", + "name": "MedicationStatementStatusLimited", + "title": "Medication Statement Status Limited", + "status": "draft", + "experimental": false, + "description": "This value set includes the minimal set of codes to represent the status of a medication statement (i.e., active, completed, stopped and on-hold).", + "compose": { + "include": [ + { + "system": "http://hl7.org/fhir/CodeSystem/medication-statement-status", + "concept": [ + { + "code": "active" + }, + { + "code": "completed" + }, + { + "code": "stopped" + }, + { + "code": "on-hold" + } + ] + } + ] + }, + "expansion": { + "identifier": "urn:uuid:59fe5ac1-65bf-4606-8c2a-0a55fba1d064", + "timestamp": "2025-08-25T15:53:32+10:00", + "total": 4, + "offset": 0, + "parameter": [ + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false + }, + { + "name": "used-codesystem", + "valueUri": "http://hl7.org/fhir/CodeSystem/medication-statement-status|4.0.1" + } + ], + "contains": [ + { + "system": "http://hl7.org/fhir/CodeSystem/medication-statement-status", + "code": "active", + "display": "Active" + }, + { + "system": "http://hl7.org/fhir/CodeSystem/medication-statement-status", + "code": "completed", + "display": "Completed" + }, + { + "system": "http://hl7.org/fhir/CodeSystem/medication-statement-status", + "code": "stopped", + "display": "Stopped" + }, + { + "system": "http://hl7.org/fhir/CodeSystem/medication-statement-status", + "code": "on-hold", + "display": "On Hold" + } + ] + } + }, { "resourceType": "AllergyIntolerance", "id": "AllergyIntoleranceTemplate", @@ -1687,10 +1744,6 @@ "name": "path", "valueString": "AllergyIntolerance.clinicalStatus" }, - { - "name": "name", - "valueString": "clinicalStatus" - }, { "name": "value", "valueCodeableConcept": { @@ -1723,10 +1776,6 @@ "name": "path", "valueString": "AllergyIntolerance.note[0].text" }, - { - "name": "name", - "valueString": "text" - }, { "name": "value", "_valueMarkdown": { @@ -1746,6 +1795,67 @@ } ] }, + { + "resourceType": "ValueSet", + "id": "AllergyIntoleranceClinicalStatusMinimal", + "url": "https://smartforms.csiro.au/ig/ValueSet/AllergyIntoleranceClinicalStatusMinimal", + "name": "AllergyIntoleranceClinicalStatusMinimal", + "title": "Allergy Intolerance Clinical Status Minimal", + "status": "draft", + "experimental": false, + "description": "This value set includes the minimal set of codes to represent the clinical status of an allergy intolerance (i.e., active and inactive).", + "compose": { + "include": [ + { + "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical", + "concept": [ + { + "code": "active" + }, + { + "code": "inactive" + } + ] + } + ] + }, + "expansion": { + "identifier": "urn:uuid:40f0c59e-9fa5-4322-bc1d-5fde644a076c", + "timestamp": "2025-08-25T15:52:50+10:00", + "total": 2, + "offset": 0, + "parameter": [ + { + "name": "count", + "valueInteger": 1000 + }, + { + "name": "offset", + "valueInteger": 0 + }, + { + "name": "excludeNested", + "valueBoolean": false + }, + { + "name": "used-codesystem", + "valueUri": "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical|1.0.0" + } + ], + "contains": [ + { + "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical", + "code": "active", + "display": "Active" + }, + { + "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical", + "code": "inactive", + "display": "Inactive" + } + ] + } + }, { "resourceType": "Observation", "id": "SmokingStatusTemplate", @@ -6949,36 +7059,7 @@ "text": "Status", "type": "choice", "repeats": false, - "answerOption": [ - { - "valueCoding": { - "system": "http://hl7.org/fhir/CodeSystem/medication-statement-status", - "code": "active", - "display": "Active" - } - }, - { - "valueCoding": { - "system": "http://hl7.org/fhir/CodeSystem/medication-statement-status", - "code": "completed", - "display": "Completed" - } - }, - { - "valueCoding": { - "system": "http://hl7.org/fhir/CodeSystem/medication-statement-status", - "code": "stopped", - "display": "Stopped" - } - }, - { - "valueCoding": { - "system": "http://hl7.org/fhir/CodeSystem/medication-statement-status", - "code": "on-hold", - "display": "On Hold" - } - } - ] + "answerValueSet": "#MedicationStatementStatusLimited" }, { "extension": [ @@ -7463,22 +7544,7 @@ "text": "Status", "type": "choice", "repeats": false, - "answerOption": [ - { - "valueCoding": { - "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical", - "code": "active", - "display": "Active" - } - }, - { - "valueCoding": { - "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical", - "code": "inactive", - "display": "Inactive" - } - } - ] + "answerValueSet": "#AllergyIntoleranceClinicalStatusMinimal" }, { "extension": [ From 4034c72d1d4ee49d4aee95753a828689e4262432 Mon Sep 17 00:00:00 2001 From: liambarnes Date: Wed, 27 Aug 2025 16:37:46 +1000 Subject: [PATCH 176/177] Update parameters slicing...still problematic; Fix bundle example. --- ...ntationGuide-csiro.fhir.au.smartforms.json | 2 +- ...Definition-SHCAllergyIntolerancePatch.json | 36 +++++------ ...dle-sdc-template-extract-928bbdd27d15.json | 59 ++++++++++++------- input/fsh/profiles.fsh | 59 ++++++++++++------- 4 files changed, 95 insertions(+), 61 deletions(-) diff --git a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json index 6544309f..709b68dc 100644 --- a/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json +++ b/fsh-generated/resources/ImplementationGuide-csiro.fhir.au.smartforms.json @@ -558,7 +558,7 @@ "reference": "Bundle/sdc-template-extract-928bbdd27d15" }, "name": "sdc-template-extract-928bbdd27d15", - "exampleBoolean": true + "exampleCanonical": "https://smartforms.csiro.au/ig/StructureDefinition/SHCExtractBundle" }, { "reference": { diff --git a/fsh-generated/resources/StructureDefinition-SHCAllergyIntolerancePatch.json b/fsh-generated/resources/StructureDefinition-SHCAllergyIntolerancePatch.json index b30fe10d..1e243c19 100644 --- a/fsh-generated/resources/StructureDefinition-SHCAllergyIntolerancePatch.json +++ b/fsh-generated/resources/StructureDefinition-SHCAllergyIntolerancePatch.json @@ -20,8 +20,8 @@ "slicing": { "discriminator": [ { - "type": "value", - "path": "part" + "type": "pattern", + "path": "$this" } ], "ordered": false, @@ -97,7 +97,7 @@ ], "path": "Parameters.parameter.name", "short": "Parameters for clinicalStatus patching", - "fixedString": "operation", + "patternString": "operation", "mustSupport": true }, { @@ -188,7 +188,7 @@ } ], "path": "Parameters.parameter.part.name", - "fixedString": "type", + "patternString": "type", "mustSupport": true }, { @@ -228,7 +228,7 @@ "code": "code" } ], - "fixedCode": "replace", + "patternCode": "replace", "mustSupport": true }, { @@ -304,7 +304,7 @@ } ], "path": "Parameters.parameter.part.name", - "fixedString": "path", + "patternString": "path", "mustSupport": true }, { @@ -344,7 +344,7 @@ "code": "string" } ], - "fixedString": "AllergyIntolerance.clinicalStatus", + "patternString": "AllergyIntolerance.clinicalStatus", "mustSupport": true }, { @@ -420,7 +420,7 @@ } ], "path": "Parameters.parameter.part.name", - "fixedString": "value", + "patternString": "value", "mustSupport": true }, { @@ -561,7 +561,7 @@ } ], "path": "Parameters.parameter.part.name", - "fixedString": "pathLabel", + "patternString": "pathLabel", "mustSupport": true }, { @@ -588,7 +588,7 @@ "code": "string" } ], - "fixedString": "Clinical status", + "patternString": "Clinical status", "mustSupport": true }, { @@ -659,7 +659,7 @@ ], "path": "Parameters.parameter.name", "short": "Parameters for note.text patching", - "fixedString": "operation", + "patternString": "operation", "mustSupport": true }, { @@ -750,7 +750,7 @@ } ], "path": "Parameters.parameter.part.name", - "fixedString": "type", + "patternString": "type", "mustSupport": true }, { @@ -790,7 +790,7 @@ "code": "code" } ], - "fixedCode": "replace", + "patternCode": "replace", "mustSupport": true }, { @@ -866,7 +866,7 @@ } ], "path": "Parameters.parameter.part.name", - "fixedString": "path", + "patternString": "path", "mustSupport": true }, { @@ -906,7 +906,7 @@ "code": "string" } ], - "fixedString": "AllergyIntolerance.note[0].text", + "patternString": "AllergyIntolerance.note[0].text", "mustSupport": true }, { @@ -982,7 +982,7 @@ } ], "path": "Parameters.parameter.part.name", - "fixedString": "value", + "patternString": "value", "mustSupport": true }, { @@ -1084,7 +1084,7 @@ } ], "path": "Parameters.parameter.part.name", - "fixedString": "pathLabel", + "patternString": "pathLabel", "mustSupport": true }, { @@ -1111,7 +1111,7 @@ "code": "string" } ], - "fixedString": "Comment", + "patternString": "Comment", "mustSupport": true } ] diff --git a/input/examples/Bundle-sdc-template-extract-928bbdd27d15.json b/input/examples/Bundle-sdc-template-extract-928bbdd27d15.json index a038c496..44838437 100644 --- a/input/examples/Bundle-sdc-template-extract-928bbdd27d15.json +++ b/input/examples/Bundle-sdc-template-extract-928bbdd27d15.json @@ -2,6 +2,9 @@ "resourceType": "Bundle", "id": "sdc-template-extract-928bbdd27d15", "meta": { + "profile": [ + "https://smartforms.csiro.au/ig/StructureDefinition/SHCExtractBundle" + ], "tag": [ { "code": "@aehrc/sdc-template-extract-v0.1.0:generated" @@ -106,6 +109,11 @@ "fullUrl": "urn:uuid:ffb87c39-5fa8-4ea7-92c1-83911ecf33a7", "resource": { "resourceType": "Parameters", + "meta": { + "profile": [ + "https://smartforms.csiro.au/ig/StructureDefinition/SHCConditionPatch" + ] + }, "parameter": [ { "name": "operation", @@ -118,10 +126,6 @@ "name": "path", "valueString": "Condition.clinicalStatus" }, - { - "name": "name", - "valueString": "clinicalStatus" - }, { "name": "value", "valueCodeableConcept": { @@ -151,10 +155,6 @@ "name": "path", "valueString": "Condition.abatement" }, - { - "name": "name", - "valueString": "abatement" - }, { "name": "value", "valueDateTime": "2025-08-15" @@ -226,6 +226,11 @@ "fullUrl": "urn:uuid:c8a97d6f-d0d5-4561-ab83-2607b3bb072f", "resource": { "resourceType": "Parameters", + "meta": { + "profile": [ + "https://smartforms.csiro.au/ig/StructureDefinition/SHCMedicationStatementPatch" + ] + }, "parameter": [ { "name": "operation", @@ -238,10 +243,6 @@ "name": "path", "valueString": "MedicationStatement.status" }, - { - "name": "name", - "valueString": "status" - }, { "name": "value", "valueCode": "completed" @@ -251,6 +252,27 @@ "valueString": "Status" } ] + }, + { + "name": "operation", + "part": [ + { + "name": "type", + "valueCode": "replace" + }, + { + "name": "path", + "valueString": "MedicationStatement.note[0].text" + }, + { + "name": "value", + "valueMarkdown": "Worked effectively." + }, + { + "name": "pathLabel", + "valueString": "Comment" + } + ] } ] }, @@ -318,6 +340,11 @@ "fullUrl": "urn:uuid:346d80b8-9aef-42eb-a794-bbb74774ff7f", "resource": { "resourceType": "Parameters", + "meta": { + "profile": [ + "https://smartforms.csiro.au/ig/StructureDefinition/SHCAllergyIntolerancePatch" + ] + }, "parameter": [ { "name": "operation", @@ -330,10 +357,6 @@ "name": "path", "valueString": "AllergyIntolerance.clinicalStatus" }, - { - "name": "name", - "valueString": "clinicalStatus" - }, { "name": "value", "valueCodeableConcept": { @@ -363,10 +386,6 @@ "name": "path", "valueString": "AllergyIntolerance.note[0].text" }, - { - "name": "name", - "valueString": "text" - }, { "name": "value", "valueMarkdown": "Duplicated allergy in record. Removed." diff --git a/input/fsh/profiles.fsh b/input/fsh/profiles.fsh index bf907693..98e9a190 100644 --- a/input/fsh/profiles.fsh +++ b/input/fsh/profiles.fsh @@ -945,8 +945,8 @@ Title: "Smart Health Checks AllergyIntolerance Patch" Description: "This profile sets the expectations for a Parameters resource when used to patch AllergyIntolerance resources within Smart Health Checks." * parameter 1.. -* parameter ^slicing.discriminator.type = #value -* parameter ^slicing.discriminator.path = "part" +* parameter ^slicing.discriminator.type = #pattern +* parameter ^slicing.discriminator.path = "$this" * parameter ^slicing.ordered = false * parameter ^slicing.rules = #open * parameter contains @@ -955,11 +955,24 @@ Description: "This profile sets the expectations for a Parameters resource when * parameter[clinicalStatus] MS * parameter[clinicalStatus] insert obligationServer (0, SHALL:process) * parameter[clinicalStatus] insert obligationApp (1, SHALL:populate) +/* +* parameter[clinicalStatus].pattern[x].name = "operation" +* parameter[clinicalStatus].pattern[x].part[+].name = "type" +* parameter[clinicalStatus].pattern[x].part[=].valueCode = #replace + +* parameter[clinicalStatus].pattern[x].part[+].name = "path" +* parameter[clinicalStatus].pattern[x].part[=].valueString = "AllergyIntolerance.clinicalStatus" +* + +* parameter[clinicalStatus].pattern[x].part[path].name = "path" +* parameter[clinicalStatus].pattern[x].part[path].valueString = "AllergyIntolerance.clinicalStatus" +*/ + * parameter[clinicalStatus].name ^short = "Parameters for clinicalStatus patching" * parameter[clinicalStatus].name 1.. MS * parameter[clinicalStatus].name insert obligationServer (0, SHALL:process) * parameter[clinicalStatus].name insert obligationApp (1, SHALL:populate) -* parameter[clinicalStatus].name = "operation" (exactly) +* parameter[clinicalStatus].name = "operation" //(exactly) * parameter[clinicalStatus].part ^slicing.discriminator.type = #value * parameter[clinicalStatus].part ^slicing.discriminator.path = "name" * parameter[clinicalStatus].part ^slicing.ordered = false @@ -976,12 +989,12 @@ Description: "This profile sets the expectations for a Parameters resource when * parameter[clinicalStatus].part[type].name 1..1 MS * parameter[clinicalStatus].part[type].name insert obligationServer (0, SHALL:process) * parameter[clinicalStatus].part[type].name insert obligationApp (1, SHALL:populate) -* parameter[clinicalStatus].part[type].name = "type" (exactly) +* parameter[clinicalStatus].part[type].name = "type" //(exactly) * parameter[clinicalStatus].part[type].value[x] 1..1 MS * parameter[clinicalStatus].part[type].value[x] insert obligationServer (0, SHALL:process) * parameter[clinicalStatus].part[type].value[x] insert obligationApp (1, SHALL:populate) * parameter[clinicalStatus].part[type].value[x] only code -* parameter[clinicalStatus].part[type].value[x] = #replace (exactly) +* parameter[clinicalStatus].part[type].valueCode = #replace //(exactly) * parameter[clinicalStatus].part[path] MS * parameter[clinicalStatus].part[path] insert obligationServer (0, SHALL:process) * parameter[clinicalStatus].part[path] insert obligationApp (1, SHALL:populate) @@ -989,12 +1002,12 @@ Description: "This profile sets the expectations for a Parameters resource when * parameter[clinicalStatus].part[path].name 1..1 MS * parameter[clinicalStatus].part[path].name insert obligationServer (0, SHALL:process) * parameter[clinicalStatus].part[path].name insert obligationApp (1, SHALL:populate) -* parameter[clinicalStatus].part[path].name = "path" (exactly) +* parameter[clinicalStatus].part[path].name = "path" //(exactly) * parameter[clinicalStatus].part[path].value[x] 1..1 MS * parameter[clinicalStatus].part[path].value[x] insert obligationServer (0, SHALL:process) * parameter[clinicalStatus].part[path].value[x] insert obligationApp (1, SHALL:populate) * parameter[clinicalStatus].part[path].value[x] only string -* parameter[clinicalStatus].part[path].value[x] = "AllergyIntolerance.clinicalStatus" (exactly) +* parameter[clinicalStatus].part[path].valueString = "AllergyIntolerance.clinicalStatus" //(exactly) * parameter[clinicalStatus].part[value] MS * parameter[clinicalStatus].part[value] insert obligationServer (0, SHALL:process) * parameter[clinicalStatus].part[value] insert obligationApp (1, SHALL:populate) @@ -1002,34 +1015,36 @@ Description: "This profile sets the expectations for a Parameters resource when * parameter[clinicalStatus].part[value].name 1..1 MS * parameter[clinicalStatus].part[value].name insert obligationServer (0, SHALL:process) * parameter[clinicalStatus].part[value].name insert obligationApp (1, SHALL:populate) -* parameter[clinicalStatus].part[value].name = "value" (exactly) +* parameter[clinicalStatus].part[value].name = "value" //(exactly) * parameter[clinicalStatus].part[value].value[x] 1..1 MS * parameter[clinicalStatus].part[value].value[x] insert obligationServer (0, SHALL:process) * parameter[clinicalStatus].part[value].value[x] insert obligationApp (1, SHALL:populate-if-known) * parameter[clinicalStatus].part[value].value[x] only CodeableConcept -* parameter[clinicalStatus].part[value].value[x] from AllergyIntoleranceClinicalStatusMinimal (required) -* parameter[clinicalStatus].part[value].value[x].coding 1..1 MS -* parameter[clinicalStatus].part[value].value[x].coding insert obligationServer (0, SHALL:process) -* parameter[clinicalStatus].part[value].value[x].coding insert obligationApp (1, SHALL:populate-if-known) +* parameter[clinicalStatus].part[value].valueCodeableConcept from AllergyIntoleranceClinicalStatusMinimal (required) +* parameter[clinicalStatus].part[value].valueCodeableConcept.coding 1..1 MS +* parameter[clinicalStatus].part[value].valueCodeableConcept.coding insert obligationServer (0, SHALL:process) +* parameter[clinicalStatus].part[value].valueCodeableConcept.coding insert obligationApp (1, SHALL:populate-if-known) * parameter[clinicalStatus].part[pathLabel] MS * parameter[clinicalStatus].part[pathLabel] insert obligationServer (0, SHALL:process) * parameter[clinicalStatus].part[pathLabel] insert obligationApp (1, SHALL:populate) * parameter[clinicalStatus].part[pathLabel] ^short = "Human readable representation of the path. Typically this is the relevant item text from the Questionnaire." * parameter[clinicalStatus].part[pathLabel].name 1..1 MS * parameter[clinicalStatus].part[pathLabel].name insert obligationApp (0, SHALL:populate) -* parameter[clinicalStatus].part[pathLabel].name = "pathLabel" (exactly) +* parameter[clinicalStatus].part[pathLabel].name = "pathLabel" //(exactly) * parameter[clinicalStatus].part[pathLabel].value[x] 1..1 MS * parameter[clinicalStatus].part[pathLabel].value[x] insert obligationApp (0, SHALL:populate) * parameter[clinicalStatus].part[pathLabel].value[x] only string -* parameter[clinicalStatus].part[pathLabel].value[x] = "Clinical status" (exactly) +* parameter[clinicalStatus].part[pathLabel].valueString = "Clinical status" //(exactly) * parameter[comment] MS * parameter[comment] insert obligationServer (0, SHALL:process) * parameter[comment] insert obligationApp (1, SHALL:populate) + + * parameter[comment].name ^short = "Parameters for note.text patching" * parameter[comment].name 1.. MS * parameter[comment].name insert obligationServer (0, SHALL:process) * parameter[comment].name insert obligationApp (1, SHALL:populate) -* parameter[comment].name = "operation" (exactly) +* parameter[comment].name = "operation" //(exactly) * parameter[comment].part ^slicing.discriminator.type = #value * parameter[comment].part ^slicing.discriminator.path = "name" * parameter[comment].part ^slicing.ordered = false @@ -1046,12 +1061,12 @@ Description: "This profile sets the expectations for a Parameters resource when * parameter[comment].part[type].name 1..1 MS * parameter[comment].part[type].name insert obligationServer (0, SHALL:process) * parameter[comment].part[type].name insert obligationApp (1, SHALL:populate) -* parameter[comment].part[type].name = "type" (exactly) +* parameter[comment].part[type].name = "type" //(exactly) * parameter[comment].part[type].value[x] 1..1 MS * parameter[comment].part[type].value[x] insert obligationServer (0, SHALL:process) * parameter[comment].part[type].value[x] insert obligationApp (1, SHALL:populate) * parameter[comment].part[type].value[x] only code -* parameter[comment].part[type].value[x] = #replace (exactly) +* parameter[comment].part[type].value[x] = #replace //(exactly) * parameter[comment].part[path] MS * parameter[comment].part[path] insert obligationServer (0, SHALL:process) * parameter[comment].part[path] insert obligationApp (1, SHALL:populate) @@ -1059,12 +1074,12 @@ Description: "This profile sets the expectations for a Parameters resource when * parameter[comment].part[path].name 1..1 MS * parameter[comment].part[path].name insert obligationServer (0, SHALL:process) * parameter[comment].part[path].name insert obligationApp (1, SHALL:populate) -* parameter[comment].part[path].name = "path" (exactly) +* parameter[comment].part[path].name = "path" //(exactly) * parameter[comment].part[path].value[x] 1..1 MS * parameter[comment].part[path].value[x] insert obligationServer (0, SHALL:process) * parameter[comment].part[path].value[x] insert obligationApp (1, SHALL:populate) * parameter[comment].part[path].value[x] only string -* parameter[comment].part[path].value[x] = "AllergyIntolerance.note[0].text" (exactly) +* parameter[comment].part[path].value[x] = "AllergyIntolerance.note[0].text" //(exactly) * parameter[comment].part[value] MS * parameter[comment].part[value] insert obligationServer (0, SHALL:process) * parameter[comment].part[value] insert obligationApp (1, SHALL:populate) @@ -1072,7 +1087,7 @@ Description: "This profile sets the expectations for a Parameters resource when * parameter[comment].part[value].name 1..1 MS * parameter[comment].part[value].name insert obligationServer (0, SHALL:process) * parameter[comment].part[value].name insert obligationApp (1, SHALL:populate) -* parameter[comment].part[value].name = "value" (exactly) +* parameter[comment].part[value].name = "value" //(exactly) * parameter[comment].part[value].value[x] 1..1 MS * parameter[comment].part[value].value[x] insert obligationServer (0, SHALL:process) * parameter[comment].part[value].value[x] insert obligationApp (1, SHALL:populate-if-known) @@ -1083,11 +1098,11 @@ Description: "This profile sets the expectations for a Parameters resource when * parameter[comment].part[pathLabel] ^short = "Human readable representation of the path. Typically this is the relevant item text from the Questionnaire." * parameter[comment].part[pathLabel].name 1..1 MS * parameter[comment].part[pathLabel].name insert obligationApp (0, SHALL:populate) -* parameter[comment].part[pathLabel].name = "pathLabel" (exactly) +* parameter[comment].part[pathLabel].name = "pathLabel" //(exactly) * parameter[comment].part[pathLabel].value[x] 1..1 MS * parameter[comment].part[pathLabel].value[x] insert obligationApp (0, SHALL:populate) * parameter[comment].part[pathLabel].value[x] only string -* parameter[comment].part[pathLabel].value[x] = "Comment" (exactly) +* parameter[comment].part[pathLabel].value[x] = "Comment" //(exactly) Profile: SmartHealthChecksMedicationStatementPatch From 8ebf39792e2f72754ea7c848053cf8e5c5179b38 Mon Sep 17 00:00:00 2001 From: Heath Frankel Date: Thu, 28 Aug 2025 21:12:33 +0930 Subject: [PATCH 177/177] Updated obligations descriptions in general-requirements.md --- .gitignore | 3 +- .../ObligationsOverview-derivedFrom.png | Bin 0 -> 111155 bytes input/pagecontent/general-requirements.md | 114 ++++++++++-------- 3 files changed, 64 insertions(+), 53 deletions(-) create mode 100644 input/images/ObligationsOverview-derivedFrom.png diff --git a/.gitignore b/.gitignore index 67782918..f46c601f 100644 --- a/.gitignore +++ b/.gitignore @@ -11,4 +11,5 @@ output/ temp/ template/ .vscode/ -fhir.schema.json \ No newline at end of file +fhir.schema.json +/input/images/*.bkp diff --git a/input/images/ObligationsOverview-derivedFrom.png b/input/images/ObligationsOverview-derivedFrom.png new file mode 100644 index 0000000000000000000000000000000000000000..d3d147c59a701b9adb2e7be5e462e7230d4232bf GIT binary patch literal 111155 zcmeFYXE>bC`!}2-L5h|jAxe};L|;~mZn4_xEJCzh>{^z!S`d+_k*>Eylpu(#ULr+A z)abp0h~8WDdzSC--|qkK?epfj566*QJJ-xyGv}QB{7kr>uKM{iEN6}#J9Zwfp=xmK z*eUd}V<$7HPJ@=?!^ZLC|2z!Tm5=4OT$w(0jLMY&Gb6Zoqnxk~$9N$sM^C(BB95*e z1YU?Lub3DN>tIK4cg2B6&~Afv!2R<=$JN&fi?!huQHefA>UGxBz1VxX=I@uq!>0sc#VyZ-IH?)I`s5AlPMQ{OICr=`2 z;$~~dE2iu!2GbK4^;OZ=GgtT0wu4|`N*D|jYUk^QG;(v(5H}_`D-)bSM?18WzJ|24 zrlGf^kEoWow~ej7h>yLt76d~;*-PW?eM}{kkT%-V1_)&zl((6r7Q$8Bggnp_4RcTz zmvA-}foka4I$|&)Sg5U$osqJNk%)nfy`7E{IAt{hqNXm~L`+=|gEw(@G;(%=+h}SL z4ZJi|5PDk9ns600s2ju-DQ@fzrnK==Qg%bTVl?2Q5U3i_O$3K=k#u)6)5eLykiH00 zGh1U%5p6A14{aqQHw`^EaT5a-Wn+CE9ThvIh?Wn;RNvdcTS`UWQ_PI$Y$WOiQS#Ao zb@OnL($O(+P!+`)Nq9JdHKA>#q})99P|A+x9tc-0T~%*1!5itTW`n@0>tj^Cbcjd; zQ8Bovm%5Uus*j6}rmm{9yCFdx;ijhxHPm#{HTN))Hc{6^n~9_K3F=U|vX(OnrYVj# zbT;=;fjX&~>8l|;W~#>pClGp(UJ5^pHqhIL22=M;~X7 z@$}Jl#Fzmd22!EsEee-H<5dmJ(308)#;$6f2qjZzTT!H%rzq0Ym*|4T`HJ`$Nh7_D zd>kd6B_vQpNmVsvM;OG%3+Jq72lK*-yXdF`5mhrWfs09-8+f});FXAy1hj@EX!Inw zD}nzE)tqe*>LTLe;$ApOaWAB+vbKbcq^^#xxs)$N9WUxEW^SzGW)G%OR`&36*0oVG z)iF2KFmw07D@%(SnVRV-6FtBpJQ1J=(F1Sfiz0Y>V2vH!J@su3y;Mvzp=8lj7FAZ( z^n!{JJ;671;7Ecq%1|8dqNyegQ%1tI3EBprU0VaEuIr%cp{r!SP+s3{hT(1Bw_MC>%3)pRv|)KzR<9VBhwt`ZI+;wTK51}P2`@%2!L zYoJh4ICYesnTxi#q?@^$iIX_d*8ySYWry%GkkB&rl0YcoF%Y5;SRT^W7pY-yA^{j& zSwd1v9Aiqbckvd{a}{?q(*;kGqRu!SFt@HL79&l-nVM+0!|g;xygWT{1Wg}FEoF18 zE5cXO8KnY4XsAp163nGNJyE8HVrJxx!QI>p^|U24!Q>c%x41n)%upX8q3JH^X{M^@ zBBo^mbJs_DI}xR%^z5CTTwun&Mj~oD$|gP-4N+!B1KS=bkhLa^A%MVMHzz!Cm#_#EvTA=izwDk%F*52 zM3v}bgFtIy^nC1q+E!LI!Px+vsch!$hB3lIMfHI4a3_k{+n5p@&CK1j4SXc=+WKmy zSaV}(sJ08mnhxuO*^uXe&vS)Pus5^|j3n zfV0)?#PH5yI2BVHI0UXQZ6+Zi0kplc1YXZs)P?9GCaLG47sl+3_T&LIIJtmUJ2^!;VgxBha<$b zoG=8ux38U~k0BhVjB$3ebH_MBylpjYoJ^g(;Y6sajk&KaSdBE&%Rx-n1S_or46L%d zijNGKWNGz_4C z!gx4Y_3Mghn}A7`P%vjrZ7E$5aWBw_wj-N62$)~(UzYLEOoHG4_!bb@9Sv{Y?7Wn^w1;R;z9S02@4{r4q5W2_=&&4IwYyphvdTy;yID=H#m$Wpm8LQ zpQKJ?VCydZ!~J?(WKR3lA#uoQ-mq5}1L^SHxe}l595Tl%dva&q*7$`(PI}b`7(dY^ z5Jh{)7voef$7pHj(KWlz{o@&rc%_+3WY}9}W5fVDj-p4G94=_|a*z@qUEohhqsW!R zMO;t1N4w8ChW&-gJbBo#6n~F4v9R^-CDy}rbfy3Sp4VxjIQ%MS_+f8>*$ao8WzqQ* z+FaIl`p(MXkHj&tlP)%LYFA-*4d`{Z#Bs2zut$mzomISPQ@bqOiq zDr5ruGw+eA`+xKP|B4PFU#Kh{Q3FNh98M^8=I#sU$s95D7%-mKVA+{NPIFfLLy_UT+s6Vf$Cpz~Ro^+W$AspSAgMHAT_HQ2O);V*1;$(I38BX*a&&;| z?ccClJ7nLVfPKmQ%zmyuP*iG88Kr0P&9a-IVG zeevnr6Ndu2&U3Va*5YsP4&|AX7f8eSOO*_B32M$3lMdV?mJ>Q$_oN1RFc8zjHC|Fa z+;a@wwkcpc6DO|LUK`)?Zs2O_`vg4au z$BH6`$FreP1@TBGJP`^R7;GxJ?d&0Cr5Tn! zbEqaYx4jZSb=c6w4G3i^=N!dRSX-GI*GGTypyPnUl&5T7obyb+J<6h#|B*Q9jUB(% zgT3;2c&(OUzzD;GgK47$wWQ`ZBjV#x-8a%k9Gd3_!`v=QmQb3HZJwn**_xZY)jY=n zNh~<|3T<(Jm*c{WlYf*5>8ruL7%Ac7J-3;EIrtR6u)SoI%?S?v3`^A2L&c^jPjPpN zk{-QU$eVY>xiIR#?=PEPylohoht5h>Q#GM3luU?ELoqJ%2f5yb?0jjGhmwAnzaOjZ z%Wj(ML6xMPGvt@rgc^Oh!u+A|8Asu+0mO+iW-c0O^eD-;=tHl6C z435{CFIs%e=iKVmgdLA*esgQn31$;|kS{@ujjzU_Y|97l-9{6HDw><1BBV|3^AlaV zCVqxBEaa20;Zr-}&{K4WCn5Ohz4%c>*H!XKu$ez9;+>i9@D4BFXD;Tl8u6IA+uXGF zqoSRvj8`{lsJW@d(fD~>?nP<_mN!mkGqGKU4JV^%Dci3I*r5U=)?OQ(rA_FYbD5cX zUbUlBDYdd-npRxfFl}-2>0g1iZ8%!dclfpgXT-X@x`^@1yt)-+u9ek%lMN~Yo08j= z&*fRlcIgF$O{r>6y@z1XaMVR@4N-;iD98H|^6uhDYQ{i4CWkR)Wr&|MDTFVH~v%Phu-k74QeGLdvXo4J!_6VHr? zt)tV!dfl*zG^#(XP^gN9JQMcbEc1igsj{b+&#izwO8>Z4fX} z=H98V-WNu%DG_7cX8HZmWjkgo@7F_aU(av+eu3!EN`1U~Q{vA=to3k7uWjV$fv&i| zflT#ool$7aaNvQz1tza}ZlQ9qMLc==JBNZ9$7-`=s>{c%KPAJyvwegPo!IR2{HCdj zgWEs0S&jV9Of-?Hn-t%HVWwD9bVJnYob zE#q_-tNAkeoYbPZ?D`%ejPl`-G-p#|i6-gQ#d8HkLT;;6TD8`JoCkC2)KO0JmTj6g z_`-O$5zXw^GeFMk>N>Np0Xe@^`HOFi?~kYKINu-G2dnwJ`&*O5iD=XQ!2MN@0SD&l z*{qi^@-eiHy;E(F+Z^oBmDRCkuZvZok*-yXVu^N+GEz$N|NTsTE>vOn_1^Lm_@wT+ z^8YWi{e^=xY?0K??rQ5myOyv^K^4R4>*plr$0CJsrGxH~IugE0 zf@x;Nqk3y*L&rM}5ye0FdX6`~lse(#QeiXjp$8GTZ5X+$cdRB8sGvs3J7CRyNLiDQ zC|X2GY!*G&(bKv&^1TYC)snhi8?2Vl1hl`_AMxCNgb^0TLoqcs^wM*lXN*)^(5E?@ z-Js}ZlX|BUn(ZLyQ|xgso~>nbt9*TImN4jt|QGBtg|3^dgcGp!vheE~x+wE^;I)DeXnojoeu-{@|5GDI1$D1}v zNrEHWz~n|Tp@nO9S4JT#M29cbd_}U0RUID>_C%(5%S#Hz-aY8!*qc%({)xAFkMN2N zoJ{tjNqYqMplcOg)bSb%=PRjPsA!C_GzfycthfN;^VToG51D9ANrBM)gmmztnAq#1 zO&pDJTp2=oPF_*+2xOUOSe(3zDUU-|l7>$h$!9(BxPzX=lYrYLGI2VTuAYV~&flX} z=22Jh82kO0dRBH3rk?yX!ur$A#GtR!!`f3)1;mPE=AJF!5kYM^c5AU`nG_1;gu%mX zc1!V2bi;?1bCGe0wEK7LzV!he(gYmn2^?GMyP z0Nanyr3{H$q_u!3;R^YT8PTb}GufOh8+oM!v&CMnLLdyKY(&L48fOEFac#)-)8D_x z-bn4#UO@D^HwvN;_DetJvziiq_H>zAy8t!eGWWnLU~59L$oR2&X}ZI&NkP-Ow-tSa zuk<%6d>REyi*oZToa;H6&F%z^-YcBWqOBnc5NV36*n_OP5k7D7)ms5utaBoFkQeEt zbD`_-J-q0e6@(N@NfWePky|~fQGM(h$pK0p_qNKe3E9^0*z}Dy{JA>4a=iGzTu++Fsmw`qy35L6`m&(=l zxo`2UF9a*}n&C~P`x;CKRCo7>*RNrzJ8vKegf-Z_h=F&w!``QfNWhzN18cA8{ZFn5qDXz z_15a6Wbd)?jmnX|7At>aC3PmtHx(AH)t*no{3@n1XSYn#Vs%WDtv#A0N`8g>IzDI@ z%Ducx8~9h{6Myz^358^)t)D8ieModNWBQ6WFq$C*=|%w(MN_TT7k`8OUu8R-O>b8J zB)ayOPo}W0(dS403}^_g0#?x>f}zDO`CF7%qDx8PS>dXmwW@sU`(w;CRC7z8DeVj| zw*dR_IXoeP%hX;eE6s1Y@H_iiuC9Wb{q4_0f-t|c?|76X&9*tPr6)w?1zzYt$AHT;|oE?~ST07SB+GVL*+CHTvxbVV=9Fu21 zOG4s@l0FPo^~3wvx^D5@lbXGBN`W5yiSCvD!<2pKP`FTfj-Me=D%Mg|bH2XLB7Ghjgi(Hg%3uW6u*m zD&9E1P`zoD=+Pp5av5R!$O0I=&C!v5wwBKMCu+TjVORa<41HP;OkTQWaVf#Kf-g!` zjYZr%{iS#%RWm*D&WTgE&k0AAG1inJ*4`BJzSVrY)8F%vX~1Og$#^$d*Qou>(&okBKAYL z+|s9$PMIuJ&tt88v-8UTBz#>6FWVWNR5MT8l#_W_08yJm;u*UoK)$z9+Mjj5Yb5naWy}tT5zqMA=OT z-70I%I{rc>*~i=#8<)6IZ^HlJoz7&JZg)VowGi-dm;!fIcU3n{Y7tkoRL0UC-vJ--E;EtN`)O-+aY{>8V+-||O-WB23lsBYl&JR5sQalLwI3%H1< z^SBFFfT@SF9V70{mr_29W8nL`vR)841l+=poWd>!%Q{J2PevE0AS8w0h~w*+LZpY!a-hhuH6w#p$Wi z{{fhwIMrGl?X6kkr0CxAE|cvuc*{0lKOkqJ)V)3}i&2up?-@tbomp36>a;J#g}+@|IC9N2D!w*WEHh zp+3Re=?d9X^LY$a1^qd%c(!YE>_Mk#p1pWqFw5wlYjj%HGcM8GYb#}-;#vW*y*E~-ix*@ZKClJY`URE_@TP38 z`U$rd_{ghgP3Rjd=&xeDLUaaq*T1FCjmHE;kbL?jg%!$~@zB<-HTRM9+q1@blR(dF z;EA1Y^)uf}m6m-;Ss|$zvcAP-g&B_2_LWiH@rM?)((x!yBCYN&!z_FzqFtKeMB@{a zT}t}yPg#ar;=*^9HJk^VALgF7FR0%5@B$$(-C;&hX{bxY<%r|@w1gA$0|*YR;dgOu zGM!mh4Ygl;IM&5fO)^(=@Kmq|{QdPAy`#DLYTth3B#jj3=y*)o#mo3jC6fe&{pBaY zMi<*O*15Wo?BjC3pQ>nIc{A~M{0Z%_h?fNjudC)q=KZ_plkQfvgf{o83q86Ka}U}Y z8J+oY-E_}U>z1En=7uVYXmV4*@$V#Y?42(6?HZjFz3M`PiwhCD)<>Qc>POj_4g21V zv`MPW{P4`~lf3J_k{3>MTiouGF=~#&Hs>Z!ZR63+s za`z#wp!qQFmkfe6X%}=D+1_3}g?mw&kZX?i}^{a|mC zl5430p&*xjzBpT)`>bI4D^g*`ThAC`70XvfQ%f7*@y@xnsshYYCpM@3}g5-5zj_%^?*t~Ade=M(eZ)<5K)XLCet-yIUfwe+PAzJaYJp0=Ui zQ(Nuj|KJlDCRgjm2&t@MTz^-{jzdwFa^coTe2OpJ=8$=2JYGIDt+nSAb;SXt;Pz?S zWq7$IP`IxFehWW4(&7lSu3-+!3%esXIN!DH#dfWL6O~Kv?M1-YBI4RZBzI%{>P6>e`Elr5E3>Y4JDS zntb!Ivdc85JkNo(7&zeLK-$9( zX=B*ojm083-w+zv^I&n^zxRAXBgOIV{28ug1hMYG@EdUnLfTH3HA>JiQzQrQyzey_eMpvQTU z0O?441#$!=?T8u47WOA`eb!BLf#%bEA7{>q+!&KCAVM9fKSw+|A8Eie*!4k$5cT%) z^XZ!>dUcxeJw3+mq1NoO*d{332lxB8CH;v!SG(u6xaQ$468|Z|$ZDl-IBc+m<4SZ$w#Yc)R&pkTyYDyq|zz4H*M)34xd*RQ=>3QZ? zGNwDDv{20?9rIDVt)+o;Fr@VsBrGZNrhGUFc!d>$#hnIU-BCY>pGlgFhpTl3~3;BaH^n8^p*Tx15J>Uibiav$z&*^8 zn6k9fR|dWo{z<%e!mS&7LH*^RW3Z#WWRIs&QuDz6Jan44iQMkei%KBp$vMAWXFK5= zVBXOr{*l4Hd9-1pgNVQ)Cg~#8v%~p(z1k^vi!?0d6u5wpOrw0CM)G7D*i=L)EnRpknAa z5}$pZCuQn=n$+h8K0Gvcw6p6>40`o5<>$#hT)vUu90)KZ{;tVo*H*)#BHqFk*yp({ z#`B$G(UOl1EmL~L@2=3H(Q!5*qn|aDGZM$H&M7QzO)C*X*@*AY3Oy}gv3@zD1U1RO z%J#Br`csiqCWsI7rkiJXS7+b7`~{(cJW3|Y=%Cy^EbwYW>I@hkiV#f8Hw+#xV6q0NK8B<9A zkf(&}@hOWjuKrw$naWhO;b-{bylR|2GjbLIsspHx;d?p}>5Zyo3AksV@oa%W<;IlwKD z#5Yxc!7m?uc77m1w)9U&v;PZXlxcMeIf+w?oPhWF&gSW`7FhJdLU|v4;PX#m z;}db9-(IgE_SRbp?{o8eEc$A`(V84*q`UG~et)r|QTKaX#Nz>p*ZohjD4oWD9S)Cx0s* zTHsYoC``}3aB3(#Xy$06ossEWjKCJ$ydPn62u4wqqZT($`i8ht`F8n&?8sp9-L`Zl z8M(=wDLx{LN4sU|5YeJ?iYud*!!(D##rd?)_77*_yg$JsJzD`yq>#f+_La3}R!X4S z(ThX-_a2UukD1NOvZayebh*7`wtH6XLHoLsnI|_3<1%+lj8=klwxBl~$rN611q%&S{@fY92)y77IiJy~1D%YPEA$F6MuTmsHjfs`JWq&2Mrf7&bAQ&4h zzFd1@;I`M0gG|v6LGt!oYA4E~J~}jr1(ivcHWsq>l*kvGJ{}6Dk*R00zKc)1bDuiI zXm)dwe`IgLEBJ0nhxUa`7gm{>GLAyvtJeutEqxJ~s>n(Fwx1fXojw1dQK+!oYMi3g zO>r+FRd?Xx3Q|~+C_40drb_Ca5s+Fd z-y5q-u3(Q9mu>!K_Ul!96`2TGDZcztcc=17hgsZ_M%r4=kOrMl<9QH^mVh)=KPX8s zTXrw1E+*5=wxcO?-V}!NE|z|RSAD?U5&rl$Ew5^&0g7shv(e%A_55A`?5lf4jHp5$ zhWdH`5=iSy{QfC){#FINHas?Y<-!(`)2y;|3?y4{3uoCVGF94&guXB|`&&HN8;4Ho zZX#nwUh{X(kD~;XOhVAgWtl0NT z0x42~YK$FWB+Ypc{BHJHdQ3MpzJ^UsO+8}D;H1{-w7&TTF;jH9yTn+}T4cxN+n3mrWM>|f~2MG6z#R?E_+uxuJxp0hDxlUaDnqf8qs&1FLtya{t{ z^-n6+2-yc$`E!_yTiV0&79MnTKZ$&B(AOG(3T5|ooO2E8op~>@84$UD`r@G$yh zvM#iNQk?8Oxx{eZovV_UzlG@+p9Au|)2@AStVxoft^8mAA58Ng%Ee1dC?^>gjewL+ z=qC;CxDe*SyQ|GgH0-A0@xV!+Z;@R*$7MK_#*yOLbK9%FX8OU-&4McTxVMZZnhk;- z;OFCR2~ruWUQgbK2L4PcbAM+x(}kLY01L4HQ0jgV{`fy_S7P-tWA`3C4$RfW9EgQ4 z@0JohK#&{i0u&5ed&x{Bi3|R*zTR&56Jnd!-Q%HhVlB!28AzC%!v_n)c(MD|ot zjUJ@Flg=dj$g~00JJnT+fggCxjA9E^AYjY_bV(NvmMCDw+vv;WlR75_T=_>3I40-H8fg$s0h?nHp zyMC9_XKX;2NO;T){=Ot^lqNX$I0M=B}{uVmLCvzSo z#)A)-_^d(#I}Dw4^b$uegJ@phiZgt`!kerCTU&lJS5e&%^rH~dW zZtw6nemvnp+mU|3Nm+Y+>EF$Z?~zZ529>GNr}y%FES)~dDL^m#V{}@znw*;xP0oWTNi)BB;XRLqPB+1wUj=83r-sBN5Z*`4en^E(9 z*_p2;)5*~Dx%&cB;US%RNu7)9rJTA+%^myLcDuZUanu#Hh6Ps?>H9mcG*rhvl^*S( zS=xrbdIs!s+NsY{f5WG7#hF{-SEIq%^nmh4##QSdncUEPlfkQ#@EdgPC2V{xf2R2u zfAL{(l0yW;C1auizUF6(2T&>VrY4W~@AUKDdS^BNt*@-=3DSV&LG75lzHY>)=(yZ4 zBN#i;@VUJILT26)%TVvmVol&uxvykK$E2XMVQO*#sYNF9#Y_iNHDmjebr8GVntP7> zhLl)aX%wam{Uir!X-=WG)$WV1B$v%QWRHMcuaMx$kpc{s5wCGlFx)iB`^GbT3=$RY zKYMvzOTSoCg1&k3N_V4QvID(^M2Nupx{2BJWg3~OSK=Bj04hM;e(nM9jZK5Y9E+Aj z_8FrF8wig1#wowWFHgdmXTPh^$^h7d%l8f5lo=1IKgSAkoz9)rt!%q3E1YIjxPSlt|!iyAs(Lj z(~U3tC98R0h47blA<+Pq+S^+m6g$+IrbmmCGi>vIrp9k6boCRCz zV3jBxC%Wglnl7)3PHql)r8djVzAIE~OVkK2A_rF5sT9{~BNH2q?@t0F&iFgkD22&? zj01V8{IV=oLm|JxA#F-^V%UG7eDXAmn>uLwHMs&vE{MDbND=wy>#S_)f3olLZ(sEs zFddNDg`ZdeVZ#V9-)Gmm9=F}rV}>jH6>?R13!owB(rtg5z5HoeZtQoXI)XGKI}Q1p z-s-rLl-kb%K|LZLfKm%PoEvjEC%?h@vnC;pFFf|ik!-?@IXP>?#kUum5MnF z9=56WE}v5H2bBjU-mPo~d(V(Z-L0U87j2%@wcdd71Aq}qC5vC>ax1h4iwFCy8$g+J zy1{~E2XK`x&Y(1;@T2Sg%F>IWjf>HKy*8nzLfu2(s1?SIailt)?-$SyG1>L8z2XIMx2Z@=iCT!6C5CrKT-^hwu zTsLW+@lp>!t9_-eJ#{nN#NfBUxvQgRgU;>Wu~AV=5#nvPYZmhSRBKB?V;2F z6$ApO5|0EUNprVD`_!Q0L(SUHK3L~|9gO?ep`AU>CZiGrFxo%QgNhgKEk24C%;o?7 zgdMmU;0|gei8pmwW={syqXt9Sr%xP8B zRtL~g;9H*|u z)>(^^IO6+;QBapB_v)nwxD|x}Bo%PL96|m+0wltEm)N7ThihU{dDV=% z<)f8u%rj58eZr@qiD_!ZTqu}4@Ho|4Fd%}$^$q|81;4!E$MD@+B$4Y!Xl#a{i;0D* z{c;x5G?|O{&$p3oD~>Z9zM5hMi~RUHll$=3QWQAW_e)owpi$Vmhj#x$jYlhnG<&zl zXjB%&H$SzJS8YYzgBc$Ump#7w`6G9h%F*zLil+nLzrP9~2O%;4fjX_|eZv-p$@lml#Y<`+hCz3sYTOATdd;x`A{Kl=Py0lLtQiYke+(HC*-hoFXH-W zo3Ib!n>%e<0wqWfb88(st@NTW0gUmzvH;ZljLnk@GZNy^VqZvz2q zPmG^Oqew+IiVJ=GLUeWK$PBqpW=K~%)RA$crf^@P^g~5T4M3ESZjA)-U#Q1J_BkK} zT}^7&!irQ|O?+O95XqZe2aIE3Js<`-qJtu*df>HnvoP~C^lXuL+*vY@_yXC<3uTKxb$HSQrB`G}*^v%y_$H0(u&MKzA^?r)r4NlX zp&$@2vg~Qx1@g!lGJ-IF{*v@zw>6DdAW`z2o~wnZs(R{Z&5$5@Tpfdxmk4RS3A-)> zaljoN!VMq;(PGTOM`@^A)N5@V+E<{UCc~5=cr@}#5Ce3ax*2-{vg0~&NA%87D>vXS z8S`lA!_!veKf(Jq_-oxmsl)~&qodQQU|6z&H+-^vb-1jb!Y2S@pz{tGhxo>@Z4aD|u+mk$hj7l>`IS3&j{4D( z!Q6XseEvru-3h8edsI(CpUn{Mn1^(Di7Ds=)q^$? zuA?BXPaj1riQkh9l?S47PvgSTDd`+RzPl`C0p6V41c0qyQAr&}jz_T88ThBD6i@Wu zgm^YP6ngD?J6B7$$B@X)!?kND9U{`94`2Ta)y_)>_*z#qojaO~la5)AmC@-dfs(_k zjbjYU{IiVW@XgH8$P#u;IPyRC0SwX=nSXZSLB#`Wt)Q@yB-u63i9;H>z=xq|Hc`XF z4~HEgiye?h0{w=JpqA`ErpKmb&5{Gj;LWB64vHRz!hDAu@O>>KXf!aB9#udMQcnHPh z##t))B{B{#%A62+p{yYY*J=v^%@&LLdg*EKg(RuBG>L`mX2lyLt zJ2A*S$Sgm?90(;X{(i4ggGH$)_6dI}p+kGT()@?V|GOrVVF0V}Dvjq()he|<=JdC7 z-NWxsSAfg!Z=pq3=cT`9Jx=UglFoBM)y(5_3KIIBk;TSe?CC;K5=rjFg!|EXkdZJm z{g0m=8EBnDnWNzCIFh+B>NN(5or-ui2NXK4FEIHv@OWG$eGgwAM^OJAr8SvRd`~O? z_fvlLhI!@a{j+nQDLKUVyv$Ik{zMA^@^gv3O)UJzY(01_?#_KxQq95sPD!^prf{CbwDC^I2ak}2zAZDBbbzCCoTCE5Nek6H%MdulyySQB zF_41%=m;`%AEGWpP`yh+<-ZvQK$6&ymK6_`$Wb#|15qu7V2NrS9ne){1}SeKs!tZ~b(HbFw~Bs->sWBvvN9DaM(3IW~YYU^%jI(s*ik1OWeB$Q6Dr$5?ac8;Kx>F`#Ap z-*!M}*4BhW^nI#C5p8D!7c%S@lx=|w zcCHoE*AfBvbsk`!iytzXza0mtwuP{_9~cvaT8LsvR-dL|kzCE5i-VxVq{Q+9cXkY0 z`g_JF8E96yA7V$wrvBNd+bE_3E&&0xoad-1-=oQ;HYEd&~?ne|qRol0b>9N@N<62@92wmAN?4Q9ZN+idyJyXs; zufZAxKa1TsR15Wy_Y5vy&rmYh`q`w5VcS?YVNUkF*#fR&7GK-H!}Uqw$c7s2kRN$@TrC^#^UKNpFmSj)<|Xt|l+`lFR(S)LquPK!!5k*xBE#agCU{eRuiWe2fK7G+Bh>ObJVzZmQ{iA2B0m z40|c#lG?3+S&NY~4`#R@OMM|1!|pVEc+ze<2g)i?Q1~QP1$}v8&d9h|&;6vA+4?TM z<(sdgwfgiOGE4mVWn)z|QI-4Kv%yv06b`mp=c`s*AbG5e8DD!rCKU@ngS2yurh`=4 zFm<4&`orx;0HS(6EmG*rK6_rGNzxv<UR48F zQq*nlUk^Xmgum$C$SwFNQ8G01{tsxfXrT;MNrHQ!CBsP26+%waay1^CahsI!;?NJ0`0(4!G911JJC zQ`xoyzQYWyrn+zdiX_*~SXpL4`pSu%IduE^+RXShxk?;#!S2X38&K84nl)d_4KzI# zA@#UliY^@!*dNuK?f%BmG%o#tIq-d~-yg6p+LW!p)x?o=@~e%eMrXc~5q3+PFH(Zu zw05j0ZT4e?cg8smr2bwZr#C2D$B;7{Gl&O0l^2oktQlZdrF06c6L8?(ZS8T1VcBV!sFwj_J+1arFLv&f)P z3R{xYTLO1W<}_k6!%9Ho;$xC&7Ct0!Qzt1}qnGB|KW7avk0F>$Zy#X2%if8>FU$M ztY5g=WH_OkB*!CtalttKcALjDt%6$x8;SbXrny@X*`_9|7X0WisB#6XZrKpklXg{?Z!j0;0}RRo$tga{XAN zysz}DfWdZQ{08uv&e1$SE2-`^T!G+u3+M6Vb^;aJvCma?5&hktJrc6g6d2jwNjtqU zZJ=dK$(mYNnotyX?sT{?A)vI^aI@eX&D=~0PdG_)=XLpX-pa2~4t7;@%%klC#_HTO z$ud0stNFTiA@>b%3&D>rh~>lMGegcjYy}4Sj^`t@>x#b8$o2wFC5t`J%cl31vI&rq zsIgY?Cq2w^@6R4^-Oh4Vd<~{~Q{`E`ZB&~FWz4`Moid_Bw5>6!^b-|h@ zt!yCu+}Okt|82BfmL+|3o6~o{)1&I{E&r>0fr#VU+gu3i=cw#~Tm|};AB^a)%QqC^ zw#$JBJJv4(eSmvHVcnq5smJ$^@etdv-d|z1uzAQBQl;NMIk0{8rT0~Oo<}IHN~!G| zEfxBX3{F62n zrBNgl1kZXv_tx+A`@cEw&UN-1FZXsn^USPSvu4e#d);e3Pmwp&zW*FOxVxvDRB4_H z33%ESxRx%4yrwxrSytbi($z$cwNN(|mGY{q#pPmdD?F-_2R+W;-#yc5r4($`mmp8x zp?F7a%wb_-i#NpsQXcJ;dDcjGn27so-I(f@p5sg94A!!|7*Oz7`Igz$t0dp zdrmAY#}NC0tn6oDV-2U^E1}j&NiGB0;4F`veAG8U9eMYa8rij-Z%BME4Gm||T2Jg2 z=NXsHg&rBPo>;8ljFW_vp``j_3&Y(k9u`sGmWI_aaxQNJ7{oz~EWdi7KfuxKCmc<9 z1Q$+(4EV1-;VK_ujEiu5xSTE>uf}XSc%66)9OjTX3frUm?i{Y3x!JCo0wJ0=kG&A= z@_7D(N#VA^cl0aUBIkL$d6#RM3>UDazBNudeN)%e7v!Y8*tMT52D^zo%$##pK?9Md(|M+)q4sI$PyPgqic1Jzeu#${>P$;TvBc z?pl(U`1IS?b`+Q5?wnuS&C1HiI{!%9&f(pN61Ly>N~+AMc{|S4RL*zuB5qLw((lM~ zUUD)&xb`-<#AUO?SRmP|?;v=-KOn<}j4NN6if(?sjt#(9IW!)J>BG z<%_h%Sqr0utp4pgbvqJ!kg!1&RBD$^?v_^(vKi5N?P9^r%ir`s@SgK;hK?L4GK}E) zxHs+1UXB_zUjS`Hf7<+q=r_MH$*c2=gl4akMho<}+OrDCA-vZ+#G*IBXZL*VtMj=D zDciA{AGnGw-t6s$2izzj^*6BgJ;B(5hhX@^B-O(`EaPRVfiy2;aoA$^6 zZDOmAQ^*MJd>3AmAF|NRU#FC)9P)fV5NqZ!uC%fIaiF6uxm#S%L8C70ej|dR)3#Tk zz=%c&6SSxtgh~q;>!bWszLOVJP6snwkiRLiQuyY9c(}?LUiMD5PiC7@yRID9lQ|ch z<)U4mlmv^a3KU$gZV}zVt{Efrq7^cc-9~h?Pm&46ce%M-LG?2(=X?h*j9V)z*}Y`j*+EyHm2Y zpf#$Ok#xD$^((7tV*j0osiv2VH5SpMX3F$2>%_*D5=Q}cpA$u8oNrLepj^L7pyAX@ zaQU6O8&}oqTjZuGB5YW`Yh1LqQb>(l3Kp4T41^yt*O*VQ;aBW0xTuVnz2+&-T~A%w zEu^9lyfA$D426!9#-NM~*S11BxG8l#ao_c0TYJ>VZr3f7S+tz`IYjXLwbi=IA$S$5 z&of8*J9?At-=SPZub%Si^Oq*aK^`EK62qu9ZoT`t=lzpMt}^e!je@$}rN`{SB)wBN zxmUbq6J2C;l!$}!8H7-`pQ0cUjWo?XC?-3k#PXdO^JUG8F43Q#F4zg-?Kpc}nC>sD zr%6iKd^r_ty^HzdU~jzwV!Lcv&t)Gvej*QJu{k$cw#WDMb4Dyygv7Si<9L}JUq)N? zDq{1oKswpy%a}daSe~V=uD_Dpj}6KviLE-@5#jJ`+9qyA@^q#R=L^?xkxgdf`<4|f zshXuFw$*+gB6nR4MJsE@uw~}xV)WHUS&vC5uK@(D5kDNVq#fl9rjg(sku9^@`&u-I z_Z~mKyvHW4yvE$-`NYhVO#eN&P75L*B@bOE>6DYc*B_PixK9!)_4H5MeM)fdH%bWE zxEtQyORpd%b)iLOaKXrwmToM6fynT?^2cMTbs23ho=!xS+dV&c*e1OAd9rjR3)`0+ zc^k~F5vCEWe8~2QkVII0dgCE%NEa!o&MMZY1jlo#gh!O_x>CK9V6CL_=MXP5NhtNL z-o8QVKcXbu&UkT)y>n^G2=ZYXea%IcSHWLAk85=;9Uda$F(sFWPfjdVSqr{88S4pY zXl+8Tq%?^lScV1#^W_ql^JFpwqcjp%$<*mOITq2|$&JVO{2x@Grl3_$Sy<< z8s=PEy&qHdJl$?UP~);EJc~2V%O)JY1EcvyVX||_)0u&LM&1sEUu>Rw~|{ZTybIRd%%o`?#?VnJwe_KK8_z;>Z)amY9P^dCa#Arm^5E zwMW73fMlO}n_Rlg%eKQby&_t)tuU=~&OrlPVE=QVRH=1At&js10vnU@(wg(^r_p_j zdXY8!sD#G0RK=b$X(R9YtlFAY(SXcD2WI&+r~0?rk9NdX3NJn0c&8{&bmejNB1Mz8 z(@WHwiQF`tol?S}>F9L3;fZ&Q%im$Qh)4|w97VdE8I(C-xA2a6@NhT+Wyx)$6g!d2 zc_G3HcD1Vb7^}#RfP4B<+NC)Q6{Z#Nb*XWbRvitm$W%Y7jy6|Gz89EmPQld)BB;(7 zEh3cIR3-{L*JvIB+R*4zkAv2`&?|ryHmQHEg!_-j)=8fJ(yUs z>d0jJU8LaVY%b%qtv%j;HPvU5gA?FY`@Mp9mItoyY2D&3uUoJI40O-cBQwbrkHA0V zURL$yM|r<2Epkuxbid;l8wd7joqIJcI!O-7nl~?UR5ibOZLYnny=11XDcipVfd(tP z(j(uI2%huhK}w&`!w@ofB6zrsLClTSGHxPPU@K{LJuzHW{ zPz}b?1m!l)1tltevA!0qb9jx@NObv1@7ju@t`ODx@?v6o1yXY8X6@9NMtBv`@!oT?|g~g=cgC#M6Y2#a1m|4cFeXS=A&JF&wW{K z$IdG3<_^et@b%dayL10+jB(~BTGGMV^X+FW^mj4^leX8Bn&*N$EqhJUJb4{uRdA<3 z!?ukG^yflEH@hzd(teDN6<%ifyzYD}Xa1!h&Q|eN5r>!94;I(+_cz})z#FW1oZ&zR z&0L1`W7d1X!Ek(w>_t+P5Ywv8pm1@YV)d2a+)ohTnEhcvbNGVK(CzCJi`JN6PsK6BbR! zXc@tXk&zFqVY;}fR6fv<>ZQK?J}F8{$PQf!9y!ZL9otY~)JPIIDhLw3Kz5{E{kL~K zBsbFBoVKdm`StlM0oXzCwgev5SiiVU!h0^EmLzD|8?CB~hSXCN`tm&s&7~h!#{%U~ zislLDh`%tt{4#$zN_brVEG(Y=%et8j!K=RBfLd<+<{T9Da1CxRUC4{i?E}wk*~I<^ zm%{jum*AO)qH(yVEe6bzM@!-ciMc+XAY0O-k)nIvK^1F$2#~$-`etD@Ac$EDy8yXE zH=CdjH=74lYrg)$QR>&R=TPde;R)_muSlAwv>FX4p#dkB9uhKYD7E-S3HUhXNTP3D z0X2z&Ckqja_lS!H*@nA*mUm9{S3|OlEzpG!a;uQ7!e#IDcG4kBA%%+~>&KsHZ4sH8&r=MVv6~l)w|7=jphvuQGf=9zO{V zn26orRKq#=x$p)BFHq(H^Vi7LDyVu-cP}@Ll8>=ch`RRlTrShPrh&WZN|gu5(H6-r zC72E-^?x&(v~<-ZQkd#>ksqJMQw_|D=8Q;<#IW!({aJ@7LqG&J3t9DLO`f@!PMcs) z2X@Ab;db*Qe@pK|PZD!xy(Rzf)I4=(sb!gWVP0MGiP4o@UcvdADwsK5Gt&dgeRbCe z1C253yu3GW%44@2rGCXhlCpI-)6}rKKmcPA{k;`FCqkT%VeZvqsrhX;FRW6t6+eep z%_m=9+8)Jmq_Hs!f=j63l7Wt}Fr0`lAUH6pfKcv%QH&wxVEy20vW?|g`eyR)cDvWr z8tK@3r1LntS}d367jH0hnrTz@<&pk+l+BW3oZ+Zapow~z&l_k{$x6n>);RU~4dDe` zDs~6r3fbV2wS+RI%*yv%W*4sWQ(w~z?9g%=__U#^?-JbsuM~bbWGJ_GzV~sMi`|{W zeWT)Uke4!|lQi>lVWi7tmhz#)kkxdok$24~Gi$#;nGw4zf3zzASY`4i^I(O?sX{Fw z6#yU8WJmFpHR&Vc-Ay?*uF=#R_GGo+BD{Z?d`|8SE~#oz?3$dv>ay4UX^mt~N%H$_ zqxZmKYH+Ta(r{s=<=M!aqDanGe1uDiz2+heI3<7b6SW< zaW&ODA}7-&d!n$?!Us+@D>3=8%B}8o@2~J|zLU6kggs=KB>D_caQZ|Z9GhpB8P71B z`Wxw2G!pxNeBFRM{{Gr)GCZLwNPxbf}qpST2%pCG&z z%%T=CVlx&d8)ATw{ZUoU=VM03?Vs?r87u+#O_`nDgk9yeE{mS}JMcW``#C#xL7CQv z>B;p~)}?KTbkWu*+~Fv@R<+2Rx=r{#t=x6YMKb}Or;kltXMARpy^(jvvkgIr8Czeo zR!Yv1vmpq<9D{fNuBb@qi?Na+n%eMk{{WjknsYk08g=E`f?4#0l|j2zKz7s%!WG#xa=*h%uD?;1{5J~VPO*u58NF={E{k30kR zS4LgDXrq=&JmDT((j#|gE3?J%i$>b=#KCq21EW}t)NK=5oQ!+I+)V@fvmCQDVNHYe z%ccW2<+%h|rI#m0N843KOx>m1{~!Af3>Ni;gGuC|oFv?4?6i`Yogy^bmkrYO1I7sZ z$EOs$iXJ$0O8vaQH&}l_E|B-h<-0lFef$4&X?Lb`L%Glurjs_#1>DlkluhZHBDWL* zd^16gP87H;ehN=11nmes#5iT-relNe@y1nCxy5^LuJ>eJ(M;_4sIjT~J$E{nk(USj z4~DCjde=Ni7YAw=GZG%$ms$sUhUsqRX7*tfOOjEX%lebUhF_oD&1pd?2Zai;PpMo? z!fdZhl~eVMe=cxN-wB{=D0rc#zdW6No7lVzwUpN5xieOg_iFz6y*26fSgjlpe?p#~ zV?%m9d^Wt?SWRPY6SS8Z0#l7{ehOBK&C0B~K6Z-!o%a5KTuL1hC9r(WMhD4A{pB|I zA@6wThS$bZW1eSv8M_jyYpal&&(C+KWOx|J9v|Pz8_mpi*|vG-WVhDfBGkyXt>SxO zxbUHP*wqL2!gT5Ak5e)?@pTf`%wlB|PwsiZlldxwmM3uih;G8Zbcwj2^+|S3D|IHL zOSFy*qrRTO&Hd`}S@v^xTBO*dis#c8oN7;hhx@ZQ>uL639Z$JF14s@a@oy@%9tR>H z6Yqr=fe&1W@ODJeq@N7Chm@SjyfAT}KPXteubhT0rvUA?NiAkjMr@D?C%Wd0+M~7$ zGzKsC%mF2idr+cE9m7c&q`j1(e^zz?EFQO`SLsOz>_K31LAv2E*t*haHt`P{xvGix=XSR@nO3$z`qYCRzK9G^nID_e6f) z`NQXzM*ybOIazmVlsULYWU=iO?{Z0W`%$EUAAK-iBy5LipFFe=KZ))}fr(%q)^9 zi}Mhb)MPSwc>Pkw27rT0A*0jLC-RZ|2w<#CMY&rq0>ctM*AhJZ?H>|8u8Z{2A6;7; zfM2T3@#q)LN2G_gD;vubZ;8$K-p4-&@YV_vXD^9}=lC_Q*Tmopon$_F1f%Fb`ih2a zznXnbPzkvJ^`!u5KLp8e0q271(L2LWfXeNflU~6*l)vW@*lFaP$%WT6Z&56|$*(Up zcq8bU1Jzp(k7i;5GZ7TxRz1WR`feZ1UHgb3v)ck`8zzMI^a#3G3_y+;TlC$d|N3|| zo)|MP(IdgrBV*ZX@Z~!~2$?`@p@B_>(}%A2p-i;{4?p@}zyHbMKYjTB*?j>7xp7CZ zK!$F6jA074Ur$mj#FS*_2?Cb$ct_Sh=!|kOu=cj;9LB8CaYD~3x0;2b|6fMeM-%h< z7cjcDI>$~N0U58eKx4g)#Kj|wU_8R*i`q8dKKvGMxHQ{=5nIwN7aVCL9N$aF53JRe zy-F~(s0#sYM;*O{69 zWOI|-Bsd!U5%>!^#XK3H59}6abo2?ZXuEc2nl;@prgT5rKMzh}_9$P|F!%c7i^yNw zKVxfS0VnpE&SD$}Wjgd7E=ys&RP(kHY>C4o=ID{@@PMQMaJAQy40@cqN&x3}I>uL{ zLux+}c_78Vr(s=wxoco}MSA1N(X1L{EOGK3Yi%^$QQ!ZJ z3>OpTKn))QGFkR_=TnLRRAZO+0OsZ${3wS{~@CR@O|EgXw#hd7#RD^k2hlkPGdpuW!SZc2i_mO z|05-}An4sc^qsP`Ov)H6!2^&`Q=h^wME^e$A_CfWP8`q;N@Vm{n7da~dZ9Jb<*w~6 zmd&HX@gEVT(8FB!WS&VfD9gZMh@7kWoW25guD$s{ETOB-&u{-fvU!6uNm$GZ=d~6z z=RAS487Mtmkv3%!^n5i!f8hwV`b){dJL!SmLs%5{h_ZMAgNR2H@j^3LItJRm1-y9F zBPz}#?*Lg@WX8}bjQs@QqMm?cLXKg)BW>9Q$q@IHyc-Fi`={R{>5yGR^DdODDn02- zjX=hIiJv{#!K`wZr&bDH&|dFoL;Drf`8`=Ck_P(Q4xmQ1pvuM449c9ob`y~SFBv_` zwf4G2|7R$vFws-8F|KEn&mvyJc^1_#k62qc1%^%seq{S`Yo z)Owh&k5mhS*}n;m75yJwCu&h(D5yv?ehj`a zXY~_z_WM!i2O~+u|D(Ym7o-lxE09aZ6D}@hS_aB zG~de@vh~a-#aKLIWRH>_{uxXI59pQ`%CAQ{!4%o-<7An#o$qnf&bvl z-$MD%qnyB{OKq_Ao8b%2`x zS1{mL^B;^pQVX#XlqWISk>ngl7Lx`#64sfc-U*@i!)$|pjQ792vj#x#e0r8;BABhe z#x4S5|9h%`j2%&zYbAUZ5jatxE^nnbbFbn*c=2l#zxLn1k|9F|BV1mp=Z#?sV#g(w z(EVA~eBy6auZJbwH6^@q%(oTE&&XY*ti;B=e8WSrPJl|<(eyS^uZs}@6MMc^fV=&bf195-r*Cg0pnfjGR3kGF( zP{-&CXGmFneIo8$yL94mS4<(p!moGWU)#>&1RMm-aq*8XrbvN`?Y((suymZw4fE8G!xAw@EM4y1>h-40Q zOpgD*Bx4Kb-avDdLK-1v_UFS@wV^+SssI04)lDQ*&D*_K*9BK?j>}RGcIr~T;FZ69 zgKx5E-rYR+c&Tyvf}wd{`-j_jOv>pn*W;>`L(d1MNP#z(}eh=vn(TE|U;b$Xd_mL()5)GG;OgGbClI*60y&c9UNa`;w z0)lUwQYz>_qul?i_mTlhw!fPH(fd)d9mmtwC(_YJy>~dsbpLJJ|LENv>D}Z;*8wRw z9kp+No;eq8pEF=M&RMS7Ydb*JDx({TQ{_Ld)do*Xz69ECG~F5qx`>jTmYCZo4Cej+?cJ% z_Gj_j4QSB9Fcf8|Jf}_mmrkK!#v^u1q}(inD2UmI=xvja^mj}ktE)gi`&&(ao#o2M zVK1D|>OF@k4)$>Q2_NNk6I{5h|8pn)Jq8P5Xc)kQmO%)U1!LZNuE9*N?j$ApUrUDO zdmcF%WRfJ$OcF!Gh|or5YI&cI%AySO>A%J({RS6!$L^!^dVB{W=0tPQXf=DrernxqBJB*|R3RQOzVq{C2sE&xHS)3S1k$`JFUGQ=kXUhWb@e zH((m~X?QXIvQ%goreFv;{X{)4HXsfN9hKh;ff%#|2NT7vw|^N}-vClrzi${uyWj;u zJ*$-aFpaqpAL8Ge>99XE)mFQXz14m2Q)X_R50@$CsJLHVfs3VI^H zP0@w{B$%!TbN~p&`1p={RZxkf?t8zYBC2~vm;uUUpdqO(AG!ZsCTT9vwt=Ql1;*!S z2MioLoPta$6+nDn#sHf9(D}f zsOHVq!zrZt^x(;rKa_CkI_On?jHv;l1<9a;ySGmgzHc&Hd7(mi(*Q*EmGPR`AF5r( z1b&x%$@y1BFdJ>$|F6Fg>B0|88!v5v_@_}JTy%+*hVRzpS0x^hBx9RbHc$+3_mMx# zEU>vKxI5PYA>uGXP9U%apxJ=|gL|uuW@935y_!kFE^$)RHW%<8TK_RQ!~^NRp*ll2 ze~aQrBZx|l4w+Gk){M|l=)M4Vf&;g!F@Go4*|0yfv=2;JN^%UqxZiPq^LuTS_Cy@S zGA~oqY>UW!lr!NAips@1Doc5@`ewMgzr3T!Oh+Q7|RfrH!nq~ zKqNL?W5ihpDo+ZTNQJeTC5Gq^g*r9Lo&95-T;RUBkZJk_+o=fuz=)gDl8F$s$6Yzs zfySoUi#oPLn4P`Kr2@u5*}g< z;Uw9tXl2hCIvXK=YpuS5e=bYqr8l*oGnkx~~5lGGw*6L~>3bp<*@~-a> z-S#-=BPASu=78bAXx)vBOPT@7jB#?je5x$m+D`DK+Z7NF!;m~g8+6-2Hgy#s$lzYn8hykgG4UoLk-s~bbXU5?vX+JL`QL&($gD|qp$C-o!1HH>w zM_JP2+^YOIBrR(MLQdwuw=`%J8^43((qYp&E02iS7B(Jt1?&zXG2a+I6X$hlaR6MK zj69LM2WA#o0&@y|XBFjh@u~xJq&qvg^5f*@29D7Sx1%K4tE9Ak$WK=A|=dS38}2!g_iZl+AHqDj(EqP?@Txx3biEK zE`@_+&ZrcIa93FniHLq+dWt!n!f2_^6v@V@!L0Q8KJa(gzBzfJ6k?z|etJT~7H5Hz za_hlQf)PBdNeGmql*Cp`85{*T^X)TRbY$a~)`7t_0ihU0kVlvp#h2@WFIHG3aUW6& z$#AOay}lU}`Q|LNvt`6F4j6a?Ij{`^Yl19;!|D&e6WLBIU5^_Bu?OPB1V@co<>Woc z(tZ>}a+A3xI~Ne0GNtQ~;2@Y*Q0WTUSY;`+9hXuO{E!{VbC*?6aN!o4)w03xInwhk zKcBnER88Bo=wjrhCV&nqsYZRSsN2euG1i&U`Nb?Pqgfmlmj@IsMMB{-Q^Vi94?cM- z5c=JcLed67?TK(^ic2uP98{mM=Exy18^^+NK=0FBmbd15xOIAuSR}!PPx&ZG{7_$0 zRN$z1A5Y_LzY-e-9&*+GGaGui_iPipl2?B;`|+0aXL9YHPfR-NpyUBw6Z16!c9jRQ zv*bM2n9nk3KVpm(AGk4U0eTQC~$NUd&` zyRNT2d)~L-*;hYUwcLu57*ns$e)ilWqiVPA61kAoKxzzMoUp?!M-KPOSx_zU#}88w zx+e?4lBwK_Y8?R*z~vI@Nmj^4)W3l>wG9}HbH=M6_t+m_VTV7#ELe<5qRK9G+?f6F zfolWBHF}}?zHie_EDsOcob;0d3F`8^7QG~Rc;7xMHcn{PZA8yXsmDN~Ss&z~=JCn8 z1B_)AB7pacANrLeDE()&G}KmCGMlup+GO9W2J| z|3G(aH@U(xY#fO-<0kc*Qp6Z|EZ)}azys4~`xI3)EWoeHZ}znujvgu0g)trflGRf8 zahp%}^SR;7)?D&WD)te+Mr8lv%9Gbw2b9Ldw2U-02#g4!gft38EkC9?$m>0{ed%Oz zWd}ZD0(|%H<5V;Fp9`93ucke|53UAdqHU&AA}p zgMzM#4`oaa>xqHTnP?5256^)FY}VJ%V+fV#)cH&|(}qFYR5)kLTV2RM#eD=$mgt8S z!}0!=?zZVNL{Fyl1Y3(<@U;j8uf8GS#ottI&1TVVIIa{p?%)=$u{-UQWy=lQ+ISt}wYdWQ;S+o`^8p;|+f7 zh*6&-jD6fa@#a|xK4+oN7*wp;_9eV;q$k*aRSmnpsQ*0iV#pgFQIEV`{{cRNk-UBi zG_E3*P5aWq$5Ro<9+u2W9UCG=$0U+QL;heeKyUUl3&s9<3v%k}-)J}ceepV_{Ph5j zsB?SJZ8E|OAkWG5>vel9s;4SO?8J~mI(~rd#0X6D#2VQZI)}H!A1)=t+akH)w4g~J zxQ!oE9d~oT(Rv~R#h%z-hbLEN_o{rw#xSoWhpNn@r4O>AV@C-J3RQJo2QmgOamA~| z$1Fa%O2@}_@`bXn_&7q62LRbSc2paoO++>7!U_BLs*}#2FfTbiRn!_#Ic44StZk~O ztyI_JbQ8)|H)dzSKC=uJ5NO(GqxXGi4{wFsnD_mImhSZ@x&podL~8)XHfa%o$4;S z>aksmpM@(^xt%pGh9&RoL1C}Px@VnFBjGq09 z@W{1-8Npvx1~D~J6h`9TlFhAn>F%f6vq?Am%}uDTJd%EnHpRK0`bzo)#f-ftLccg* z2kFjxZ_i2cnT?Hno=`1Z8Ln7$Wo|-EGm{SEPCgSEvFkGN{=JSMfL2^yx*t1E%9Ml$ z_q6>)S(Z!VAHTa>IC}3{?R|VAh!7(+GRZWu3Dz~*goX6+nB`m%QJC*li z2?*{&vZe)Oj0RhxLX^y}I`OTgz5fC={Qg-L9eiH8+v1ett6D;drs6}pweRR~9%4K! z*$m9USmj2e4+xlA{eGwJyBP_~lCRF#@n`!u=5NYOd-22RY|;bOEX`ISarG7yb$TzH z^SM#aBWO@)gsJUod2QLAbRl@RA2)f=-`9EoTkaOxASS*~H#mu?g`6QV-9&)=F7zEfd@F>DWfaafA*8evP`Fwl3DIlTO>^j_ zmt0r-ASJJzKdBz00>J6(4ycWH?J)=87~|K4mk}(>A>62Mxy0mV`7TzfBZGKpCKj_TiA$Isj zH$Cj=Q0%q1MMWaELmadpc-!#fai);*Y)&H04ZhlI(|ZW*8@NnLF=XA_Pm_PVCG)bf2BoRa z^$n+qS=XJ|jbXc63pbXhs1hVw-WG};(P$0;dX@7vmmwi}f>rjb$T?!QwHifJ6wu%z z$usf?rvskoFd9PzE5*)Nif4)*Ebi2p|Ik${Fa&e53P>%*?Jcs-fVNAVKojf=WxPh9 z;8)bL10XPmGo|(|5kLBU-c+9w4QZ$AkL`K?Kh|1+{BW(4>|?$#(6iz=vq%e%Jku2@ z`1tPIhjYo|&fu+=0#fg;fLb4CFK@~|I3YH0jQLvz*jAao(Z+flzwZG&3oO+Z0a-CJ zTDKlCH{XT)&yaH9NN4u$jnN;>NSe$~vKJcFEHT}hV0X%y!$YnyaG%?cEM|8`+A11M zWuWrUi-Ft!)Y|~z{zDRpApzRkxdNEw-fQT)sNaLTUSx{f^xH=nlYA#E$}$RK0`CHn z>Z;)u{3Ey zSxAOwvHp8-zk`FDim;rt^E_Sdx09`l0atwNT`l5^rO12UX+0GebW(evE2`^+6m7IK zPKH4}eXJsnRs$HZYmc)=`avPI_Y=(CF2(%deX9>8q9V165c0e83EN;M6zNzq6wkb} zn=phN%_|&3O7??F!a1ZCZ2r#QG52@C15V(a`}~5?GmGdO&{G^H!E*zrVvi>Ehfo71&Tl2FAl=cXf?B?)%G79$&tpr}LofFc(^&mT?P?^q_(~VC z=si4h_0LF}-!lnu)7GdoI=nCab@9wOigVHG!?9$Ot(ORcK=R={#&0}{B0n8$;xhD&|0mHeg)`KKCE=r*lY0g zRb?Z$7R7jhSFc`T7;%}W_?#ad#$6jeX%3#>`0escyRtzIGg|G{9k?%#$Y9e(wIA4& zBRJ{9RQ%&KHjk@s`(g}(=+0`JXd1hXXQVTb{jj399dFW(zILXj={^^Ek4>+Qbw}C& zbxl$^-;|92{Z%#H4^+Xwu>fSh&p7FnTd>9Rk~y00+TYK-Ew1&2Cc5`z4cgR7!v$k+ z4kCk47Z$7%yk201-Mk%;Ce%T&-$YUOcy#z@JAYT`c)TH5=aL}anX>sTyRY@z!`4WK z(Dm?i?UW7W zzAj=wo{2VPlelV7HGm3nSfnUEi*bNOK#vTPq->d32;q< zws_nPX*y_YZ`!fV`MH*{hBB#e%C$2X>2$9e-jP^$?=se>^`U?;#qaKU-@=UdCMw~N zJ9^H?oBg&>PV+^G!+?XiM4|lnnO)7fH#O#lyM^qQoqj&5=noh&PhKiY zC7HZ+THQ%i`ww4)NZLpZmMjU~w*}Vr>^hp-gg+XE2}OtWnSUJ?_?vGlOiV+m6PNfi zv$XJXjs&Y>B1mn<#?311pMfHu1r;M?AbJfNIZNxaR82H_YbBM674!F84#%kc8Wy7U zgUA_-I!qjM&ob=vN2;KFiK|L^e`q@ROU-_p=$MQY42fYi$CN!O;Dh=C$Nc|sqz*^O zjwp_Z$hpf6v1n7d1=}eC4tVx_;U#0Q1poRdIKq-X(z778CvIrj>lb}OibBj%i2hi0 z1|R7;kTl1+PY-dvkuU(`BV81W5;}LYL%CQPL{a__8ztdKY@#4NxDjs!bebqoB9+(hQEE;4NZk{cdL( z-VMp}E93kzbRy{#M-XiEQ>TlV_i@1ywj#Vvnh6>$Jd&jIht|PIVV@ntxy&ssOyiE7 zvdfKGNm*@i9MAW!^;Y8sHFI=S3i9DWZ_+kgm9d@jXUYDw82?$a-^bT~$K_vV;eW^FF9+yPpDe{*=m*1Rb{pQBC3tyZ-x3c!kcMbz*~mAwQh)Hy z1*IOF!h6`8C&k^ad(C>@)~_jdY9kYmOr7s7-yRu;8JQ|vq*rMh47z5&hb2W@qDvvj z=y|U+ym=SLB6HX{>d>aj#xq?Z&k zbV7=mcwAwL!_kdGTZam%va2wh)Ki~%L3CkN_%{Jy1$2VHy{Tw2i~xLc>xF z2g0L0?L0zv7z2YVE!;j}x5Zb#Q_7aaJt`};}GP!x!)&U&I=COl5L=r(d4R7u~ zwijCBmYX~LEi|;mIvg>k6&XWf9&xhjp{v)&arklFJM@z)M_9y-Zcnui}RAD3)E9rj{% z>a#sx{xhH6!=Jt70)NtNPxT%QhrtS+5Y!8mRm~8M$d?EjW{@L-1*KK-u`j=JU+M6A zpAoW!QE`)DN94-@4HY>44~%sN{2rqssQaCUA?gibMVbN(vg>I57Z7d4N*{yqiy(~g8rwV z5HS5uLI1O$|5?!gEa?CL9P#!HO(=xL7Z^f=_4-P{Wt$H@1OhIP>e02PGd_&qIDp%?^;Lhnnx^`x&Gd( zWPQgE%;-bdbIpl@syN8VcbF zjX*ai4%@f%iK6`&Xp&I>ODxCKGl6_`vL{A+EIw5$AFU(mN|Cz1YpIKiExQR$WTN5(COO zr*hy}7y(LxxazB7?y?u=Cd+V6q=J8xvS+V>z69lNO%ax*>t$b{T$HKQZchYKpQ`YL zeXsJXYhaHBUUSI+%;IYT{cQsCwlSv{`D-X ziony3a$^0IW15XquQH!oAtAY|1%n|=S#IzB^A`Mf9X}(~Rz->znotLwiCk7XwNePf zM1EcF=2xeesoWndtq|Wc|HW`32{IcrUo{{5n7Zx@=pEb=fN@+|HvH)^@~N9C9FTu4 zLI6q}9ULI;L>My4A*MS7gk)o`o|_L~=|?`$R^+X1+kTn^zH2F4B$%5UT>dA5p{Mf& zio%x_6RsU&0VS}7%pK+5fQUv_%)9e?pRy!ok9CE@oY0aNl_0)2A!uWz*_@h|?>MqZCDaxHJ}U z-3TnVTrL>8;l0~C%iXQSqW5YOs@vs^!6w`;itx12GtDM2Hw0Ry5x@>crc+g+Jowm{ z#eV`Y*9^fjNC5SfVo18r53z~wN*825fy$*LD%WOTz7U)I%=|e@NqFiZpS9WnaPgKP zlL4S7Jrc}qc8*GYwWl5s75~8vUfxr=Ky9F=EILMH#ai z_rqkoKKs!RArMCgnS6{Mgr;kJZ+s_QLdmfugYl;dZW&ydklrMlx&_Hf-OkBUnXi4CL^Z zdtu6^wIkemiaZvXTy3X{bU&qjb-p)R?83FjoSCq(fZqy5GfjYgY%y-h^{fAjiDVkn zk>vg3HxN7bxsR3a(9RJdc232_BfAv{>z8kbsVk<+UC29g4{!ryl0*>P=TV}gJ{=HD z&A+TA&sp>~ZYi3!g6vr-X{P~z7mykO;rQWO_Y+l>MBZfpIrV7ok10ZLxwUyu2=2fC zq5qDeB|I?~9LZCTZ@yqO-wa_)L%7-D0O! zz#f|9ThdvK)SP~Pclr@urWz3U-6-KDw>KYLv^7WhDw)-|F6;G$kI_}w)FUDu0TKJv z$vxEVp(xPs)b(E9`E;fH1h5@GPJ#|xA#gklXzr&!wB^II)-5~EZAtAr8kEBSUZ!2H zg^F+!pp22G`pya+?A@X6p1ufW+*QI?nL|t1SsF7)jdtGw4o zx#nn(6pcz-AbtAa*QtY*>)vR0Zl=A)V-%2`A0m%WIX+%=^OW$r+UQVexm|FO*Iy}S z{dAu1=a%8m==R-yx4U5 zY6ySYT}m%LquDde1BG30M3!0U*y5>{cIKM3dM&9YUpGUuM!(}9p?X8YB_}pw@1FV= z!Hrz12E2p~J7dQ(2m9YxfUZ-@=pWxcB1O<39JvYMnSvp9aLV1>8vIDSL;+Qt8yB#G z?6;+y-3g^QkR>^Y+A+;b;9+w&Hs_JLa8uAzWDlVKmL3a6C5kVyw|gj3YIdv*+_!wt z_JI~TPg%`u_1_8~A@lmM`G0mGg zokl3r*fJoJ%Q2N3&c0)b!c@e;uh^{i8fOYSKXaCrgXePpEHPJX%C+0F3E>6Tgi+d^ ziwFCnb{yvp!ln6t?FoP_8$tbxjX0`X5Bdu1;{As?YdCu6s!m3?29#*(Irw|d^CwfO zreRU&b$dbGfjB$CERUS*am(6ZyD1BeJ9*wONAv{F@>Way{PFd}NAeEtVV;w5)w z`IFMG3GdOT+ttlFk0ft+DfH}3gA=yCAThq)b@J6>><_5xz^5IVwo(p8YS<0xY&Z~Z zwBegm=vchC?U`MpXjojjC{$o?y}eu!quNt2I<>0cZrHMvulbBV2TXo(G6?eA-25+u z;HDhB0bPB3+ALSvKsZYR;L-(g&1d4}dOI{+Z(i#Wf%&-4{M2yUc2zAXF6c-w&Hd7c z0M+Psy8|QB$xBSoX{+0lDzy^;7(G<_@S?|iqmuJWXYArlYnt#lLPzop-*Z_vd*RID zf?iggFb}b#ks~G_T|8w7Xk_iQyo_1%FV%-)bLSr*BSIicGpG0qrnzpa*Q&=Nh@0=S z_N`HDwwks8@wj1zzl=d-7f9v<`2OIWbbtc|2_p23Eh(ODAH-gwm zhQ$2{EB&e5I=O{fdjN7pSk8br1}O80B22wuGJp{W?ybrxxXJ zwRMtfCaaRFPI1i*70i^Y3T?|WAg_fB=M%}J%#y71V}Ufa!m_I;@69gn;Kk8J+xomJ z9kD6B9FuhKt^hqcskb><72>4_1x-#|DnxcwXv?nl`-;Y)7@{2(W57z)oXe9tczbZ& z9de^0w@=bPE(cP%5pV{ixDz$yGV#M>qPwxYK{z+erk5ycRy2exct!|I4J$fjE4JP4 zjn;^&(RNyKr3pwAQsmuea|P#tY5!$!UUD*xyP?-ddK~chD{g;4=h`et$1QFnne`O0 zJeR0=O#St2o{4^`+V$-=t?~0XAiXt0o22cC)Is-3%AG2u(}YJJpb+>DBMr9(w=sX? z*mUaTx^R0amAh=aZ$AWnw){EkjV4qKk5!RhGbwoRJqrf1B{u{K`j3S#k8Z?xw}j(w zuvkAVu?}f9BukwS^JYSf=MYOSd4SA&{PaIPq}CMkcJ zIe7IQIdhuFnoD_etg@d&@cCfU(<;Hbg}@)|O{i3-+m}W)widT0zSb>&;(9S;S(!+Y zdMa!&WLQ{i`>{-Y_=vS(I7KYt360om=uZLk|Jp!YKacIADq5Q>v4rq4z~BV(rsBpt zXxSIPp}N&8?C)QMeU0wIOZj7gg7bvs%O4lyt!|+i;#=IrlinUL%?*isd*{o z?FBigIzX!c1a(inB&%BgMwKBb$Nn9_)s-UTrlm@bu5I`Rg4I6*rG88;sBn8(EXb5_jnNo{|%=Ucm4E6jqp zNWf4AezyF@B3*L~Q+n|PH)qcak^qLaMLgl1PaqPwaz>ORDQE~q^ZXB&z!LX~tv6qs zw1#RRH$;!@b1z&1ZS^ z-q^ZLW~8t;eu7~I=&26DB?_NZdk%4U?yiOTD`)RKq;nJme?QjKI(E1q79=KPRkHQ+ z>-bO9mUBoG>OB7DCy8ivLmf9bt=_WSxsn^R)gAj1VX*D%(yhHNXhZM10fM~;W=?b%{fq?e9ETBZCmsWDz$ndxS7~po`!YhV5`8} z7W~M|b_w(TSyOkyqtT zjZPDuJ7p`EQDyR557_BK(+vkUt)nDAH+AR=>z3A8(%C#?;9tjhC1`60SMZDy#;*fW z9R|E!K-hn789%U%p3DVp%&`c((1d}h?=4p)Z{FolcqUr5a{C!=)vBTFr{(QR(`B7^ z#mB9oO7r;;wHw5%J034K$-0QhNB?+v* z5B(gwQWMBCyZ>=D&p;pD?aM6)HE{=b$sYzvh!!;9ywjC2n27ON3+{I_&Wp%)sC|B| z$7%!|uhqAtH%{}rvWnTUiMkpn$DJfStQQ5ybvr2Ewi)-PkE(ON<7S8MM+PqY9{ntL z>!yr?55rNV(@dV~=UR_lv^TREw^eelcfOaSS#68T*+-5ub&Bv`F->eZ&S+D~g#}6|()Us^QP`nL|Tr;;uBZBDpbYFr-1iF{Oj`CqWn^Ob2$r- za_N@)74Nz3>VQrtwRJ8Z#laSQVPg^!iCn&eDe&Z?{N2UZ{HSz7=e8eEK1I$rh3##MldE zEyIvCglt1(8T*iZEXj}&?&~!^pWp9Z&bj}*&$-X}{`EQU^LcyE>vg@Z>w0dF~e>s3T@I=rL7`z@^KIi)&)G}O&7mD738HTU^K=|Tn8OH|W(gc#z-+PTD?dpH% zv8`d-36MDB0h8!TuoG7QBa)7_VF%oTjSxQl(YZmqZ+QKmT29 z>agXJ4bZpf9yW7Vr~~MFwS?S|P{1F+27xL`q=R5wp2E1%dJc?GgFjq~Rym#^mw*K{ z;o0F6$kCv`YBT}Tg3h;=eVjl1j1-jL4^_ZbU5enTRQ%vv@p`9uz(5}9lOCL0nITFYeULS%wpY=~gy>KbQEJY@?Ru5!D ziz}oXX-7-9ZvKbq0}x!$I%%Tz=8QfZkkq-{Vd4PD&IJl{g{*NWsp~RNWg9K{HvXCq zb{dlHtu;{UE?hG5ajoq)2Ms$?q3*S7T<$yN(l9mx;=Pd%PWnIb{u+q)WLJfp1Yb!B zT7fb&iHmX(w0=^a*tZM*r+&P+prFs^zV|Kfk6kw9=kM3!Mxn$4A`(D`1OfsrtXntV zRrx&a!K9xksJ8*3`pTbFc_f~-6GvMcaLrig<#;?@!6^6JVj9I{^%% zZZGIzeJsb%CRZ%-c;)uHY?D<1vVXdp;<@Vl6w@w9quB1A2TBKZrz+*e-M1cmM4#dz zv!bFvm-8Nxt~fNHbs#UX2oWQN`znWA(uZ~-x4&Mn!FmKEP-@&{jy3ZNIc50N3|(Rp zJj@;Ve9pPuA4p{mUN*5$HZ=8_n`qkI_qyR;%5z}6g`ED^UMa53ZB`BVPbS;HhBi~T z;a1NYhKn!sxmnKPY$tT~0tAl3p9L7>`%-`J?x4M>^H6r~g;@KfMS8H$4{6ytj0@Cc zf{H?)>VkFsy1AEf?JT?-xH+ts6MwmgQB99+tsYjxZ21t|Y1Xjhr^?}#rE~vP@#9|# z@A>ziy049t&+W84d-RQznhRzK)JEDAeJrQ|GRDHxzOm$uAlVb!>xYCaI<|Qg$V8tE z1ajv-@c&wYE3r&s`nohd0^AXQEx#dt?HUi+ADdRLpiY#ssC_*%M*6z;w@Ry|<@5bj+4({hdo4tDw5fBdconSzyUj+e_pf1)f zPEYaS)Z%p(=oRjjK|p>8e2jeHtJupj4f?_NiihJoBoCgw$vmH#^}c5fX1O|~!M?OD z0X|7)O6JHh`KtdU_#|xC9zXw0t{PU*?oYHV5iyf}IXJotdeBM18$r`rH)ZUq>rINF zo5R(>ccH|xeCuO9u-Bq%XVvY#$O5q^-@kw?Z?Hyl>N=bQUhEaf#vtdsl$*>|sQF2* z3Cv`H>IKs`rAsze=~O9hsvJd!W#~bFwMT)c8f(2w#PU#PQ~b-|JF%*P;&nse%0J}e zfi9_390H|;V$IFNre{WJE`RBcGG9LIz5RXsqh2+gZc)V)V6JYsg2pC`)SqhYU>{@+ z`3(hmfyqk$+Lz$l?k3B8s|k(`Nvj8f|Jp9mms|s%4uFpRTmD*0-&L@<^8c&#hupd- z;NIWcvl$ZVCXOVG7rFl;G+9QXcBg{eD_B%^UXmq$#Fnbz77c#1j;)j!6?^S&ZA73N ze*Q8hUAZSgg(deiUXn_6eMs6E=gTrdW$84U1tWTS4{IxfpAOq3u6HrDH4 z9YIhry}1i!HEferSQJ<6%fdPXiNmw0x;=8bDEcZx6T)s@-SvH+2~m4nc8XYN2w@S0 zA|Isuk`?;_`!W->iwe0JQAZm+HM;4~gNY*{59DP0X|BGi9w?vMn2#FO5%9$m&AM>Mhd)G7QR-n7$R>CL)UE#Je=x+x60OQxu#mv@UgC%7 z5c_I8VluBHu*8UO#PV%$bPqW;FyE__5H>>z7?g~vZ90IG%CJ(F0 zmAooD!kax&B=MQs6%*i9P3t#ODrR-CVnlnCRn2l2<>j|(?u~Z?ndEfJLE@lmKx~Rs z{|i4tsz>IMsB7l>V0mBs_TRwKl$605ptE9jN$X%8NT*cO0m+EDoi#)0;*+bi#VJNq zQjsmdA+lJYVS7NJ`y;FTaPhm*q{X!eaSQ=?6UAP5Y80_SJy;9cJ znn|AAwjhFGg>H&?&v@5MvslcChIH{GCz-nfeTC5}sl7axjIG1$G?XKIRQvjQcpZK` zrT}Y8|1$Yaxg$@T$Dl=V;OK9tssGO_D?a6L@ULYz!-7EbhY=p(;m4Oq^_~yWXQCoF z_JIET1%P++X2ldZ2F~$)*Z*EHeuWJi&_VRnHrQh(E2 zb#Wy6%W%#QQ`z*j0^<8s1Kzg-l+~Aj04a{!N)&MHh?03 z3ec{-L@r4kEw49|^+UyoFLjfBV0VwpZj!KqWE8dZ*D}_~6H-%{ z`dO_4KcO1mImZt|mJ>Z*SAlOd+U`L(+g1a}W8S9Jxk%n7<*_z}IK*26N0yI1juO;b z1P!Tp91}3lcrSQ$q`K=?I?qC{@0y)P_%;hDwwK&-;XjdBM|`dW?pAgHXt*V{I{)(p zBeu6$tVz2bmD>{_nccJeo<;S7349Wk=N>7T|CD4+6aZPcZz%PW1l)Y8L=7%|26g;1 zC2jJ_(<7=d@Q2#2$`(OFB$(m&zVH0=O!{gF>p3By1R?UsD4YQ{vGfZWKxs}<5E=7!R%@pI-RiT3 zN?QiZIaqdXCFz$GAn@V3XR@;*xRlMA7c*5R>dzeL2bsIY6uwGPNK+89>I4Ug>K%^xBk^T_l_= zeJLoMDs}YQNUsM11+~L+H0kdEwzlT7+T@92Fk}t{yR9{Q`sWy#dGi=jYWBy=7Mi4! z(LoQu#&YW<>2WH-viy)#U_6Fl=Ta-4U)P$J03SSO%ASnGvJ{u%|sdq(1AD z;|NQ{GryrB1?KAz3naE^Y-4aquI=#7jKnP*V%UCG-MVg9-NJH1>T*Z9c}^L<_ieF# zbXq0?-qiQe$6~&yo=iH|3@~AxGh2M-+TCjh|GOm&$ ztvFP?ftdXAf5&9HJ13t!w&Mx6dW$W&W3h71VcL-)D)N_UEDiCotf#c!nlCL5GNDoA_lpPsBJm4MR;`LE>woM1Z}+*kA6Z5qB|5tNmWb*t7B5aWpm zCQZX8kd*u{E|W9EF(>BZZy8dr?I|6U7qK(sYvpd7b9sw3fuq&u3^&rT95<>x%H=97 zS9#+@nZJ4XnuyhLy*>3W@^xAz)0-39OxCc>1cFqCiBiG;a^4yC74t+<-06t@pTnxy`z8kSK&J@VsgDbAy|KphxbttINPfsLNW|D z*$3aw7mGRuy+5CoEwd$DWTb`u48QAc4VRPUwW_mmEo>V8j|2#wsgSgWt*tZt;MH;a@jjty*?-ml!T;5b&R5h@a!1$}43o z;-#-Iwr&#swy!-mLGvsQ=)#SQvkk*8mMquJn8JN?(|VUno~%Wr@CHIJXwjihwQnJ2 z@Z1t!H`OEFO2k?(hD4wa9JwP=L=pSQ*U@{y<-boV-_I0c+iSLA5(~;dL$iM-1Csub zxN?e=)h#6-r;g>ONpqxKedayL34cFr?j59hEdFTwFbCgCkBM@@L;;Bq=K@^Tvoi-4 zcc#YUDPwplAAH|K-n&*5IT+nxOwk@nA3(j()gV4ctlMo>jTEdi-957d(X_ zQ>^nTpU~~B+xK3Z(=8=4%U9*0bPj1uYwr$BlZ&U<-q$*xu5U3qgRE6H*OF*-N|ncn{tsV8UJ_~W8g#RBIK|vK<51|*Lq8Gl3+;W% zYdO7?rdYDmL`wY3kIE-u@Gjn*-tleL)i>=u4-YIjN>em$)e6YVxrn)^*h*#`+?o5k z%s=^wC4DW>;uHSaaOF@b(TOU_wH!9z&9;&Ey2`a$0u_3id(D2YD3SlA)kGft)qx~`6JE)9qXGeEZV(0`m9!P`0c!cQ7cz@mh#s5 zOFj}nZ_h1+L}&ZS$9R8YEo?aQ==haP!! z63@m1dP@vnA=&QI(bRczUjF%*JV6T1vy%I0`BIh@9gA7j=QnrmTU7n~s&_TChi&6R zyvP0OiBy5<0=REl$l&GQ0iS=*e4->iyv>R>98E9vD?UITSkQfwE%M|Gt!;EMuEu}) zd5`7;Bh0z`w!H2U=nkW&*S4)6!3bWbGSwBW9W`DMkUvq#-K*sU4gkk^$9n4&sggQ- z{9z=-h zo49C6_iJG6vzFw`;!UH~%mOq2LsTzbOJMlup>T&;wE% zR!IHpqzjSMDy4Sdb4KWrnjbR;03SPAs6C#4^`{3+Oh0to*nr?HHh3~87A^e3;CYZ; zQgGAl3hfrZtDz(5z9gJspA*kr3PMVxa8d^OCIWrM(n)F8J}IHPeHGiT0Bi0C;li zO7*K3wMPuyEU=I6x8Yixkel!9_ z)GZ-cBy>0b9ANTG$FeiiA@;-58q966k!~XyYw!g`nlJcQw=<=ml;6l;ZIsNvN6Kor zj{8Ykl9%d8|#I;(thN$TVdu~neln#V|7biX*tfb8WN;M7=!wDoEff7lm4Vd_)1R-=G5Fc{Akof z!S7A}gVjMey6Zc!B*6zeY*S;ra7ULGiFLnPJ#{qLGc1g^J2-P<`9{LAb&TaT1v9j=; z2Xjq|Kd4L#S<`U)!|Em@q9`-7H|_>vbv-@X2luN9d>)O}dhbprG zVx~MU+O5wo$1pQx3m4m#Iez4Gos=G_L!cGQ@GA9q^OlizGk#`={a7#+jJ!Z#VSCux z%0cDOfqq5~JN3>?;?Trqp^(`nb)jlR{03dFtgBthnr^(}LNB`aww*TJqO7l7`=a9~ z1{VK2Vs)6FOMFyxg;FSucu}X+RpxHS`Um}K6&-ayd&K4bu08XB9f7&>Hqm2vDg1`b z)(U*bTzAjTFC}e_{$DB5!*}aDu>$$x%@O;lOQ^S4J+&6RUX`>}wF_ot6C9Ej6T0jy zLTZ=?`cN{5g0xX3{?h^c`8VSdse2X;HtJ`(m@=&&PSVV$U)sBu3-KbPk-y_#n|vrv zH(`%rZ{A%4?2}Q1~$@`deU+%Yw7}|V<3Bc7p&#r{7K3KUpJvPB3;Z)93n*7 zndgLpiWW+45GeSu-Oe{DGVQXK5JU3*-KXn8?DmvAJdio_`(nXTP=;h=zNx#ROM96e z{D_sM82iGa!E*6_4Rh8}Zo6q!`ayAp(=ejesh|XYa#7($$;f;+@_g~1RWcXRhkqN) ztv3(a5f%pqbvXP){51=@(^}O(4cFddE7HFdA5?y1G3_%tDiCnziNGs&iC@_5x>uJy zMb(O0OE+2%L0`b(Up+bDXL7a$D@Ya~14YrVGsl(dIk%(SU!-rU08yFN??}kAJo7-; zFkbXW zW>QC)PU9p!M$%oqm)xRS#K0%=HMR&P;X5)wVd|^2+H~mgi^H1cY8)Ezyl{NohyPSn z;Ako)_ey5qhf$t*v!!VsY*Qur89wOA2$@JTRDEm%2F6&uI)h{s80-v6ilXt?;^Lr%a0P0B0)reVA zzWtE@iV%{^qXuUfkM+K#6?t9axQ_MyXmM5smK46^0?zqr|_TV_0O9ikuo=% zm-(GT?N6uJkm}w)hTOWYpA2ee!+{J+(n-%GU0)@2Zg;{+r=y5e+*UMZxa6FwkItUz zmgR4ao zOwsXQy;fv@oXx%}gD@in;rJQIpqY)ETDzoY`@ zB^M+tNhzQ3#p8rk`A6~xlA@hbA@o82pP&bl-db4mMN-sd?P*j#R`3Xfrd|{8iaaip zb_0d%dGNX_@gv7|Y2@+i>U(qXk|JRLN9a)s?H7GW??JV#1RjO*ISWa&#aj6I_)wxY z^p9ms*r1TU`+=9`H1u^(fJqgVgWUc9Xe}#qkanWnMT;0s(yw{*LXYBv4Pb>Z9!=VVm$i?lRLyv~H>7b`jvDly3Pm*0{}E;RpCyNu_Y@hwgP- z;Q=?VMggcNTU5JVSpi^~E+8B$Ew_{tuDRPJ+Og)H{pm1JX!YO#Qox_UJzNKpqZ1*3 zGV!AE$RWe?9>B3aV}1OcBVUibF*-qZ<-;!m;x}|Xb`E;yQWHnV%JiU1PL8sC$vhZr$a08&dLr301hs;?a|F0A|o+LVBRZ z4KKOm|CbiL9=Vm0;qL3h(GuB7FC!_HVYaPR36IV;*LJ~#@IHGWM` zJ^7;(go|Wq{}&A5AOZ9C8$fuXJkOdKNf&$UeZP^Qeb>bG2v`Rpic8TI|7H84@g5N< zftb_2(M5pZz~RXH+`cQnFAT6%xp=as_Q97Z4F227t_$yn*0U1OElRw9P&;TDsD6G2 zZt08t4@tc7uf;%vbR;GBSm8DpD!aVdF_r+&g9aOh`%VEm(|3&LOKTkl#>YVk^Clo#V{ORVO$L*366-l`&DCNB$v zs7dA`982m5^vi`^Z4aNL*^tfXE&EZVWPfz9%bppKK5`M*5#>RA!OvD;%{sFghn>+D z&n?uXi+x-T1zk<&9s|lHO6UoWwlkC+I2u95AXRvi8p3dsGrpvx?Ov75 z7-|jOe)S$e5yvi>d)(RYbq{$2zMZ?)KPw>TfCfB#Zj@^(fQ;LvOd?RdlEm7gRxHFi zK>x=N%no2pT}6>b)%N8TUA!8TUAHfT27vt_9sXPdDgt$KJRmw}hSB`Rp#IJ(9Q`WI z)d`+@j*QjtI3S(_i-mJkb3P8tVM?dwnp5&0vtpub>@2^VKCBb}84M7%YmeCX-yUoi zDpq}2%&J3s>;O6ZPeAA!D_-o^#%NU8nZ%9E63#x2=6#!WyPV*FbPd0XDL`EuypnMA zNAW0$VrY5~sf_a0x11NlOGW4t^q)qJ6*PgrDdGk zE7|;$t0QssY*+ojZNjyBDRj4Px{Cc^Nv$B{oldt69w7I3+Jr(xoXYD3GQvJ$e?VFj zHdr8g5hMrHB$ApOb_JL*jbJr>0eNK%0*u*RN$@D0rvt?J&b=zhRR%475jfg^)NhOC zt!xkEY<5^Oe>ViI?zm?Ms{=&ExX1pT8(fuB*hZj%F%GbsKPnnb*YqnF@ZkNO0Hwln zFxBNI5m-)`X4>{lclTs8fFFdkF}58;`vZSavUohz0Y+(;Qv3jM7X{$Q+n#uGySJpu-B`-zH92MB^Hfn8u#6mlN;7`M*Q&p<~! zudb-M{0Epu6fiHIUzY-WCvHEc57~CrfTh$4P=}enf*C{B;nN-6{HPbp(ZYMv;8irH z^-UCi$LNhhlI8MC`mpd%gx|I$`o0~n=V{N0qfRkj+D*r*oo*zeKg7tv8R)BLg2A$1`Ij7)9$!0bWeTzji48J!44N~m^n4= z+*GfVyAMFxDG@a^GSI{Z=$MB=R$lL>R;p=6HkytO3;ZrW0rV-o5QMr^2z*Tc)n?d$ZTZ#C6V>+jLd_^}+HxME5$+Ax|>GBO9+gWXGGX^l^9&IuEL4C6IcSA4dT92S)D*`I=^xrl?|1Q) zbD}oHQT+Rx<(nKf_H1V)mvAM|79n2TMWWN7HgKxhLEU@@eA$A%3vvz%tPRN?`5Nr= zQD`}I34Z!Y-Z|Eg&T#+`ljC69pWJU{KNKcb)ceG??u;Proq7~l`b;R&2=Tq4&5etDlJl1gMa}sfdgJmyx}oO9E>Im@2iBR-yQI{xfZaPDOFqc8Sc8;>{V0< z4|VqawBilyg*dfBmT&>-lbMIouQDaBj@e~0ey{?XHJvBxWG7==Oa%6GYk{2;fSSMV zsf1l2G)V**A>qjjy(e5@DR40d;0lJbJMHY8dA8PP;#0lpW7S~e0$vicZ+|mdQNE0h zQ6WcPQJMvqggk;D73rqGF7B&`d?-3!tZ(0mHgN|Xi=QvdEFM|0Yn338kCv;EkK=pa~ed2N};*Ahc@NfPjndYz((AAz;!e+j-GP zq5g8Am_6OVxOm~2o^;njo6%!v8!xyti{8u7kqSq-Ft(SJa%IR>4_FoPU?bEW(zjSD zZ6iueHkK;s;v(<9@|H9+iR5j?dR$7sYdRSVIBkOomkd$Az3VE`FuK#s+a8jom3Qy- zh76S~c^fDdU1_$TjBTz+2aA9Y7zT}Wj zw@k!*f72>i;Fvo|c{)P^s%w}cb8tawxZ)|VWmiIAInRf4slNJYzw)p2q%WIXlurrP zL-QIL(ou9r%>*=;th~t-DGPz1&RED25MF>LzG~4DP`$s+)&z7h61h$c9H#rRT;Wq! z__x`bG-nse-;WsECJPV9b&;-Lwz#)a9 z&epSoItO<*UIXg8?8k&*s*wb8`xIWDaU}jUUU*lO>QqZlY$5aRyT>fYZbxCm zAkdb^kCK%2t<_Hj3bWx&+k>Txuky}3tbuute}R{g;(i~9qMa8e%p$7-aOQ=H%YjJ& z<$Y1k>4pWud=o93=%Mgt`6!hAM2mhQmR~C%m{4q`lOoZ7DQd_>E7F?g^VXQG+y#-k zENAqA1k#8sjdnUT}F+G9*)%1k?ooM?)^pP;7gen2PWxAY7CnW6`1_2%~vc> z0In@?AG%bb&eM4`KYesdl}mLLe=bo*%PXI%ludv~yBMeoh4$K=9jU_5S_~54gd5*O zk9I@3wH__yMg)G(gD(~!Q(l=k>Z<#|5m;+D5}&jAR`%;!v4_8A>w? zn(1FGvJZa&2YWlp1J-@n5pHq+DO*$=uJw6KTBv=>Q>ryoE?76hCRb#Gs@Y{2+<^;r z976mmDZtjHUopG*G)gx!0+kz&$+gx&$;P4kO>pRz+XRAdbuF-M`Al=89H>XV zU)mbhp3e)pnqq|e049(o&+7%w$fFc5M&vpdvpaa>HxJH-6hy40Fx3{U_7=s9%UN`v z{Us2VQKG~#NHbHItx-(!f=A;wcMU0fr! zv6xG2pem4XG7K}0Sn#aDD@mFQnDW8IIt{r6?&Rzab40V)0xh(c%MAtWpSQ!6Yx6hK z>UUNB|KV3FT*oo{d6|ck<-y~iBgN2FG-~P?)ESbTJx59=uJz}GPFw2JdJ>G)+T+w1 zShUi_lS~*m*G1UBrlZ}XM9N9Wf)St=BL-*cWf*MDzl-M`2KhrVOpLx&2@!P#{t2YO zTqao@b!P*m%_QpqrE6^sa;7QDo?<99TOIUyggiByYx38d=+W*ndI);Zd449B%a$)~ zP9N@6OZLhC;jF8^a5s|Bg}I5iG$RqT3mo4PPJz>Ll*-?mvl|8 zCLHoLav_qvH#=g?bLlp#eb-ZHl!+^u%6_aZRrUGVSmY(s51*ELi7Gp)y<=!>cxS9G z+u;&@V4)V%5=za5uGpe767`X>XdP0?pkvtuqFir%Vyps}^EoRG^)q)*sv8f3Qt@_L zm|11jpT=8*io^!J7|<5WMVM~)_Tm-w9Ci#wwUqw0e`Dx4$L4*O#iJo79iwy#Nr*FVZiN zPMJUWhc$z^TTk{U7H_Ba)c#C4`v+X8e_FCDh6GH55vQ)0Jm6}d?wctk z?(Oi)2Ea;7#QM`b0Ys~^g3O0{woQ=rleN0pRCu#3twXDXgq+FnOvDA}Wz291}u@)vc@ zd;?z43f5dpV=UIuVnYB)pLb!de`PKUTII^}{WS_&r7T6T>vi|*TDdz|(HU*@wE6pq zfn;<~{!RQb&itBwzEaIkgXG2eiQ<_WnDKiCC++2YkJr74t-gk6v^ef?GJgXk{l z7%$RGJqRj(9GUBdofk>Z1PrMYr*I^pldH9+Uc12MY`7-co8Y{F_^b5ksBbFZsm_Ck zK}Sy>zrH0CYZs>VS6@)`q6Y0Ve*T;iiaYeiO7yA&3_>P$op(f^JvC}M6{ecEE|`cT z*E~%YLw@~tV&q29(fqcHt9zffo?oB#P)~VQhuThN*@`T1X2=uvM=4t72i|4H>}%#`-Y>nk zYGFNc0ajyCCn&A~yY+~BCp;x9&*v&0yZ<@?t6u@C)n=vZ&7j;_C>sNP1Z_*3Qqd3l zy?f7KQmt3t?@#iFAX1k7COo4{Keu1q0b-T*?Okh>p1va%epR4Zl>hO>e8&o54o|%H2pXU&Xr%IYck#hk-Dk%{&Lewex!IE0h?{KjMX9MC z-Pt$nZ81d4X_MdSgI~dI7(AlL^*XUX7$Ug?tH_ZZcZXZEC9-AToN4HO17E7zFYi(X zKqqU=PI8C~L$q~9dE7jVKiG)&Uk&;Mge2*#5_Nt3`tMMF`MvimNzc3XdC*!!O`WiMGmA-l#!)xsE60pJaRx_d5)JGj-oY&Vw&K;&`zrbiiUQ;c~r> z7mExmmW+Pz=Le}>vXWL8_vn zZGjeYZWGd}Z#B8r8Zs8-AOBLX1FbKy#Ubz~E>Nu1`j*T^!~I##hn=7?YnQ?_1!Pa$ zw`O$N{0BRJAY+1;8_`?xx_|g?V7gu^pOg6p*@btMF){}W$^m!q3*2__m`K%7DP;x+ zF7uVhm-VHF+rcp7v(x(xf}XHh^xw`pOI5ZKVtjYH^78M=Cx3d^AYq!e=LD_Uu<~j4 zhMy0}zX0)!j>sqz&=-vo(pe}A(VLGs01UwN>}&iAzH3xv|J{Hu+Kk=y>X2By9t1je z_vQjZ_36WCXobUGUbwb^=s53nl1k|WIXzYKiCF~Z`+HRe3&D*F$kdVALgNhf{gnVM zO%G|{$gO=hN;9RymAefK75`{Z=hg%*+I#kiPVWwA2MrLyrTLIP=7*3pAc(<^m&4@u zfu_Laq-&WkQ1X`#q(N)=-={xOI&DgE|9 z)xSBYY1TNo+%HHB8ulrjJyT8E#=}pRcBW1F+tarhoaQy;K$fN84A)97(UKso?o%Zx zs%seEaM9hTq_w{WtfntrzQl@3k@f+Vpq?iIX#7DcqVM+WY`JbeLp;t^QHrr&RU12&pvQBJY!^FOdXRFBK>0fFL&?*GoS>TBmg`Wb!!sU3q%Y}e6jXxAQ#TG z6?DQtrkc74-B^lAz)Bvyn5bmi@UpF#ANWRN_GRJ>_&)bBZ45|;{>4S>P9!as6N~n8 zQZE7HKFfkdUs>&EDs_-rZvc#U7;#;`8|Dd<<7FtV#=@DoUuse9tPL#os?62zy?Mfx zE?peL6A>}`;k`oR>P3gatf|^;`R+EetTH|M-w}Vl>o&4qeZ)mE2rQ&qhv~=?H$h{5 zbt5pX3P>QGq3tIk*^x5;m%~9G_gQ6(T~cK%6n+v>KBF+sCR9ectHahAp5MzD^7^pj z2eOC8NzhkW|02#4m}1m2A@ZobCdunCZe1LsyGHpZN}$1tpJBMmT@2=sDKGfs92u2T zPAUZro>FeA;pp9kxlW6_@gkgL+OwIn+&67a*sicfrxs#?0D*X0ex~V*1OHd5vw3jr zHFq28y9`Ya|9!JQw9Rk`CH|>2dMAWI55kBap482j$O{vM^DpO{s9qoCN;RKV8Hdk< zMynX>GRU~Ak(M_^U{fz?l3s-f|LL&WQLj&4L|j)XU{2n=m8(k*hrKTR__6??e0+d` zs)rfq{A6;MY06~*j2m0%zu#z}`B}wM1fufKm^}s;`y@@+WeO{A?W;XBVZu%WoQq)@ z&!6?W32u1D1ZvK}&=I#VE7kYN34edjWtxOMkCtsSsVWt@4f-c*kj(K#p|mFjLWTfSmKFL^Ke}ptMDoSBNzVm*pD|} z!>rn6#+Ob`pRCE2iBJK=zWnitfrBlpYh$AH&oOZY11BiQoK5MlRU12+4y zznV73RWf>S^ejRFV~o4MJ>=6tJMHlEyBRu&AISSLXBaks0F$p@r8E!2+?&yRSNa%X z)?h5+9-Ctj_nEy|Z1u8dvxsL4g5hejUe`~$*%B2EE-qO}02;U|inVzgzAns>4+2t_ zbv!To96SfjUsV^WXhq7Y%R3Fd9D8N7jz>9U-_?yn1+JETqLCF9^fYjFxvg<+3TP-y zC|eXuZLDNR$P?6_c?_^elD*0)+@wuM#+uav%DRl#*m;Kw`|JU~&dcFHwVK;(dCb^#U&wK21dDzoCEf4Ttn0IPQ`EQsgK~lU)!hFU)X;93#hX)hg?pnu3G1~ z9~8+5bL72vDf16UENW%n!f$eZ;m-95zV>4Is?|#l7j#2G-*occUCZ&t!V+CF#}@>K zYpj;n<33ZE6AZZcrVtO*rn41xf5sgA6XyRvg%Jkmq*(MK+{KW^*3*&_C_Y-tZhKN_ zJ`v`|KxLYde7Oz`3FsD2ZtjN0{E5(w295Jj$m8iezj)!@aeLi z+(i!C)ZAUMuG`Xn=Nc5#v8j|v!Z2kJyPhh|P&~WjP!5Kpenftm`7a=iuf34$`|K@H4PkH#3+^vkax)f-ySq4wZO?QUL@DmhyoccD3#>j@} zsH)uexo`@4hcssJpZ-qaZ2W?2fcL}hZTRqt4&7%5tfdjG7JqgAvHAz~5<@}y(1wjj>Ea}>mDJd~7#<&9zQ$0)2;@29TsIrR)CmD5W8JKs;DAkCgzHYBY3TAlS<`eUzj2F0g;>7k zL}cC-EkTbtW6*gq&GZgl(OI-mR$8f((|%w*zN^c74U=+Dtt}6{d0gVGEchKJ3fWJW zwcbyD<`^jOd*$D^WBck0Hz}2^yiQ*ty&Cu0dbU03yqA~ zKuhlfH|1LS^IIzxo^6bf@vcVz#Xpt)uHf7!=Sww9W)T(a+FR!QK!shfFP6by5l9(f z?BWwzjBZhHLGAV!j?C6aF<-iygIjv$C zI%2-m7so|?F$mR@#!;l|{Q}BxkE_)m$6xI1$lYW%vhYdnHk@7D*0*YZab=D{RH{2O zaWpBFNkt@GqR(_*r?W!YGrdi}v(;?g1GjjQ{NP^B$^B;Zc@7LZ{sqk%gHncT>g5rz z(rCHlHU92J1d+E2q~Kjs;PNjRyw{mC#69GC(@}F~5>(xI zFjR1tIpB15u16*Q)qFn<=64Su)8Z?Qb6`;Daov}}=!=OQG!(Z0%4LEw zpR72~vHQ=2`GSc-Wu>zAn{Q@9^aFGHgnhMOP`u=X?>Dy;T*q9x*A{6H5||V&H3jhA z%oMesE^}XB3xP{ErQsCDLUPCG6*v+WCP9HimXb%Zm7btN8`4JkF_PFVFYQR{@?I_g;8dRx{WT{HSwd)XEZvHKbF%ro91EzVY6Z0ba$> z9$7NPnUtr#UIqT2M=LG$VJeNs?QP(k)!SlhLdC z?UW%{Rv4FhFj&?kirSjXtJDYkaP;T2(rFE(BQv;jK=#;w8ro=B4=^#8yTg0FYP%Zh znCsd>a0Uc`d}M1=@Y(uFwPAsFTr1>(03E~(>B2bzLtA3rqrYmbK5zCNETQGbeuGp0 z*m6uZ@_ul8@7IMzPa@F;du*lUMRDtgJ4ABw&d zO9pS45>#7?>YvO{rrRF@SjsYmMKS~$0iwQ5Jo3Q@A@5Ixel`YzLJ&T|^H~}3*5?VK z+G_ddT;|1gTtE4?Sm&-%eN)Ma+ixx~rgwOhF0#!?S{7&S{_r;AJN*TsC^{FZsMDm2 z61rcZ&?Lhk&GnY+uGyFh7cH}d^P4}{&A|Z1t8J`Odi-`p=+G-A{xG3pbq@pSlL7aO zzSljNMFP1oNg)yA=d+0OzKtkdv2y*Y8=mq4i$PCiCr3|-X?H+1l27~Fvs<9L=1Z0#=U>pQTE3}=gLK3H%7z|RrdQM4$YZ*` zWj+nca!AVt1-b_4@A_V6LFnoaKbX0gLGSP`L)QB$X+c)5)3?}~rwUY_1eX&ClDF<$ z^Y?^F^1weZsPlYGVz@5B$IuUzqkg3f_w1A1Vo)KY&j4nm?+^_1v|r;j(I1*L843n? zMT`}nqi7!G+}J;S9UA(AEpUk==_!xivNwaYRfgfSDyWaU^QAA?EtX?PK_xCCZnJ|Y z_|4G*(%l!NP!s%p4o3?yA3i#0wK+p38kt{ZKt&C~pDs8LEdmAJ^5uVo{k+t3pa4fY zt$zUN&pBO$;r$x&fEl#GAyAu?MT0~0^3Oj*>8Sc&kJc*ts_365D^cy=`Gz%ipgTBD z*iES-K3yKMrHY5%^{JBL`B%s>#j8iFl@|A(qo^rZLyZvHT<}_;BnFLGT)WiNn&!`^ zT_PWx#e>pI7SCfsu>&HfnnrZNzFehOxeq$HV*m!`M@ZRMxeF&dw1|A=K?RRm{dmpoYA01a$F60s4WP8_t9HswLDQj^&EADf;!`FmO8lEvoT*%A&|Jt$*pu zk`6&kL0da~diK}f#@nfd%f!_qv4>4U7|n-ojMEKcV{1Yz6tjw_(Ho^j5oXM8H8y67 zw;T2O_11w7xUiJU*G}$iyowW};>DbmvSd( zwiqfqJq;rkIzeWZcgbN;9#k=&+z)te7HY!U_uQVN4uAji?IA>6_*ZhnUvDP?I%WQ4A&Ka>;35Gh;|e>&XGeuW_zk&~SjZTmu(Qw>uOM%-oyNr(X-u}&odpe0t((fV-NlJnKtbj zjtI=%#Si2xI0ty!ODR@<{&`$ykPeyf=$)6PBt28+P3W1Nn4Q>3H$)y6Na={D z>u+qYH*vyDl(DjqPX)o_!)>c5E{FWfFO50?p z;J_&72XxN7W17XY8Kq!2))oHrzS@LYVJna$CQ+9{<}rBCUU%dv<9+!DAg!2oS!KZK zpYRjp`EO84v6Kx^d+5;TL`!Z%PdWz7?dCa5$FcDSbPNju@FkFTJdFe`HZO;9 zGD;R}C}h?N@`)JZXG`#jCu#uHMbaL}O#$tUjHMcIsh~kC^ijFpAB&R7|6&15L4Nx9 zGpr4~Iyc21g`5NcoisQz2UjJ>1F6yFZ#|$>+fJRSsabIQR!qihizWg_UaQL(^KY*G z|6uPeqoQu#u3<%#k{U%&Bqam{M5Mc<1XQ{eWN46fKtQBH!JxalyHP?yN_t2sX^_r= z=lsoh{h#|@>%E`#etJK=&$X^kUQC>G{?0g#ee7fJ58U01;W9V0TOh^Y3Ydp{oVwK{ zq#;%Q$9I#dh7DIwe0o2GF;XINJR*fx!a+<^g*6%g07>nLZ4;DyWpg67VE;<(bc zN%FA)de54Aa>F-2HT0d-$>Gnl(<4fNB3bnjYcdK1fStDo94TQA3omjbVLRP?iPv5O zUY&p{g*SwqLNdwY!0cl~dc#Mt=0hXUX|Cv3U_*lA)|B90(OU?b;RP#X42VBI2L+xQ zi1oywCjq0U4-V#3sKlpxy7Z%6h6FbbGhttu@t|Z6;GaD(+!tIMdA?;3Vsin@T|6oJ zAkTJ;4bI!sl?Jc4(|?7fr}MsH-e6<+ycs~8RT%^nLN@`qX&t*5Qi&T_t@!eS5E!1^ zRLxVtbCS9CoDrpRpokY80yMW?>>NwPSvx&8Fi3>i_KNC~3Uvim0ixM>5lW^NStbtU zYc->J+D#1w;hD=IgJ0eFvhS!&Pzkf-Y0zFs3Fat)Kr#3E;69i-(6D}TaPaAlYz==A z{?I4&>mkN~fKUuXm<>W>$QdCRgeljEGV0erHS18P&J#$Iq0tGR8B4lu_;PA*B)qP#CPy37TeGf0e zZ$YJkOdN%pfpYRsOYY%CY#Ti`YG+E6mlFaExb=WLArv9C(F=Ct@^%_rGL@r71S9EX zi>6-1_owIh;wkcITC}mwGzRbPi$oUH?Jxxf%6w9p;vqa%0q$SGB`eLm);pVH{k9irdhe#NdZhuyncgs7bw=I2XXzn#m9*82x$^Yzr#K{-* znwmU%MDLQ_dVsG;L}uQ6YANq)=V59AX_;M#k5U3g_CZt zM6iwMz|nh~fbAF$J;x%9e*&UW+=uYu?VM;TOL*q*fHE-24^%tKuM_WrR3fp-qIKhO zh%>-Yf2h8Ui^R=B84G^W%G~!}Mj4Fll(rW^H(4{6f>V7WMb|X3g5JPWCzR(W`kxMf z6-nJNsNx6#!j|7IlRL_;EXG)JxMVkm{%l-0%6^^hu@&0BTCJFpRj0-HtN;MR8S}Q_ zbSV+CDNN~g40RM*4=A;ewSG@6GKN>k+JALkAm{$YnoMCwC^?)dV8!;WlNq3{F#o37 z1<@mkgR7vBh$%L)#0B6W3HKbEfgAMp(`qiQ~f{L|J9nB*LXU6i&E zCMr#90H7{wCKAdsku0tgXkH}2jR(8?+uasz6a{3Gv*G{jJYMsLzT;DJDH(cAfD#(T zjTG({-&VSSIt2U56`?-47*OhaUk35CvPJv6Hmy}KQ0zM6LqS5X7<3@{62BW0NP1pt z4;C5kI&NgiRFO(UMY{ZGEFjW}Q|H^e%C@zU)8+2 z+nu^vvU7~X*@uDOPEpTEublCib3QhVv(97}^UGc-XY1)SR_oCS%8pULzAuiIDn0IK zt{JC}0w-+`@AMl7Hwe~^Vd2sUVcULS{d=DAqEn*#esSWt9?>#VCS`rAjb>Al>t%T= zMcH=0lJpXMy?tDFszxCof&;c0{)Bz2$$HrDA!&Wz$HNtJ_ecin)!H!4mxXnG!QT-* zmZ80LB&^Ue@GZFXcxx0aeP*G~l#4^eEr8!X_kAC@y#ea0Qt$0^*5emy_sFRTX zzay@(cQiy_t(&5-NUj3KzS!@sTWHkv_U7Uw%ry40e`w@w5r1(f=tvpLPr8gwJt#=9 z)?Is#wa%tU%vE@~4bun>;*{Qh6lYqz5$GcLsK9hQ&CD~4;W40+r0-zIfdWsgav;Fg zQO1jij#Qm)O|gefreY`B1Li*fxfk)kG~Rj94HPAXEoI+RyZ``gNJp@0N2ywbfvfo< zvUbvWT*+=ithoF=e{M|-AATzBjM@wltnkUC>cJPBO&}+k5Uh6M5||qF)D1A0tNDvq zx9NxRke~+C9HC_t7_q*z@UE_UuVe;7R-Hw^9Bc!meRT}f@X2&sbC|5}YDamdXia;a zABLX4Iu1M@xL1%bcz8G$DwM2EUEiQ}dejRv!taq6Gm=w~i_^le=+IQb@eUY9(vOzKVD9~8zSx8Tl3QfVI^#jT&utg8^9imqtCAU+1M&^Tq#fkO-Obz4Y6n+k0?MIo{&#k6ZJaf7Nm_<`;zTdmB#llMf=EqKOxIcp6^*^~HqGI~J6|_dR;z!iym7W}3C(vWdlZ*X#X?BL z*eDriatj;?bl1e=x^Ge$zVCu*$EvGHPl7;Tz{F^`R6a+!5};QAjossS6h=E4DfU!fKsYtTUIAF|Hd)nFGbdf1Zj$rZbXT~z-z z|D{R-|4jjZ!*-NLQ*PdDXyfPaA85p;TG=7L35%fdR7C1ChK;8}#J4>9P`h>sDYI+f z>^8c_^!OE5%=Pchq2+NcIM3cEgCdcA3BL@Y;}VQWzGB=bw#oNy!e^}c6RuA!2ym@& zB)NY&d|Z90^D@a2-NhDdsWs@o*v}WH2^z@hJUKVGOBXD(1Pwphz~Pw;)^t6?;^9mg zw0%7ZcyFLsy9TPy`&Z4D6@d1J{oMhTSRawVr!chpcwd z*ov(w)*6z#an{U2ncttJr1^*<6V$`n*VDcz+s|4=JWs)SbeVk`cmXPyPCO1Sz4hg1 zsw~8&i$F5B@@X^5lvsRx@%pdO=Nl46%lT_t+ z_+}G(>ENaP-blOg!9lNv=ZOBz@m`gPb9n-#(-xhToMq3SY$qq&iekdFpUadDE8W!+Yke*HIdoAcjf1u55O6Yc!Eu>B_}*;Y^TyqDPIcJ38kU|0 z0A1_@lgDPjs4Zam?0F>L6vS{PSU)cOPu-|daP`$l*6py#*K;3~-iNU~i{}19e^C?5 zxW??1F^wsq1PWb)C)tRXH4WW|dPGmG+%&U8;8vUZ#_y~Al~m^e<_&Aimz2W5Dp}a{eZHrtnym_(^HU4 z*;M61{TLw2GSE}mP>(fHT${Br`XViXXzXMYWP!;oyf}rBNxVWB0kd-4k|Y6x%xu0E z6LkS_rYibCCFJ}dVLPw>*E@m`S@ocreriHG$Zlxjf~1yVIQWrOm& z-+)PF2APtbjJJQf6OX$bY6#Yq2|!dCdRHNweNU=_CC+=A7zLzZ9Ve?7I}zP_6DEO3 z@VE6MrH0H>>?wfaIt2Y8h8ga~E4J9Xk1(jQU6*|}$h`F#r&N;Wx~j0N*47+$xT+@d06r)i$9^%KwH2?d)Rc9KRTD~Dv;3h@=2xqB za>Q2_yL@D^0|v9SE^fV10e;6~P`UQ39+ECx{2tf++%%bT$RIRO+hePBysqUrsQSrN z9R=I5aVl<&fgn^*>k^q5wsg!w#kh^7X}puhZ>`laySeX3DCHQFZ&OtYZLCAs)+{qc zI&$d0Nq!*z8^X|u4TpQYA8Fg|1BmvfGIgfU>+QGJHzE%}r;zRJivt_WB#CMGLnZ3EP?7zpovCnBEAESfi)xSJ_K-`| zP;hHqzc-)uN&ig`tP;9=2J|w;X_?U5V=JZbpY358i|oFNScwh#uB&k#z`l9R%6&tf9t|cN!;(wx@HzJ~Q6gBIp1xWbE3ufUTbf#K&B$lO{9P z;(E^5qtK=7*2HUR1=1N8qlO?)L(fyP@8SnKpz0sH-_dvgibvL!+tj z72%|&;csj~FjO9C=z$E(!*~1R%lRhRoc#KxGf2r@X0BaVecj}P$KlL=8H)>mk6a;v z_M2`zoC^8f{7MeF6b!i)xb?%7oUM>d3vngO+e1klJPTz>!G&soRY|9g2 zQvhh?8)oh>zKU?#4Q?p&)PKiGHa#~)<2fx43+p}LHFe3Lj4U>vL*>m z0_rz^B*7VW-RX1^7NIVUmt2;m6!D;_rYx=5fj{}vrE!8{&;{DECq%4Q zFepkq_VrG2I>MOngRaLNcwuX+doaF7V9$PF#XMXZ^uy)s$;f=?lMSJpUZ9AsYzC0L z^Vc4=14E(ZDOdE`%$s-IoM9ZT!7 zz{rOCBs;oZ=i99oB>tZ)a43U##qJsa$VOde^D=x|DmQ_}5QjmAf=<_}AE@0ruPYD0 zp+YcU=j~qjn-c&sMS0Pj{=$JALV4qr9lCiUgNbvi3L$`qrB}NJ>D-vFH%*M5A+I~U znEXf<_a&lRAq=EQVYoAeJQHMg6;}ctVs^6~Kv={m^7v0cd+r$UyJdHgb_4Wnhj*&E zqmj!juRvqTc-GU@iA1tywYGY&sC5oD0kjBKbOej@8pK^_V)+X(Y9E7qXB_ZNlA26`-KKT6b=C(Abfm z_MJv;xHLP+%}_vhf-Z>W^&Uf%-0AMk94=EbPtA4Kd;S~QRUP=U5?{KN%|Y zSU66N!~u}}%&P-bAKvm40*|IDs3Q$|1~p_3>}t?asL^fi07JV$#@%PP$LY6TJ23Nr z90dzH(nz1D1Y_2>hF^xjbXPv29=N|vyhL&18Z@zchJ*zQ zth%|IwpuEW@1LD))}Adh2Kj7&N^Wn2uJQ>kKK3jcjv;1u#cUIOhF9Uy_119z7-XW* zYr_^KQB%4(=E{nNZevhyC5-3PSegDCZVdYhn5jd~>5GVC02{+yC!HVUeFN8^F(Agq z)E~|UYdpNDVWe1Nc(U2pNQFp~lt-2BdV_xO3)h&H%K$yWHHc2l3@5PCG%=q<=eP6( z$XUBlE;_qVXZt!RNOfLcb%JV&e%Dmf>mvu^WJ7M7gLj$#u5$%-Z0mTZVY|Sp66qQ6 zodeFm(0fD{qN1(@uZz}#)@1$HgnLTqS&LRRh55pv1E-wubWHr_xg zNF~4>a37W9!p#~$4&smcp}0x=5h@yXC84+W1?*?oWi#6CUDWGXH(QV#;=ga87Y7Lw zgd0c%mj=196lzk*s|0;EkuM7C3vcJT?t)&F=tY%Qleul6`mUj(R~1n>fnVcH0=1rvCCoiEr|ub{ueE@)$)l zGua_ZTU-MZ(QTk;&gf~Esp#BiGvI$I_9ZYot{f3s~-bmuHTD_=ecm{i9Y+RGIu% z^P`6Z%V2gm`6YA=+E`)nJe;7n+%Lj8y*?ILpo{ z*&3z3B_bBA>>~C%a|K{WZ|I(+%z$ zXC~?ak=VvF04<%x-=Ny#J6~#Ks>fFI&HT7jIjmzD{kajk>h=d!RjPUSqBmyRUMd}@ zH-=&$zHK7)dzw_~nnK$(?ob}m{pA0V`>2hoBqq%y zXT(^P1fOn2iok3a1Y&VNE#F`iW*yGO?#iQAQ4QSgwt5y1u^b}w?By2&bNfRU^I9N5 ziYc)C3L~V-L7h>M%g`v_>RAWAH?8i&w$smKST8{HOwT0&((c$vy{YAG8%-=ed~72I z2uHrdcYGBSFH2pptFZNhN&Tk?yoQrXVtTD;dsNkkAq)acCroHtu%EZ3n_zYz>0Tc+9>091Hf}l5q?l9>wn=r>b(vs`xJcq62q*Tg2a4YJ2 z_)YiIQ4bHv5)YJp7;yhOL!Vps`#>^}<9f(N4XU4CpF@!mML56E=m4X^Dh4mBvDS{@ z&m|$fjw}BBJ}3%M5Hlh2F!Ta(K;ORdfW+|v%R{1-2*A1uL!+fO~55qK<&t2+*Sy^vnIJ$}o{4$z6Hy4GjD_n6Ud4Gg;roLW`hc z<^^n4Q0V0<=yT6Omvt{-=KxM#zQV_2^c;||W5)ASnMM#(%X31%yqRbWycHU97y}p# z?Di05jyy1fnM;(_f{1$;u*jgGT60NM{V!?gf3vW_w+BRE3WsKy#8jA5Mi5;gc!6X6 z_nK4ygJH)DvA_&Q3^SOm-aGfu-|mGE-4JY!i8<)MU+~HS%P<#~CW;=Jv?69Dl@0iZ zU{C@o=;f3;@;QGAzr3q6>Yzsve`2bTczq_LnKgg=?d zivGKJ5-V8KIoR2lLg7y+ybs`~T;ENeLx0>89O&hOYe|HE2O|##!}#qfM3%jPJ^Pp4 zafa}@jCncwEce||#W1*Nfm+mE=J-Cd4DjQUEKARbmA*%Vn4q_DINm33F8s zf{3=Yib%)|v%_hhdow#d5FZU3B?}3qWf6@6rcn&A&_k z|Bj{q?{Y^UuKzCgf0z5efz7{x&Hv8=n}1LDe@}P7(*D0Cj{kSL|GV7(UGC_d`rlyY z-(cq7VCG*?@?TK$|65SUen-?&9^HA zu9K~oH-z$|QI*l|1GW3txyS3p_4Vz0KDv+d6`=B?-G6k6-qqr(wtB=(X$#NgJ1hDW ztv>*#jIRUO&Zna;~UFO1jr}qu{kLkwWSA@a;PWobB81!214eB0BRv)?db}^ z&}jXaa7*%{KeXH@(b4XDzs5=;(=Jz}V6D=_onxar64E9t;j1x7N`d(3p)Q--Fpb9k zDjTcj9%pMa+1q-ZT}0LaZJyQ#kE{)*l^e&b1hanNwDu$=4MaZ%$noQ==u3w}3xn6= zI0M2N8ix)5Krq*xr%_+u!JP*_nywfbe9-K+n*B(=t}B(YPEKi%l(;1-Hs0mDUL@|8 z7QH@Qm04%DKzO1YqQ3pCp4F+_4ZiQheUcbg(@?n~)@9Z0cVP44;|GG^0Pk%D(Xp-u zvE9bSE-OZEDbV=uxW6ZJIO4#p<0Wnh2GvFKKMabt=MfK1hK&!wXx>jtyl8y7SLM;} zv)T_-r5;bTp2VJ=yeHDBJ$n*$+4sg11VT>SV5lphr+T^rzAwf7rRq2@ntiOwWATxk zpTQ~yYY>K{bDGQUt-)iZP_+T16Oa$&b81CTL8)_B#K(a4Yw#JRXpGDT@p*V`TT zYi^LCim+kuwrFJbhgC9v=N&(@@w`Ck(V@jfzB(QM)^K_%n>oNM;(cC@V41aw{aRIL z3TLC-2f=9@g=9o^x<=b`c#qy|Lo;t_I;lsLsOlwlg7=3Sk zU0;LMnt;-HW5plqq(G4&lw1=7<#iF;?0OoCH0jiaj2UmC`ExwcwfUu??iCq=n>7hr!& z65CZc?3z_8gSmF=O$GC&X6t+X^cj8DnVp#1 zLIVbYGT4)>OOLMZZ9ZCvvTXTi{Tp>`3uo#zME(lSZKz@^)J06g$;3X5))UeleE9C$ z&@I2s5je;kg>;2yNSkkWp%C7gO;Yb|Tk_PeSqROn95Cn7O#9W@b_ahc%*=NDuTVwkWz~%BAhj^X&1f^Z#Gts1iiwaL#c$r0v@mP?8NCe&JYTk zHaDyFzNd*sE)W(!GsxM-RcaZM&N@|Zmf~BEz+O7>7Z%Gjf4!toryTTMir#Uor_78+ z!lB|(ddm&Gk!@vzCQFq>_tcs67;2fxgABhBt8HZN2L=aQp5?>>p_Ff|@voHjH>}}e zij(b?n#L%^=FT*aaE6muxUijb4&CO8d);B{Emgb?1?Q1$>{knLv2r8kxBQeRxc#2! z8M&*3DNHWUq|&1&WcL!Zqdk66L=l?P706)~3qJm1+@X+mYU3C1+pXbvHYcH@hY}`K zY3(TO#HsAmd2po%7B^s&m}59d5_D}-1!2S_X_>&Ebu44tQ(y*fv<>){!>sZY5wCDz zFSx}Nxwr70CcMmAidzx;$GxA=Jipv$A%5n2|4%ddn{v`Zm$OH1+i~GVr!JcrC7O~Y zK1yVPRiGy=et>?Fyz8+sbFWc29B&M`H?NA&>Chh)!1v#|7zXCvQb7!}rulSgsq|U5 zim{*3cMWe5rhoWH-Up<%|Km#5z=F{*`Z3aH`tVbgM;^d4gK1)DsfaZW_FMT8-Wm1A zl@2;H~cRVn(d#8?W0Nd8=k(x4;OLiO-cO38&b zrH$Ady)Ij@v~&SRrMp))s+g!#*`kny28Vu*ZUnK>($9Uvo*>8O;)YsHZjG=F7yJAg zQk{YI?`Mb@p?LT5*d;XVeAKDU%MNr1dXe{DXmHtw^Am+4l|6%TO5IzK-)_77Ls@`o z^p9oGPZRWb29&zdx%#*k?`%X8P3+xbkB zZ+&KZQ>Z(AiTg;Hz2dAgn#EvMEN0X&lE2pej__Ag|JkPBcun$}Z|DTO=_d;{xL$wR zC)%1VQOHu)L$)+KBkAaNN0UEZh3S)-x~$U`8U&_xcjkS#Phx1U_lsF!Ao0{rEz6(B z&&RyA&su|lh%N0M_II!Jk8us^QruGgV=Ur7)_}J0`VSWsh)2FA zVamKhOQj?y(A9I5A6k_cY2MXzMc#L_pTqU+hbQ2e>K`bNbr2~1@)!BYoF1}#(n@}r zF^d&1qD3d%oU-kp5lKIzrL(4b64(Zh$On>t+ZN%!vOY88GNb)WUB5~`GAs^?%Kx433Tn`c6Uif(3iscB zt()`ku+f$GkKT{?NLBhG=NlSivl9ROP@!O=lMbx5>7jUt*Cl3kI(ZPHes55SQg$a? z&XSDVjZs~UeIEpE1!i1a+tPCC-N6F6rt+=jlO=XEjJRJS%?y4 z$xY@>A}HV7XgA|5>}Z?_Ls)#qOZmKJZ>y~8CmC=g835L*_EVEw}d;K;y`Tr4qHPINlvKJA0TY8=-K zos^u#I}f;H(|`KZy>zNOZMyJaj5!(abne*W0oZD4sL>L6RG<{rZXspcx-R1LZ@e(` zF_{8e&A5De4JK6XxC1X6b@2ux-L3$4?ReLGG+U2COU8q#E{$Fi(}5Sab4Fu-7oOb} zZdv$1epSq3!m#56r`p8_xW#p?v4n8Bu1Tr?=IyTJVK{7Eu(p8nDO*0?f zZ;+GfqAX+zdanWQS&hYbXsK>Q(RASfCH=C9z=tC)#DJXzne4tRXT<6doT)&Chje>K zlHu?L;mUh~+(?2&o?`~L>;1G__>o$|uI=7B!goosV!;GYN}Cg-*FehOY$aw{QWle~ zTtjCoFEnW?vtKGjx=O}MUU`2TW=ccY4)@iqDz|%RK)-JA!IN#nip`FPOTtc-IV#$x z*N}+uqN;uA{B(XxFTIiFJ zT=>klBqSw!lt_Wk`Ny4GHBU3#vGIC?QSJ@ADOf=*@5%|@K)*E^o)m4bsqYOr>7QlL zsgK=c+MO4`ygTt>b>Z@=e@*)wXYZdjDc5qF;Yecr&==i08qY z-!hcu?J7F36ZJ zOO1+G!}O<(X7I`=WF4W~w$Dm|vc1hP9|(0%;CF#24YWPS7|}naV)E&n>wf~q zd*9tJmvMhzLM&i&E5aD+ktE;4+OrjqeLIruvlo#)^}~Fn)4Z&5haU+MvpLfZ!ZMr+ zlTX%J@|tm!1fNN-?d0C5o+3AG)u%2bHkmNQ%E127`%u&^j}+%nCEJqhfjCxnf#y@# zJ%rfF)YoN?WkDd0N4Zp^a?7bz%{VLde1PvPf-IItzAs`zMZWU-En}^Z4@$HBq@M)V z1U;_ z`I_+W>PbKQ>^xXleJlAU-0V#jwnGWqvgPoEyjx37jt?A}Q*>#Y$bgRr$jxXalZ)C+ zWa4`2=d3aiDUxW=)k#DfURWukf6M>l6m!>kVVR;8B^6k5ixTI9l~CD7yL_PMb^088q8Ni(s5z;B$|dlaoWEYV?SR>0Zf{Xy z@-Y_=Dm%`8vMUFaPSSU~V_1%I;BJ&4Qmj$kE)cFUQmJL{$*J{dT)3E1Ra{x|!r$|@ zA$3+RuTdYbWeQbsA(h>ewjIWrv%#+GUwByDhyvr=OdTIlXW^?CjXyDBM~E;}XTz8_ zEq&;owEH#kakW(5!QFZ^zM(8IXX*-pA?u*5ue_C%;!{MlHYx2qE{}M^MDJAL#gll+Q;1Hqu}_!aXT$WbB)FS2CaRn zBy;HZLl@~&^xC_KyZaGbV8k;HmYC1^%Vn*Pzcc{_yce)tA473h8*Y^d=33?jVcIup z&pc>|fYOX+6%*}VZ+VS=KeSD+|7DJf0M_fc)Zqk156<;3)6{nHf(z#7QG;P|ZE#`P zVCbCQprPBjsEr1#Aa?byc+@44%V@sz1@tsy2s7JrGR~!Qq05b z^`m~G3Kh|#7LNMeXAq~~3Wx=)t63w~AkVHJ>g9tNE~R0s6)kS@i!(h>7TybMUOnhJFHK>}4ZAAHXm zRT&Wh=WC{7mW}7AP3!7~h}FUT6l*@8R(_q=f0^;eUgCdd^UhDx&U@HEYj+l8%Gwjn zkh`l82icQYec%}`3KczWcT()7{o9~C{DZs0J%nEuS2c{>NfG$a8!&W!OB%R@?z}Y& zE$d#z zK?@_3+wK*ugb>#AJ;QSoAiIG`<|LZ6qI)c%KS*d-QGl57K7kx(T|0m_f$1pFAB6*z zuVTnnQKER=#Pk%06Y<&+G(dHDLE0)nqMw2JGt~U(TaR+<$c{ZA0_RUg{R9E#j0MeS zW&FAIW1#tYBY_>2viJisIY2FAv}o3Czqp@8_rCcaPjoU|*}&8K_5dj8{Wt=SI2MPy zsR;vRiM60pYkm4`ecGOxY1WD(#f)<)f`5FyUasttWE&0y+J0*wGaVq-&;ueHf^JDFYR6$S}JS_OYpv@x|Kj zC}SdW-sj8dkqK*K;3NT89inm}6+$9`)A--S$S}8*11iEoU?A6 zx?uxYptV&BL8>RU)2N=-kTBE25SG;!#-KO22L&HuY#KTe|2S^WvBd9H^IN9>>A6HD z73bR!%3FPeu5>*sF7v>Q!kIIUJ)4WURtT)fVn!~ ze!UL_ZIO=eHAK*kZ0tKWb)bil*JAK)EzsDA_tLHw1Ru#-kb9h-^2*5Yu!-EyFzS5K z^DL9)y}m)V1E(KQ60faIywl?x$>-t?uG7fhZ$pBYM&(Kl$>iUL8=P|1EYUL$AE%Gc zu7M`AIT$O{qRCNI|E_J7Fc%iZ<2KqZsTYZ>xp+w;G6Sp9Tmn4IPZRW8R(*}*fr&hF z-h%{o8gEc(?-ZD-fc!flY(JvHSt3qJ8j0$*qT{BthDUN;Kwtb9ppHPc9#->DFjh-W z2H9Bf@@~)~+Ms9EklLf!uuWDAWR0z%qoQEM+D_v|W5txK<>J*a{?WS(QYF1?F)C?2 z^%S#K8xL1jfM$(;Yj-#8{hMAKYd8*p2l_6LH?8zzQ6i{y&?0{y*tIS)80UsdKeCb zNIG7fOo!&#-ThKLjiXVUsWJzWJubtr%h>{1Sf7w|M{*v@qR6`V1sM3SCUh z1UwfC#*_{4u$Mn4uN<|B@eBf4NpSm?7rL)oG8InE3uvEwkS+?RlGzRf+jBL8KXy&V z38waKBT{OP+Qti&txxW$qkkZAaNeIF8Vq z&)?Lu3l66^1&yKH-LWrinMIxhbwSG-vE2hC!YxaqD>$gMctfV<(CvFZZ6B`}(FP8| zLAq@#@}EX|9Ld=*pDOw$ed=l(S7754Nz)`w{{_Y&|3{UDUey0?&oME1ha@CcOH3@G zp3a5D}O$XF;-kA=bZ{zRTGIZDRu zmG=Io>h8a-u{J>EJetf%i6CvK)RZ)Rc8W+Yjss$GabH&>%MQG#r{-C5{?O(J!AzIw zinVW>if929lMD_GErXw%q11mqbFts)xlx_iAmkbqc{ff+En_Lgz=B~5&Uk23_VW<} zezj$h3JCjmdQ5lCv&4pEdXKD$cd@>Q+=ocW{=1aBGu_ngJx;q)NXk8Tf@!QV`>?m8 z!M_j|DPLq2PH|7#ZrGDI(p?)X9f)N+2v9NfurC*feF=miEmXqyta9C3AU!cKYK8a(EvkTX1ZP)+rWO2WEi4q9{!kV9EVhM(Bk zG1lsgcyO6dBT!@P!wYfcO5*=2ZDED=@{7+rP2mc`IG7g}UID<%LxCWaX;B-iE-`8&ABc0>%WN_@HlrqRZ zZm_uOuA(D$6d}wwzfe#-4f%2C4GVv%;@H$@%p)nC_c{eJhqL_oXTF1yr?wk={j?&U zIwp7a+rA!*(K7vMY#*$mU`{AGiAG}G+@UE%rUbK(U_e|xJaF0{&s@Nk?mc(SIPZ^a z2s?RJL-y4ssMPhw5O;h+;{ZbGl;OqS2PB}`yYI@RE}ziRDwjFq_?d$Rrg6=b>OA zzGDYBVwjqZO}SX?Y`Y+wFK6YrcN`LaGH(pW{d$XLU1V=WcqcA| zZ81Sy;V|A&u&!&TK~O!Vyn@5S0=xg{J;hAj9_aecmz4Dycv;KR!+Q4=NcXJNd<-GY zzJr9+Z-ttkGC+E^Ru6~-o7itOn9f0JyX23=@2NT7HfTFVaYo&6HIa3P6yJGVg;=?M zlK(2ZO9O-)dc4&cSC=Zq&T2BEKV}+p!LZ3()NPNP-g^N3n0PBe`B5r9n~6WDetI`H zI}PV0+#cX2HB0@Bad=gtjT4r)m%+cq+O6RCWTfuTNenr07Y%_sGb3DaVt?8!^Rl|< z;{n@6UB=UE#(`g5PZEUtLTSW29;oP{P*50k&GHM5BtrOvPN{!tMSJH75Ixjy6hcd4 zB(}U35eJu2S+kTX!|yz5qCLv+U0LF|WA>e9>ns&m_ySK-u}#E>(Zp+Kn~$dW!wuBw z^R$|cCOTDznMlb8 z2LE{H%%chhBBBoJbak}I^t>fQvg%afc93$=zR~u5jVJ+u%9kSJ83&H|Qg?CgdD>=~ zzVv-Ou;V(*aL51pd5f0o>5xBY*&h(mJ$dnSUN0GypuC;^{1O=?b%U%JwObtT6|zu&&HRD{3X@g0q5Ry z3aeJ#yJIG*iU`QK2rSTXn&WcYBcrerqin7~Pp$kvt1lI%A<`|oraJI_ciX6nn2E%?07AUaU4b%8DP}|;6p}IKGoM)iX&b<$W+G8Kz&9gK( zq>k2pmp09Je(|BAoJzr7+aNh?U?)Z0o(a5PJ*{4U@rZT?b0}aYA`nOxg?%5Tr{V8+3!3hiLA-COuc@KdLR;Ejv%f@Mz zt)6^GO1!K#b0_|Je>GMA+;k_h*(IjkK4`^{e_X}wQ^_>Q%V|* z9TlU-b2};}Gxgmo8pUGeS$x3)NOrqnV%@&A!(vXX1;#76iaxnJUbMD1PUs^-zRJn< zQ+DU|uY8k5>MxY%q|(ZS5FF_Z5LAnu3BKd#9qo1Ba8PyZ2n|h7eSrVw91>*do$mlJ zbPu>3Jspwy(}+bXmo5~LlVe-JGZ?AsLos&dEU}jxO~8T75ufcnm;?ei*l~2dt1~3m zF{9gA^lixe!lcyso;dI1WPbrKa#>)$?WKAORy~hq`{nxfPo`F-hXoBEOj@)(C!C18 zi_vQP6I+J!*SGxkqT5yVrtrKC6z+Y8nN-@ggmvQ^e)Qedh3~6W65yl3CUM$(SU@1O zDSd9ClQ4;VM=*adPwrGTi$gzmzFs?B7v!mN!&Z&I7jHf_)CKe5z&Q-IeCE)+``Bag zg99TESe5fW>FiReN^s8dmS%~Wz@LX~4Rb9(lV$U_#hP*^k*GpcWu)D=H zc~tt-!KI>HRN)a{nP13k8O1P0bSg-OmCXe^=o~WEEuRNp4^)Chr~z%P5T|T-u&KE~N4yo1jg~6D-yS@z+3pLhz}ko-SUFeC^rK&9ada zv9tWC&zW<^EFPbl7~9>{v2+Y(nfB7d`B&Qt`paP#_mYzQK&wfaHkedh|lhjI?_O8bcoWTFq}G#mR+q7QXZ;>*b0o1D|69^wgSWw$*83j;B~7_sEffJ2WDSGIJ;#%#>tWh;Jk>v< z4|ACXk*pmNMK|CSOzt{VoaG;$1AjQofD%cVyXGDI!wCZ=06kC=2yHw6y$>EZ8|h|HV~DPO*!2 zH6rIzg5504Aq*2*d@abPYux4jSM50aL)i5QylhC#jKzTAB4HT+s%ltdoHTV{nZlR@ zkOd=V#_o55E$nI^%hphGnY!CCZJGshGL`G31qGQRxbu5(-qpDs(d*SB6;Uz+DL4q4+bSUHWlmR)o<&GQD;vV*7-bNetsxFS^Yca z2ZA6ARcEa4)J-6!Cc#EJcu-`$M>}ru<`gm0sH8HoMYHxW*1KH$>K@Dbs?jxf+c> zLL{bK_$qn{?tM3rL1MR7?s?Gia_o|$(TOX5;%Y#{Ol^1V3{o%?@m>~K0y;i1Yp{6O zGkX?b^#l~m&M&)8ncww1AL$It?5Wq{Y(dh8VBZpMv=x-exc^Ef{^jX6&DYHgp+1c+ zJ8g|a9`xovrakWt{sP&L=o-m@r5$fYef!tb93wL|w1J#W@7JJG^AgufnR8d65ZYhF zqO=Lm5x`E-lM1IS&g-In-VD%g$!@3n+f?GX^!R$TL#po8n$QM z0lE=0r6W5`CiWU~2|MnK+WVN{t0nsmxFT`K$vkwwhHzrjen#W zFs}A6!B&vhy4E;xuSBXV@y)h;6&bN=yQTg0X^`!QWYY3?1PYdR+-lu> zYebO_^9%a&EAYMiuH{0w8?onU@avfh!Riquy9%0pdZ#YtvA5!r0AgQd(vflt+N=3? zg_56hEbk6c{0-CG?_w6tdKny~1a-TBngvi1zeJAi$U$&?X%3Dyx zxAVg#;a8NZGwhbL%&1hkW&hyq7IoK7 zV{*`Kw?}C6w*5hFT6Wwcx}F{e@ieQ0d0O}4jLl8&!x`EhQJLZ(g#Lxjv_pDt3YCdV zSl&!;`Gw3r>v}R8H^(DnMJzajLznX<*Od4m!s-8%6>wz2i@ie zjs8wpH?e{bw}wTgKBYmPI9;nAP|+D?iD>*%U<8Bc{C^QZaV*orHSp)GGXzZCL*_HG$y}Fv?|L@Zm*sX_e(88E z#;uyRrZ{eO%?VxW0X1COB$pw*PSn9P%~a!cyj-d0<%jy={$kdZ&W-hZ`L=|f`wbGu z3HhEU@%Bo`o72g`&WA@kbh`=3&UHWyF|V#1>mCQ>A^%O2RR%bDZ;KQxpSWG4b{g4b z>j~1|Z9Cbzqb$57E%fK>C8?d$jgn~To($9E_w@G8pWl3{DQ;RMF$3V#+Q%$6t^(F% z*Qa}~bU%6j6ngCC(lxyroXu0wF{p@Vw5}vi-qrpIY?fg&SB@l~n0j#b@CpcbE=KI- z&WX1De%x9R4Gx9Gz5eXon?Y~Xw{W8O?(}3FjQq%Z_P~s-p%YTdR-MY%y28T|^E+;D zj#(+g@FDfC?y%QISJDxJa3bMcUG?~13h5niO*Rm zRFt=|0~x#D*2@&GP_lnMgbL~J#rbqlIU?xL*wAs&z52jwADsbRz`i0u%WOA%!tW%Y z8+^R6a~P@J$ATrs;pt#%hZs( z;=1WJP3cUW6GnwQJbz&-rx;otg5G0aIB?aD_`l2t51!#xUBF@|0kt}qW8$=|fZs!b z71}JO1)yO{;QtU(vHoA}eN|kPQTwe52pAx(v`DvfmkcQlLrIBr2~v_$0)v!v4$_S@ z(o!NI-8H1NNDU2Vk9`00I~V8T+@H@&9dO>g-@W&<*ILh7&s1y{wn}@b^ha?aSX2PY zUChcP`5+nkHo)s?eq}H`BmKB>EeI_V;BIMcWmXk2)SlB;c|ik2@{PcGE$G@8;AnTx z5x|lvC%W@0w;~|$MW`u^OAEa)lSV5Uq#rz1=yMVH4kC2OuUJ@=oSx>KCdD2ce&X)O z(qB7j!#mg0l#ScL;A>SM*xZC6#eZFKD2o!mqA|NrH zI87&gX~O)pC)!t5;Y=L+o9Ql?_NNFrajS=3*^rpE5Bp|{fl$I4Lv~(6{z>D2;XPdHXO&l65=jgZcYm|2VeWX(Kcq=||VNNGmwf}lzh*;jL=ZIc`vmf>6_lGA_a zcQeX=`H+|mc`ktEU(+#F!Q&O}cf9H?rn4(Mdit?mJI*2PPrTMbka|oUk$C*@0Y#&D z+}*a5^PJmSN}W^k2N3stDQa23f4-=IDR<2Rv}^|e=(xP=(va2ASHP{2*=7`q4?-N$ z-<#K!T2?zHT0I<{2Y>+G=p60yZ@Zu1`C*ypm~?Fq_k%L}FE;#?sm=z2w}JC>ay&Qh z{4ywb?;|~cHz?b$q1cGv!t-^XWKCS5^^CV$n(Ow={bwZ`E;Wa*bw|2&sVGW!E$MVz zIhYmpzG$6H)|yE7pIN>{1Xqb}^lq92Q<%$AzJK#Y2@C{Iim0b+NbC{c4kT4+Brw~G z!t0!v{ncZ21xphdI(s_Bcb~ONka+`9J{`JaI}o!RzM=09)BW0-hp%fdku$*}Q)X65 z7snTst+J0sFDV&L5Bz_+GjR*I_7R$2T|7airB-sIcTfBS0gczuD}D)XAy%aqm#MDZ zb>uiaIhgk!!ZPiHlirPEe&i9o#Zn_|mjK2Vq}XVn8Amni=mU?`!s^NIhX&KTSW1^6 zD2AjN0I|g2I70$2`Pvt_qE&-=ih|lr4j@=;?z`-uatDpt2?&ky-vP$WUnr~P{qP|T z6|v3Ac(abT!OJCV)!aP@H`l!7Ck9NRkhe=Vv{6AeGr+MdKqoKLE8WAA+20W$`02>j zQCe!pUEtCE)vDKDLAPV)YsZwPM6s}==xWBgAU4l5SJvlJIc0wV7BXh3cfc#RmJV3s z-}93eQF3=H1 zI(C;BW7mxI>&DG#;E~RZm^w1iaD+}M!#KEL!B1QyGN{1%yj0y<6b8>0x&u;vBrOjh zxa&kvou?xC)k+eW);VxRD%8K3Rx&nlGRnRp1Jcq|nSlgY@j#0p52x!7#UqG7cS#zNB z)OV_8RAhPJtCll1#$*&LomLUh)krMpJgCiD5mzJBiDagMek%yGEkFd3V~D!Jx?Jjc z}af zfH3K4lEd#G)~CcW_K5zeG9Ewiv+dNy8}uycV8T$!Hk&d_Nb}g8Fd4j8zXw72KORz- zn}k+cwZ0tErFMZHN#fRzQ$665GwPG=_lR)Wi7Cr)d*4)Bl-)oPhNFGZYLIOWu70iuo`n{GMbbzN=|@O9s|-VH@F%=^%+tU*+Ee;kT^mPmCF+r6 z)bDi*LGi3>*?W_QGi)I{nT8CB5lte3V>KBg2?1yGpS1;db^z(lb=(qHzV*n_b+^ zCheuPdCx2zsKuR~8V%YN;IiK|nbVGMfr`0L-P$n`4e4O58(Mf<8&4Q9xyrgQB6 z!bHL#c(EQQTYsO1R%prp4u0C7tG{sm3oS``Ma*ckF09fqV zTN2!CAt!N8my|BJ*!vs3n&L~gUO0@u0``e*E*N2&kd|XqHmhsvZOlNdnL=`Nq3)NN zP1ns`88n98p5D?GhU9d^=Q}EnUnB~6W2dEZSQ(PYAB9s0(oTR7l-TgiE)~3kI;_!w z&>u~of*c!aB7f?jl5BHhuF~(36>#)Ksy7L#`r?-UN38WAKmxgByItiau!9rh?gnb+ z;QU`Yhst?rl7Q>5nN%XiJ!HGX$Lcr^C(D>q^Jr1l;NW?lp%T7;dp8A~1ew{c<-ogF zcdK^jK-YwJ`AdLE9kh~nQHEZA674$c4{0mkp)qAPSrgjV|_o; z`r57-FZ|Q=eTW8})-Gm#YK#)Qtz2|STk8xXTxnMkNz>m|-!(^K#fAKK_m178^>!+9 zcW&XQ{Wz(l{N&hvK9IU-o(KivXA8BCIj7~VV`8@*;D;FvNc{=>`{tZaScc}#f4$68 zVl^5GqhdOjYY@$G{kM62ka+4>j%QJhaL51aCk3&>m6^|{OsRg{G;5eGj2#mwc5Z(S`s&^P`lAZ!{qYpesV{J{`c_v53Y zK?uV#PMP_iR}cv+!dO>H%vr0V2@u`)+$98Ug;j|u^L;sDf16>T(;c4liw(~zG<_$5 z6>;O{X95fxDd-LUQ1t&y6xJ@24O`Q*L&J@(v{TJf###aHoP0(zgB1@z4P|Z|D3<(4 zg+MD}3}o63^MOo6u|I9vcjYDC*H{dsQ|wnTUGE4ZPWvV2eYSUb15t0!JlOveXg`Fc zQ=H?yz(i^BUXlaNUMRPfA%#@xuU^WkyLTQXDjQ>684rYnrtUm>V)U2@d_XOl(pFSR z(-v^#*m+-xDL(Q}PS@#E+=l$xeB=*2;HOdcttg3$9XM`XjJ8JCUZj44Tbb|jRz@c2 z5~7}PbUm{YRilw-<)YuCQS43n`S zhHXEf;5Y?wk^8SeNkpkILdVG;jHmxu%1S&^N96{BU10($k-Ubml4zrsJW4*(%cz%Udcdw$#2UTQrS-5cX{(6 z{X2pupb={d2bc85sWOW?s{M@!%t!sk^Ys&jpW?4=eREf26hyCMs+^3J=kX2V2%*OG zedOq>I=&)y^H}ldPKlp>;FE{n$XiVaCV%#^yYF-U^z7RP9pQA`=k1S}A*mF1H0^IB z_sfzuze1$zUI~iWzUB86uiJ!+QhlP1?cXqb68D2APECi^mk;)dnVK6t{wfE~|EuLd z%9}BOqdWZtcCzO@ltwp8=jXpK|Acnq25x%bC-Eu$sJ3~cPt4BTB6-RbEuX;A_12?r zH~;*J!H@hxvSVtGT)66H81G6`2mf@JFj(Zfd88zCufyWqMUG$F0^Gu;A8FW@w%Dy>eiiySSt&_GnbE(FyUs1SMb5NPk&W^_~2%QBr+I1_=v1b>jMzSYE+=nX7J>O zxOjQ@=0E=VSn=@Azt5i0f>EEf7&*PMI&}_~&^;_>cneRWa4^qH(&YgEv#nbfp6Jc1 z5Ga9jMZLt@j{omxg_OXTt{b_Vaq#a;4+geIm?MwqNs_^;Q{k_aCG)~`thr6ge&h7} zlQt?qT%deud)Mb!7$sFRLnV|McOXCB=wFqQpQTD@R}k813(9m3fS{&TPS-HHigy znO>d3ucvB2&Z8%YV7E^&a7}6gxkwc5`akwQ3cl=G?hfa>5mA2vWO zIs%6Nt3_PjuQ4iOQ)0;S$fPS@16`LftsPVjz56ZVH~@y&lz!_1aw2Zei@hH&DtUCS z_NcCh<_~lE$6T1afN&0rfW%B@;reR#dK=uyabvQGApJ}>VsJ~}aED<_A|5xTSwB!y(sx3)tDOBI_rb*tf*a*4p7$8*p=u{(HYs_jh6+ zpMw-c;2g$`U9G|RC)uGoa{6Vp!x*7|%5-BItV2@KE#b>nnrNgZ_W_OFcy#57yGqI< zDhC>$_MkLi%RM8FZWrJb<0`+U_BIrDn1<`~H=w4A)Fu#XdZHOwT?6cO6E_5nDQLK5mLCtU&k+%y4}Bd0~ii zwa^h#X%zvzoWv13St#fp$$XmKT@E5uN{}4a`y7j=q1Ae!dmpV{q-rV4S1UqJRbol@ z!5(69a?BvMhkd@nAg+5J20XJN9T-V?Asq8C=LxBwK&+aqd!NLiUjSCQ*-7Cxi|3@i zMfVqlYBJ%}zxw>MZj)_SnY*Fk;}|mt_$yRM*sV-T+Gr_s3Q982diU_S;4V*r7m}0v zQd_I}jrrQxt9I|g+e*w-O%lGD=C+I`i$lBLxPF40hL$9C7@rvCN!?l zRr7isHz2C{fhPCqG;-kjVxawAAIOCjK59|}xpUaxz`~dTp)L*s9^;k%aye1ncDqnS zGUbD=4g(tx_U@1m*J(|A;SLXGcHZ^#k_|mPqx;fF8_*-TMZsZ*CIku-QgIC~Qg$>4 z1+FLBb4EC)c)Sk>*Qgv8Cf~uGTE}dMu9pZX zf^qj>I)n&>38ZWcZcA5!9uP}&4jJOmVl%ByY*Ye!6)Lf|8R&_p!we5I$2+C~%HDak z&vDJQ5-|HFMhR7E<&I!x85e!rcq6q6FJWG0?w7%1{=JI=TK!eML2m9OSm?y{tmlm0 zosyUoZ#X=sdhb2IXcxa|*JM|M(3Anr6!`_$yPLMFh|xP}|LhMyg-2@oe-IcGNnSc! zBOQ<}*XJ#Z9u(vZzhR~9LcCmdfrhpqvPMXFBRj@_0h}Ktt$}&d%>V|S0Xq1_!Q8^k znu|HaWt#V1n9+mxQe(ucve239-ws#wRR*S6g^be@Qfnah#Ts?18h!d+@53ZOsiY#z z!z%%7n0d&zRO%D5!QrzP_SV4m2M`q7qXIk38` zcc`>8ylbR(029+Dv^P*A+yG%YR{O2nN)9AIBmv@t*CkjPEbiE45@G1 zczo5b%5fl2p?b+|IhJ0*t;@3t%t%+VEr|_7g_v&L(}R2Duw_Y$J3l8r@4i||*>qT< zy`(w&wSQfGUvC;hK(Pq4dS5}H1H<~Q;alnm{Q_a2%iXXtIPyumkhanrc;EkyxP7tA z^XdRjbs-rZQzh3B1*I14u(2tCR-%wNZ^(u3NjsJDY4-H(^XNz~+LJ*op%)xTQe-vo zouMrjDN(q?<_Kv^r_{txGuM-$5IhGNsA9A=&^@LHjqW+GSkAs{uP*mFE-7P_I7_L+ zFL4dwTZ_aPW25o-OUi<)vDE1~OEBLMKrjD%D#a-}Hk4N$W$F5pE+LSB5(I}V4x2pl zQ??s+>!suY7yhy~w3Bnhwa@Bb;m!Q4Hd=LBYU_(XKn#mC0=)`3$ExgRqV940Rr#|Z zQ$n&M;(c7N{ozOc#_!JcW+FTshIyeU09n3&$5>14{KzQ-Bal+Mv_SvN(h<_YQsxxB zp04}>--s@;C=CK32o1E#!C+$c_%h>rec8UEtv&1s2)F(>uTBy$n+7*(pF7Mq4x8K1 zjB>vQZ9Pm)T`Kiv9HuU>=vNQk%(CaNlg#84h0g~LWZT!~8G%hh)k}^{{nrz*7_R49 z$1kk=-OMMoN@}QVQ1$cj@SEjJr?AvcusLp&p1Ws0$7*3CvRHN7+79DFDEcJKx6sMt zn8hv?-}wfrG=l!z0v3>EX8b56t85CyGG>ceaoj77W}J=Wczhn6BEVwe1jH}tqy(hT z?)`y@XdpC~Wv@4kw=y$#e~QOk!eG*FR>b&@y%+l4Ds9DgV&?bbYhUh-*Tspu0ey$| zADZhnl4ee}v^44C%=Ry+o#pM_VIU!4Y zNkl3oG#lKZImupLdrQSWmdPEwNeZ7p?$eKLFt3#aDk6@|Wd&U@%G~Gb(CA2f9U>)f zz)J*oD}<(%$FA}~X=^BBuR-~S#~$~gxaLQ2y0j_>AIV%^J{uqy&)ei6~DpBo{|ty+QUo)t@3lw52Sx z&2+%WbBsqM`e(sK%Jo!F!&*-6$GGcO|6O2^$YCGS8D!42r4!psk+ushag@>^jRJA! zw$J^b0Ci6=(BjdB`T6*6!l$zn9yq*%FoV~n8YTxF?=3y}A1y!+UWqNUllD;O>%8kS ztv8T4YpJk;C+0%z7m7yY13tD^IYu#;s|iM8yf}nRr6FsD3EA#T8!xx{TYtFQ)b^Ng z*_Rw>-sl&XWsK?7DvvkhKw@WmALToW0VwK~5)*0ovmDw*eZjZ8%#y6umUzK{Z3F{l zW^c>YR?9~;nCU{q1^X%KKCbtZH~~*k8DSc+-X(wUtJOk)ZM|>gMO$*w;O-jk`kNU` z=2G)8?}G72-cMj!s{n1d+J^Hiz-lz#BIfMJz9Ond#xyELsMGf|S7)8k`{s4;s(ZuU zvcqnbSSxC+6uUy1@9X*bSu1hgr={JdSQDLa4B!T6NlSR;%3k3|qr}kM)!`V-$9y;N*$~ z@G8V}?(W^y1zhDmKVz;w&>!{)z2LEHX$w=85iadR+e?XL+jmGA${YY)Gs5=mt#f3) z95TCL285q?P}pT)zrZVj!6G0rc{HD@tBsak54~WYyUO_MTOv&~Wi*39o81|wp7uuE z?a!>0pvqC}2%m@DOvnZXVcdpxvUB(_5o5A8WGEhS(#3BZrOW+7*CwZeY9TU)lWmCWX{g8`H3zrH&f`*v3u})z2!0bGtrKcML0*$ z{`S;l6GDo5C>10Z4@Tx)CJdgg20(?iVD#uzp`|_>qXT15eLKB(W-3i@wgHLr{WnBk zJb5LRqNDCF!JDZ`g_$Bb%hmb#%N|(A?~}Ii0oM$ABt@_d3R3VRu)Bc=#<3d#q_C4k zG!4rsQH6uM?fqtWi9lE+|D2w|@!s9l+8nWFMwYpR%v(qORAJ~!r_l<&xfQ?oX3(!& z&nZFl&`~5@xAk}hbL=8Bb;|7aq`smnKrnvbA3W)tZ6e)*K>Sw1fV%!`1BjJUPMPfFR z(kzbn&m%?lyW1}Kv}z)UQp}3H_8KLNIg68FGAY)VnFIXrF-hbSL6~7j^sYi>&$2?HlWrop}mUH3dgh;Co*c!%-~} zqE`>>1fJ7Q2FN{+qc|_x*PEy*_2;FHl4p?%BVi76O$nDuZ34HxJRGbtf(9SZ1{7$s zjMEN846b^mBSLtZm&XOfE*z)hW*fs7_PssZXJk z2bw$9N2W~*rt;^sU$mKMoY-$J@;wXF9vNB~*ih2PW{@Sgk5_%o_S;;w&`L2o$tg5` ziWRNQVcM6o3Z@xxKPxOP#P_m;Ti-iEXSfd~bgT<#qGJ0XV(T?k?* zBlM(ItBN{);(9Hh<+71Y&zFtW)7$M`su&5(gT_(ilEkweRwb$s@w1`Gw(KkM>jQBU z{Q;o)6N-}FwYuy%FYLr$U5oRs8j~rIgTdgpcyC)Ze1z78DU7`i-qfTmhqlK3HFVkH z*M?@g7Z04{Sy%|MYnH*Www#o0q!QLkY4++_%hb;Bv$1B1%9^J^WZG$N`xbP}8 z-3G-l|MwTA<2=S+N#LWqXY4{Y`Jv%5@0Gx9RT@?~6rx9@>Vva7Uk75D{nxdiJvbH$ zRI@!lKBpV&@LCdfu|Jo~VZNhwN<;LkNS$u`H1rGOk)&-em_{g}B zPM4+u-(p{z*ArnO=m(N8HO zaLZkmva@$ew%pd|m^edfr%g`b);gXk}8hRV1M^+)9rbBEB$g3BBb-Yh)GH# zc&Kd?wFS*Mpfg!gitv@LQT-o8P4{Wau&WUz~3*QZV4f3 zf$D^VR^dWp#ct|$Z{ffiR|x@A(V5yB3Ey6W$KuLPZj}ctKD@1XSYSOhp)fYFxydE< zqIzR@{JdC?TD3{b;^RpbT0xy&JPXuMaWh8!k({{T#ou;25I}j)Pv@RyESySlR0!tv z!uR^nlj+>hhoouJPG{mbI1j4?Qb?82bTN751xA=#IefkZD8SkEBnKDO=Q*>w1-Gay zU5YfWOmwSX^ZZ$|9l>nyE%>{*Zy+vDk7T4lV1qoy6aYykOMWtF&Hp#Z)^Dl;)VFD8?Lz>%cTftNVF8)>U(alU* zE%^0ALc1MCn;4&i9(_+h4+n`T;QK9qw`!8<$9erKKh4KUquE5Xs7HZgsTe+cPEp&Q zOfCB!fx?qO^ZE_8vW>+U=ci5@OGJU|Go9Jq>@y;}+ob>&2$_+iE4|o!#syzE)$Veh zFlU&L_&lz>TgnlQlos}q)*Zt!2fenGJ8eD}%T&Rm5B3)ct%`;t1-61Lci6?YzqVVC zj9YEBxJncf=2+P7zqHm!4aa2v;o8%MZ#`0J>Lp&-B|VK`omeo9Qk-dDD_Aa@l7;g zPTikC^V^pVmjL?9#%<%TjwBW-_aJ5jsqn@k9HIS*Q%s#W3Yg)8yXBt~=qLZUux8^n zp^mkudQi-SIHENA0<=Nr5AiCtWm~3P4wo`ZOgS6gv`A|rWf~V<>!?DXLoVgZY$(w~ ziY*(bU2tb;Wv^e)d|OdK&oHK@3-QYhm3GN7A)fPe&p*$xt<7?%9Qj0b8YaFIc{}We#m%)>!V3hprsBue zyuZ;PX2PnPvU&5#UH}1Feg6Jr8JF)s*wF5$b5nZ<%C<&ol|=%^{=;9HvbP zHl7rw?R8?9zF$WGLCgu-?fai5z!aDV!C96T%BUTmkR8f7=Byey(^2B{v|r3_4t{;H zmfKhDX53v#@p*C79J;e?8G7ywmTYr$j zMnDGuKVCAt<=@LLAQBqiJ&Piu2lqUH>Y~*LSqVQP5}eU;bOk|(oD_8>2dcDAJ(!wN zG5w)T%uUilk)T*{ZvjBAmuyED8Z3Q5QYh&G^u-nuY4mN2iK5 z-&JeOP#m^GNijHHGBcfk@KjBvQsy5CH5WDwpY|6!*tiQdPK`i&y@EcVKgjsY6C8yI z9LKLqd96-I^v5Pqd~IWQBeJ@z8q~8B<2t6{Zy8g1UOJ)H{%G~nAf*-C>0JcM=k(Qb>-DLK)nc;dbV-NmFgNk>ZMgSlG2eMz}SaCMS8mcPk~M0z-Wi zGoI1yK#=fHjB9jABXvY3s2^LQyz$ssU>_uwlH+I^0&@+iGruGtmepTQ$^OhjX0c2t zSR|)@S_>NLKQRT(0+@}ko~{K6;2Nx8_dGMupFI{~WYi))Li><%KiOZM5>;_)_?H}m zOx=4&y2AEm4j63lX}iO{I=idW^%i4{VgvssW_+zHzjsRSjgB~{EL%VDUs!$mq!K+# ziEpao_W+!V@}5g4+(+A)bFxllcGGw6i{6#QR~{1=4af1BX7)9!s!-p@XC;_srw%}< z^c>Y5A6&v%X)(YzCoA8*tdsatT8H0tX${|;PTiWdAp0~Xc~*95yJp6otY#vAboGVO z?vz9S6n)LUpqICFqsp^PA~iZ01c0>_ARC1V`SeR$FMk9{FB#I;0`-XGYKI*c)Tx<1 z_@{t{Sk+C6pWd^ten|!n=DuG0T0650`g_1L(gLgGr#h-0F%6kLDELvoz5H<4;b8Z# zOR(U^F*JvS$6Mt%m}?`wARkJHJbm$9+sONfI->-*gak$U*B{<;fg_xH+31ZF-`l3F zEK`ggn?_UBJ1ojav1KjGF@bztYhsWBcsabKVoGOHiM+I2 zkrU#53+v8|O=nRD&FimZW_kftb7rTeVRsimU!G}-T}_fGxQGUQb7C-Ans)$td_elV z+Gzh7W^0w6kh@gu%P5aN^1>bHIhZbgA>0t&e&;2%^YxG2d{uP}uJjz>b<`P{jl=h6 zfvh+;0lj+FjKfpcOuwopFI1z*1NLSNRxte73)I&Sio9UA;<`m`ppNW?74oX@KlKCa zm#-8u8~1u@-eu#?=N5UFYb+I5YK2xo1f#vyy!E$iSzs?C$-Yt^dGYz;b%5;@P-J7CYYu8_< z9||6>XGMMtQN$qq862kqx-j&#H%nG%`U}T|bd(yHT^Oq#GiE6JcqBOp#iUjmzGPF> z-Pk%Jm5VlyqI7jTSq#QJx5O+~C$tA<6pOA`sveLY=A3~2?Lv3N)WlqwN{^rMFQ5Aa zPx}jt42wrws--x=b-NQsP@()4u)E0Z9szmWoFO0df`)OQ#|t^;;#5+#Zq%HjS_~CF z*(8%U6&q~uoyaHF71jJ?+0ZD@;N)OX$tx4Bz!{3UgDC)XTOIn560aNs6~KD)8)5YFi7bj4_6sp_~Scm#{=8 z`k-pmqgWpCIpEl>buX;EnK5-LU+}tOuQ_C6(%L-O?2BNlo#omlWWD!j&+qX*9i1{U zM9c@!CcGG{`BV@eh%T-9^myT1PC?{sq(D&()8Jajvnu*G&`x@!>G@7A?v;AXt*nYQ zUFD_X3nvVHu)3l-S-ijRzNOS$Dekb_8^N(AIvpP_hjpo18|8=&O>q^#Dcy7x@2f6k z-YIjg`84d?vldAgVG!=QL5yl#`bG69e!9>IPUu)O#VYoE$@UCQ{g|$Y9H^lepXRS~ z8xfZ0eP{Gz{XNGDtE0#jV8KJN%GkdO_3fCr@{GPKV&sEa9J8>?0eDKYNl|g8+ejV^ z>J9kmx~K%+Y26}yv4OWh5sPTq$W4*rvF%&br`@)}AA6xBl|!GNiN07b!=jv*>eMs( zLPYe9;>5ZGK86dGC_2$%VTg7dFcx}BE|t@HCl08YdvHV#2d!S0|M_xdwGFQ2&lbOn zI?Rita9i{fJ`?{EPl1dRoAu7FFcQcY+U^a@a2YB#i_AvD5ugs)V%8&9s}Iin46C$G z*q4)!HF_ONm)q?0gTgHk;q|imEy`796>A(KG^+?N%Kw#&6<73=B>cG&P0wxCuJY`q zN<@0Lyd97mqMV?V8YZZ_AgC8YV5`=041$+1<$!+`As~zm&BncvPoUkIf&uEZ3~Q*e zm!rjt(_zB9QS#KTAd;hIe>t1N-47~E=%N~nBMY4Z`%?g7sgu)zAk;(w@k zcY1p9u_6%G8|;p3o?hfP<6tz&#fCNKi?Q7E*%MytQ5RzTAnRY{8dfOh9FP18_;x6= zsQ)zc5Y60#aPvu0eOigh|)GIWMNJEmrE^*)e-ww?D@#mSxE<4i%D8i>(+S zBTvfP5I#E2+$!{H^YK>im@=G+9}VX^pNOfI+eJi?K)|Wv+A99s}%8nnY*IX0u7%dttdKFP31Y< z93NPXso@<$Y@Lmo5(@~M-nu*Leu|YaL`45u?wx!21NDZ?-TxdJg*=VfvgNY^J~+zB zkPX~_0-r-UYG4g;+4{rt%=jxH6aw~V)TzYJi1%+J0LdIQ`WC;G_VZ5%ZC$`FZi9|f z-Ip9urC)(*P0)u-9oqHg9Xki^99mV0_?pfl+q%V%lE&I#0FRc^nzy{ieo%U{hIsD3 zABCPK-g~L>L4Jt6heyd@T6kw(^G%M^FPTMM@3`y7XjnVqs1M7Gw6O zaj&yJ|JkI-7SMM#uJ(GhfwkWRPFUolXbRq_!Ud-4vAkQM7hyQ$$4qyZU9`kZTEsx^ zK&8=l>Cno}3d#ul-B|r+VscxmjQh%&ga2DmdkJ0hd4@A$_xH;9D}COxct?2*3Y4<; z5S}-~2<|x5LT>$nYk?QM5C{MhKH*Of4;Kj(?J7>j$Q}P}SJ=^dMf<^e?4??+4_&Vj z+n!NOJ*AWxgdnHGIkaaZKIpMQ0}$yA@tZxsF$_O*Fy;4q&R- z0NqljABDUD`W|4v0rrj#KtnWyO+Y+v3I|RMeO-Nm>yNJ zs0zzwG3r2TU8xmEH9jb`(8)SNui)sLVI0i@&b@i=kF$XwySGc|V72V}tc>J7?cvKD zU8dIGY!2@gH>O192f`3+(_c0Z`ZwzjqmD-7FVC_=Du4M90fkPNJ&S@Gn(ERV%HZv6 zuY+a?a!N#3#fZ;o&%_~xQqnpIm*Hn`_N{9?I|-bN;dI=RWgXfAZbe)WM`lDM3>r;1 zRb)BrYy(*t1BcnJ^{nNXMhu*WCF^gVkQN-hWi?*Ew4e3qQ5!CxFr&C-qATjlV40yr z(JYSILxoxpnsOS~IOXrPW}QUZ4>C&)smFm8UyrAyl$vxMbh;EYBo?@?^Zx|~CewsR z1tg&~j{Nf{pro!GQ4tp{COi-Qmf)(%JIukQse}a~SokNF{unp=ierZqH<_oJtL{(z z7Bt-i+qMJ)8$xTdf4~xH_CEG-DKm6bR+~gg3J};n3~kK7Xu*Ds#MK(} z7~K%4H2q|96mO8H`+nP~axD+%?pA%|8s^ca-)YPY(i!EuIwtOo5ubyCmOkH_JM&)|M5~^b&2a@e=1}rdQ>j-UcO#r#!JR zDExJ^{kH^$5?Q3Uz>A!o4ff)S)z*xpUtyo1pPDg=c_iIBcaV2$-bgx+Wt@BZ*I5P6 zqQTPT?1tQmXq^nH)Ugx6UirOD6k6%x$Gt3{4h0KA=|6J8a>9vEpCs%Fj=P2C_h4Q) zzbhD(foJAJe5#USITN~=$ZuaTwR=xynSc_}%W_ElpRzPj0*E;YEJsu8V^bo71yV-V zGuR$k!vE<2ZO@lK5DVP-rZoH5!Wo^t@o!sHfV_T46_M&}v_| z9c9kSg;WMSq3?N~)2J=fYL^wxcMo%s_h*(!;`BkIBDe&nzp*6xx34<~0-H102Xjz< zJc}6`l_ns?Cb$urDzSF*K6@55(;-?Bp`k|oh@jMFrU^%Vp?epC{6G z#LrlW)gH8gkoATCIAI4+kLjn#+?)O61m%nBOJ+V7FzY2kV^K-T&VzI383WKYh6o5d zRce?J`OVVX7xU`ffo)y@lSDfd4`&Ce9G*0;0v=4}kV@{_pp#AMF%4zGPUO6&18`*- z$vx@6__OR844}Kc9NFHR#<@E{HLUyr@7*6Mdoju-+y1Pe8cE~B8`Y_-gPV0RHF%Qn zav7BcAoHuJ1%`);UvFmp(9)#B^TUYgPgi;7*Wz zbW^gE9(HOjH*WF@M3gd!eE(jf>Fpp{Y3{B{+yZ~(AObligations overview.png
        -1. For non-coded data elements, use the [DataAbsentReason Extension]({{site.data.fhir.path}}extension-data-absent-reason.html) in the data type. -2. For coded data elements: - - *example*, *preferred*, or *extensible* binding strengths (CodeableConcept datatypes): - - if the source systems have text but no coded data, only the text element is used. - - if there is neither text nor codes representing actual (i.e., non-exceptional) concepts: - - use the appropriate exceptional concept code from the value set if available - - use the appropriate concept code from the [DataAbsentReason Value Set]({{site.data.fhir.path}}valueset-data-absent-reason.html) if the value set does not have it. - - *required* binding strength (CodeableConcept or code datatypes): - - use the appropriate exceptional concept code from the value set - -#### Obligations for SHC App -The [SHC App](ActorDefinition-SHCApp.html) SHALL support the behavior defined in the Obligations section for the [SHC App](ActorDefinition-SHCApp.html) actor under a given data element. The [SHC App](ActorDefinition-SHCApp.html) applies different processing for SHC profile elements labelled as *Must Support*, these may include: - -Code | Definition | Notes ---- | --- | --- -[MAY:ignore](https://hl7.org/fhir/extensions/CodeSystem-obligation.html#obligation-MAY.58ignore) | Conformant applications MAY not make any use of the value of this element if received. | This is a null statement and is the default behavior or consuming systems if other obligations are not specified. -[SHALL:handle](https://hl7.org/fhir/extensions/CodeSystem-obligation.html#obligation-SHALL.58handle) | Conformant applications SHALL handle the meaning of this element correctly. | This rule is vague in that it doesn't specify any particular handling of the element. But it's important because an application that ignores this element is non-conformant. A good example would be a status code of 'entered-in-error' - how exactly a Resource Consumer handles this depends on the use case etc., but the application can never simply ignore such a status code. Note that whether the resource or information from it is stored for later use is irrelevant - when the resource or information in it is processed, the consequences of the element are considered. -[SHALL:display](https://hl7.org/fhir/extensions/CodeSystem-obligation.html#obligation-SHALL.58display) | Conformant applications SHALL display the value of this element when presenting the data from the resource to a human user. | Exactly how it is displayed is not specified, but it means that a human looking at the content of the resource is made aware of the value of the element so that they can consider the meaning of the resource. -[SHALL:process](https://hl7.org/fhir/extensions/CodeSystem-obligation.html#obligation-SHALL.58process) | Conformant applications SHALL consider the value of this element when processing the resource as specified by the IG. | This implies that the IG that specifies this obligation provides details about what processing is to be performed, and the obligation specifically relates to the processing specified in the IG. +#### Obligations for SHC Host FHIR Server +A [SHC Host FHIR Server](ActorDefinition-SHCHostFHIRServer.html) actor **SHALL** support the data usage expectations specified in the Obligations of the [SHC Host FHIR Server](ActorDefinition-SHCHostFHIRServer.html) actor for each Must Support element. -#### Obligation Code Definitions -Further clarification on the obligation code defined for an actor can be found by clicking the hyperlink on the obligation or by navigating to [obligation code value set](https://hl7.org/fhir/extensions/CodeSystem-obligation.html). +The [SHC Host FHIR Server](ActorDefinition-SHCHostFHIRServer.html) actor derives from AU Core Responder actor, hence the Must Support elements in SHC profiles that are derived from AU Core profiles inherit the default `SHALL:populate-if-known` obligation for data access interactions. This requires the [SHC Host FHIR Server](ActorDefinition-SHCHostFHIRServer.html) to populate an element if that element is available. There are a few potential reasons why a *Must Support* element may not be available, for example: +* a system may not have the capability to collect a data element, therefore is not expected to ever provide a value +* for a particular patient, a value may not be available for a data element, but in some cases a value is provided +* a value is available, but the [SHC App](ActorDefinition-SHCApp.html) or its user is not authorized to access the data, therefore the value is not provided. -In the context of this implementation guide, additional details for the obligations specified on data elements throughout are provided here. +The SHC profiles may specify additional obligations for the [SHC Host FHIR Server](ActorDefinition-SHCHostFHIRServer.html) actor related to data access for prepopulation and writeback interactions. These include: -Obligations for each actor are defined with two categories of interactions in mind. Each category is the set of interactions, as described in the [Smart Health Checks Interactions](index.html#smart-health-checks-interactions) section, for: -1. prepopulating the Health Check; and -2. writing data back to the SHC Host FHIR Server. +Code | Interactions | SHC Host FHIR Server Obligations +--- | --- | --- +[SHALL:populate-if-known](https://hl7.org/fhir/extensions/CodeSystem-obligation.html#obligation-SHALL.58populate-if-known) | Prepopulation | Indicates the element **SHALL** be populated where a value is known, it is important for prepopulation, however missing data is allowed. +[SHALL:populate](https://hl7.org/fhir/extensions/CodeSystem-obligation.html#obligation-SHALL.58populate) | Prepopulation | Indicates the element **SHALL** be capable of being populated when a value is known and allowed to be shared. It is required for search queries or prepopulation and hence always populated. +[SHALL:persist](https://hl7.org/fhir/extensions/CodeSystem-obligation.html#obligation-SHALL.58persist) | Writeback (create) | Indicates where the element is populated, the value **SHALL** be stored in a persistent store +[SHALL:process](https://hl7.org/fhir/extensions/CodeSystem-obligation.html#obligation-SHALL.58process) | Writeback (patch) | Indicates the element **SHALL** be processed as part of a PATCH interaction, where the element's related parameter value replace the existing stored value. -
        Obligations overview.png
        +#### Obligations for SHC App +The [SHC App](ActorDefinition-SHCApp.html) actor **SHALL** support the data usage expectations specified in the Obligations of the [SHC App](ActorDefinition-SHCApp.html) actor for each Must Support data element. The [SHC App](ActorDefinition-SHCApp.html) actor derives from the AU Core Requester actor, hence the Must Support elements in SHC profiles that are derived from AU Core profiles inherit the default `SHALL:no-error` obligation for data access interactions. This requires the [SHC App](ActorDefinition-SHCApp.html) actor to accept resources containing any valid value for the element without error, including missing data and data absent reason codes and extensions. -The obligation codes have been specified according to the following rationale: +The SHC profiles may specify additional obligations for the [SHC App](ActorDefinition-SHCApp.html) actor related to data access for prepopulation and writeback interactions, these may include: -Code | SHC Host FHIR Server | SHC App +Code | Interactions | SHC App Obligations --- | --- | --- -[SHALL:populate](https://hl7.org/fhir/extensions/CodeSystem-obligation.html#obligation-SHALL.58populate) | Indicates the element is required for accurate prepopulation or writeback. Additionally, if there is a prepopulation search query with a parameter that relies on an element, it SHALL be included. | Indicates the element will be included in a resource for writeback. There is no reason the SHC App won't know this information. -[SHALL:populate-if-known](https://hl7.org/fhir/extensions/CodeSystem-obligation.html#obligation-SHALL.58populate-if-known) | Indicates this element is important for prepopulating a field in the form, however if it is missing, population will not be inaccurate, it will just not occur. | Indicates that if it is known, the element will be included in a resource for writeback. A reason it may not be known, is if a user has not recorded it and is therefore not included in the QuestionnaireResponse. -[SHALL:process](https://hl7.org/fhir/extensions/CodeSystem-obligation.html#obligation-SHALL.58process) | Indicates that when the element is included in a resource by the SHC App, it should be processed and considered for accurate writeback. | Indicates the SHC App will process the element and use it for prepopulating a QuestionnaireResponse or for generating a transaction bundle for writeback. +[SHALL:process](https://hl7.org/fhir/extensions/CodeSystem-obligation.html#obligation-SHALL.58process) | Prepopulation | Indicates the element **SHALL** be processed as part of prepopulation. +[SHALL:populate-if-known](https://hl7.org/fhir/extensions/CodeSystem-obligation.html#obligation-SHALL.58populate-if-known) | Writeback (create and patch) | Indicates the element is known and **SHALL** be populated when a value is available from being prepopulated or entered by a user. +[SHALL:populate](https://hl7.org/fhir/extensions/CodeSystem-obligation.html#obligation-SHALL.58populate) | Writeback (create and patch) | Indicates the element **SHALL** be populated as a value will always be known and allowed to be shared. #### Must Support - Resource References -Some elements labeled as *Must Support* reference multiple resource types or profiles (e.g., `QuestionnaireResponse.author`). [SHC Host FHIR Server](ActorDefinition-SHCHostFHIRServer.html) SHALL support *at least one* referenced resource or profile for each element listed in the table below. The [SHC App](ActorDefinition-SHCApp.html) SHALL support *all* referenced resources or profiles listed in the table below. +Some elements labeled as *Must Support* reference multiple resource types or profiles (e.g., `QuestionnaireResponse.author`). [SHC Host FHIR Server](ActorDefinition-SHCHostFHIRServer.html) **SHALL** support *at least one* referenced resource or profile for each element listed in the table below. The [SHC App](ActorDefinition-SHCApp.html) **SHALL** support *all* referenced resources or profiles listed in the table below. For example, when claiming conformance to the SHC QuestionnaireResponse profile: @@ -104,7 +90,7 @@ For example, when claiming conformance to the SHC QuestionnaireResponse profile: #### Must Support - Choice of Data Types -Some elements labeled as *Must Support* allow different data types (e.g., `Observation.effective[x]`) for their content. [SHC Host FHIR Server](ActorDefinition-SHCHostFHIRServer.html) SHALL support *at least one* data type for each element listed in the table below. [SHC App](ActorDefinition-SHCApp.html) SHALL support *all* data types listed in the table below. +Some elements labeled as *Must Support* allow different data types (e.g., `Observation.effective[x]`) for their content. [SHC Host FHIR Server](ActorDefinition-SHCHostFHIRServer.html) **SHALL** support *at least one* data type for each element listed in the table below. [SHC App](ActorDefinition-SHCApp.html) **SHALL** support *all* data types listed in the table below. For example, when claiming conformance to the AU Core Diagnostic Result Observation profile: @@ -112,3 +98,27 @@ For example, when claiming conformance to the AU Core Diagnostic Result Observat * [SHC App](ActorDefinition-SHCApp.html) **SHALL** be capable of processing `Observation.effectiveDateTime` and `Observation.effectivePeriod` Systems **MAY** support populating and processing other choice elements not listed in the table (such as `Observation.effectiveInstant`), but this is not a requirement. + +#### Missing Data +There are situations when information on a particular data element is missing, and the source system does not know the reason for the absence of data. + +##### Optional And Must Support Elements +If the [SHC Host FHIR Server](ActorDefinition-SHCHostFHIRServer.html) does not have data for an element with a minimum cardinality = 0 (including elements labeled *Must Support*), the data element **SHALL** be omitted from the resource. + +##### Required And Must Support Elements + +If the [SHC Host FHIR Server](ActorDefinition-SHCHostFHIRServer.html) does not have data to be included, the reason for the absence has to be specified as follows: + +1. For non-coded data elements, use the [DataAbsentReason Extension]({{site.data.fhir.path}}extension-data-absent-reason.html) in the data type. +2. For coded data elements: + - *example*, *preferred*, or *extensible* binding strengths (CodeableConcept datatypes): + - if the source systems have text but no coded data, only the text element is used. + - if there is neither text nor codes representing actual (i.e., non-exceptional) concepts: + - use the appropriate exceptional concept code from the value set if available + - use the appropriate concept code from the [DataAbsentReason Value Set]({{site.data.fhir.path}}valueset-data-absent-reason.html) if the value set does not have it. + - *required* binding strength (CodeableConcept or code datatypes): + - use the appropriate exceptional concept code from the value set + +##### Accepting and Processing Must Support Elements With Missing Data +A [SHC App](ActorDefinition-SHCApp.html) **SHALL** be able to accept resource instances containing data elements asserting missing data without error, *except* when the *Must Support* element has an [SHC App](ActorDefinition-SHCApp.html) obligation of `SHALL:process` and [SHC Host FHIR Server](ActorDefinition-SHCHostFHIRServer.html) obligation of `SHALL:populate`, where the [SHC App](ActorDefinition-SHCApp.html) **MAY** report an error due to not being able to perform the prepropulation process. +
      \r\n

      The Australian CVD risk calculator on the Aus CVD Risk website should be used. Below is a read only view of a subset of variables that can be used as inputs for the online calculator. The calculated CVD risk result can be entered here.