From ec273a578fe5097d647e9d5e1fd9e54fc04b15b9 Mon Sep 17 00:00:00 2001 From: Jens Kristian Villadsen Date: Sat, 1 Feb 2025 18:58:01 +0100 Subject: [PATCH] 3.4.0 (#146) * Added Location and PractitionerRole * fatfingered a '*' * Moved NPU subset into its own Code System fragment. * Remove special treatment of NPU * Testing out fragments for NPU * Adjusted unicodes * Corrected descriptions * Mapped "comments" using https://hl7.org/fhir/codesystem.html#defined-props * Added correct property concept values * Removed locale duplicate displays Made SCT alias target DK by default * Refined used of DK profiles * indented properties * Reintroduced special url for NPU to remove IGP error. * Feature ipa support (#132) * Introduced IPA support * Update dep of IPA * Adjusted to 1.0.0 * Removed merge files * Added compliesWith and child profile for IPA compliance (#133) * Changed to imposeProfile * Update release-notes.md * Update release-notes.md * Added proper base definition * Fix: Changed to assignment instead of declaration of imposeProfile * Update DkCoreObservation.fsh * Initial commit of ServiceRequest * Update DkCoreServiceRequest.fsh * Added content for ServiceRequest * Update DkCoreServiceRequest.fsh * Added ignores for NPU-errors * Update name of profile and content of DkCoreServiceRequestCodes * priority valueset, reasoncode and reason reference added to ServiceRequest * changed slice name * Update StructureDefinition-dk-core-servicerequest-intro.md * Updated name of intro-file * Update valueSets.fsh * ServiceRequest coding updated in the profile, as well as in the documentation. * ServiceRequest example corrected, documentation for priority and reasonCode added * Updated scope and usage section according to https://github.com/hl7dk/dk-core/issues/136 * Updated scope and usage section according to https://github.com/hl7dk/dk-core/issues/135 * added to relationship value set and code system supplement to account for #135 and #134 * Handled issues from consultation #140, #139, #137 * Update StructureDefinition-dk-core-patient-intro.md #138 * Update DkCorePatient.fsh #126 * Update DkCorePatient.fsh #126 * Updated ServiceRequest ValueSet * Updated scope and usage section according to https://github.com/hl7dk/dk-core/issues/136 * Updated scope and usage section according to https://github.com/hl7dk/dk-core/issues/135 * added to relationship value set and code system supplement to account for #135 and #134 * Update DkCorePatient.fsh #126 * Fixed NPU error codes * no message * doc start on IPA inspired by fhir.fh * Added parts of documentation * Fixed note templates * Disabling gh builds as they are not needed. Added documentation * Updated Continua/PHD examples to latest PHD release and fixed license-messages and other QA issues * Fixed some obvious QA warnings: IPA patient and practitioner names should have a .text element and UCUM units with annotations should have the display value including the annotation * Handled comments from review * Updated reference to DkCorePractitionerRole * Separated the IPA profiles into their own file * Change listing of profiles * Adjusted naming * Fixed bugs * A bit of layout changes * Added kebab cased id's. * Added textual descriptions to IPA profiles * Fixed link * Removed wrong valueset binding - https://github.com/hl7dk/dk-core/issues/152 Created DK supplement for standard codesystem * Removed QA error * Update release-notes.md * Update publication-request.json * syntax ... * Update codeSystems.fsh * Correction to https://github.com/hl7dk/dk-core/issues/152 * Removed QA errors * removed IG version warning * Fixed spelling error --------- Co-authored-by: tmsMedcom <88831880+tmsMedcom@users.noreply.github.com> Co-authored-by: kirstinerosenbeck Co-authored-by: Christian Gasser Co-authored-by: Jacob Andersen Co-authored-by: hagensen-software <132343194+TMHA-Trifork@users.noreply.github.com> --- .github/workflows/main.yml | 10 +- input/fsh/DkCoreBasicParameter.fsh | 12 +- input/fsh/DkCoreCondition.fsh | 4 +- input/fsh/DkCoreLocation.fsh | 35 + input/fsh/DkCoreObservation.fsh | 63 +- input/fsh/DkCorePatient.fsh | 27 +- input/fsh/DkCorePractitioner.fsh | 3 + input/fsh/DkCorePractitionerRole.fsh | 40 ++ input/fsh/DkCoreServiceRequest.fsh | 67 ++ input/fsh/IPAProfiles.fsh | 52 ++ input/fsh/aliases.fsh | 5 +- input/fsh/codeSystems.fsh | 504 +++++++++++++- input/fsh/instances.fsh | 287 -------- input/fsh/valueSets.fsh | 640 ++++++++++++++++-- input/ignoreWarnings.txt | 27 +- .../Bundle-ContinuaBundleWithDevice-intro.md | 9 +- ...reDefinition-IPADkCoreObservation-intro.md | 2 + ...uctureDefinition-dk-core-location-intro.md | 2 + ...ureDefinition-dk-core-observation-intro.md | 4 +- ...ion-dk-core-person-servicerequest-intro.md | 22 + ...inition-dk-core-practitioner-role-intro.md | 2 + ...eDefinition-ipa-dk-core-condition-intro.md | 2 + ...efinition-ipa-dk-core-observation-intro.md | 2 + ...ureDefinition-ipa-dk-core-patient-intro.md | 7 + ...finition-ipa-dk-core-practitioner-intro.md | 2 + ...tion-ipa-dk-core-practitionerrole-intro.md | 2 + input/pagecontent/index.md | 51 +- input/pagecontent/profiles.xml | 49 ++ publication-request.json | 12 +- release-notes.md | 10 +- sushi-config.yaml | 20 +- 31 files changed, 1576 insertions(+), 398 deletions(-) create mode 100644 input/fsh/DkCoreLocation.fsh create mode 100644 input/fsh/DkCorePractitionerRole.fsh create mode 100644 input/fsh/DkCoreServiceRequest.fsh create mode 100644 input/fsh/IPAProfiles.fsh create mode 100644 input/pagecontent/StructureDefinition-IPADkCoreObservation-intro.md create mode 100644 input/pagecontent/StructureDefinition-dk-core-location-intro.md create mode 100644 input/pagecontent/StructureDefinition-dk-core-person-servicerequest-intro.md create mode 100644 input/pagecontent/StructureDefinition-dk-core-practitioner-role-intro.md create mode 100644 input/pagecontent/StructureDefinition-ipa-dk-core-condition-intro.md create mode 100644 input/pagecontent/StructureDefinition-ipa-dk-core-observation-intro.md create mode 100644 input/pagecontent/StructureDefinition-ipa-dk-core-patient-intro.md create mode 100644 input/pagecontent/StructureDefinition-ipa-dk-core-practitioner-intro.md create mode 100644 input/pagecontent/StructureDefinition-ipa-dk-core-practitionerrole-intro.md diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8ee9a42f3..b6697a35c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -43,9 +43,9 @@ jobs: # Run the publisher - don't run the batch script but run the line directly args: java -jar ./input-cache/publisher.jar publisher -ig . - - name: Deploy - uses: peaceiris/actions-gh-pages@v3 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: ./output +# - name: Deploy +# uses: peaceiris/actions-gh-pages@v3 +# with: +# github_token: ${{ secrets.GITHUB_TOKEN }} +# publish_dir: ./output diff --git a/input/fsh/DkCoreBasicParameter.fsh b/input/fsh/DkCoreBasicParameter.fsh index efb46de6e..b2e5113d3 100644 --- a/input/fsh/DkCoreBasicParameter.fsh +++ b/input/fsh/DkCoreBasicParameter.fsh @@ -58,7 +58,7 @@ which requires the value to be unitless. Usage: #example * category = $observation-category#vital-signs * status = #final -* code.coding[NPU] = $NPU#NPU27280 "Hb(Fe; O₂-bind.;aB)—Oxygen(O₂); sat.(Pulse oximetry) = ?" +* code.coding[NPU] = $NPU#NPU27280 * valueQuantity.value = 0.97 * valueQuantity.code = #1 * valueQuantity.system = $ucum @@ -269,13 +269,13 @@ Usage: #example * code.coding[LOINC] = $LOINC#9269-2 * code.coding[+] = $sct#248241002 * subject = Reference(Max) -* valueQuantity = 13 '{score}' -* referenceRange[0].high = 8 '{score}' +* valueQuantity = 13 '{score}' "score" +* referenceRange[0].high = 8 '{score}' "score" * referenceRange[=].type.text = "Severe TBI" -* referenceRange[+].low = 9 '{score}' -* referenceRange[=].high = 12 '{score}' +* referenceRange[+].low = 9 '{score}' "score" +* referenceRange[=].high = 12 '{score}' "score" * referenceRange[=].type.text = "Moderate TBI" -* referenceRange[+].low = 13 '{score}' +* referenceRange[+].low = 13 '{score}' "score" * referenceRange[=].type.text = "Mild TBI" * effectiveDateTime = "2023-08-08T13:30:00.000Z" * component[0].code = $LOINC#9268-4 "Glasgow coma score motor" diff --git a/input/fsh/DkCoreCondition.fsh b/input/fsh/DkCoreCondition.fsh index c47dd21fd..ddbcf9e66 100644 --- a/input/fsh/DkCoreCondition.fsh +++ b/input/fsh/DkCoreCondition.fsh @@ -39,8 +39,8 @@ Description: "HL7 Denmark core profile for professionally asserted conditions, a * system 1.. * system = "urn:oid:1.2.208.176.2.31" * subject only Reference(DkCorePatient) -* recorder only Reference(DkCorePractitioner or PractitionerRole or DkCorePatient or DkCoreRelatedPerson) -* asserter only Reference(DkCorePractitioner or PractitionerRole) +* recorder only Reference(DkCorePractitioner or DkCorePractitionerRole or DkCorePatient or DkCoreRelatedPerson) +* asserter only Reference(DkCorePractitioner or DkCorePractitionerRole) Instance: ConditionPressureUlcer InstanceOf: DkCoreCondition diff --git a/input/fsh/DkCoreLocation.fsh b/input/fsh/DkCoreLocation.fsh new file mode 100644 index 000000000..e8a49b0e0 --- /dev/null +++ b/input/fsh/DkCoreLocation.fsh @@ -0,0 +1,35 @@ +Profile: DkCoreLocation +Parent: Location +Id: dk-core-location +Title: "Danish Core Location Profile" +Description: "HL7 Denmark core profile for locations" +* managingOrganization only Reference(DkCoreOrganization) +* partOf only Reference(DkCoreLocation) + + +Instance: ambulance +InstanceOf: DkCoreLocation +Usage: #example +* status = #active +* description = "Ambulance provided by Acme Corp" +* mode = #kind +* type = http://terminology.hl7.org/CodeSystem/v3-RoleCode#AMB "Ambulance" +* telecom.system = #phone +* telecom.value = "+4523292833" +* telecom.use = #mobile +* physicalType = http://terminology.hl7.org/CodeSystem/location-physical-type#ve "Vehicle" +* managingOrganization = Reference(Organization/b08997bb-4476-4dd0-84dd-2e297f809364) + + +Instance: neuroradiologyUnit +InstanceOf: DkCoreLocation +Usage: #example +* status = #active +* name = "Neuro unit" +* mode = #instance +* type = http://terminology.hl7.org/CodeSystem/v3-RoleCode#RNEU "Neuroradiology unit" +* telecom.system = #phone +* telecom.value = "+4523292329" +* physicalType = http://terminology.hl7.org/CodeSystem/location-physical-type#ro "Room" +* managingOrganization = Reference(Organization/CenterForDiabetesTeamKvalitet) +* partOf = Reference(Location/ambulance) \ No newline at end of file diff --git a/input/fsh/DkCoreObservation.fsh b/input/fsh/DkCoreObservation.fsh index 84d4ca427..2bb56ffed 100644 --- a/input/fsh/DkCoreObservation.fsh +++ b/input/fsh/DkCoreObservation.fsh @@ -1,7 +1,7 @@ Profile: DkCoreObservation Parent: Observation Id: dk-core-observation -Title: "Danish Core Observation Profiles" +Title: "Danish Core Observation Profile" Description: "HL7 Denmark core profile for observations" * obeys dk-core-observation-mandatory-units * code.coding ^slicing.discriminator.type = #value @@ -44,9 +44,9 @@ Description: "HL7 Denmark core profile for observations" * system 1.. * system = $SKS (exactly) * code 1.. -* subject only Reference(DkCorePatient or Group or Location or Device) +* subject only Reference(DkCorePatient or Group or DkCoreLocation or Device) * subject 1.. -* performer only Reference(DkCorePractitioner or DkCoreOrganization or DkCorePatient or PractitionerRole or CareTeam or DkCoreRelatedPerson) +* performer only Reference(DkCorePractitioner or DkCoreOrganization or DkCorePatient or DkCorePractitionerRole or CareTeam or DkCoreRelatedPerson) * device ^short = "The device used for the measurement. It is recommended that when information about the device is sent, it is contained in the same Bundle as the Observation the device measured." * valueQuantity.system = $ucum * component.code.coding ^slicing.discriminator.type = #value @@ -206,6 +206,7 @@ Alias: $BD_ADDR = http://hl7.org/fhir/sid/eui-48/bluetooth Alias: $ContinuaDeviceIdentifiers = http://hl7.org/fhir/uv/phd/CodeSystem/ContinuaDeviceIdentifiers Alias: $ContinuaPHD = http://hl7.org/fhir/uv/phd/CodeSystem/ContinuaPHD Alias: $ContinuaHFS = http://hl7.org/fhir/uv/phd/CodeSystem/ContinuaHFS +Alias: $PhdObservationCategory = http://hl7.org/fhir/uv/phd/CodeSystem/PhdObservationCategories Alias: $observation-gatewayDevice = http://hl7.org/fhir/StructureDefinition/observation-gatewayDevice Alias: $v2-0136 = http://terminology.hl7.org/CodeSystem/v2-0136 Alias: $v2-0203 = http://terminology.hl7.org/CodeSystem/v2-0203 @@ -214,13 +215,20 @@ Alias: $ASN1ToHL7 = http://hl7.org/fhir/uv/phd/CodeSystem/ASN1ToHL7 Instance: Poul InstanceOf: DkCorePatient +Title: "Poul Hansen" +Description: """ + A patient admitted to a remote monitoring programme, performing measurements + at home. +""" Usage: #example * meta.profile = $PhdPatient +* identifier[cpr].system = "urn:oid:1.2.208.176.1.2" * identifier[cpr].value = "3001749995" * identifier[cpr].type = $v2-0203#NI * name * family = "Hansen" * given[+] = "Poul" + * text = "Poul Hansen" Instance: WeightScale.606405FFFECFC604 @@ -300,7 +308,7 @@ Usage: #example Instance: Weight.Poul.230221 -InstanceOf: DkCoreObservation +InstanceOf: IpaDkCoreObservation Title: "Poul's daily weighing on Feb. 21st" Description: """ Poul has been instructed to perform a daily weighing in the morning. This is his @@ -312,20 +320,21 @@ Usage: #example * meta.profile[+] = $observation-vitalsigns * meta.profile[+] = $observation-bodyweight * status = #final -* category.coding = $observation-category#vital-signs "Vital signs" +* category[+].coding = $observation-category#vital-signs "Vital signs" +* category[+].coding = $PhdObservationCategory#phd-observation "PHD generated Observation" * code * coding[+] = $LOINC#29463-7 "Body weight" * coding[+] = $IEEEx73#188736 "MDC_MASS_BODY_ACTUAL" * coding[+] = $NPU#NPU03804 "Pt—Body; mass = ? kg" * text = "MDC_MASS_BODY_ACTUAL: Body weight" -* subject = Reference(http://example.org/fhir/Patient/Poul) -* performer = Reference(http://example.org/fhir/Patient/Poul) +* subject = Reference(Poul) +* performer = Reference(Poul) * effectiveDateTime = "2023-02-21T08:36:40+01:00" * valueQuantity = 74.0 'kg' "kg" * device = Reference(WeightScale.606405FFFECFC604) * extension * url = $observation-gatewayDevice - * valueReference = Reference(http://example.org/fhir/Telma.FEEDDADADEADBEEF) + * valueReference = Reference(Telma.FEEDDADADEADBEEF) * derivedFrom = Reference(http://example.org/fhir/CoincidentTimeStamp.0123) @@ -338,6 +347,11 @@ Usage: #example Instance: Telma.FEEDDADADEADBEEF InstanceOf: Device +Title: "Poul's remote patient monitoring app" +Description: """ + Poul has been enrolled in a Remote Patient Monitoring programme in order to monitor the + state of his CHF condition. This is the app he uses to report the data to his doctor. +""" Usage: #example * meta.profile = $PhgDevice * identifier[+] @@ -407,6 +421,11 @@ Usage: #example Instance: BPMonitor.C4F312FFFE53F2C9 InstanceOf: Device +Title: "Poul's A&D blood pressure monitor" +Description: """ + This device is Poul's personal blood pressure monitor, which he keeps in the bedroom + of his home, and uses for daily monitoring due to his CHF condition. +""" Usage: #example * meta.profile = $PhdDevice * identifier[+] @@ -489,6 +508,7 @@ InstanceOf: DkCoreObservation Usage: #inline * meta.profile[+] = $PhdNumericObservation * status = #final +* category[+].coding = $PhdObservationCategory#phd-observation "PHD generated Observation" * code * coding[+] = $IEEEx73#67996 "MDC_ATTR_VAL_BATT_CHARGE" * text = "MDC_ATTR_VAL_BATT_CHARGE: Battery level" @@ -504,6 +524,13 @@ Usage: #inline Instance: CoincidentTimeStamp.0222 InstanceOf: DkCoreObservation +Title: "Coincident time stamp from Poul's home blood pressure measurement" +Description: """ + A coincident time stamp observation is used to ensure and inspect the consistency + of timelines when using battery-operated health devices having their own clock that may + or may not be synchronized to local time - and may even travel with their owner across + time zones. +""" Usage: #example * meta.profile[+] = $PhdCoincidentTimeStampObservation * status = #final @@ -521,14 +548,15 @@ Usage: #example Instance: BloodPressure.Poul.643992 -InstanceOf: DkCoreObservation +InstanceOf: IpaDkCoreObservation Usage: #inline * identifier.value = "C4F312FFFE53F2C9-3001749995-urn:oid:1.2.208.176.1.2-150020-118-266016-87-266016-99-266016-20230223T102408.00" * meta.profile[+] = $PhdCompoundNumericObservation * meta.profile[+] = $observation-vitalsigns * meta.profile[+] = $observation-bp * status = #final -* category.coding = $observation-category#vital-signs "Vital signs" +* category[+].coding = $observation-category#vital-signs "Vital signs" +* category[+].coding = $PhdObservationCategory#phd-observation "PHD generated Observation" * code * coding[+] = $LOINC#85354-9 "Blood pressure panel with all children optional" * coding[+] = $IEEEx73#150020 "MDC_PRESS_BLD_NONINV" @@ -541,14 +569,14 @@ Usage: #inline * code * coding[+] = $LOINC#8480-6 "Systolic blood pressure" * coding[+] = $IEEEx73#150021 "MDC_PRESS_BLD_NONINV_SYS" - * coding[+] = $Medcom#MCS88019 "Arm—Blodtryk(systolisk) hjemme; tryk = ? mmHg" + * coding[+] = $NPU#DNK05472 "Arm—Blodtryk(systolisk); tryk = ? mmHg" * text = "MDC_PRESS_BLD_NONINV_SYS: Systolic Blood Pressure" * valueQuantity = 118 'mm[Hg]' "mmHg" * component[+] * code * coding[+] = $LOINC#8462-4 "Diastolic blood pressure" * coding[+] = $IEEEx73#150022 "MDC_PRESS_BLD_NONINV_DIA" - * coding[+] = $Medcom#MCS88020 "Arm—Blodtryk(diastolisk) hjemme; tryk = ? mmHg" + * coding[+] = $NPU#05473 "Arm—Blodtryk(diastolisk); tryk = ? mmHg" * text = "MDC_PRESS_BLD_NONINV_DIA: Diastolic Blood Pressure" * valueQuantity = 87 'mm[Hg]' "mmHg" * component[+] @@ -564,14 +592,20 @@ Usage: #inline Instance: HeartRate.Poul.1974654 -InstanceOf: DkCoreObservation +InstanceOf: IpaDkCoreObservation +Title: "Poul's heart rate measurement" +Description: """ + Poul has been instructed to measure his blood pressure due to his CHF condition. This heart rate + measurement was produced by his blood pressure monitor during one of these measurements. +""" Usage: #example * identifier.value = "C4F312FFFE53F2C9-3001749995-urn:oid:1.2.208.176.1.2-149546-93-{beat}/min-20230223T102408.00" * meta.profile[+] = $PhdNumericObservation * meta.profile[+] = $observation-vitalsigns * meta.profile[+] = $observation-heartrate * status = #final -* category.coding = $observation-category#vital-signs "Vital signs" +* category[+].coding = $observation-category#vital-signs "Vital signs" +* category[+].coding = $PhdObservationCategory#phd-observation "PHD generated Observation" * code * coding[+] = $LOINC#8867-4 "Heart rate" * coding[+] = $IEEEx73#149546 "MDC_PULS_RATE_NON_INV" @@ -594,6 +628,7 @@ Usage: #inline * identifier.value = "C4F312FFFE53F2C9-3001749995-urn:oid:1.2.208.176.1.2-8410608-8192-20230223T102408.00" * meta.profile[+] = $PhdBitsEnumerationObservation * status = #final +* category[+].coding = $PhdObservationCategory#phd-observation "PHD generated Observation" * code * coding = $IEEEx73#8410608 "MDC_BLOOD_PRESSURE_MEASUREMENT_STATUS" * text = "MDC_BLOOD_PRESSURE_MEASUREMENT_STATUS: Blood Pressure measurement problem" diff --git a/input/fsh/DkCorePatient.fsh b/input/fsh/DkCorePatient.fsh index fda773c06..d2c309b41 100644 --- a/input/fsh/DkCorePatient.fsh +++ b/input/fsh/DkCorePatient.fsh @@ -29,18 +29,22 @@ Description: "HL7 Denmark core profile for a patient" * address ^definition = "An address for the individual. Danish addresses must comply with directions issued by https://dawa.aws.dk/ and underlying authorities" * extension contains MunicipalityCodes named municipalityCode 0..1 and - RegionalSubDivisionCodes named regionalSubDivisionCodes 0..1 + RegionalSubDivisionCodes named regionalSubDivisionCodes 0..1 and + http://hl7.org/fhir/StructureDefinition/address-official named address-official 0..1 * extension[municipalityCode] ^short = "[DA] Kommunekode" * extension[regionalSubDivisionCodes] ^short = "[DA] Regionskode" + * extension[address-official] ^short = "Indicate that this address is meant to be the 'official' address for that person. This can be indicated by setting the boolean to 'true' or adding a code for the country, e.g. 'DK'. In Denmark the official is the address registered in the CPR-register, see: https://www.retsinformation.dk/eli/lta/2023/1010." * maritalStatus from $dk-marital-status_1 (extensible) * generalPractitioner ^slicing.discriminator.type = #value * ^slicing.discriminator.path = "identifier.system" * ^slicing.rules = #open +* generalPractitioner only Reference(DkCoreOrganization or DkCorePractitioner or DkCorePractitionerRole) * generalPractitioner contains referencedSORUnit 0..* * generalPractitioner[referencedSORUnit] ^short = "[DA] Praktiserende læges SOR-id på sundhedsinstistutionsniveau" * identifier only SORIdentifier -* contact.relationship from RelatedPersonRelationshipTypes (extensible) +* managingOrganization only Reference(DkCoreOrganization) * link.other only Reference(DkCorePatient or DkCoreRelatedPerson) +* contact.relationship from extended-patient-contactrelationship (extensible) Instance: 283 InstanceOf: DkCorePatient @@ -54,12 +58,15 @@ Usage: #example * name.family = "Mosebryggersen" * name.given[0] = "Schwendlund" * name.given[1] = "Test" +* name.text = "Schwendlund Test Mosebryggersen" * gender = #male * birthDate = "1958-08-01" -* address.extension[0].url = "http://hl7.dk/fhir/core/StructureDefinition/dk-core-municipalityCodes" -* address.extension[=].valueCodeableConcept = $dk-core-municipality-codes#0330 -* address.extension[+].url = "http://hl7.dk/fhir/core/StructureDefinition/dk-core-RegionalSubDivisionCodes" -* address.extension[=].valueCodeableConcept = $dk-core-regional-subdivision-codes#DK-85 +* address.extension[municipalityCode].url = "http://hl7.dk/fhir/core/StructureDefinition/dk-core-municipalityCodes" +* address.extension[municipalityCode].valueCodeableConcept = $dk-core-municipality-codes#0330 +* address.extension[regionalSubDivisionCodes].url = "http://hl7.dk/fhir/core/StructureDefinition/dk-core-RegionalSubDivisionCodes" +* address.extension[regionalSubDivisionCodes].valueCodeableConcept = $dk-core-regional-subdivision-codes#DK-85 +* address.extension[address-official].url = "http://hl7.org/fhir/StructureDefinition/address-official" +* address.extension[address-official].valueCodeableConcept = urn:iso:std:iso:3166#DK * address.use = #home * address.type = #postal * address.line = "Nordre Ringgade 3" @@ -86,6 +93,7 @@ Usage: #example * name.family = "Berggren" * name.given[0] = "Ruddi" * name.given[1] = "Test" +* name.text = "Ruddi Test Berggren" * gender = #male * birthDate = "1977-02-15" * address.use = #home @@ -105,6 +113,7 @@ Usage: #example * name.family = "Lauridsen" * name.given[0] = "Else" * name.given[+] = "Test" +* name.text = "Else Test Lauridsen" * gender = #female * birthDate = "1991-02-02" * maritalStatus = $v3-MaritalStatus#M "Married" @@ -121,8 +130,10 @@ Usage: #example * name[=].given[0] = "John" * name[=].given[+] = "Christian" * name[=].prefix = "Mr" +* name[=].text = "Mr. John Christian Meyerhofen" * name[+].use = #usual * name[=].given = "Johnny" +* name[=].text = "Johnny" * gender = #male * birthDate = "1960-01-02" * generalPractitioner.identifier.system = "urn:oid:1.2.208.176.1.1" @@ -141,6 +152,7 @@ Usage: #example * name.given[0] = "Max" * name.given[1] = "Test" * name.prefix = "Mr" +* name.text = "Mr. Max Test Berggren" * gender = #male * birthDate = "1972-07-01" * maritalStatus = $dk-marital-status#P @@ -156,6 +168,7 @@ Usage: #example * name.family.extension.url = "http://hl7.org/fhir/StructureDefinition/data-absent-reason" * name.family.extension.valueCode = http://terminology.hl7.org/CodeSystem/data-absent-reason#unknown * name.given = "Anders" +* name.text = "Anders" * gender = #male * birthDate = "1983-06-07" @@ -171,6 +184,7 @@ Usage: #example * name.family.extension.url = "http://hl7.org/fhir/StructureDefinition/data-absent-reason" * name.family.extension.valueCode = http://terminology.hl7.org/CodeSystem/data-absent-reason#unknown * name.given = "Peter" +* name.text = "Peter" * gender = #male Instance: ukendt-X-eCPR @@ -182,6 +196,7 @@ Usage: #example * identifier.value = "0703921VJ4" * name.use = #temp * name.family = "Madsen" +* name.text = "Madsen" * gender = #female * birthDate = "1992-03-07" diff --git a/input/fsh/DkCorePractitioner.fsh b/input/fsh/DkCorePractitioner.fsh index d9bef145d..d5c0620ad 100644 --- a/input/fsh/DkCorePractitioner.fsh +++ b/input/fsh/DkCorePractitioner.fsh @@ -24,6 +24,7 @@ Usage: #example * qualification.code = $DkCoreProfessionGroupCodes#7170 "Læge" * name.given = "Abraham" * name.family = "Murakami" +* name.text = "Abraham Murakami" Instance: SidselSygeplejerske InstanceOf: DkCorePractitioner @@ -33,6 +34,7 @@ Usage: #example * qualification.code = $DkCoreProfessionGroupCodes#5166 "Sygeplejerske" * name.given = "Sidsel" * name.family = "Andersen" +* name.text = "Sidsel Andersen" Instance: HanneSocialraadgiver InstanceOf: DkCorePractitioner @@ -41,4 +43,5 @@ Description: "Eksempel på socialrådgiveren Hanne" Usage: #example * name.given = "Hanne" * name.family = "Mortensen" +* name.text = "Hanne Mortensen" * qualification.code.text = "Socialrådgiver" \ No newline at end of file diff --git a/input/fsh/DkCorePractitionerRole.fsh b/input/fsh/DkCorePractitionerRole.fsh new file mode 100644 index 000000000..bc1378085 --- /dev/null +++ b/input/fsh/DkCorePractitionerRole.fsh @@ -0,0 +1,40 @@ +Profile: DkCorePractitionerRole +Parent: PractitionerRole +Id: dk-core-practitioner-role +Title: "Danish Core PractitionerRole Profile" +Description: "HL7 Denmark core profile for health professional roles" +* organization only Reference(DkCoreOrganization) +* practitioner only Reference(DkCorePractitioner) +* location only Reference(DkCoreLocation) + + +Instance: AbrahamPractitionerRole +InstanceOf: DkCorePractitionerRole +Title: "Licensed physician in primary care" +Description: "This is an example of PractitionerRole profile. The example describes the service which practitioner is performing in a specific location in a specific role." +Usage: #example +* active = true +* practitioner = Reference(AbrahamLaege) +* organization = Reference(CenterForDiabetes) +* code = http://terminology.hl7.org/CodeSystem/v2-0286#PP +* specialty = http://snomed.info/sct/554471000005108/version/20240331#408443003 +//* location = Reference(LocationExample) +* availableTime[0].daysOfWeek[0] = #mon +* availableTime[=].daysOfWeek[+] = #tue +* availableTime[=].daysOfWeek[+] = #wed +* availableTime[=].availableStartTime = "09:00:00" +* availableTime[=].availableEndTime = "15:30:00" +* availableTime[+].daysOfWeek[0] = #thu +* availableTime[=].daysOfWeek[+] = #fri +* availableTime[=].availableStartTime = "09:00:00" +* availableTime[=].availableEndTime = "12:00:00" + +Instance: PlaceholderPractitionerRole +InstanceOf: DkCorePractitionerRole +Title: "Placeholder for a physician" +Description: "This is an example of PractitionerRole where it acts as a placeholder for an unknown person. This may be useful in several scenarios." +Usage: #example +* active = true +* organization = Reference(CenterForDiabetes) +* code = http://terminology.hl7.org/CodeSystem/v2-0286#PP +* specialty = http://snomed.info/sct/554471000005108/version/20240331#408443003 \ No newline at end of file diff --git a/input/fsh/DkCoreServiceRequest.fsh b/input/fsh/DkCoreServiceRequest.fsh new file mode 100644 index 000000000..c0620d996 --- /dev/null +++ b/input/fsh/DkCoreServiceRequest.fsh @@ -0,0 +1,67 @@ +Profile: DkCorePersonServiceRequest +Parent: ServiceRequest +Id: dk-core-person-servicerequest +Title: "Danish Core Person ServiceRequest Profile" +Description: "HL7 Denmark core profile for requesting a service, such as diagnostic investigations, nursing services, treatments, and more for a Patient." +* subject only Reference(DkCorePatient) +* requester only Reference(DkCorePractitioner or DkCorePractitionerRole or DkCoreOrganization or DkCorePatient or DkCoreRelatedPerson or Device) +* performer only Reference(DkCorePractitioner or DkCorePractitionerRole or DkCoreOrganization or DkCorePatient or DkCoreRelatedPerson or HealthcareService or Device or CareTeam) +* category from DkCoreServiceRequestCodes (example) +* priority from DkCorePriorityCodes (required) +* reasonReference only Reference(DkCoreCondition or DkCoreObservation or DiagnosticReport or DocumentReference) +* reasonCode.coding ^slicing.discriminator.type = #value + * ^slicing.discriminator.path = "system" + * ^slicing.rules = #open + * ^slicing.ordered = false + * ^slicing.description = "Slice based on the code.system value which allow different code-systems to represent a reason" + * ^short = "Reason code, [DA] begrundelses-kode" +* reasonCode.coding contains + FSIIIConditionCode 0..1 and + SCTCode 0..1 and + FFBConditionCode 0..1 and + SKS 0..1 and + ICPC2code 0..1 +* reasonCode.coding[FSIIIConditionCode] ^short = "[DA] FSIII tilstandskode" + * system 1.. + * system = "urn:oid:1.2.208.176.2.21" +* reasonCode.coding[SCTCode] + * ^short = "SNOMED CT kode, typisk klinisk fund eller procedure" + * system 1.. + * system = "http://snomed.info/sct" +* reasonCode.coding[FFBConditionCode] ^short = "[DA] FFB undertemakode" + * system 1.. + * system = "urn:oid:1.2.208.176.2.22" +* reasonCode.coding[SKS] ^short = "[DA] Kode fra SKS, typisk diagnose eller procedure" + * system 1.. + * system = "urn:oid:1.2.208.176.2.4.12" +* reasonCode.coding[ICPC2code] ^short = "ICPC2 code" + * system 1.. + * system = "urn:oid:1.2.208.176.2.31" + + +Instance: JohnsServiceRequest +InstanceOf: DkCorePersonServiceRequest +Title: "Request for nursing care of John." +Description: "Request for nursing care of John." +Usage: #example +* status = #active +* intent = #plan +* priority = http://hl7.org/fhir/request-priority#routine +* subject.reference = "Patient/john" +* category = $sct#658161000005107 "hjemmesygepleje" +* code = $sct#225358003 "sårbehandling og -pleje" +* orderDetail = $sct#410379003 "overvågning af forbindingskift/sårpleje" + + +Instance: MaxServiceRequest +InstanceOf: DkCorePersonServiceRequest +Title: "Request for nursing care of John." +Description: "Request for nursing care of John." +Usage: #example +* status = #active +* intent = #plan +* priority = http://hl7.org/fhir/request-priority#routine +* subject.reference = "Patient/john" +* category = $sct#658161000005107 "hjemmesygepleje" +* code = $sct#225358003 "sårbehandling og -pleje" +* orderDetail = $sct#410379003 "overvågning af forbindingskift/sårpleje" diff --git a/input/fsh/IPAProfiles.fsh b/input/fsh/IPAProfiles.fsh new file mode 100644 index 000000000..78cd03f2c --- /dev/null +++ b/input/fsh/IPAProfiles.fsh @@ -0,0 +1,52 @@ +Instance: expParam +InstanceOf: Parameters +Description: "SNOMED CT expansion parameter" +Usage: #definition +* parameter[+].name = "system-version" +* parameter[=].valueCanonical = $sct-dk-version +//* parameter[+].name = "includeDesignations" +//* parameter[=].valueBoolean = true +//* parameter[+].name = "displayLanguage" +//* parameter[=].valueCode = urn:ietf:bcp:47#da + +Profile: IpaDkCorePatient +Parent: DkCorePatient +Id: ipa-dk-core-patient +Title: "Danish IPA Core Patient Profile" +Description: "HL7 Denmark core profile for IPA and DK Core compliant patients" +* ^extension[0].url = "http://hl7.org/fhir/StructureDefinition/structuredefinition-imposeProfile" +* ^extension[=].valueCanonical = "http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-patient" + +Profile: IpaDkCoreCondition +Parent: DkCoreCondition +Id: ipa-dk-core-condition +Title: "Danish IPA Core Condition Profile" +Description: "HL7 Denmark core profile for IPA and DK Core compliant conditions" +* ^extension[0].url = "http://hl7.org/fhir/StructureDefinition/structuredefinition-imposeProfile" +* ^extension[=].valueCanonical = "http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-condition" + + +Profile: IpaDkCoreObservation +Parent: DkCoreObservation +Id: ipa-dk-core-observation +Title: "Danish IPA Core Observation Profile" +Description: "HL7 Denmark core profile for IPA and DK Core compliant observations" +* ^extension[0].url = "http://hl7.org/fhir/StructureDefinition/structuredefinition-imposeProfile" +* ^extension[=].valueCanonical = "http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-observation" +* subject only Reference(IpaDkCorePatient) + +Profile: IpaDkCorePractitioner +Parent: DkCorePractitioner +Id: ipa-dk-core-practitioner +Title: "Danish IPA Core Practitioner Profile" +Description: "HL7 Denmark core profile for IPA and DK Core compliant practitioners" +* ^extension[0].url = "http://hl7.org/fhir/StructureDefinition/structuredefinition-imposeProfile" +* ^extension[=].valueCanonical = "http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-practitioner" + +Profile: IpaDkCorePractitionerRole +Parent: DkCorePractitionerRole +Id: ipa-dk-core-practitionerrole +Title: "Danish IPA Core PractitionerRole Profile" +Description: "HL7 Denmark core profile for IPA and DK Core compliant practitionerroles" +* ^extension[0].url = "http://hl7.org/fhir/StructureDefinition/structuredefinition-imposeProfile" +* ^extension[=].valueCanonical = "http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-practitionerrole" \ No newline at end of file diff --git a/input/fsh/aliases.fsh b/input/fsh/aliases.fsh index 077f28550..1b8cb0837 100644 --- a/input/fsh/aliases.fsh +++ b/input/fsh/aliases.fsh @@ -1,4 +1,5 @@ -Alias: $sct = http://snomed.info/sct +Alias: $sct = http://snomed.info/sct|http://snomed.info/sct/554471000005108 // Danish version - append e.g. /version/20240331 to get a more specific version +Alias: $sct-dk-version = http://snomed.info/sct|http://snomed.info/sct/554471000005108/version/20240331 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 @@ -13,7 +14,7 @@ Alias: $condition-code = http://hl7.org/fhir/ValueSet/condition-code Alias: $sor-organization-type = http://hl7.dk/fhir/core/ValueSet/sor-organization-type Alias: $dk-marital-status_1 = http://hl7.dk/fhir/core/ValueSet/dk-marital-status Alias: $ucum = http://unitsofmeasure.org -Alias: $NPU = urn:oid:1.2.208.176.2.1 +Alias: $NPU = urn:oid:1.2.208.176.2.1 // This OID is wrong. It should be using the url stated on https://jira.hl7.org/browse/HTA-130 - being http://npu-terminology.org/ Alias: $Medcom = http://medcomfhir.dk/ig/terminology/CodeSystem/medcom-observation-codes Alias: $SKS = urn:oid:1.2.208.176.2.4 Alias: $LOINC = http://loinc.org diff --git a/input/fsh/codeSystems.fsh b/input/fsh/codeSystems.fsh index 9ebfb5c64..5f8836d0d 100644 --- a/input/fsh/codeSystems.fsh +++ b/input/fsh/codeSystems.fsh @@ -49,6 +49,55 @@ Description: "CodeSystem supplement with danish translations for administrative * ^designation.language = #da * ^designation.value = "Ukendt" + + +CodeSystem: v2-0131DkSupplement +Id: v2-0131-supplement +Title: "DK v2 Contact Role Supplement" +Description: "CodeSystem supplement with danish translations for Contact Role" +* ^experimental = false +* ^content = #supplement +* ^supplements = "http://terminology.hl7.org/CodeSystem/v2-0131" +* #BP + * ^designation.language = #da + * ^designation.value = "Faktureringskontaktperson" +* #C + * ^designation.language = #da + * ^designation.value = "Nødkontakt" +* #CP + * ^designation.language = #da + * ^designation.value = "Kontaktperson" +* #E + * ^designation.language = #da + * ^designation.value = "Arbejdsgiver" +* #EP + * ^designation.language = #da + * ^designation.value = "Akut kontaktperson" +* #F + * ^designation.language = #da + * ^designation.value = "Føderalt agentur" +* #I + * ^designation.language = #da + * ^designation.value = "Forsikringsselskab" +* #N + * ^designation.language = #da + * ^designation.value = "Pårørende" +* #O + * ^designation.language = #da + * ^designation.value = "Andet" +* #PR + * ^designation.language = #da + * ^designation.value = "Person, der forbereder henvisning" +* #S + * ^designation.language = #da + * ^designation.value = "Statsagentur" +* #U + * ^designation.language = #da + * ^designation.value = "Ukendt" + + + + CodeSystem: GreenlandMunicipalityCodes Id: dk-core-municipality-codes-greenland Title: "DK Greenland Municipality Codes" @@ -801,7 +850,458 @@ Description: "DK Related Person Relationship Codes" * ^definition = "The player of the role is the primary caretaker of the scoping person." * ^designation.language = #da * ^designation.value = "Primær omsorgsperson" -* #PROCON "Professional contact" +* #PROCON "Professional contact" * ^definition = "A professional acting as a contact of the scoping person." * ^designation.language = #da - * ^designation.value = "Professionel kontakt" \ No newline at end of file + * ^designation.value = "Professionel kontakt" + + +CodeSystem: NPU +Id: dk-npu-fragment +Title: "DK NPU Subset" +Description: "DK NPU Subsetted code system used in DK Core. The full version of NPU can be found at http://labterm.dk" +* ^url = $NPU +* ^status = #active +* ^content = #fragment +* ^experimental = false +* ^caseSensitive = false +* ^version = "EN211028" +* ^copyright = "The International Union of Pure and Applied Chemistry (IUPAC) and the International Federation of Clinical Chemistry and laboratory medicine (IFCC)" + +* ^property[0].uri = "http://hl7.org/fhir/concept-properties#comment" +* ^property[=].type = #string +* ^property[=].description = "A string that provides additional detail pertinent to the use or understanding of the concept" +* ^property[=].code = #comment + +* ^property[+].uri = "http://hl7.org/fhir/concept-properties#effectiveDate" +* ^property[=].type = #dateTime +* ^property[=].description = "The date at which the concept status was last changed" +* ^property[=].code = #effectiveDate + +* ^property[+].uri = "http://hl7.org/fhir/concept-properties#status" +* ^property[=].type = #code +* ^property[=].description = "A code that indicates the status of the concept. Typical values are active, experimental, deprecated, and retired" +* ^property[=].code = #status + +* ^property[+].uri = "http://hl7.org/fhir/concept-properties#inactive" +* ^property[=].type = #boolean +* ^property[=].description = "True if the concept is not considered active - e.g. not a valid concept any more. Property type is boolean, default value is false. Note that the status property may also be used to indicate that a concept is inactive" +* ^property[=].code = #inactive + +* ^property[+].uri = "https://iupac.org/fhir/npu/concept-properties#ChangeDate" +* ^property[=].type = #dateTime +* ^property[=].code = #ChangeDate + +* ^property[+].uri = "https://iupac.org/fhir/npu/concept-properties#CreatedDate" +* ^property[=].type = #dateTime +* ^property[=].code = #CreatedDate + +* ^property[+].uri = "https://iupac.org/fhir/npu/concept-properties#System" +* ^property[=].type = #string +* ^property[=].code = #System + +* ^property[+].uri = "https://iupac.org/fhir/npu/concept-properties#SysSpec" +* ^property[=].type = #string +* ^property[=].code = #SysSpec + +* ^property[+].uri = "https://iupac.org/fhir/npu/concept-properties#Component" +* ^property[=].type = #string +* ^property[=].code = #Component + +* ^property[+].uri = "https://iupac.org/fhir/npu/concept-properties#CompSpec" +* ^property[=].type = #string +* ^property[=].code = #CompSpec + +* ^property[+].uri = "https://iupac.org/fhir/npu/concept-properties#Kind-of-property" +* ^property[=].type = #string +* ^property[=].code = #Kind-of-property + +* ^property[+].uri = "https://iupac.org/fhir/npu/concept-properties#Speciality" +* ^property[=].type = #string +* ^property[=].code = #Speciality + +* ^property[+].uri = "https://iupac.org/fhir/npu/concept-properties#Code-value" +* ^property[=].type = #string +* ^property[=].code = #"Code value" + +* ^property[+].uri = "https://iupac.org/fhir/npu/concept-properties#Scale-type" +* ^property[=].type = #string +* ^property[=].code = #"Scale type" + +* ^property[+].uri = "https://iupac.org/fhir/npu/concept-properties#Proc" +* ^property[=].type = #string +* ^property[=].code = #Proc + +* ^property[+].uri = "https://iupac.org/fhir/npu/concept-properties#Unit" +* ^property[=].type = #string +* ^property[=].code = #"Unit" + +* ^property[+].uri = "https://iupac.org/fhir/npu/concept-properties#STATUS" +* ^property[=].type = #string +* ^property[=].code = #STATUS + + +* #NPU03011 "Hb(Fe; O\u2082-bind.; aB)\u2014Oxygen(O\u2082); sat. = ?" + * ^designation.language = #da + * ^designation.value = "Hb(Fe; O\u2082-bind.;aB)\u2014Oxygen(O\u2082); mætn. = ?" + * ^property[0].code = #ChangeDate + * ^property[=].valueDateTime = "2000-12-20T00:00:00+01:00" + * ^property[+].code = #CreatedDate + * ^property[=].valueDateTime = "1996-12-24T00:00:00+01:00" + * ^property[+].code = #System + * ^property[=].valueString = "Hb" + * ^property[+].code = #SysSpec + * ^property[=].valueString = "Fe; O₂-bind.;aB" + * ^property[+].code = #Component + * ^property[=].valueString = "Oxygen" + * ^property[+].code = #CompSpec + * ^property[=].valueString = "O₂" + * ^property[+].code = #Kind-of-property + * ^property[=].valueString = "sat." + * ^property[+].code = #Speciality + * ^property[=].valueString = "CLC" + * ^property[+].code = #"Code value" + * ^property[=].valueString = "3011" + * ^property[+].code = #"Scale type" + * ^property[=].valueString = "Ratio" + * ^property[+].code = #STATUS + * ^property[=].valueString = "ACTIVE" + * ^property[+].code = #effectiveDate + * ^property[=].valueDateTime = "2000-12-20T00:00:00+01:00" + * ^property[+].code = #status + * ^property[=].valueCode = #active + * ^property[+].code = #comment + * ^property[=].valueString = "Unit defined" +* #NPU27280 "Hb(Fe; O\u2082-bind.; aB)\u2014Oxygen(O\u2082); sat.(Pulse oximetry) = ?" + * ^designation.language = #da + * ^designation.value = "Hb(Fe; O\u2082-bind.;aB)—Oxygen(O\u2082); mætn.(pulsoximetri) = ?" + * ^property[0].code = #CreatedDate + * ^property[=].valueDateTime = "2007-11-23T00:00:00+01:00" + * ^property[+].code = #System + * ^property[=].valueString = "Hb" + * ^property[+].code = #SysSpec + * ^property[=].valueString = "Fe; O₂-bind.;aB" + * ^property[+].code = #Component + * ^property[=].valueString = "Oxygen" + * ^property[+].code = #CompSpec + * ^property[=].valueString = "O₂" + * ^property[+].code = #Kind-of-property + * ^property[=].valueString = "sat." + * ^property[+].code = #Proc + * ^property[=].valueString = "Pulse oximetry" + * ^property[+].code = #Speciality + * ^property[=].valueString = "CLC" + * ^property[+].code = #"Code value" + * ^property[=].valueString = "27280" + * ^property[+].code = #"Scale type" + * ^property[=].valueString = "Ratio" + * ^property[+].code = #STATUS + * ^property[=].valueString = "ACTIVE" + * ^property[+].code = #effectiveDate + * ^property[=].valueDateTime = "2007-11-23T00:00:00+01:00" + * ^property[+].code = #status + * ^property[=].valueCode = #active + * ^property[+].code = #comment + * ^property[=].valueString = "Unit defined" +* #NPU04034 "Pt(spec.)\u2014Blood; temp. = ? \u00b0C" + * ^designation.language = #da + * ^designation.value = "Pt(spec.)—Blod; temp. = ? °C" + * ^property[0].code = #CreatedDate + * ^property[=].valueDateTime = "1996-05-08T00:00:00+02:00" + * ^property[+].code = #System + * ^property[=].valueString = "Pt" + * ^property[+].code = #SysSpec + * ^property[=].valueString = "spec." + * ^property[+].code = #Component + * ^property[=].valueString = "Blood" + * ^property[+].code = #Kind-of-property + * ^property[=].valueString = "temp." + * ^property[+].code = #Unit + * ^property[=].valueString = "°C" + * ^property[+].code = #Speciality + * ^property[=].valueString = "CLC" + * ^property[+].code = #"Code value" + * ^property[=].valueString = "4034" + * ^property[+].code = #"Scale type" + * ^property[=].valueString = "Differential" + * ^property[+].code = #STATUS + * ^property[=].valueString = "ACTIVE" + * ^property[+].code = #effectiveDate + * ^property[=].valueDateTime = "1996-05-08T00:00:00+02:00" + * ^property[+].code = #status + * ^property[=].valueCode = #active + * ^property[+].code = #comment + * ^property[=].valueString = "Unit defined" +* #NPU08676 "Pt\u2014Body; temp. = ? \u00b0C" + * ^designation.language = #da + * ^designation.value = "Pt—Legeme; temp. = ? °C" + * ^property[0].code = #CreatedDate + * ^property[=].valueDateTime = "1997-04-15T00:00:00+02:00" + * ^property[+].code = #System + * ^property[=].valueString = "Pt" + * ^property[+].code = #Component + * ^property[=].valueString = "Body" + * ^property[+].code = #Kind-of-property + * ^property[=].valueString = "temp." + * ^property[+].code = #Unit + * ^property[=].valueString = "°C" + * ^property[+].code = #Speciality + * ^property[=].valueString = "CLC" + * ^property[+].code = #"Code value" + * ^property[=].valueString = "8676" + * ^property[+].code = #"Scale type" + * ^property[=].valueString = "Differential" + * ^property[+].code = #STATUS + * ^property[=].valueString = "ACTIVE" + * ^property[+].code = #effectiveDate + * ^property[=].valueDateTime = "1997-04-15T00:00:00+02:00" + * ^property[+].code = #status + * ^property[=].valueCode = #active + * ^property[+].code = #comment + * ^property[=].valueString = "Unit defined" +* #NPU58033 "Artery(spec.)\u2014Blood pressure(systolic); pr.(proc.) = ? mmHg" + * ^designation.language = #da + * ^designation.value = "Arterie(spec.)—Blodtryk(systolisk); tryk(proc.) = ? mmHg" + * ^property[0].code = #ChangeDate + * ^property[=].valueDateTime = "2021-03-19T00:00:00+01:00" + * ^property[+].code = #CreatedDate + * ^property[=].valueDateTime = "2017-12-18T00:00:00+01:00" + * ^property[+].code = #System + * ^property[=].valueString = "Artery" + * ^property[+].code = #SysSpec + * ^property[=].valueString = "spec." + * ^property[+].code = #Component + * ^property[=].valueString = "Blood pressure" + * ^property[+].code = #CompSpec + * ^property[=].valueString = "systolic" + * ^property[+].code = #Kind-of-property + * ^property[=].valueString = "pr." + * ^property[+].code = #Proc + * ^property[=].valueString = "proc." + * ^property[+].code = #Unit + * ^property[=].valueString = "mmHg" + * ^property[+].code = #Speciality + * ^property[=].valueString = "CLC" + * ^property[+].code = #"Code value" + * ^property[=].valueString = "58033" + * ^property[+].code = #"Scale type" + * ^property[=].valueString = "Ratio" + * ^property[+].code = #STATUS + * ^property[=].valueString = "ACTIVE" + * ^property[+].code = #effectiveDate + * ^property[=].valueDateTime = "2021-03-19T00:00:00+01:00" + * ^property[+].code = #status + * ^property[=].valueCode = #deprecated + * ^property[+].code = #comment + * ^property[=].valueString = "Specification changed" + * ^property[+].code = #inactive + * ^property[=].valueBoolean = true +* #NPU57947 "Artery(spec.)\u2014Blood; pr.(systolic; proc.) = ? mmHg" + * ^designation.language = #da + * ^designation.value = "Arterie(spec.)—Blod; tryk(systolisk;proc.) = ? mmHg" + * ^property[0].code = #CreatedDate + * ^property[=].valueDateTime = "2017-12-05T00:00:00+01:00" + * ^property[+].code = #System + * ^property[=].valueString = "Artery" + * ^property[+].code = #SysSpec + * ^property[=].valueString = "spec." + * ^property[+].code = #Component + * ^property[=].valueString = "Blood" + * ^property[+].code = #Kind-of-property + * ^property[=].valueString = "pr." + * ^property[+].code = #Proc + * ^property[=].valueString = "systolic;proc." + * ^property[+].code = #Unit + * ^property[=].valueString = "mmHg" + * ^property[+].code = #Speciality + * ^property[=].valueString = "CLC" + * ^property[+].code = #"Code value" + * ^property[=].valueString = "57947" + * ^property[+].code = #"Scale type" + * ^property[=].valueString = "Ratio" + * ^property[+].code = #STATUS + * ^property[=].valueString = "ACTIVE" + * ^property[+].code = #effectiveDate + * ^property[=].valueDateTime = "2017-12-05T00:00:00+01:00" + * ^property[+].code = #status + * ^property[=].valueCode = #active + * ^property[+].code = #comment + * ^property[=].valueString = "Unit defined" +* #NPU58034 "Artery(spec.)\u2014Blood pressure(diastolic); pr.(proc.) = ? mmHg" + * ^designation.language = #da + * ^designation.value = "Arterie(spec.)—Blodtryk(diastolisk); tryk(proc.) = ? mmHg" + * ^property[0].code = #CreatedDate + * ^property[=].valueDateTime = "2017-12-18T00:00:00+01:00" + * ^property[+].code = #System + * ^property[=].valueString = "Artery" + * ^property[+].code = #SysSpec + * ^property[=].valueString = "spec." + * ^property[+].code = #Component + * ^property[=].valueString = "Blood pressure" + * ^property[+].code = #CompSpec + * ^property[=].valueString = "diastolic" + * ^property[+].code = #Kind-of-property + * ^property[=].valueString = "pr." + * ^property[+].code = #Proc + * ^property[=].valueString = "proc." + * ^property[+].code = #Unit + * ^property[=].valueString = "mmHg" + * ^property[+].code = #Speciality + * ^property[=].valueString = "CLC" + * ^property[+].code = #"Code value" + * ^property[=].valueString = "58034" + * ^property[+].code = #"Scale type" + * ^property[=].valueString = "Ratio" + * ^property[+].code = #STATUS + * ^property[=].valueString = "ACTIVE" + * ^property[+].code = #effectiveDate + * ^property[=].valueDateTime = "2017-12-18T00:00:00+01:00" + * ^property[+].code = #status + * ^property[=].valueCode = #deprecated + * ^property[+].code = #comment + * ^property[=].valueString = "Specification changed" + * ^property[+].code = #inactive + * ^property[=].valueBoolean = true +* #NPU57948 "Artery(spec.)\u2014Blood; pr.(diastolic; proc.) = ? mmHg" + * ^designation.language = #da + * ^designation.value = "Arterie(spec.)—Blod; tryk(diastolisk;proc.) = ? mmHg" + * ^property[0].code = #CreatedDate + * ^property[=].valueDateTime = "2017-12-05T00:00:00+01:00" + * ^property[+].code = #System + * ^property[=].valueString = "Artery" + * ^property[+].code = #SysSpec + * ^property[=].valueString = "spec." + * ^property[+].code = #Component + * ^property[=].valueString = "Blood" + * ^property[+].code = #Kind-of-property + * ^property[=].valueString = "pr." + * ^property[+].code = #Proc + * ^property[=].valueString = "diastolic;proc." + * ^property[+].code = #Unit + * ^property[=].valueString = "mmHg" + * ^property[+].code = #Speciality + * ^property[=].valueString = "CLC" + * ^property[+].code = #"Code value" + * ^property[=].valueString = "57948" + * ^property[+].code = #"Scale type" + * ^property[=].valueString = "Ratio" + * ^property[+].code = #STATUS + * ^property[=].valueString = "ACTIVE" + * ^property[+].code = #effectiveDate + * ^property[=].valueDateTime = "2017-12-05T00:00:00+01:00" + * ^property[+].code = #status + * ^property[=].valueCode = #active + * ^property[+].code = #comment + * ^property[=].valueString = "Unit defined" +* #NPU21692 "Heart\u2014Systole; frequency = ? \u00d7 1/min" + * ^designation.language = #da + * ^designation.value = "Hjerte—Systole; frekv. = ? × 1/min" + * ^property[0].code = #CreatedDate + * ^property[=].valueDateTime = "2004-09-29T00:00:00+02:00" + * ^property[+].code = #System + * ^property[=].valueString = "Heart" + * ^property[+].code = #Component + * ^property[=].valueString = "Systole" + * ^property[+].code = #Kind-of-property + * ^property[=].valueString = "frequency" + * ^property[+].code = #Unit + * ^property[=].valueString = "× 1/min" + * ^property[+].code = #Speciality + * ^property[=].valueString = "FUN" + * ^property[+].code = #"Code value" + * ^property[=].valueString = "21692" + * ^property[+].code = #"Scale type" + * ^property[=].valueString = "Ratio" + * ^property[+].code = #STATUS + * ^property[=].valueString = "ACTIVE" + * ^property[+].code = #effectiveDate + * ^property[=].valueDateTime = "2004-09-29T00:00:00+02:00" + * ^property[+].code = #status + * ^property[=].valueCode = #active + * ^property[+].code = #comment + * ^property[=].valueString = "Unit defined" +* #NPU03794 "Pt\u2014Body; height = ? m" + * ^designation.language = #da + * ^designation.value = "Pt—Legeme; højde = ? m" + * ^property[0].code = #CreatedDate + * ^property[=].valueDateTime = "1997-04-15T00:00:00+02:00" + * ^property[+].code = #System + * ^property[=].valueString = "Pt" + * ^property[+].code = #Component + * ^property[=].valueString = "Body" + * ^property[+].code = #Kind-of-property + * ^property[=].valueString = "height" + * ^property[+].code = #Unit + * ^property[=].valueString = "m" + * ^property[+].code = #Speciality + * ^property[=].valueString = "CLC" + * ^property[+].code = #"Code value" + * ^property[=].valueString = "3794" + * ^property[+].code = #"Scale type" + * ^property[=].valueString = "Ratio" + * ^property[+].code = #STATUS + * ^property[=].valueString = "ACTIVE" + * ^property[+].code = #effectiveDate + * ^property[=].valueDateTime = "1997-04-15T00:00:00+02:00" + * ^property[+].code = #status + * ^property[=].valueCode = #active + * ^property[+].code = #comment + * ^property[=].valueString = "Unit defined" +* #NPU03804 "Pt\u2014Body; mass = ? kg" + * ^designation.language = #da + * ^designation.value = "Pt—Legeme; masse = ? kg" + * ^property[0].code = #CreatedDate + * ^property[=].valueDateTime = "1996-01-01T00:00:00+01:00" + * ^property[+].code = #System + * ^property[=].valueString = "Pt" + * ^property[+].code = #Component + * ^property[=].valueString = "Body" + * ^property[+].code = #Kind-of-property + * ^property[=].valueString = "mass" + * ^property[+].code = #Unit + * ^property[=].valueString = "kg" + * ^property[+].code = #Speciality + * ^property[=].valueString = "CLC" + * ^property[+].code = #"Code value" + * ^property[=].valueString = "3804" + * ^property[+].code = #"Scale type" + * ^property[=].valueString = "Ratio" + * ^property[+].code = #STATUS + * ^property[=].valueString = "ACTIVE" + * ^property[+].code = #effectiveDate + * ^property[=].valueDateTime = "1996-01-01T00:00:00+01:00" + * ^property[+].code = #status + * ^property[=].valueCode = #active + * ^property[+].code = #comment + * ^property[=].valueString = "Unit defined" +* #NPU27281 "Pt\u2014Body; mass coefficient(mass/squared height) = ? kg/m\u00b2" + * ^designation.language = #da + * ^designation.value = "Pt—Legeme; massekoefficient(masse/kvadreret højde) = ? kg/m²" + * ^property[0].code = #ChangeDate + * ^property[=].valueDateTime = "2007-12-06T00:00:00+01:00" + * ^property[+].code = #CreatedDate + * ^property[=].valueDateTime = "2007-11-23T00:00:00+01:00" + * ^property[+].code = #System + * ^property[=].valueString = "Pt" + * ^property[+].code = #Component + * ^property[=].valueString = "Body" + * ^property[+].code = #Kind-of-property + * ^property[=].valueString = "mass coefficient" + * ^property[+].code = #Proc + * ^property[=].valueString = "mass/squared height" + * ^property[+].code = #Unit + * ^property[=].valueString = "kg/m²" + * ^property[+].code = #Speciality + * ^property[=].valueString = "CLC" + * ^property[+].code = #"Code value" + * ^property[=].valueString = "27281" + * ^property[+].code = #"Scale type" + * ^property[=].valueString = "Ratio" + * ^property[+].code = #STATUS + * ^property[=].valueString = "ACTIVE" + * ^property[+].code = #effectiveDate + * ^property[=].valueDateTime = "2007-12-06T00:00:00+01:00" + * ^property[+].code = #status + * ^property[=].valueCode = #active + * ^property[+].code = #comment + * ^property[=].valueString = "Unit defined" diff --git a/input/fsh/instances.fsh b/input/fsh/instances.fsh index 677ab058f..569844e84 100644 --- a/input/fsh/instances.fsh +++ b/input/fsh/instances.fsh @@ -82,290 +82,3 @@ Title: "DK Core Marital Status" * compose.include[=].concept[=].designation.language = #da * compose.include[=].concept[=].designation.value = "Ophævet partnerskab" -Instance: sor-organization-type -InstanceOf: ValueSet -Description: "Value set used for indicating the organization type for organizations from SOR" -Title: "DK Core SOR Organization Type" -Usage: #definition -* experimental = false -* url = "http://hl7.dk/fhir/core/ValueSet/sor-organization-type" -* name = "SorOrganizationType" -* status = #active -* title = "DK SOR Organization Type" -* description = "Value set used for indicating the organization type for organizations from SOR" -* copyright = "This value set includes content from SNOMED CT, which is copyright © 2002+ International Health Terminology Standards Development Organisation (IHTSDO), and distributed by agreement between IHTSDO and HL7. Implementer use of SNOMED CT is not covered by this agreement" -* compose.include[0].system = "http://snomed.info/sct" -* compose.include[=].version = "http://snomed.info/sct/554471000005108" -* compose.include[=].concept[0].code = #554221000005108 -* compose.include[=].concept[=].display = "Dwilling place" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Dwilling place" -* compose.include[=].concept[+].code = #546821000005103 -* compose.include[=].concept[=].display = "Occupational therapy clinic" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Occupational therapy clinic" -* compose.include[=].concept[+].code = #547011000005103 -* compose.include[=].concept[=].display = "Physiotherapy clinic" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Physiotherapy clinic" -* compose.include[=].concept[+].code = #546811000005109 -* compose.include[=].concept[=].display = "Rehabilitation center" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Rehabilitation center" -* compose.include[=].concept[+].code = #550621000005101 -* compose.include[=].concept[=].display = "District nursing" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "District nursing" -* compose.include[=].concept[+].code = #550631000005103 -* compose.include[=].concept[=].display = "Midwife clinic" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Midwife clinic" -* compose.include[=].concept[+].code = #550641000005106 -* compose.include[=].concept[=].display = "Chiropractic clinic" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Chiropractic clinic" -* compose.include[=].concept[+].code = #550651000005108 -* compose.include[=].concept[=].display = "Medical laboratory" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Medical laboratory" -* compose.include[=].concept[+].code = #550661000005105 -* compose.include[=].concept[=].display = "Emergency medical service" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Emergency medical service" -* compose.include[=].concept[+].code = #554211000005102 -* compose.include[=].concept[=].display = "Prehospital unit" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Prehospital unit" -* compose.include[=].concept[+].code = #550711000005101 -* compose.include[=].concept[=].display = "Psychological counseling clinic" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Psychological counseling clinic" -* compose.include[=].concept[+].code = #550671000005100 -* compose.include[=].concept[=].display = "Medical specialist practice site" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Medical specialist practice site" -* compose.include[=].concept[+].code = #554061000005105 -* compose.include[=].concept[=].display = "Chiropodist clinic" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Chiropodist clinic" -* compose.include[=].concept[+].code = #554041000005106 -* compose.include[=].concept[=].display = "Health administration" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Health administration" -* compose.include[=].concept[+].code = #554021000005101 -* compose.include[=].concept[=].display = "Health visitors" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Health visitors" -* compose.include[=].concept[+].code = #550681000005102 -* compose.include[=].concept[=].display = "dental practice" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Dental practice" -* compose.include[=].concept[+].code = #550691000005104 -* compose.include[=].concept[=].display = "Dental care clinic" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Dental care clinic" -* compose.include[=].concept[+].code = #550701000005104 -* compose.include[=].concept[=].display = "Dental technician clinic" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Dental technician clinic" -* compose.include[=].concept[+].code = #554231000005106 -* compose.include[=].concept[=].display = "Vaccination clinic" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Vaccination clinic" -* compose.include[=].concept[+].code = #554051000005108 -* compose.include[=].concept[=].display = "Reflexology clinic" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Reflexology clinic" -* compose.include[=].concept[+].code = #550811000005108 -* compose.include[=].concept[=].display = "Administrative unit" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Administrative unit" -* compose.include[=].concept[+].code = #547211000005108 -* compose.include[=].concept[=].display = "Municipality" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Municipality" -* compose.include[=].concept[+].code = #550891000005100 -* compose.include[=].concept[=].display = "Private" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Private" -* compose.include[=].concept[+].code = #550881000005103 -* compose.include[=].concept[=].display = "Region" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Region" -* compose.include[=].concept[+].code = #550411000005105 -* compose.include[=].concept[=].display = "Other health institution" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Other health institution" -* compose.include[=].concept[+].code = #554851000005102 -* compose.include[=].concept[=].display = "Asylum centre" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Asylum centre" -* compose.include[=].concept[+].code = #550861000005106 -* compose.include[=].concept[=].display = "Physiotherapy and occupational clinic" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Physiotherapy and occupational clinic" -* compose.include[=].concept[+].code = #554881000005108 -* compose.include[=].concept[=].display = "Handicap and psychiatry" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Handicap and psychiatry" -* compose.include[=].concept[+].code = #554861000005100 -* compose.include[=].concept[=].display = "Handicap" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Handicap" -* compose.include[=].concept[+].code = #554821000005109 -* compose.include[=].concept[=].display = "Home care" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Home care" -* compose.include[=].concept[+].code = #554411000005101 -* compose.include[=].concept[=].display = "Employment agency" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Employment agency" -* compose.include[=].concept[+].code = #554871000005105 -* compose.include[=].concept[=].display = "Psychiatry" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Psychiatry" -* compose.include[=].concept[+].code = #550821000005102 -* compose.include[=].concept[=].display = "Service unit" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Service unit" -* compose.include[=].concept[+].code = #550871000005101 -* compose.include[=].concept[=].display = "Emergency admission unit" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Emergency admission unit" -* compose.include[=].concept[+].code = #554241000005103 -* compose.include[=].concept[=].display = "Technical location number" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Technical location number" -* compose.include[=].concept[+].code = #550841000005107 -* compose.include[=].concept[=].display = "Research unit" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Research unit" -* compose.include[=].concept[+].code = #550851000005109 -* compose.include[=].concept[=].display = "Clinical unit" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Clinical unit" -* compose.include[=].concept[+].code = #551611000005102 -* compose.include[=].concept[=].display = "Surgical ward" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Surgical ward" -* compose.include[=].concept[+].code = #554071000005100 -* compose.include[=].concept[=].display = "Hospital pharmacy" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Hospital pharmacy" -* compose.include[=].concept[+].code = #550831000005104 -* compose.include[=].concept[=].display = "Education unit" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Education unit" -* compose.include[=].concept[+].code = #554031000005103 -* compose.include[=].concept[=].display = "dietician clinic" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Dietician clinic" -* compose.include[=].concept[+].code = #557511000005107 -* compose.include[=].concept[=].display = "Acupuncture clinic" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Acupuncture clinic" -* compose.include[=].concept[+].code = #557501000005109 -* compose.include[=].concept[=].display = "Pharmacy branch" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Pharmacy branch" -* compose.include[=].concept[+].code = #557531000005103 -* compose.include[=].concept[=].display = "Prosthetist clinic" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Prosthetist clinic" -* compose.include[=].concept[+].code = #557591000005104 -* compose.include[=].concept[=].display = "Web-based care" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Web-based care" -* compose.include[=].concept[+].code = #557521000005101 -* compose.include[=].concept[=].display = "Alternative treatment clinic" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Alternative treatment clinic" -* compose.include[=].concept[+].code = #557561000005105 -* compose.include[=].concept[=].display = "Consulting firm" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Consulting firm" -* compose.include[=].concept[+].code = #557541000005106 -* compose.include[=].concept[=].display = "Cosmetic treatment clinic" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Cosmetic treatment clinic" -* compose.include[=].concept[+].code = #557581000005102 -* compose.include[=].concept[=].display = "Optometrist or optician clinic" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Optometrist or optician clinic" -* compose.include[=].concept[+].code = #556841000005105 -* compose.include[=].concept[=].display = "Social psychological counseling" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Social psychological counseling" -* compose.include[=].concept[+].code = #557671000005101 -* compose.include[=].concept[=].display = "Osteopathy clinic" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Osteopathy clinic" -* compose.include[+].system = "http://snomed.info/sct" -* compose.include[=].concept[0].code = #398070004 -* compose.include[=].concept[=].display = "State" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "State" -* compose.include[=].concept[+].code = #394761003 -* compose.include[=].concept[=].display = "General practitioner practice site" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "General practitioner practice site" -* compose.include[=].concept[+].code = #20078004 -* compose.include[=].concept[=].display = "Substance abuse treatment center" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Substance abuse treatment center" -* compose.include[=].concept[+].code = #722173008 -* compose.include[=].concept[=].display = "Prison based care site" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Prison based care site" -* compose.include[=].concept[+].code = #702871004 -* compose.include[=].concept[=].display = "Infertility clinic" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Infertility clinic" -* compose.include[=].concept[+].code = #276037005 -* compose.include[=].concept[=].display = "Volunteer helper" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Volunteer helper" -* compose.include[=].concept[+].code = #22232009 -* compose.include[=].concept[=].display = "Hospital" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Hospital" -* compose.include[=].concept[+].code = #702824005 -* compose.include[=].concept[=].display = "Audiology clinic" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Audiology clinic" -* compose.include[=].concept[+].code = #42665001 -* compose.include[=].concept[=].display = "Nursing home" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Nursing home" -* compose.include[=].concept[+].code = #264361005 -* compose.include[=].concept[=].display = "Health centre" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Health centre" -* compose.include[=].concept[+].code = #703069008 -* compose.include[=].concept[=].display = "Nurse practitioner clinic" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Nurse practitioner clinic" -* compose.include[=].concept[+].code = #309964003 -* compose.include[=].concept[=].display = "Radiology department" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Radiology department" -* compose.include[=].concept[+].code = #309904001 -* compose.include[=].concept[=].display = "Intensive care unit" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Intensive care unit" -* compose.include[=].concept[+].code = #309939001 -* compose.include[=].concept[=].display = "Palliative care department" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Palliative care department" -* compose.include[=].concept[+].code = #225728007 -* compose.include[=].concept[=].display = "Accident and Emergency department" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Accident and Emergency department" -* compose.include[=].concept[+].code = #255203001 -* compose.include[=].concept[=].display = "Additional values" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Additional values" -* compose.include[=].concept[+].code = #264372000 -* compose.include[=].concept[=].display = "Pharmacy" -* compose.include[=].concept[=].designation.language = #en-US -* compose.include[=].concept[=].designation.value = "Pharmacy" \ No newline at end of file diff --git a/input/fsh/valueSets.fsh b/input/fsh/valueSets.fsh index 45f1c8103..ce39f430c 100644 --- a/input/fsh/valueSets.fsh +++ b/input/fsh/valueSets.fsh @@ -26,26 +26,28 @@ Id: dk-core-LoincBasicObservation Title: "DK Core LOINC Basic Observations" Description: "LOINC codes describing Basic Observations usable in Denmark." * ^experimental = false -* $LOINC#9279-1 "Respiratory rate" -* $LOINC#8867-4 "Heart rate" -* $LOINC#2708-6 "Oxygen saturation in Arterial blood" -* $LOINC#8310-5 "Body temperature" -* $LOINC#85353-1 "Vital signs, weight, height, head circumference, oxygen saturation & BMI panel" -* $LOINC#8302-2 "Body height" -* $LOINC#9843-4 "Head Occipital-frontal circumference" -* $LOINC#29463-7 "Body weight" -* $LOINC#39156-5 "Body mass index (BMI) [Ratio]" -* $LOINC#85354-9 "Blood pressure panel with all children optional" -* $LOINC#8480-6 "Systolic blood pressure" -* $LOINC#8462-4 "Diastolic blood pressure" -* $LOINC#8478-0 "Mean blood pressure" -* $LOINC#59408-5 "Oxygen saturation in Arterial blood by Pulse oximetry" +* ^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" +* $LOINC#9279-1 //"Respiratory rate" +* $LOINC#8867-4 //"Heart rate" +* $LOINC#2708-6 //"Oxygen saturation in Arterial blood" +* $LOINC#8310-5 //"Body temperature" +* $LOINC#85353-1 //"Vital signs, weight, height, head circumference, oxygen saturation & BMI panel" +* $LOINC#8302-2 //"Body height" +* $LOINC#9843-4 //"Head Occipital-frontal circumference" +* $LOINC#29463-7 //"Body weight" +* $LOINC#39156-5 //"Body mass index (BMI) [Ratio]" +* $LOINC#85354-9 //"Blood pressure panel with all children optional" +* $LOINC#8480-6 //"Systolic blood pressure" +* $LOINC#8462-4 //"Diastolic blood pressure" +* $LOINC#8478-0 //"Mean blood pressure" +* $LOINC#59408-5 //"Oxygen saturation in Arterial blood by Pulse oximetry" ValueSet: SCTBasicObservation Id: dk-core-SCTBasicObservation Title: "DK Core SNOMED CT Basic Observation" Description: "SNOMED CT codes for Basic Observations usable in Denmark" * ^experimental = false +* ^copyright = "This value set includes content from SNOMED CT, which is copyright © 2002+ International Health Terminology Standards Development Organisation (IHTSDO), and distributed by agreement between IHTSDO and HL7. Implementer use of SNOMED CT is not covered by this agreement" //Vital signs * $sct#446226005 //Diastolic blood pressure on admission * $sct#400975005 //Standing diastolic blood pressure @@ -84,7 +86,7 @@ Id: dk-core-IEEEBasicObservation Title: "Dk Core IEEE Basic Observation" Description: "IEEE MDC codes for Basic Observations usable in Denmark" * ^experimental = false -* ^copyright = "IEEE" +* ^copyright = "This material contains content from IEEE-SA (https://standards.ieee.org/), copyright © the Insitute of Electrical and Electronics Engineers, Inc." * ^purpose = """ ### Purpose of this ValueSet This ValueSet comprises the most common IEEE MDC codes used to represent observations @@ -208,43 +210,45 @@ Id: dk-core-NPUBasicObservation Title: "DK Core NPU Basic Observation" Description: "NPU codes for Basic Observations usable in Denmark" * ^experimental = false -* $NPU#NPU03011 "Hb(Fe; O₂-bind.;aB)—Oxygen(O₂); sat. = ?" -* $NPU#NPU27280 "Hb(Fe; O₂-bind.;aB)—Oxygen(O₂); sat.(Pulse oximetry) = ?" -* $NPU#NPU04034 "Pt(spec.)—Blood; temp. = ? °C" -* $NPU#NPU08676 "Pt—Body; temp. = ? °C" -* $NPU#NPU58033 "Artery(spec.)—Blood pressure(systolic); pr.(proc.) = ? mmHg" -* $NPU#NPU57947 "Artery(spec.)—Blood; pr.(systolic;proc.) = ? mmHg" -* $NPU#NPU58034 "Artery(spec.)—Blood pressure(diastolic); pr.(proc.) = ? mmHg" -* $NPU#NPU57948 "Artery(spec.)—Blood; pr.(diastolic;proc.) = ? mmHg" -* $NPU#NPU21692 "Heart—Systole; freq. = ? * 1/min" -* $NPU#NPU03794 "Pt—Body; height = ? m" -* $NPU#NPU03804 "Pt—Body; mass = ? kg" -* $NPU#NPU27281 "Pt—Body; mass coefficient(mass/squared height) = ? kg/m²" +* $NPU#NPU03011 +* $NPU#NPU27280 +* $NPU#NPU04034 +* $NPU#NPU08676 +* $NPU#NPU58033 +* $NPU#NPU57947 +* $NPU#NPU58034 +* $NPU#NPU57948 +* $NPU#NPU21692 +* $NPU#NPU03794 +* $NPU#NPU03804 +* $NPU#NPU27281 ValueSet: UCUMBasicUnits Id: dk-core-UCUM-BasicUnits Title: "DK Core UCUM Basic Units" Description: "UCUM codes to represent units for basic Observations usable in Denmark" * ^experimental = false -* $ucum#% "percent" -* $ucum#cm "centimeter" -* $ucum#[in_i] "inch (international)" -* $ucum#kg "kilogram" -* $ucum#g "gram" -* $ucum#[lb_av] "pound (US and British)" -* $ucum#Cel "degree Celsius" -* $ucum#[degF] "degree Fahrenheit" -* $ucum#mm[Hg] "millimeter of mercury" -* $ucum#/min "per minute" -* $ucum#kg/m2 "kilogram / (meter ^ 2)" -* $ucum#m2 "square meter" -* $ucum#{fraction} "fraction" +* ^copyright = "This material contains content from UCUM (http://ucum.org). UCUM is copyright © 1999-2024, Regenstrief Institute, Inc. and is available under the license at http://ucum.org/license." +* $ucum#% +* $ucum#cm +* $ucum#[in_i] +* $ucum#kg +* $ucum#g +* $ucum#[lb_av] +* $ucum#Cel +* $ucum#[degF] +* $ucum#mm[Hg] +* $ucum#/min +* $ucum#kg/m2 +* $ucum#m2 +* $ucum#{fraction} ValueSet: TechniquesSCTCodes Id: dk-core-TechniquesSCTCodes Title: "DK TechniquesSCTCodes" Description: "SNOMED CT Codes for the technique used when obtaining an observation" * ^experimental = false +* ^copyright = "This value set includes content from SNOMED CT, which is copyright © 2002+ International Health Terminology Standards Development Organisation (IHTSDO), and distributed by agreement between IHTSDO and HL7. Implementer use of SNOMED CT is not covered by this agreement" * $sct#761996005 "Estimation technique (qualifier value)" * $sct#733985002 "Reported (qualifier value)" * $sct#272391002 "Measurement technique (qualifier value)" @@ -257,6 +261,14 @@ Description: "DK D-eCPR OID values" * ^status = #active * include codes from system DkCoreDeCPRCodes +ValueSet: extended-patient-contactrelationship +Title: "DK Extended Patient Contact Relationship" +Description: "DK Extended Patient Contact Relationship" +* ^experimental = false +* ^status = #active +* include codes from valueset http://hl7.org/fhir/ValueSet/patient-contactrelationship +* include codes from valueset dk-core-RelatedPersonRelationshipTypes + ValueSet: RelatedPersonRelationshipTypes Id: dk-core-RelatedPersonRelationshipTypes Title: "DK Related Person Relationship Types" @@ -282,4 +294,550 @@ Description: "DK Related Person Relationship Types" * $v3-RoleCode#NOK // "next of kin" * $v3-RoleCode#POWATT // "power of attorney" * $v3-RoleCode#ECON // "emergency contact" -* include codes from system DkRelatedPersonRelationshipCodes \ No newline at end of file +* include codes from system DkRelatedPersonRelationshipCodes + +// ValueSet: DkCoreProfessionGroupValueSet +// Id: DkCoreProfessionGroupValueSet +// Title: "DK Profession Group" +// Description: "DK Profession Group codes" +// * ^experimental = false +// * ^status = #active +// * include codes from system DkCoreProfessionGroupCodes + +// ValueSet: MunicipalityCodes +// Id: dk-core-MunicipalityCodes +// Title: "DK Municipality Codes" +// Description: "Municipality codes used in Denmark" +// * ^experimental = false +// * include codes from system MunicipalityCodes +// * include codes from system GreenlandMunicipalityCodes + +// ValueSet: RegionalSubdivisionCodes +// Id: dk-core-RegionalSubDivisionCodes +// Title: "DK Regional Subdivision Codes" +// Description: "Subdivision codes (Regional codes) used in Denmark" +// * ^experimental = false +// * include codes from system DKCoreRegionalSubdivisionCodes + +// ValueSet: LoincBasicObservation +// Id: dk-core-LoincBasicObservation +// Title: "DK Core LOINC Basic Observations" +// Description: "LOINC codes describing Basic Observations usable in Denmark." +// * ^experimental = false +// * $LOINC#9279-1 "Respiratory rate" +// * $LOINC#8867-4 "Heart rate" +// * $LOINC#2708-6 "Oxygen saturation in Arterial blood" +// * $LOINC#8310-5 "Body temperature" +// * $LOINC#85353-1 "Vital signs, weight, height, head circumference, oxygen saturation & BMI panel" +// * $LOINC#8302-2 "Body height" +// * $LOINC#9843-4 "Head Occipital-frontal circumference" +// * $LOINC#29463-7 "Body weight" +// * $LOINC#39156-5 "Body mass index (BMI) [Ratio]" +// * $LOINC#85354-9 "Blood pressure panel with all children optional" +// * $LOINC#8480-6 "Systolic blood pressure" +// * $LOINC#8462-4 "Diastolic blood pressure" +// * $LOINC#8478-0 "Mean blood pressure" +// * $LOINC#59408-5 "Oxygen saturation in Arterial blood by Pulse oximetry" + +// ValueSet: SCTBasicObservation +// Id: dk-core-SCTBasicObservation +// Title: "DK Core SNOMED CT Basic Observation" +// Description: "SNOMED CT codes for Basic Observations usable in Denmark" +// * ^experimental = false +// //Vital signs +// * $sct#446226005 //Diastolic blood pressure on admission +// * $sct#400975005 //Standing diastolic blood pressure +// * $sct#407557002 //Lying diastolic blood pressure +// * $sct#407555005 //Sitting diastolic blood pressure +// * $sct#271650006 //Diastolic blood pressure +// * $sct#72313002 //Systolic arterial pressure +// * $sct#400974009 //Standing systolic blood pressure +// * $sct#399304008 //Systolic blood pressure on admission +// * $sct#407556006 //Lying systolic blood pressure +// * $sct#407554009 //Sitting systolic blood pressure +// * $sct#271649006 //Systolic blood pressure +// * codes from system $sct where concept is-a #431314004 //SpO2 +// * $sct#422119006 //Brachial pulse rate +// * $sct#429614003 //Posterior tibial pulse rate +// * $sct#429525003 //Dorsalis pedis pulse rate +// * $sct#399017001 //Heart rate on admission +// * $sct#78564009 //Pulse rate +// * $sct#444981005 //Resting heart rate +// * $sct#364075005 //Heart rate +// * $sct#424927000 //Body weight with shoes +// * $sct#445541000 // Dry body weight +// * $sct#425024002 // Body weight without shoes +// * $sct#364589006 //Birth weight +// * $sct#27113001 //Body weight +// * codes from system $sct where concept is-a #86290005 //(Respiratory rate) +// * codes from system $sct where concept is-a #276885007 // Core Body temperature +// * $sct#1153637007 //Body height (observable entity)| +// * $sct#248333004 //|Standing height (observable entity)| +// * $sct#1149101003 //|Recumbent body height| +// * $sct#1162392001 //|Pre-amputation measured body height| + + +// ValueSet: IEEEBasicObservation +// Id: dk-core-IEEEBasicObservation +// Title: "Dk Core IEEE Basic Observation" +// Description: "IEEE MDC codes for Basic Observations usable in Denmark" +// * ^experimental = false +// * ^copyright = "IEEE" +// * ^purpose = """ +// ### Purpose of this ValueSet +// This ValueSet comprises the most common IEEE MDC codes used to represent observations +// that are considered "basic" by this profile. This ValueSet is **not** meant to be exhaustive! + +// The origin of an MDC code is usually the equipment used to perform the measurement, +// and often the code carries supplemental information about how (or where on the body) +// the observation was performed. +// """ +// * $IEEEx73#151562 "MDC_RESP_RATE" +// * ^designation.use = $sct#900000000000003001 +// * ^designation.value = "Rate of breathing; method not specified." +// * $IEEEx73#151570 "MDC_AWAY_RESP_RATE" +// * ^designation.use = $sct#900000000000003001 +// * ^designation.value = "Rate of breathing; method: direct airway flow measurement." +// * $IEEEx73#151578 "MDC_TTHOR_RESP_RATE" +// * ^designation.use = $sct#900000000000003001 +// * ^designation.value = "Rate of breathing; method: transthoracic impedance variations." +// * $IEEEx73#151594 "MDC_CO2_RESP_RATE" +// * ^designation.use = $sct#900000000000003001 +// * ^designation.value = "Rate of breathing; method: carbon dioxide measurement." +// * $IEEEx73#151602 "MDC_PRESS_RESP_RATE" +// * ^designation.use = $sct#900000000000003001 +// * ^designation.value = "Rate of breathing; method: non-airway pressure measurement, e.g. central venous blood pressure (CVP)." +// * $IEEEx73#151650 "MDC_ACOUSTIC_RESP_RATE" +// * ^designation.use = $sct#900000000000003001 +// * ^designation.value = "Rate of breathing; method: acoustic." +// * $IEEEx73#151658 "MDC_PULS_OXIM_PLETH_RESP_RATE" +// * ^designation.use = $sct#900000000000003001 +// * ^designation.value = "Rate of breathing; method: SpO2 plethysmography." +// * $IEEEx73#8410992 "MDC_SABTE_RESP_RATE" +// * ^designation.use = $sct#900000000000003001 +// * ^designation.value = "Value of respiration rate. [measured by sleep apnoea breathing therapy equipment]" +// * $IEEEx73#149514 "MDC_PULS_RATE" +// * ^designation.use = $sct#900000000000003001 +// * ^designation.value = "Rate of blood pulse in an artery." +// * $IEEEx73#149522 "MDC_BLD_PULS_RATE_INV" +// * ^designation.use = $sct#900000000000003001 +// * ^designation.value = "Rate of blood pulse in an artery, measured invasively." +// * $IEEEx73#149546 "MDC_PULS_RATE_NON_INV" +// * ^designation.use = $sct#900000000000003001 +// * ^designation.value = "Rate of blood pulse in an artery, measured non-invasively." +// * $IEEEx73#149530 "MDC_PULS_OXIM_PULS_RATE" +// * ^designation.use = $sct#900000000000003001 +// * ^designation.value = "Rate of blood pulse as obtained by pulse oximetry." +// * $IEEEx73#147842 "MDC_ECG_HEART_RATE" +// * ^designation.use = $sct#900000000000003001 +// * ^designation.value = "Rate of cardiac beats (ECG)." +// * $IEEEx73#8410590 "MDC_ECG_HEART_RATE_INSTANT" +// * ^designation.use = $sct#900000000000003001 +// * ^designation.value = "Instantaneous heart rate." +// * $IEEEx73#149554 "MDC_TTHOR_HEART_RATE" +// * ^designation.use = $sct#900000000000003001 +// * ^designation.value = "Heart rate obtained from the variation of transthoracic impedance." +// * $IEEEx73#149562 "MDC_PALPATION_HEART_RATE" +// * ^designation.use = $sct#900000000000003001 +// * ^designation.value = "Heart rate obtained from an artery that is close to the surface and a pulse can be felt." +// * $IEEEx73#8454258 "MDC_HF_HR" +// * ^designation.use = $sct#900000000000003001 +// * ^designation.value = "This is an object representing the heart rate over a period of time. [Exercise / fitness equipment]" +// * $IEEEx73#150324 "MDC_SAT_O2_ART" +// * ^designation.use = $sct#900000000000003001 +// * ^designation.value = "Arterial oxygen saturation. [no method]" +// * $IEEEx73#150456 "MDC_PULS_OXIM_SAT_O2" +// * ^designation.use = $sct#900000000000003001 +// * ^designation.value = "Oxygen saturation. [using pulse oximetry]" +// * $IEEEx73#150364 "MDC_TEMP_BODY" +// * ^designation.use = $sct#900000000000003001 +// * ^designation.value = "Body temperature. [unspecified]" +// * $IEEEx73#150368 "MDC_TEMP_CORE" +// * ^designation.use = $sct#900000000000003001 +// * ^designation.value = "Core temperature." +// * $IEEEx73#150388 "MDC_TEMP_SKIN" +// * ^designation.use = $sct#900000000000003001 +// * ^designation.value = "Skin temperature." +// * $IEEEx73#150392 "MDC_TEMP_TYMP" +// * ^designation.use = $sct#900000000000003001 +// * ^designation.value = "Tympanic temperature." +// * $IEEEx73#188420 "MDC_TEMP_RECT" +// * ^designation.use = $sct#900000000000003001 +// * ^designation.value = "Rectal temperature." +// * $IEEEx73#188424 "MDC_TEMP_ORAL" +// * ^designation.use = $sct#900000000000003001 +// * ^designation.value = "Oral temperature." +// * $IEEEx73#188428 "MDC_TEMP_EAR" +// * ^designation.use = $sct#900000000000003001 +// * ^designation.value = "Ear temperature." +// * $IEEEx73#188452 "MDC_TEMP_AXILLA" +// * ^designation.use = $sct#900000000000003001 +// * ^designation.value = "Axillary (armpit) temperature." +// * $IEEEx73#188456 "MDC_TEMP_GIT" +// * ^designation.use = $sct#900000000000003001 +// * ^designation.value = "Gastro-intestinal tract temperature." +// * $IEEEx73#188740 "MDC_LEN_BODY_ACTUAL" +// * ^designation.use = $sct#900000000000003001 +// * ^designation.value = "The actual height of the patient." +// * $IEEEx73#153856 "MDC_CIRCUM_HEAD" +// * ^designation.use = $sct#900000000000003001 +// * ^designation.value = "Circumference of the head." +// * $IEEEx73#188736 "MDC_MASS_BODY_ACTUAL" +// * ^designation.use = $sct#900000000000003001 +// * ^designation.value = "The measurement of the mass of patient." +// * $IEEEx73#188752 "MDC_RATIO_MASS_BODY_LEN_SQ" +// * ^designation.use = $sct#900000000000003001 +// * ^designation.value = "The individual's body weight, in kilograms, divided by the square of height, in meters." +// * $IEEEx73#150020 "MDC_PRESS_BLD_NONINV" +// * ^designation.use = $sct#900000000000003001 +// * ^designation.value = "Pressure of the blood, obtained noninvasively." +// * $IEEEx73#150021 "MDC_PRESS_BLD_NONINV_SYS" +// * ^designation.use = $sct#900000000000003001 +// * ^designation.value = "Pressure of the blood, obtained noninvasively, at the systolic phase." +// * $IEEEx73#150022 "MDC_PRESS_BLD_NONINV_DIA" +// * ^designation.use = $sct#900000000000003001 +// * ^designation.value = "Pressure of the blood, obtained noninvasively, at the diastolic phase." +// * $IEEEx73#150023 "MDC_PRESS_BLD_NONINV_MEAN" +// * ^designation.use = $sct#900000000000003001 +// * ^designation.value = "Pressure of the blood, obtained noninvasively, as computed by averaging on one cycle." + +// ValueSet: NPUBasicObservation +// Id: dk-core-NPUBasicObservation +// Title: "DK Core NPU Basic Observation" +// Description: "NPU codes for Basic Observations usable in Denmark" +// * ^experimental = false +// * $NPU#NPU03011 "Hb(Fe; O₂-bind.;aB)—Oxygen(O₂); sat. = ?" +// * $NPU#NPU27280 "Hb(Fe; O₂-bind.;aB)—Oxygen(O₂); sat.(Pulse oximetry) = ?" +// * $NPU#NPU04034 "Pt(spec.)—Blood; temp. = ? °C" +// * $NPU#NPU08676 "Pt—Body; temp. = ? °C" +// * $NPU#NPU58033 "Artery(spec.)—Blood pressure(systolic); pr.(proc.) = ? mmHg" +// * $NPU#NPU57947 "Artery(spec.)—Blood; pr.(systolic;proc.) = ? mmHg" +// * $NPU#NPU58034 "Artery(spec.)—Blood pressure(diastolic); pr.(proc.) = ? mmHg" +// * $NPU#NPU57948 "Artery(spec.)—Blood; pr.(diastolic;proc.) = ? mmHg" +// * $NPU#NPU21692 "Heart—Systole; freq. = ? * 1/min" +// * $NPU#NPU03794 "Pt—Body; height = ? m" +// * $NPU#NPU03804 "Pt—Body; mass = ? kg" +// * $NPU#NPU27281 "Pt—Body; mass coefficient(mass/squared height) = ? kg/m²" + +// ValueSet: UCUMBasicUnits +// Id: dk-core-UCUM-BasicUnits +// Title: "DK Core UCUM Basic Units" +// Description: "UCUM codes to represent units for basic Observations usable in Denmark" +// * ^experimental = false +// * $ucum#% "percent" +// * $ucum#cm "centimeter" +// * $ucum#[in_i] "inch (international)" +// * $ucum#kg "kilogram" +// * $ucum#g "gram" +// * $ucum#[lb_av] "pound (US and British)" +// * $ucum#Cel "degree Celsius" +// * $ucum#[degF] "degree Fahrenheit" +// * $ucum#mm[Hg] "millimeter of mercury" +// * $ucum#/min "per minute" +// * $ucum#kg/m2 "kilogram / (meter ^ 2)" +// * $ucum#m2 "square meter" +// * $ucum#{fraction} "fraction" + +// ValueSet: TechniquesSCTCodes +// Id: dk-core-TechniquesSCTCodes +// Title: "DK TechniquesSCTCodes" +// Description: "SNOMED CT Codes for the technique used when obtaining an observation" +// * ^experimental = false +// * $sct#761996005 "Estimation technique (qualifier value)" +// * $sct#733985002 "Reported (qualifier value)" +// * $sct#272391002 "Measurement technique (qualifier value)" + +// ValueSet: DkCoreDeCPRValueSet +// Id: DkCoreDeCPRValueSet +// Title: "DK D-eCPR OID values" +// Description: "DK D-eCPR OID values" +// * ^experimental = false +// * ^status = #active +// * include codes from system DkCoreDeCPRCodes + +// ValueSet: RelatedPersonRelationshipTypes +// Id: dk-core-RelatedPersonRelationshipTypes +// Title: "DK Related Person Relationship Types" +// Description: "DK Related Person Relationship Types" +// * ^experimental = false +// * ^status = #active +// * $v3-RoleCode#FAMMEMB // "family member" +// * $v3-RoleCode#CHILD // "child" +// * $v3-RoleCode#DAUC // "daughter" +// * $v3-RoleCode#SONC // "son" +// * $v3-RoleCode#GRNDCHILD // "grandchild" +// * $v3-RoleCode#CHLDINLAW // "child-in-law" +// * $v3-RoleCode#PRN // "parent" +// * $v3-RoleCode#FTH // "father" +// * $v3-RoleCode#MTH // "mother" +// * $v3-RoleCode#SIB // "sibling" +// * $v3-RoleCode#DOMPART // "domestic partner" +// * $v3-RoleCode#SPS // "spouse" +// * $v3-RoleCode#FRND // "unrelated friend" +// * $v3-RoleCode#NBOR // "neighbor" +// * $v3-RoleCode#ROOM // "Roommate" +// * $v3-RoleCode#GUARD // "guardian" +// * $v3-RoleCode#NOK // "next of kin" +// * $v3-RoleCode#POWATT // "power of attorney" +// * include codes from system DkRelatedPersonRelationshipCodes + +ValueSet: DkCoreServiceRequestCodes +Id: dk-core-servicerequest-codes +Title: "DK codes for ServiceRequest" +Description: "Value set used to describe Danish healthcare services" +* ^experimental = false +* ^status = #active +* ^copyright = "This value set includes content from SNOMED CT, which is copyright © 2002+ International Health Terminology Standards Development Organisation (IHTSDO), and distributed by agreement between IHTSDO and HL7. Implementer use of SNOMED CT is not covered by this agreement" +* ^compose.include[0].system = "http://snomed.info/sct" +* ^compose.include[=].version = "http://snomed.info/sct/554471000005108/version/20240331" +* ^compose.include[=].concept[0].code = #773568002 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "akutmedicin" +* ^compose.include[=].concept[+].code = #408443003 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "almen medicin" +* ^compose.include[=].concept[+].code = #394577000 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "anæstesiologi" +* ^compose.include[=].concept[+].code = #394821009 +* ^compose.include[=].concept[=].designation.value = "arbejdsmedicin" +* ^compose.include[=].concept[+].code = #394588006 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "børne- og ungdomspsykiatri" +* ^compose.include[=].concept[+].code = #394582007 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "dermato-venerologi" +* ^compose.include[=].concept[+].code = #394914008 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "diagnostisk radiologi" +* ^compose.include[=].concept[+].code = #394583002 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "endokrinologi" +* ^compose.include[=].concept[+].code = #394811001 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "geriatri" +* ^compose.include[=].concept[+].code = #394585009 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "gynækologi og obstetrik" +* ^compose.include[=].concept[+].code = #408472002 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "hepatologi" +* ^compose.include[=].concept[+].code = #394803006 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "hæmatologi" +* ^compose.include[=].concept[+].code = #394807007 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "infektionsmedicin" +* ^compose.include[=].concept[+].code = #419192003 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "intern medicin" +* ^compose.include[=].concept[+].code = #394579002 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "kardiologi" +* ^compose.include[=].concept[+].code = #408463005 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "karkirurgi" +* ^compose.include[=].concept[+].code = #394609007 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "kirurgi" +* ^compose.include[=].concept[+].code = #551411000005104 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "kirurgisk gastroenterologi" +* ^compose.include[=].concept[+].code = #394596001 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "klinisk biokemi" +* ^compose.include[=].concept[+].code = #394600006 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "klinisk farmakologi" +* ^compose.include[=].concept[+].code = #394601005 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "klinisk fysiologi og nuklearmedicin (snomed: klinisk fysiologi)" +* ^compose.include[=].concept[+].code = #394580004 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "klinisk genetik" +* ^compose.include[=].concept[+].code = #421661004 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "klinisk immunologi" +* ^compose.include[=].concept[+].code = #408454008 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "klinisk mikrobiologi" +* ^compose.include[=].concept[+].code = #394809005 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "klinisk neurofysiologi" +* ^compose.include[=].concept[+].code = #394592004 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "klinisk onkologi" +* ^compose.include[=].concept[+].code = #418112009 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "lungesygdomme" +* ^compose.include[=].concept[+].code = #394805004 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "medicinsk allergologi" +* ^compose.include[=].concept[+].code = #394584008 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "medicinsk gastroenterologi" +* ^compose.include[=].concept[+].code = #394589003 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "nefrologi" +* ^compose.include[=].concept[+].code = #394610002 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "neurokirurgi" +* ^compose.include[=].concept[+].code = #394591006 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "neurologi" +* ^compose.include[=].concept[+].code = #394812008 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "odontologi (snomed: odontologiske specialer)" +* ^compose.include[=].concept[+].code = #394594003 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "oftalmologi" +* ^compose.include[=].concept[+].code = #394608004 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "ortodonti" +* ^compose.include[=].concept[+].code = #394801008 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "ortopædisk kirurgi" +* ^compose.include[=].concept[+].code = #394604002 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "oto-rhino-laryngologi" +* ^compose.include[=].concept[+].code = #394915009 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "patologisk anatomi og cytologi" +* ^compose.include[=].concept[+].code = #394611003 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "plastikkirurgi" +* ^compose.include[=].concept[+].code = #394587001 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "psykiatri" +* ^compose.include[=].concept[+].code = #394537008 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "pædiatri" +* ^compose.include[=].concept[+].code = #394810000 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "reumatologi" +* ^compose.include[=].concept[+].code = #394581000 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "samfundsmedicin" +* ^compose.include[=].concept[+].code = #394605001 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "tand-, mund- og kæbekirurgi" +* ^compose.include[=].concept[+].code = #394603008 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "thoraxkirurgi" +* ^compose.include[=].concept[+].code = #408448007 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "tropemedicin" +* ^compose.include[=].concept[+].code = #394612005 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "urologi" +* ^compose.include[=].concept[+].code = #658171000005102 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "hjemmepleje" +* ^compose.include[=].concept[+].code = #658161000005107 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "hjemmesygepleje" +* ^compose.include[=].concept[+].code = #658151000005105 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "sundhedsfremme og forebyggelse" +* ^compose.include[=].concept[+].code = #658191000005101 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "sundhedspleje" +* ^compose.include[=].concept[+].code = #658201000005103 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "kommunal tandpleje" +* ^compose.include[=].concept[+].code = #658141000005108 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "genoptræning efter hospitalsophold" +* ^compose.include[=].concept[+].code = #658181000005104 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "hjælpemiddelområdet" +* ^compose.include[=].concept[+].code = #2903041000005106 +* ^compose.include[=].concept[=].designation.language = #da +* ^compose.include[=].concept[=].designation.value = "det kommunale omsorgs-, social- og sundhedsområde" + +ValueSet: DkCorePriorityCodes +Id: dk-core-priority-codes +Title: "DK priority codes" +Description: "DK Codes for priority" +* ^experimental = false +* include codes from valueset http://hl7.org/fhir/ValueSet/request-priority +* exclude http://hl7.org/fhir/request-priority#urgent +* exclude http://hl7.org/fhir/request-priority#stat + + +ValueSet: SorOrganizationType +Id: sor-organization-type +Title: "DK SOR Organization Type" +Description: "Value set used for indicating the organization type for organizations from SOR" +* ^experimental = false +* ^status = #active +* ^copyright = "This value set includes content from SNOMED CT, which is copyright © 2002+ International Health Terminology Standards Development Organisation (IHTSDO), and distributed by agreement between IHTSDO and HL7. Implementer use of SNOMED CT is not covered by this agreement" +* $sct#554221000005108 +* $sct#546821000005103 +* $sct#547011000005103 +* $sct#546811000005109 +* $sct#550621000005101 +* $sct#550631000005103 +* $sct#550641000005106 +* $sct#550651000005108 +* $sct#550661000005105 +* $sct#554211000005102 +* $sct#550711000005101 +* $sct#550671000005100 +* $sct#554061000005105 +* $sct#554041000005106 +* $sct#554021000005101 +* $sct#550681000005102 +* $sct#550691000005104 +* $sct#550701000005104 +* $sct#554231000005106 +* $sct#554051000005108 +* $sct#550811000005108 +* $sct#547211000005108 +* $sct#550891000005100 +* $sct#550881000005103 +* $sct#550411000005105 +* $sct#554851000005102 +* $sct#550861000005106 +* $sct#554881000005108 +* $sct#554861000005100 +* $sct#554821000005109 +* $sct#554411000005101 +* $sct#554871000005105 +* $sct#550821000005102 +* $sct#550871000005101 +* $sct#554241000005103 +* $sct#550841000005107 +* $sct#550851000005109 +* $sct#551611000005102 +* $sct#554071000005100 +* $sct#550831000005104 +* $sct#554031000005103 +* $sct#557511000005107 +* $sct#557501000005109 +* $sct#557531000005103 +* $sct#557591000005104 +* $sct#557521000005101 +* $sct#557561000005105 +* $sct#557541000005106 +* $sct#557581000005102 +* $sct#556841000005105 +* $sct#557671000005101 +* $sct#398070004 +* $sct#394761003 +* $sct#20078004 +* $sct#722173008 +* $sct#702871004 +* $sct#276037005 +* $sct#22232009 +* $sct#702824005 +* $sct#42665001 +* $sct#264361005 +* $sct#703069008 +* $sct#309964003 +* $sct#309904001 +* $sct#309939001 +* $sct#225728007 +* $sct#255203001 +* $sct#264372000 + diff --git a/input/ignoreWarnings.txt b/input/ignoreWarnings.txt index 7a87bcbf9..d942bf5bf 100644 --- a/input/ignoreWarnings.txt +++ b/input/ignoreWarnings.txt @@ -10,11 +10,34 @@ %Device/WeightScale.606405FFFECFC604: Device.modelNumber: value should not start or finish with whitespace% %Device/WeightScale.606405FFFECFC604: Device.manufacturer: value should not start or finish with whitespace% -# This code DOES exist and is published by IEEE. But somehow the code system tooling missed it along the way -ERROR: Bundle/ContinuaBundleWithDevice: Bundle.entry[7].resource/*Observation/BloodPressureStatus.Poul.133527*/.code.coding[0]: Local Error: Resolved system urn:iso:std:iso:11073:10101 (v2.0.1), but the definition is not complete. Server Error: The code "8410608" is not valid in the system urn:iso:std:iso:11073:10101; The code provided (urn:iso:std:iso:11073:10101#8410608) is not valid in the value set 'All codes known to the system' (from http://tx.fhir.org/r4) for 'urn:iso:std:iso:11073:10101#8410608' +# These info's are caused by the properties used in the NPU Subset. +%The property 'ChangeDate' has no definition in CodeSystem.property. Many terminology tools won't know what to do with it +%The property 'CreatedDate' has no definition in CodeSystem.property. Many terminology tools won't know what to do with it +%The property 'System' has no definition in CodeSystem.property. Many terminology tools won't know what to do with it +%The property 'SysSpec' has no definition in CodeSystem.property. Many terminology tools won't know what to do with it +%The property 'Component' has no definition in CodeSystem.property. Many terminology tools won't know what to do with it +%The property 'CompSpec' has no definition in CodeSystem.property. Many terminology tools won't know what to do with it +%The property 'Kind-of-property' has no definition in CodeSystem.property. Many terminology tools won't know what to do with it +%The property 'Speciality' has no definition in CodeSystem.property. Many terminology tools won't know what to do with it +%The property 'Code value' has no definition in CodeSystem.property. Many terminology tools won't know what to do with it +%The property 'Scale type' has no definition in CodeSystem.property. Many terminology tools won't know what to do with it +%The property 'STATUS' has no definition in CodeSystem.property. Many terminology tools won't know what to do with it +%The property 'Unit' has no definition in CodeSystem.property. Many terminology tools won't know what to do with it + +# NPU, MedCom and SKS codes are not available at the terminology service +%A definition for CodeSystem 'urn:oid:1.2.208.176.2.1' could not be found, so the code cannot be validated +%A definition for CodeSystem 'urn:oid:1.2.208.176.2.4' could not be found, so the code cannot be validated +%A definition for CodeSystem 'http://medcomfhir.dk/ig/terminology/CodeSystem/medcom-observation-codes' could not be found, so the code cannot be validated + +# Missing Danish translations for LOINC codes +%There are no valid display names found for the code http://loinc.org% # These "Slicing Information" are very noisy and do not contribute anything useful in this context % This element does not match any known slice defined in the profile % INFORMATION: Bundle/ContinuaBundleWithDevice: Bundle.entry[5].resource/*Observation/BloodPressure.Poul.643992*/.derivedFrom[0]: Details for Observation/CoincidentTimeStamp.0222 matching against profile http://hl7.org/fhir/StructureDefinition/vitalsigns|4.0.1 INFORMATION: Bundle/ContinuaBundleWithDevice: Bundle.entry[6].resource/*Observation/HeartRate.Poul.1974654*/.derivedFrom[0]: Details for Observation/CoincidentTimeStamp.0222 matching against profile http://hl7.org/fhir/StructureDefinition/vitalsigns|4.0.1 +%None of the codings provided are in the value set 'Observation Category Codes'% + +# Allow UCUM codes with annotations - but only if they are displayed. DO NOT ADD A WILDCARD AT THE END! +%Best Practice is not to depend on annotations in the UCUM code, so this usage should be checked diff --git a/input/pagecontent/Bundle-ContinuaBundleWithDevice-intro.md b/input/pagecontent/Bundle-ContinuaBundleWithDevice-intro.md index db4c8469e..669f97f13 100644 --- a/input/pagecontent/Bundle-ContinuaBundleWithDevice-intro.md +++ b/input/pagecontent/Bundle-ContinuaBundleWithDevice-intro.md @@ -31,11 +31,12 @@ container formats and transports: - [IEEE 11073 PHD](http://11073.org/) - [HL7 FHIR PHD IG](http://hl7.org/fhir/uv/phd/) - [HL7 CDA PHMR](https://www.hl7.org/implement/standards/product_brief.cfm?product_id=33) - - HL7 v2 Messaging + - [IHE PCD-01](https://wiki.ihe.net/index.php/PCD_Technical_Framework) using HL7 v2 Messaging + - [IHE POU](https://wiki.ihe.net/index.php/Personal_Health_Device_Observation_Upload) With transports ranging from [Bluetooth Low Energy](https://www.bluetooth.com/bluetooth-resources/personal-health-devices-transcoding/), NFC, USB, -Internet, to [XDS.b and XDR exchange of PHMR +ZigBee, Matter, Internet, to [XDS.b and XDR exchange of PHMR documents](https://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-H.813-201911-I!!PDF-E&type=items) @@ -64,8 +65,8 @@ The Bundle contains the following entries: - **Coincident Timestamp Observation** The Gateway Device reads the clock of the PHD and creates this observation of the *current time* of the PHD timestamped using the Gateway's clock (which is supposed to be synchronized with a time service). This is a way to detect (and possibly correct) breaches in the timeline. - - **Blood Pressure Observation** This is a `DkCoreObservation` - - **Heart Rate Observation** Also a `DkCoreObservation` + - **Blood Pressure Observation** This is an `IPADkCoreObservation` + - **Heart Rate Observation** Also an `IPADkCoreObservation` - **Blood Pressure Status Observation** This observation type can be used to report a number of conditions during the measurement. In this case, an irregular pulse was detected during the measurement. Some PHDs may be able to report different conditions - e.g. that the blood pressure cuff was too loose. diff --git a/input/pagecontent/StructureDefinition-IPADkCoreObservation-intro.md b/input/pagecontent/StructureDefinition-IPADkCoreObservation-intro.md new file mode 100644 index 000000000..1e87d9912 --- /dev/null +++ b/input/pagecontent/StructureDefinition-IPADkCoreObservation-intro.md @@ -0,0 +1,2 @@ +### Scope and usage +This profile extends the [DK Core Observation](StructureDefinition-dk-core-observation.html) profile by adding the base requirements from the [International Patient Access (IPA) specification](https://hl7.org/fhir/uv/ipa/) - more specifically the [IPA-Observation](https://hl7.org/fhir/uv/ipa/StructureDefinition-ipa-observation.html) to the structure. This enables implementers to serve DK Core Observation's that also conforms to IPA through its RESTful IPA interfaces. \ No newline at end of file diff --git a/input/pagecontent/StructureDefinition-dk-core-location-intro.md b/input/pagecontent/StructureDefinition-dk-core-location-intro.md new file mode 100644 index 000000000..64fbdbed1 --- /dev/null +++ b/input/pagecontent/StructureDefinition-dk-core-location-intro.md @@ -0,0 +1,2 @@ +### Scope and usage +This profile is primarily created for completeness towards [International Patient Access (IPA) specification](https://hl7.org/fhir/uv/ipa/) and is subject to undergo more profiling work in the future. \ No newline at end of file diff --git a/input/pagecontent/StructureDefinition-dk-core-observation-intro.md b/input/pagecontent/StructureDefinition-dk-core-observation-intro.md index f48dba739..20911f42a 100644 --- a/input/pagecontent/StructureDefinition-dk-core-observation-intro.md +++ b/input/pagecontent/StructureDefinition-dk-core-observation-intro.md @@ -9,6 +9,8 @@ The Danish Core Observation profile is intended to represent observations for a >Note: The profile [DkCoreBasicObservation](./StructureDefinition-dk-core-basic-observation.html) is made to ensure a common structure of measurable and often used observations, such as vital signs, height and weight. When sharing these basic observations, DkCoreBasicObservation profile is recommended to use. +>Note: The profile [IPADkCoreObservation](./StructureDefinition-ipa-dk-core-observation.html) is enables implementers to serve DkCoreObservation's that also conforms to IPA through its RESTful IPA interfaces. + #### Codes In a Observation resource, codes from CodeSystems are used to describe what is observed in the elements Observation.code.coding and Observation.component.code.coding. In these elements, multiple CodeSystems are specified to ensure similar use of relevant CodeSystems in a Danish context. Some observations may need to be grouped together to document critical observations, e.g. systolic and diastolic bloodpressure, which can be supported by the element Observation.component. [Click here for more information about Observation Grouping](http://hl7.org/fhir/observation.html#obsgrouping). @@ -21,7 +23,7 @@ If the codings and units does not represent the same meaning, one instance of an None of the specified CodeSystems are required since each use case may call for different codes to represent the observations. The specified CodeSystems are included based on the [standard catalogue from the Danish Health Data Agency](https://sundhedsdatastyrelsen.dk/da/rammer-og-retningslinjer/om-referencearkitektur-og-standarder/standardkatalog), and Danish practice. In the following, some overall recommendations about the use of the code systems are provided: * NPU codes are the preferred first choice when communicating observations from the laboratory area. NPU contains few codes outside the laboratory area. NPU is recommended to use in the standard catalogue from the Danish Health Data Agency. * LOINC codes are generally not recommended, for clinical areas that NPU covers, because they are overlapping without being modelled in exactly the same way. For clinical areas not covered by NPU, LOINC can be used. LOINC is an international code system, and is the first choice for many FHIR-observations around the world. This also means that Observation standard-profiles often use LOINC codes, and that interoperability use cases using equipment/wearables intended for markets intentionally, very well may have build-in LOINC codes. LOINC is not recommended to use by the Danish Health Data Agency, but is included to support interoperability across countries in projects such as European Helath Data Space (EHDS). -* IEEE codes are the internal codes of many devices see [https://www.iso.org/standard/37890.html](https://www.iso.org/standard/37890.html). If an original observation from a device is represented, HL7-DK recommends using its original layout including the IEEE codes. Read more in IHE Personal Connected Health [https://wiki.ihe.net/index.php/Personal_Connected_Health](https://wiki.ihe.net/index.php/Personal_Connected_Health). IEEE is recommended to use in the standard catalogue from the Danish Health Data Agency. +* IEEE codes are the internal codes of many devices see [https://www.iso.org/standard/77338.html](https://www.iso.org/standard/77338.html). If an original observation from a device is represented, HL7-DK recommends using its original layout including the IEEE codes. Read more in IHE Personal Connected Health [https://wiki.ihe.net/index.php/Personal_Connected_Health](https://wiki.ihe.net/index.php/Personal_Connected_Health). IEEE is recommended to use in the standard catalogue from the Danish Health Data Agency. * SKS does have a few observation codes in use, most are found in the 'R' Hierarchy - see e.g. [https://medinfo.dk/sks/brows.php](https://medinfo.dk/sks/brows.php). HL7-DK does not recommend the use of SKS codes from the 'ZZ' hierarchy as FHIR observation-codes as they are codes for procedures. SKS is recommended to use in the standard catalogue from the Danish Health Data Agency. * MedCom codes are Danish codes, that are not part of SKS, but have been necessary in Danish interoperability projects through time. They are sometimes referred to as kiap-codes or MCS codes. They can be found here: [https://medcom.dk/standarder/koder/laboratorieomraadet/](https://medcom.dk/standarder/koder/laboratorieomraadet/) or here: [https://kiap.dk/kiap/praksis/services/koder/iupackoder.php](https://kiap.dk/kiap/praksis/services/koder/iupackoder.php). MedCom codes are not recommended to use by the Danish Health Data Agency, but are included as they are often used in MedComs standards. * SNOMED CT codes are accepted in Denmark. SNOMED CT codes are relevant, for areas that NPU does not cover. Additionally, SNOMED CT is often used as a reference terminology, to give a common language of retrieval for data that have originally been defined or coded in some other way. If SNOMED CT is used as a reference terminology, it is often relevant to provide a SNOMED CT code, in addition to the original coding. This is also acceptable if the SNOMED CT concept is less granular than the original code, if each code is true for the observation that happened. SNOMED CT is stated to be usefull in the standard catalogue from the Danish Health Data Agency. diff --git a/input/pagecontent/StructureDefinition-dk-core-person-servicerequest-intro.md b/input/pagecontent/StructureDefinition-dk-core-person-servicerequest-intro.md new file mode 100644 index 000000000..50ac22c1c --- /dev/null +++ b/input/pagecontent/StructureDefinition-dk-core-person-servicerequest-intro.md @@ -0,0 +1,22 @@ +### Scope and usage + +The Danish Core ServiceRequest profile is intended to support requests for services within the health sector, e.g. cross sector. In dk-core, the ServiceRequest resource have been constrained to only contain [DkCorePatient](StructureDefinition-dk-core-patient.html) and Group as subject of the request. This is chosen to ensure a focused and relevant ValueSet for the ServiceRequest.code. + +Notice that the international ValueSet for priority have been reduced to contain only two values i.e. 'routine' and 'asap' because only these two concepts are of widespread use in Denmark. 'routine' is the same as the Danish 'elektiv'. 'asap' is the same as the danish 'akut'. + +The reasonCode has been sliced and refers to different recommended systems. These are the same as in the [DkCoreCondition](./StructureDefinition-dk-core-condition.html) profile. Read the documentation there, before using the reasonCode in this profile. + +#### Category, code and orderDetail + +In the ServiceRequest resource there are three levels of categorization. + +**Category:** +The top level is the ServiceRequest.category, which classifies the services on a high level. Category is for finding the different kinds of ServiceRequests in a consistent way, and can contain more than one code, and relate to different aspects. In Denmark, it is recommended to include one of the NSP/SOR Practice setting codes, as one of the category codes. The codes are included in this implementation guide as an example binding. The official source for NSP/SOR Practice setting codes is the SNOMED CT codes presented [here](https://svn.medcom.dk/svn/releases/Standarder/IHE/OID/DK-IHE_Metadata-Common_Code_systems-Value_sets.xlsx). + +Another example of the use of category, related to a different aspect, could be to categorize the ServiceRequest into 'virtual' or 'in-person'. + +**Code:** +The middle level is ServiceRequest.code, which identifies the service being requested. This is the most important code, and it is recommended to populate this attribute whenever possible. The service request code should semantically be a procedure code. However, be aware that this does not nessesarily mean that it has to be populated with a very specific code. In cross-sector use cases, it is often the case that the requesting organization does not nessesarily know the exact procedure - but they know the kind of procedure or where to start. For example, a general practitioner could use the code 284394000 'Examination of spine' when having a patient with back pain that needs to be examined at the hospital. It would not be expected that the general practitioner would detail a final procedure actually performed in the hospital such as 178625001 'Primary lumbar microdiscectomy'. A good example of SNOMED CT procedure codes, can be found in the international patient summary see the [IPS implementation guide](https://build.fhir.org/ig/HL7/fhir-ips/ValueSet-procedures-uv-ips.html) + +**OrderDetail:** +The most detailed level is ServiceRequest.orderDetail, which may include additional detail or instruction concerning how the service should be delivered. This can be specific to each organization and does not necessary have to be included when sending a ServiceRequest, but can be enriched by the performer of the service. diff --git a/input/pagecontent/StructureDefinition-dk-core-practitioner-role-intro.md b/input/pagecontent/StructureDefinition-dk-core-practitioner-role-intro.md new file mode 100644 index 000000000..64fbdbed1 --- /dev/null +++ b/input/pagecontent/StructureDefinition-dk-core-practitioner-role-intro.md @@ -0,0 +1,2 @@ +### Scope and usage +This profile is primarily created for completeness towards [International Patient Access (IPA) specification](https://hl7.org/fhir/uv/ipa/) and is subject to undergo more profiling work in the future. \ No newline at end of file diff --git a/input/pagecontent/StructureDefinition-ipa-dk-core-condition-intro.md b/input/pagecontent/StructureDefinition-ipa-dk-core-condition-intro.md new file mode 100644 index 000000000..e034076da --- /dev/null +++ b/input/pagecontent/StructureDefinition-ipa-dk-core-condition-intro.md @@ -0,0 +1,2 @@ +### Scope and Usage +The Danish IPA Core Condition profile is intended to encapsulate the combined data model of a condition as used in a Danish context [DKCoreCondition](./StructureDefinition-dk-core-condition.html) and as used in an international context [International Patient Access (IPA) specification](https://hl7.org/fhir/uv/ipa/StructureDefinition-ipa-condition.html). The profile does this by extending the definition for dk-core-condition and imposing the IPA-Condition profile. \ No newline at end of file diff --git a/input/pagecontent/StructureDefinition-ipa-dk-core-observation-intro.md b/input/pagecontent/StructureDefinition-ipa-dk-core-observation-intro.md new file mode 100644 index 000000000..50b78a058 --- /dev/null +++ b/input/pagecontent/StructureDefinition-ipa-dk-core-observation-intro.md @@ -0,0 +1,2 @@ +### Scope and Usage +The Danish IPA Core Observation profile is intended to encapsulate the combined data model of an observation as used in a Danish context [DKCoreObservation](./StructureDefinition-dk-core-observation.html) and as used in an international context [International Patient Access (IPA) specification](https://hl7.org/fhir/uv/ipa/StructureDefinition-ipa-observation.html). The profile does this by extending the definition for dk-core-observation and imposing the IPA-Observation profile. \ No newline at end of file diff --git a/input/pagecontent/StructureDefinition-ipa-dk-core-patient-intro.md b/input/pagecontent/StructureDefinition-ipa-dk-core-patient-intro.md new file mode 100644 index 000000000..525e90895 --- /dev/null +++ b/input/pagecontent/StructureDefinition-ipa-dk-core-patient-intro.md @@ -0,0 +1,7 @@ +### Scope and Usage +The Danish IPA Core Patient profile is intended to encapsulate the combined data model of a patient as used in a Danish context [DKCorePatient](./StructureDefinition-dk-core-patient.html) and as used in an international context [International Patient Access (IPA) specification](https://hl7.org/fhir/uv/ipa/StructureDefinition-ipa-patient.html). The profile does this by extending the definition for dk-core-patient and imposing the IPA-Patient profile. + +### Compabability Considerations +Marital status in DKCorePatient is aligned with the Danish CPR registry definition and extends the official FHIR valueset with additional values (see valueset [DKCoreMaritalStatus](./ValueSet-dk-marital-status.html) for details). +These values are not expected to be understood outside Denmark and should be mapped to other values that match the use case at hand. + diff --git a/input/pagecontent/StructureDefinition-ipa-dk-core-practitioner-intro.md b/input/pagecontent/StructureDefinition-ipa-dk-core-practitioner-intro.md new file mode 100644 index 000000000..5b968e066 --- /dev/null +++ b/input/pagecontent/StructureDefinition-ipa-dk-core-practitioner-intro.md @@ -0,0 +1,2 @@ +### Scope and Usage +The Danish IPA Core Practitioner profile is intended to encapsulate the combined data model of a condition as used in a Danish context [DKCorePractitioner](./StructureDefinition-dk-core-practitioner.html) and as used in an international context [International Patient Access (IPA) specification](https://hl7.org/fhir/uv/ipa/StructureDefinition-ipa-practitioner.html). The profile does this by extending the definition for dk-core-practitioner and imposing the IPA-Practitioner profile. \ No newline at end of file diff --git a/input/pagecontent/StructureDefinition-ipa-dk-core-practitionerrole-intro.md b/input/pagecontent/StructureDefinition-ipa-dk-core-practitionerrole-intro.md new file mode 100644 index 000000000..e617fa7fe --- /dev/null +++ b/input/pagecontent/StructureDefinition-ipa-dk-core-practitionerrole-intro.md @@ -0,0 +1,2 @@ +### Scope and Usage +The Danish IPA Core Practitioner Role profile is intended to encapsulate the combined data model of a practitioner role as used in a Danish context [DKCorePractitionerRole](./StructureDefinition-dk-core-practitioner-role.html) and as used in an international context [International Patient Access (IPA) specification](https://hl7.org/fhir/uv/ipa/StructureDefinition-ipa-practitionerrole.html). The profile does this by extending the definition for dk-core-practitioner-role and imposing the IPA-PractitionerRole profile. diff --git a/input/pagecontent/index.md b/input/pagecontent/index.md index 7b9c50433..c8ca094ae 100644 --- a/input/pagecontent/index.md +++ b/input/pagecontent/index.md @@ -12,13 +12,13 @@ For more information about the Danish HL7 affiliate (HL7-Denmark), please go to ### Scope The target group of this specification is any party that wants to specify FHIR standards for use in the Danish Health Sector. As a core-specification, a party that wants to use the specification should inherit from dk-core and build use-case specific profiles on top. As such, dk-core does not provide profiles for specific use use cases out-of-the-box. -This document presents Danish use concepts defined via FHIR processable artefacts: +This document presents Danish use concepts defined via FHIR processable artifacts: * [Profiles](profiles.html) - are useful constraints of core FHIR resources and datatype for Danish use * [Extensions](extensions.html) - are FHIR extensions that are added for local use, covering needed Danish concepts * [Terminologies](terminology.html) - are defined or referenced code systems and value sets for Danish context -dk-core is regularily approved by HL7 Denmark and added to the catalogue of approved standards governed by The Danish Health Data Authority, after consideration by RUSA (Rådgivende Udvalg for Standarder og Arkitektur). See the exact approvals for each version in the history page. +dk-core is regularly approved by HL7 Denmark and added to the catalogue of approved standards governed by The Danish Health Data Authority, after consideration by RUSA (Rådgivende Udvalg for Standarder og Arkitektur). See the exact approvals for each version in the history page. ### Governance FHIR profiles are managed under HL7 Denmark in the HL7 Danish FHIR working group: @@ -33,27 +33,60 @@ This guide is the product of collaborative work undertaken with participants fro * [Danish FHIR Implementers Community](https://confluence.hl7.org/display/HD/DK+FHIR+SIG) * [HL7 Denmark](https://www.hl7.dk) +#### Open an Issue in GitHub +The source code of this implementation guide is maintained in a +[publicly accessible repository](https://github.com/hl7dk/dk-core) in GitHub. +Issues opened in that GitHub repo are very welcome. They help the affiliate pick up any proposed changes or additions and to discuss them publicly. + +#### Open a Pull Request in GitHub +Pull requests are even better. If you are in a position to suggest how exactly your proposal should be implemented in the specification, do it! It helps the team maintaining the implementation guide a great deal. + ### Language -The main language of this implementation guide, and the profiles in it, is English. Content that does not have an official English term uses a Danish term instead. Sometimes terms are expalined using both Danish and English. Danish terms and explanaitions are prefixed with 'Da' +The main language of this implementation guide, and the profiles in it, is English. Content that does not have an official English term uses a Danish term instead. Sometimes terms are explained using both Danish and English. Danish terms and explanations are prefixed with 'Da' ### Connection between dk-core and common Danish architectures and standards -HL7 Denmark includes common Danish architectures and standards if relevant, when content is added to dk-core. This section provides information about principle decisions as well as more specific ones that require explainantion. +HL7 Denmark includes common Danish architectures and standards if relevant, when content is added to dk-core. This section provides information about principle decisions as well as more specific ones that require explanations. #### Principle decisions * HL7 Denmark considers Danish legislation as the first source of truth when designing models, HL7 Denmark seeks to represent known named entities relevant for health data interoperability truthfully. -* HL7 Denmark upholds the requirements of the FHIR standard whenever it is possible within the bounderies of the Danish legislation. -* Enitites that are named both in the FHIR standard and Danish legislation, keeps FHIR naming and requirements, but should explain its relation to Danish names/requirements. -* Danish standards and arhitectures are considered when designing FHIR profiles. HL7 Denmark uses them when they are relevant for interoperability of health data, and when they are compatiple with the FHIR standard. Often public information and data models used as basis of public registries are too detailed, to warrant replication in a FHIR standard. E.g. The Organization profile references organisation registries such as SOR and FK-ORG rather than re-constructing each of their attributes in the FHIR-profile, only attributes relevant for interoperability is provided in the FHIR profiles. +* HL7 Denmark upholds the requirements of the FHIR standard whenever it is possible within the boundaries of the Danish legislation. +* Entities that are named both in the FHIR standard and Danish legislation, keeps FHIR naming and requirements, but should explain its relation to Danish names/requirements. +* Danish standards and architectures are considered when designing FHIR profiles. HL7 Denmark uses them when they are relevant for interoperability of health data, and when they are compatible with the FHIR standard. Often public information and data models used as basis of public registries are too detailed, to warrant replication in a FHIR standard. E.g. The Organization profile references organization registries such as SOR and FK-ORG rather than re-constructing each of their attributes in the FHIR-profile, only attributes relevant for interoperability is provided in the FHIR profiles. #### Specific decisions * Patient.maritalStatus uses the extendable ValueSet required by the FHIR standard. However, Danish legislation and registries have two additional statuses not covered by the international ValueSet, so these two codes are added in dk-core. -* Several basic resources such as Patient and Organization has an adress. In dk-core these adresses use the [FHIR datatype](http://hl7.org/fhir/R4/datatypes.html#Address), which is very basic compared to the [Danish Adress standard](https://arkitektur.digst.dk/adresse). However, adresses can be refered faithfully using the international standard e.g. Adress.text can be mapped directly to the Danish Adresse.adressebetegnelse. If more details are needed than FHIR instanses provide, the [Danish adress registry](https://danmarksadresser.dk/om-adresser/danmarks-adresseregister-dar) can be used for look-up. +* Several basic resources such as Patient and Organization has an address. In dk-core these addresses use the [FHIR datatype](http://hl7.org/fhir/R4/datatypes.html#Address), which is very basic compared to the [Danish Address standard](https://arkitektur.digst.dk/adresse). However, addresses can be referred faithfully using the international standard e.g. Address.text can be mapped directly to the Danish 'adressebetegnelse'. If more details are needed than FHIR instances provide, the [Danish address registry](https://danmarksadresser.dk/om-adresser/danmarks-adresseregister-dar) can be used for look-up. + +### International Aspects +This implementation guide is refining the FHIR standard itself as well as using and depending on the FHIR Standard [International Patient Access (IPA) specification](https://hl7.org/fhir/uv/ipa/). IPA aims to "to help patients access their data through patient-facing applications". While this is not the only scope of this implementation guide - it is part of the goal. IPA outlines a few minimum expectations that are required when exchanging data with patient facing apps. + + + +Our main intent is to focus and limit profiling specific to Denmark. During the process, we actively monitor other national (base) profiles. We attempt to harmonize our base profiles with already published base profiles from other Nordic countries: + + + +The implementation guide defines IPA compliance bit differently than the corresponding Nordic imlementation guides where profiles extend the IPA profiles. DkCore instead introduces separate IPA DK versions of selected profiles that extend the dk-core profile and imposes the IPA equivalent. This makes it possible to choose whether to comply with the Danish requirements only, or to comply with both the Danish profiles and the IPA equivalents. It is recommended to comply with the IPA DK profiles where possible and with the non-IPA versions for contexts where IPA does not apply. + +Regarding international cooperation, please see also the [National IG Implementations](https://confluence.hl7.org/display/IC/National+IG+Implementations) page in HL7 International's Confluence. + ### Safety Considerations This implementation guide defines data elements, resources, formats, and methods for exchanging healthcare data between different participants in the healthcare process. As such, clinical safety is a key concern. Additional guidance regarding safety for the specification’s many and various implementations is available at: [https://www.hl7.org/FHIR/safety.html](https://www.hl7.org/FHIR/safety.html). Although the present specification does gives users the opportunity to observe data protection and data security regulations, its use does not guarantee compliance with these regulations. Effective compliance must be ensured by appropriate measures during implementation projects and in daily operations. The corresponding implementation measures are explained in the standard. -In addition, the present specification can only influence compliance with the security regulations in the technical area of standardisation. It cannot influence organisational and contractual matters. +In addition, the present specification can only influence compliance with the security regulations in the technical area of standardization. It cannot influence organizational and contractual matters. ### License and Legal Terms diff --git a/input/pagecontent/profiles.xml b/input/pagecontent/profiles.xml index 61b58edc1..70d91ec44 100644 --- a/input/pagecontent/profiles.xml +++ b/input/pagecontent/profiles.xml @@ -1,3 +1,4 @@ + +
+ + +

+ The following profiles set the base expectations for interacting with a system adhering to the danish FHIR DK CORE Implementation Guide : +

+
+{% for sd_name in site.data.structuredefinitions -%} + {%- assign sd = sd_name[1] -%} + {%- if sd.title contains "IPA Core" -%} + + {%- else -%} + {%- if sd.kind == "resource" -%} +
  • + {{sd.title}} +

    {{sd.description}}

    +
  • + {%- endif -%} + {%- endif -%} +{%- endfor -%} +
    + +

    +

    +

    + The following profiles for IPA FHIR profiles have been defined for this implementation guide. +

    +
    +{% for sd_name in site.data.structuredefinitions -%} + {%- assign sd = sd_name[1] -%} + {%- if sd.title contains "IPA Core " -%} + +
  • + {{sd.title}} +

    {{sd.description}}

    +
  • + {%- endif -%} +{%- endfor -%} +
    + + +

    +

    +

    The following profiles for FHIR datatypes have been defined for this implementation guide.

    @@ -18,6 +66,7 @@
  • {{sd.title}} +

    {{sd.description}}

  • {%- endif -%} {%- endfor -%} diff --git a/publication-request.json b/publication-request.json index 0e695a710..c2d79a6cc 100644 --- a/publication-request.json +++ b/publication-request.json @@ -1,15 +1,19 @@ { "package-id": "hl7.fhir.dk.core", - "version": "3.5.0", - "path": "http://hl7.dk/fhir/core/3.5.0", + "version": "3.4.0", + "path": "http://hl7.dk/fhir/core/3.4.0", "status": "release", "sequence": "Release", "mode" : "milestone", - "desc": "DK Core version 3.5.0", + "desc": "DK Core version 3.4.0", "descmd": "@release-notes.md", "first": false, + + + + "_ci-build": "https://build.fhir.org/ig/hl7dk/dk-core", "_title": "HL7 FHIR Implementation Guide: DK Core", "_category": "National Core", "_introduction": "A FHIR Implementation Guide for the Danish common needs across healthcare sectors" -} +} \ No newline at end of file diff --git a/release-notes.md b/release-notes.md index f380a2eaa..9cf9c7f87 100644 --- a/release-notes.md +++ b/release-notes.md @@ -1,6 +1,6 @@ -Dk-core version 3.3.0 has been approved by HL7 Denmark. This version is the result of external consultation of DK Core v. 3.2.0. +Dk-core version 3.4.0 has been approved by HL7 Denmark. This version introduces the use of IPA for selected profiles. -The changes between 3.2.0 and 3.3.0 are: -* Addition of codes for 'Primær kontakt', 'Professionel kontakt' and 'emergency contact' to the ValueSet DK Related Person Relationship Types -* A description of how to link records on the page for DkCorePatient -* Minor linguistic adjustments +The changes between 3.3.0 and 3.4.0 are: +* Introduction of IPA for selected profiles +* Non-breaking Cleanup in ValueSets and CodeSystems fragments +* Correction of Patient.contact.relationship to also include correct default valueset diff --git a/sushi-config.yaml b/sushi-config.yaml index 459835a0b..bf808b70d 100644 --- a/sushi-config.yaml +++ b/sushi-config.yaml @@ -7,16 +7,10 @@ canonical: http://hl7.dk/fhir/core name: DKCore title: "HL7 FHIR Implementation Guide: DK Core" description: A FHIR Implementation Guide for the Danish common needs across healthcare sectors -#Flip status to 'active' for publication. Flip to 'draft' for CI -status: draft -#status: active -version: 3.5.0 fhirVersion: 4.0.1 copyrightYear: 2021+ license: CC0-1.0 -#Flip releaseLabel to 'release' for publication. Flip to 'ci-build' for CI -releaseLabel: ci-build -#releaseLabel: release + publisher: name: HL7 Denmark url: http://www.hl7.dk @@ -41,6 +35,16 @@ parameters: show-inherited-invariants: false ipa-comparison: "{last}" special-url: [urn:oid:1.2.208.176.2.1, urn:iso:std:iso:11073:10101, urn:oid:1.2.208.176.2.4, urn:oid:1.2.208.176.2.21, urn:oid:1.2.208.176.2.4.12] + path-expansion-params: Parameters-expParam.json dependencies: - hl7.fhir.uv.phd: 1.0.0 + hl7.fhir.uv.phd: 1.1.0 + hl7.fhir.uv.ipa: 1.0.0 + +#Flip status to 'active' for publication. Flip to 'draft' for CI +status: draft +#status: active +version: 3.4.0 +#Flip releaseLabel to 'release' for publication. Flip to 'ci-build' for CI +releaseLabel: ci-build +#releaseLabel: release \ No newline at end of file