From ce9095bf734fc03f1ee62a546a11afafdca3db7d Mon Sep 17 00:00:00 2001 From: Sophie Bauernfeind Date: Fri, 22 Nov 2024 08:48:58 +0100 Subject: [PATCH] =?UTF-8?q?Anpassungen=20f=C3=BCr=20#5=20und=20#6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- input/fsh/ALIAS.fsh | 23 ++++++- ...APS-1-no-problems-medication-allergies.fsh | 60 ++++++++++++++----- ...ample-APS-2-preventive-medical-checkup.fsh | 34 +++++------ input/fsh/profiles/AllergyIntolerance.fsh | 2 +- .../profiles/ObservationPregnancyStatus.fsh | 1 + input/fsh/profiles/ObservationTobaccoUse.fsh | 1 + 6 files changed, 83 insertions(+), 38 deletions(-) diff --git a/input/fsh/ALIAS.fsh b/input/fsh/ALIAS.fsh index a5c7b4b..408334e 100644 --- a/input/fsh/ALIAS.fsh +++ b/input/fsh/ALIAS.fsh @@ -1,5 +1,24 @@ // profiles -Alias: $imposeProfile = http://hl7.org/fhir/StructureDefinition/structuredefinition-imposeProfile +Alias: $imposeProfile = http://hl7.org/fhir/StructureDefinition/structuredefinition-imposeProfile +//Alias: $dependencies = http://hl7.org/fhir/StructureDefinition/structuredefinition-dependencies // code systems -Alias: $loinc = http://loinc.org +Alias: $loinc = http://loinc.org +Alias: $sct = http://snomed.info/sct +Alias: $event-timing = http://hl7.org/fhir/event-timing +Alias: $v3-MaritalStatus = http://terminology.hl7.org/CodeSystem/v3-MaritalStatus +Alias: $condition-clinical = http://terminology.hl7.org/CodeSystem/condition-clinical +Alias: $condition-category = http://terminology.hl7.org/CodeSystem/condition-category +Alias: $condition-ver-status = http://terminology.hl7.org/CodeSystem/condition-ver-status +Alias: $asp = https://termgit.elga.gv.at/CodeSystem/asp-liste +Alias: $observation-category = http://terminology.hl7.org/CodeSystem/observation-category +Alias: $elga-laborparameterergaenzung = https://termgit.elga.gv.at/CodeSystem/elga-laborparameterergaenz +Alias: $observation-interpretation = http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation +Alias: $allergyintolerance-clinical = http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical +Alias: $data-absent-reason = http://terminology.hl7.org/CodeSystem/data-absent-reason +Alias: $v2-0203 = http://terminology.hl7.org/CodeSystem/v2-0203 + +// value sets +Alias: $allergy-intolerance = https://termgit.elga.gv.at/ValueSet/elga-allergyorintoleranceagent +Alias: $current-smoking-status = https://termgit.elga.gv.at/ValueSet/elga-currentsmokingstatus +Alias: $pregnancy-status = https://termgit.elga.gv.at/ValueSet/elga-pregnancystatus diff --git a/input/fsh/examples/example-APS-1-no-problems-medication-allergies.fsh b/input/fsh/examples/example-APS-1-no-problems-medication-allergies.fsh index 9f355be..ed9c07a 100644 --- a/input/fsh/examples/example-APS-1-no-problems-medication-allergies.fsh +++ b/input/fsh/examples/example-APS-1-no-problems-medication-allergies.fsh @@ -1,12 +1,6 @@ -Alias: $loinc = http://loinc.org -Alias: $v2-0203 = http://terminology.hl7.org/CodeSystem/v2-0203 -Alias: $v3-MaritalStatus = http://terminology.hl7.org/CodeSystem/v3-MaritalStatus -Alias: $condition-clinical = http://terminology.hl7.org/CodeSystem/condition-clinical -Alias: $absent-unknown-uv-ips = http://hl7.org/fhir/uv/ips/CodeSystem/absent-unknown-uv-ips -Alias: $allergyintolerance-clinical = http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical - Instance: APS-1-no-problems-medication-allergies InstanceOf: AtIpsBundle +Description: "APS with no problems, medication or allergies" Usage: #example * identifier.system = "http://system-to-be-defined.com" * identifier.value = "63fef90a-be11-4ddf-aece-d77da15c4f20" @@ -26,6 +20,12 @@ Usage: #example * entry[=].resource = APS-1-no-problems-medication-allergies-allergy-1 * entry[+].fullUrl = "urn:uuid:6bcdcc96-1443-48bd-ab41-7692dc1baecd" * entry[=].resource = APS-1-organization +* entry[+].fullUrl = "urn:uuid:27ef5ea9-5c9f-418d-9830-648d15ee2094" +* entry[=].resource = APS-1-no-problems-procedure-1 +* entry[+].fullUrl = "urn:uuid:490dab5c-271e-4736-8a6b-5f6f089d0a05" +* entry[=].resource = APS-1-no-problems-device-use-1 +* entry[+].fullUrl = "urn:uuid:9faadcc1-076d-4bb4-b818-96239e2b8bc8" +* entry[=].resource = APS-1-no-problems-device-1 Instance: APS-1-no-problems-medication-allergies-composition InstanceOf: AtIpsComposition @@ -59,18 +59,24 @@ Usage: #inline * section[sectionProceduresHx].code = $loinc#47519-4 * section[sectionProceduresHx].text.status = #empty * section[sectionProceduresHx].text.div = "

narrative needs to be generated

" +* section[sectionProceduresHx].entry = Reference(urn:uuid:27ef5ea9-5c9f-418d-9830-648d15ee2094) * section[sectionMedicalDevices].title = "Medical Devices" * section[sectionMedicalDevices].code = $loinc#46264-8 "History of medical device use" * section[sectionMedicalDevices].text.status = #empty * section[sectionMedicalDevices].text.div = "

narrative needs to be generated

" +* section[sectionMedicalDevices].entry = Reference(urn:uuid:490dab5c-271e-4736-8a6b-5f6f089d0a05) Instance: APS-1-no-problems-medication-allergies-patient InstanceOf: AtIpsPatient Usage: #inline -* identifier.type = $v2-0203#SS "Social Security Number" -* identifier.system = "urn:oid:1.2.40.0.10.1.4.3.1" -* identifier.value = "1111241261" -* identifier.assigner.display = "Dachverband der österreichischen Sozialversicherungsträger" +* identifier[socialSecurityNumber].type = $v2-0203#SS "Social Security number" +* identifier[socialSecurityNumber].system = "urn:oid:1.2.40.0.10.1.4.3.1" +* identifier[socialSecurityNumber].value = "1111241261" +* identifier[socialSecurityNumber].assigner.display = "Dachverband der österreichischen Sozialversicherungsträger" +* identifier[localPatientId].type = $v2-0203#PI "Patient internal identifier" +* identifier[localPatientId].system = "urn:oid:1.2.3.4.5" +* identifier[localPatientId].value = "0001" +* identifier[localPatientId].assigner.display = "Ein GDA in Österreich" * name.family = "Musterfrau" * name.given[0] = "Maria" * name.given[+] = "Johanna" @@ -105,22 +111,46 @@ Instance: APS-1-no-problems-medication-allergies-problem-1 InstanceOf: AtIpsCondition Usage: #inline * clinicalStatus = $condition-clinical#inactive "Inactive" -* code = $absent-unknown-uv-ips#no-known-problems "No known problems" +* code = $sct#373572006 "Clinical finding absent (situation)" * subject = Reference(urn:uuid:0fed5ebe-ca8f-4ad1-aba4-ddad45bd6cc8) Instance: APS-1-no-problems-medication-allergies-medication-summary-1 InstanceOf: AtIpsMedicationStatement Usage: #inline * status = #unknown -* medicationCodeableConcept = $absent-unknown-uv-ips#no-known-medications "No known medications" +* medicationCodeableConcept = $sct#787481004 "No known medications (situation)" * subject = Reference(urn:uuid:0fed5ebe-ca8f-4ad1-aba4-ddad45bd6cc8) * effectiveDateTime = "2024-02-08T10:31:58+02:00" Instance: APS-1-no-problems-medication-allergies-allergy-1 InstanceOf: AtIpsAllergyIntolerance Usage: #inline -* clinicalStatus = $allergyintolerance-clinical#inactive "Inactive" -* code = $absent-unknown-uv-ips#no-known-allergies "No known allergies" +* clinicalStatus = $allergyintolerance-clinical#active "Active" +* code = $sct#716186003 "No known allergy (situation)" +* patient = Reference(urn:uuid:0fed5ebe-ca8f-4ad1-aba4-ddad45bd6cc8) + +Instance: APS-1-no-problems-procedure-1 +InstanceOf: AtIpsProcedure +Usage: #inline +* status = #unknown +* code = $sct#787480003 "No known procedures (situation)" +* subject = Reference(urn:uuid:0fed5ebe-ca8f-4ad1-aba4-ddad45bd6cc8) +* performedDateTime.extension.url = "http://hl7.org/fhir/StructureDefinition/data-absent-reason" +* performedDateTime.extension.valueCode = #unknown + +Instance: APS-1-no-problems-device-use-1 +InstanceOf: AtIpsDeviceUseStatement +Usage: #inline +* status = #active +* subject = Reference(urn:uuid:0fed5ebe-ca8f-4ad1-aba4-ddad45bd6cc8) +* device = Reference(urn:uuid:9faadcc1-076d-4bb4-b818-96239e2b8bc8) +* timingDateTime.extension.url = "http://hl7.org/fhir/StructureDefinition/data-absent-reason" +* timingDateTime.extension.valueCode = #unknown + +Instance: APS-1-no-problems-device-1 +InstanceOf: AtIpsDevice +Usage: #inline +* type = $sct#787483001 "No known device use (situation)" * patient = Reference(urn:uuid:0fed5ebe-ca8f-4ad1-aba4-ddad45bd6cc8) Instance: APS-1-organization diff --git a/input/fsh/examples/example-APS-2-preventive-medical-checkup.fsh b/input/fsh/examples/example-APS-2-preventive-medical-checkup.fsh index e99b432..cf67ef8 100644 --- a/input/fsh/examples/example-APS-2-preventive-medical-checkup.fsh +++ b/input/fsh/examples/example-APS-2-preventive-medical-checkup.fsh @@ -1,20 +1,6 @@ -Alias: $loinc = http://loinc.org -Alias: $sct = http://snomed.info/sct -Alias: $v2-0203 = http://terminology.hl7.org/CodeSystem/v2-0203 -Alias: $v3-MaritalStatus = http://terminology.hl7.org/CodeSystem/v3-MaritalStatus -Alias: $condition-clinical = http://terminology.hl7.org/CodeSystem/condition-clinical -Alias: $condition-category = http://terminology.hl7.org/CodeSystem/condition-category -Alias: $absent-unknown-uv-ips = http://hl7.org/fhir/uv/ips/CodeSystem/absent-unknown-uv-ips -Alias: $allergyintolerance-clinical = http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical -Alias: $condition-ver-status = http://terminology.hl7.org/CodeSystem/condition-ver-status -Alias: $asp = https://termgit.elga.gv.at/CodeSystem/asp-liste -Alias: $observation-category = http://terminology.hl7.org/CodeSystem/observation-category -Alias: $elga-laborparameterergaenzung = https://termgit.elga.gv.at/CodeSystem/elga-laborparameterergaenzung -Alias: $observation-interpretation = http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation -Alias: $event-timing = http://hl7.org/fhir/event-timing - Instance: APS-2-preventive-medical-checkup InstanceOf: AtIpsBundle +Description: "APS with preventive medical checkup" Usage: #example * identifier.system = "http://system-to-be-defined.com" * identifier.value = "63fef90a-be11-4ddf-aece-d77da15c4f20" @@ -66,7 +52,7 @@ Usage: #example * entry[+].fullUrl = "urn:uuid:fa46fccb-5c24-4a40-a478-d6da4902ff33" * entry[=].resource = APS-2-preventive-medical-checkup-problem-17 * entry[+].fullUrl = "urn:uuid:f235c566-01aa-457d-ab49-9e422df69863" -* entry[=].resource = APS-2-preventive-medical-checkup-problem-17-assessment-1 +* entry[=].resource = APS-2-preventive-medical-checkup-problem-17-assessment-1 //21 // Medication Summary * entry[+].fullUrl = "urn:uuid:acac4c94-a752-4cf5-9a6b-0d84237d5076" * entry[=].resource = APS-2-preventive-medical-checkup-medication-summary-1 @@ -270,10 +256,14 @@ Usage: #inline Instance: APS-2-preventive-medical-checkup-patient InstanceOf: AtIpsPatient Usage: #inline -* identifier.type = $v2-0203#SS "Social Security Number" -* identifier.system = "urn:oid:1.2.40.0.10.1.4.3.1" -* identifier.value = "0000121150" -* identifier.assigner.display = "Dachverband der österreichischen Sozialversicherungsträger" +* identifier[socialSecurityNumber].type = $v2-0203#SS "Social Security number" +* identifier[socialSecurityNumber].system = "urn:oid:1.2.40.0.10.1.4.3.1" +* identifier[socialSecurityNumber].value = "0000121150" +* identifier[socialSecurityNumber].assigner.display = "Dachverband der österreichischen Sozialversicherungsträger" +* identifier[localPatientId].type = $v2-0203#PI "Patient internal identifier" +* identifier[localPatientId].system = "urn:oid:1.2.3.4.5" +* identifier[localPatientId].value = "0002" +* identifier[localPatientId].assigner.display = "Ein GDA in Österreich" * name.family = "Test" * name.given[0] = "Arnold" * gender = #male // 1..1 in AT Core @@ -628,6 +618,7 @@ Usage: #inline Instance: APS-2-preventive-medical-checkup-diagnostic-result-3 InstanceOf: AtIpsObservationResultsLaboratoryPathology Usage: #inline +* language = #de-AT * status = #final * category = $observation-category#laboratory "Laboratory" * code = $loinc#2093-3 "Cholesterin" @@ -642,6 +633,7 @@ Usage: #inline Instance: APS-2-preventive-medical-checkup-diagnostic-result-4 InstanceOf: AtIpsObservationResultsLaboratoryPathology Usage: #inline +* language = #de-AT * status = #final * category = $observation-category#laboratory "Laboratory" * code = $loinc#2085-9 "HDL-Cholesterin" @@ -670,6 +662,7 @@ Usage: #inline Instance: APS-2-preventive-medical-checkup-diagnostic-result-6 InstanceOf: AtIpsObservationResultsLaboratoryPathology Usage: #inline +* language = #de-AT * status = #final * category = $observation-category#laboratory "Laboratory" * code = $loinc#2571-8 "Triglyceride" @@ -684,6 +677,7 @@ Usage: #inline Instance: APS-2-preventive-medical-checkup-diagnostic-result-7 InstanceOf: AtIpsObservationResultsLaboratoryPathology Usage: #inline +* language = #de-AT * status = #final * category = $observation-category#laboratory "Laboratory" * code = $loinc#2324-2 "Gamma-GT" diff --git a/input/fsh/profiles/AllergyIntolerance.fsh b/input/fsh/profiles/AllergyIntolerance.fsh index c85b460..4747955 100644 --- a/input/fsh/profiles/AllergyIntolerance.fsh +++ b/input/fsh/profiles/AllergyIntolerance.fsh @@ -6,4 +6,4 @@ Description: "This AT IPS profile for the AllergyIntolerance resource is derived * . ^short = "AT IPS AllergyIntolerance" * ^extension[$imposeProfile].valueCanonical = Canonical(AllergyIntoleranceUvIps) * patient only Reference(AtIpsPatient) - +* code from $allergy-intolerance (extensible) diff --git a/input/fsh/profiles/ObservationPregnancyStatus.fsh b/input/fsh/profiles/ObservationPregnancyStatus.fsh index 3394aea..5e7ee9c 100644 --- a/input/fsh/profiles/ObservationPregnancyStatus.fsh +++ b/input/fsh/profiles/ObservationPregnancyStatus.fsh @@ -7,3 +7,4 @@ Description: "This AT IPS profile for the Observation resource is derived from t * ^extension[$imposeProfile].valueCanonical = Canonical(ObservationPregnancyStatusUvIps) * subject only Reference(AtIpsPatient) * hasMember only Reference(AtIpsObservationPregnancyEdd) +* valueCodeableConcept from $pregnancy-status (extensible) diff --git a/input/fsh/profiles/ObservationTobaccoUse.fsh b/input/fsh/profiles/ObservationTobaccoUse.fsh index 3da184a..8424877 100644 --- a/input/fsh/profiles/ObservationTobaccoUse.fsh +++ b/input/fsh/profiles/ObservationTobaccoUse.fsh @@ -6,3 +6,4 @@ Description: "This AT IPS profile for the Observation resource is derived from t * . ^short = "AT IPS Observation Tobacco Use" * ^extension[$imposeProfile].valueCanonical = Canonical(ObservationTobaccoUseUvIps) * subject only Reference(AtIpsPatient) +* valueCodeableConcept from $current-smoking-status (extensible)