diff --git a/input/fsh/DkCoreBasicParameter.fsh b/input/fsh/DkCoreBasicParameter.fsh index 8f40cd24a..204fb25d7 100644 --- a/input/fsh/DkCoreBasicParameter.fsh +++ b/input/fsh/DkCoreBasicParameter.fsh @@ -1,7 +1,7 @@ Profile: DkCoreBasicObservation Parent: dk-core-observation Id: dk-core-basic-observation -Title: "Danish Core Basic Observations" +Title: "Danish Core Basic Observation Profile" Description: "HL7 Denmark core profile for basic observations, which is a profiling of DkCoreObservation." * category 1..1 * category = $observation-category#vital-signs @@ -89,14 +89,14 @@ InstanceOf: DkCoreBasicObservation Usage: #example * status = #final * category = $observation-category#vital-signs -* code.coding[0] = $sct#75367002 +* code.coding[SNOMEDCT] = $sct#75367002 * code.coding[LOINC] = $LOINC#85354-9 * subject = Reference(else) * component[0].code.coding[LOINC] = $LOINC#8480-6 -* component[=].code.coding[+] = $sct#407554009 +* component[=].code.coding[SNOMEDCT] = $sct#407554009 * component[=].valueQuantity = 128 'mm[Hg]' "mmHg" * component[+].code.coding[LOINC] = $LOINC#8462-4 -* component[=].code.coding[+] = $sct#407555005 +* component[=].code.coding[SNOMEDCT] = $sct#407555005 * component[=].valueQuantity = 80 'mm[Hg]' "mmHg" * method = $sct#272391002 "Measurement technique (qualifier value)" * effectiveDateTime = "2023-09-12T17:45:00.000Z" @@ -108,7 +108,7 @@ InstanceOf: DkCoreBasicObservation Usage: #example * status = #final * category = $observation-category#vital-signs -* code.coding[0] = $sct#276885007 +* code.coding[SNOMEDCT] = $sct#276885007 * code.coding[LOINC] = $LOINC#8310-5 * subject = Reference(else) * method = $sct#272391002 "Measurement technique (qualifier value)" @@ -121,7 +121,7 @@ InstanceOf: DkCoreBasicObservation Usage: #example * status = #final * category = $observation-category#vital-signs -* code.coding[0] = $sct#364075005 +* code.coding[SNOMEDCT] = $sct#364075005 * code.coding[LOINC] = $LOINC#8867-4 * subject = Reference(else) * method = $sct#272391002 "Measurement technique (qualifier value)" @@ -134,7 +134,7 @@ InstanceOf: DkCoreBasicObservation Usage: #example * status = #final * category = $observation-category#vital-signs -* code.coding[0] = $sct#86290005 +* code.coding[SNOMEDCT] = $sct#86290005 * code.coding[LOINC] = $LOINC#9279-1 * subject = Reference(else) * method = $sct#272391002 "Measurement technique (qualifier value)" @@ -142,6 +142,19 @@ Usage: #example * valueQuantity = 13 '/min' "/min" * performer = Reference(SidselSygeplejerske) +Instance: ElsesTOBSscore +InstanceOf: DkCoreObservation +Usage: #example +* status = #final +* code.coding = $Medcom#MCS88125 "Pt—Tidlig Opsporing af Begyndende Sygdom (TOBS) score; antal (værdi 0-15) = ?" +* subject = Reference(else) +* effectiveDateTime = "2023-09-12T17:45:00.000Z" +* valueQuantity.value = 3 +* valueQuantity.code = #1 +* valueQuantity.system = $ucum +* performer = Reference(SidselSygeplejerske) + + Instance: ElsesTOBS InstanceOf: Bundle Title: "Else's TOBS measurements" @@ -170,89 +183,89 @@ Usage: #example * * ************** */ -Instance: MogensensConsciousness +Instance: MaxConsciousness InstanceOf: DkCoreObservation Usage: #example * status = #final * category = $observation-category#vital-signs * code.coding[0] = $sct#86290005 * code.coding[LOINC] = $LOINC#9279-1 -* subject = Reference(mogensen) +* subject = Reference(Max) * valueCodeableConcept.coding[+] = $sct#450847001 * method = $sct#733985002 "Reported (qualifier value)" * effectiveDateTime = "2023-08-08T13:30:00.000Z" -Instance: MogensensRespirationRate +Instance: MaxRespirationRate InstanceOf: DkCoreBasicObservation Usage: #example * status = #final -* code.coding[0] = $sct#86290005 +* code.coding[SNOMEDCT] = $sct#86290005 * code.coding[LOINC] = $LOINC#9279-1 -* subject = Reference(mogensen) +* subject = Reference(Max) * method = $sct#272391002 "Measurement technique (qualifier value)" * effectiveDateTime = "2023-08-08T13:30:00.000Z" * valueQuantity = 13 '/min' "/min" -Instance: MogensensHeartRate +Instance: MaxHeartRate InstanceOf: DkCoreBasicObservation Usage: #example * status = #final * category = $observation-category#vital-signs -* code.coding[0] = $sct#364075005 +* code.coding[SKS] = $SKS#ZZ3140 * code.coding[LOINC] = $LOINC#8867-4 -* subject = Reference(mogensen) +* subject = Reference(Max) * effectiveDateTime = "2023-08-08T13:30:00.000Z" * method = $sct#272391002 "Measurement technique (qualifier value)" * valueQuantity = 68 '/min' "slag/minut" -Instance: MogensensBodyTemperature +Instance: MaxBodyTemperature InstanceOf: DkCoreBasicObservation Usage: #example * status = #final * category = $observation-category#vital-signs -* code.coding[0] = $sct#276885007 +* code.coding[SKS] = $SKS#ZZ0253 * code.coding[LOINC] = $LOINC#8310-5 -* subject = Reference(mogensen) +* subject = Reference(Max) * effectiveDateTime = "2023-08-08T13:30:00.000Z" * method = $sct#272391002 "Measurement technique (qualifier value)" * valueQuantity = 37 'Cel' "grader celcius" -Instance: MogensensBloodPressure +Instance: MaxBloodPressure InstanceOf: DkCoreBasicObservation Usage: #example * status = #final * category = $observation-category#vital-signs -* code.coding[0] = $sct#75367002 +* code.coding[SKS] = $SKS#ZZ3160 * code.coding[LOINC] = $LOINC#85354-9 -* subject = Reference(mogensen) +* subject = Reference(Max) * effectiveDateTime = "2023-08-08T13:30:00.000Z" * method = $sct#272391002 "Measurement technique (qualifier value)" -* component[0].code.coding[LOINC] = $LOINC#8480-6 +* component[0].code.coding[0] = $LOINC#8480-6 * component[=].code.coding[+] = $sct#407554009 * component[=].valueQuantity = 156 'mm[Hg]' "mmHg" -* component[+].code.coding[LOINC] = $LOINC#8462-4 +* component[+].code.coding[0] = $LOINC#8462-4 * component[=].code.coding[+] = $sct#407555005 * component[=].valueQuantity = 78 'mm[Hg]' "mmHg" -Instance: MogensensSaturation +Instance: MaxSaturation InstanceOf: DkCoreBasicObservation Usage: #example * category = $observation-category#vital-signs * status = #final * code.coding[LOINC] = $LOINC#2708-6 "Oxygen saturation in Arterial blood" * valueQuantity = 99.0 '%' "%" -* subject = Reference(mogensen) +* subject = Reference(Max) * effectiveDateTime = "2023-08-08T13:30:00.000Z" * method = $sct#272391002 "Measurement technique (qualifier value)" -Instance: MogensensGlasgowComaScale +Instance: MaxGlasgowComaScale InstanceOf: DkCoreObservation Usage: #example * status = #final * code.coding[LOINC] = $LOINC#9269-2 * code.coding[+] = $sct#248241002 -* subject = Reference(mogensen) -* valueQuantity = 13 '{score}' "{score}" +* subject = Reference(Max) +* valueQuantity = 13 '{score}' * referenceRange[0].high = 8 '{score}' * referenceRange[=].type.text = "Severe TBI" * referenceRange[+].low = 9 '{score}' @@ -269,24 +282,24 @@ Usage: #example * component[=].valueCodeableConcept.coding = $LOINC#LA6556-0 "Eyes open spontaneously" -Instance: MogensensTOKS +Instance: MaxTOKS InstanceOf: Bundle -Title: "Mogensens TOKS measurements, including Glasgow Coma Scale assesment" +Title: "Max TOKS measurements, including Glasgow Coma Scale assesment" Description: "An example of TOBS (Danish: Tidlig opsporing af begyndende sygdom), which includes level of consciousness, heart rate, respiration rate, blood pressure and temperature." Usage: #example * type = #collection * timestamp = "2023-08-08T13:30:00.000Z" -* entry[+].fullUrl = "Patient/mogensen" -* entry[=].resource = mogensen -* entry[+].fullUrl = "Observation/MogensensConsciousness" -* entry[=].resource = MogensensConsciousness -* entry[+].fullUrl = "Observation/MogensensBloodPressure" -* entry[=].resource = MogensensBloodPressure -* entry[+].fullUrl = "Observation/MogensensBodyTemperature" -* entry[=].resource = MogensensBodyTemperature -* entry[+].fullUrl = "Observation/MogensensHeartRate" -* entry[=].resource = MogensensHeartRate -* entry[+].fullUrl = "Observation/MogensensRespirationRate" -* entry[=].resource = MogensensRespirationRate -* entry[+].fullUrl = "Observation/MogensensGlasgowComaScale" -* entry[=].resource = MogensensGlasgowComaScale \ No newline at end of file +* entry[+].fullUrl = "Patient/Max" +* entry[=].resource = Max +* entry[+].fullUrl = "Observation/MaxConsciousness" +* entry[=].resource = MaxConsciousness +* entry[+].fullUrl = "Observation/MaxBloodPressure" +* entry[=].resource = MaxBloodPressure +* entry[+].fullUrl = "Observation/MaxBodyTemperature" +* entry[=].resource = MaxBodyTemperature +* entry[+].fullUrl = "Observation/MaxHeartRate" +* entry[=].resource = MaxHeartRate +* entry[+].fullUrl = "Observation/MaxRespirationRate" +* entry[=].resource = MaxRespirationRate +* entry[+].fullUrl = "Observation/MaxGlasgowComaScale" +* entry[=].resource = MaxGlasgowComaScale \ No newline at end of file diff --git a/input/fsh/DkCorePatient.fsh b/input/fsh/DkCorePatient.fsh index d613f6715..eed251121 100644 --- a/input/fsh/DkCorePatient.fsh +++ b/input/fsh/DkCorePatient.fsh @@ -75,6 +75,8 @@ Description: "Example of a patient with confidential adress and name" Usage: #example * text.div = "
This instance is an example of a Danish citizen who has requested name and address protection (Navne- og adressebeskyttelse), why the instance is marked with a security label. Only personnel using systems in public/official affairs are allowed to see name and address for the citizen, why these information are included in the profile.

Resource \"Confidential\"

Profile: Danish Core Patient Profile

Security Labels: http://terminology.hl7.org/CodeSystem/v3-Confidentiality

identifier: id: 1502779995

name: Hans Hansen (OFFICIAL)

gender: male

birthDate: 1976-08-09

address: Julianevej 22 6000 Kolding (HOME)

" * text.status = #additional +* meta.security.code = $v3-Confidentiality#R +* meta.security.display = "Restricted" * identifier.system = "urn:oid:1.2.208.176.1.2" * identifier.value = "1502779995" * name.use = #official @@ -122,7 +124,7 @@ Usage: #example * generalPractitioner.identifier.value = "487341000016005" * generalPractitioner.display = "Charlottenlund Lægehus" -Instance: mogensen +Instance: Max InstanceOf: DkCorePatient Title: "Example of valid patient with danish marital status" Description: "Example of valid patient with danish marital status" @@ -130,8 +132,9 @@ Usage: #example * identifier.system = "urn:oid:1.2.208.176.1.2" * identifier.value = "0107729995" * name.use = #official -* name.family = "Mogensen" -* name.given = "Jan" +* name.family = "Berggren" +* name.given[0] = "Max" +* name.given[1] = "Test" * name.prefix = "Mr" * gender = #male * birthDate = "1972-07-01" diff --git a/input/fsh/Lpr3Identifier.fsh b/input/fsh/Lpr3Identifier.fsh index 0210f8247..7e69361a8 100644 --- a/input/fsh/Lpr3Identifier.fsh +++ b/input/fsh/Lpr3Identifier.fsh @@ -1,4 +1,4 @@ -Profile: Lpr3Identifier +/* Profile: Lpr3Identifier Parent: Identifier Id: lpr3-Identifier Title: "LPR3 Identifier" @@ -17,4 +17,4 @@ Description: "Identifier holding a LPR3 identifier for an organization" Invariant: uuidv5 Description: "LPR3 episode of care identifiers must conform to a UUIDv5" Severity: #error -Expression: "value.matches('urn:uuid:[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[5][a-fA-F0-9]{3}-[89aAbB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}')" \ No newline at end of file +Expression: "value.matches('urn:uuid:[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[5][a-fA-F0-9]{3}-[89aAbB][a-fA-F0-9]{3}-[a-fA-F0-9]{12}')" */ \ No newline at end of file diff --git a/input/fsh/aliases.fsh b/input/fsh/aliases.fsh index bef327e16..9d1e23ba3 100644 --- a/input/fsh/aliases.fsh +++ b/input/fsh/aliases.fsh @@ -24,3 +24,4 @@ Alias: $observation-bodyweight = http://hl7.org/fhir/StructureDefinition/bodywei Alias: $observation-heartrate = http://hl7.org/fhir/StructureDefinition/heartrate Alias: $observation-bp = http://hl7.org/fhir/StructureDefinition/bp Alias: $LOINC-vitalsigns = http://hl7.org/fhir/ValueSet/observation-vitalsignresult +Alias: $v3-Confidentiality = http://terminology.hl7.org/CodeSystem/v3-Confidentiality \ No newline at end of file diff --git a/input/pagecontent/StructureDefinition-dk-core-basic-observation-intro.md b/input/pagecontent/StructureDefinition-dk-core-basic-observation-intro.md index 878a03c94..17ff8960a 100644 --- a/input/pagecontent/StructureDefinition-dk-core-basic-observation-intro.md +++ b/input/pagecontent/StructureDefinition-dk-core-basic-observation-intro.md @@ -28,8 +28,8 @@ The table below includes instances of the DkCoreBasicObservation used to represe Example | Description ----------------- | ------------------------ -[Glasgow Coma Scale (GCS)](./Bundle-MogensensGlasgowComaScale.html) | This example includes the relevant observation related to Glasgow Coma Scale. This scale is used to assess the level of consciousness in people with brain damage. -[TOKS (Danish: Tidlig opsporing af kritisk sygdom)](./Bundle-MogensensTOKS.html) | TOKS is a scoring system used to determine if a patient is in a critical state at a early state. The example includes basic observations, such as heartrate, temperature and more, as well as a Glasgow Coma Scale. +[Glasgow Coma Scale (GCS)](./Bundle-MaxGlasgowComaScale.html) | This example includes the relevant observation related to Glasgow Coma Scale. This scale is used to assess the level of consciousness in people with brain damage. +[TOKS (Danish: Tidlig opsporing af kritisk sygdom)](./Bundle-MaxTOKS.html) | TOKS is a scoring system used to determine if a patient is in a critical state at a early state. The example includes basic observations, such as heartrate, temperature and more, as well as a Glasgow Coma Scale. [TOBS (Danish: Tidlig opsporing af begyndende sygdom)](./Bundle-ElsesTOBS.html) | TOBS is a scoring system used to determine if a citizen is in the early state of illnesses. The example includes basic observations, such as heartrate, temperature and more, as well as a reference to the performer of the observations. [Vital signs panel](./Bundle-VitalSignPanel.html) | ... [John's oxygen saturation measurement (Basic observation)](./Observation-ObservationOxySatBasicObservationOrg.html) | This example suggests a way to handle the oxygen saturation case, where the original measurement was reported in '%' by a device or typed in manually, and then 'translated' to the NPU system, which requires the value to be unitless. diff --git a/sushi-config.yaml b/sushi-config.yaml index 1dbab63cf..746a7f283 100644 --- a/sushi-config.yaml +++ b/sushi-config.yaml @@ -8,7 +8,7 @@ name: DKCore title: "HL7 FHIR Implementation Guide: DK Core" description: A FHIR Implementation Guide for the Danish common needs across healthcare sectors status: draft # active -version: 2.3.0 +version: 3.1.0 fhirVersion: 4.0.1 copyrightYear: 2021+ license: CC0-1.0