Skip to content

Commit

Permalink
Merge a737fc5 into 1feb7b0
Browse files Browse the repository at this point in the history
  • Loading branch information
jkiddo authored Oct 17, 2024
2 parents 1feb7b0 + a737fc5 commit dfe4fc8
Show file tree
Hide file tree
Showing 17 changed files with 1,165 additions and 359 deletions.
6 changes: 3 additions & 3 deletions input/fsh/DkCoreCondition.fsh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Profile: DkCoreCondition
Parent: Condition
Parent: IPACondition
Id: dk-core-condition
Title: "Danish Core Condition Profile"
Description: "HL7 Denmark core profile for professionally asserted conditions, as specified by danish health and social care organizations"
Expand Down Expand Up @@ -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
Expand Down
8 changes: 8 additions & 0 deletions input/fsh/DkCoreLocation.fsh
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
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)

14 changes: 11 additions & 3 deletions input/fsh/DkCoreObservation.fsh
Original file line number Diff line number Diff line change
@@ -1,7 +1,15 @@
Profile: IPADkCoreObservation
Parent: DkCoreObservation
Title: "Danish Core IPA Observation Profiles"
Description: "HL7 Denmark core profile for IPA 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(DkCorePatient)

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
Expand Down Expand Up @@ -44,9 +52,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
Expand Down
25 changes: 20 additions & 5 deletions input/fsh/DkCorePatient.fsh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Profile: DkCorePatient
Parent: Patient
Parent: IPAPatient
Id: dk-core-patient
Title: "Danish Core Patient Profile"
Description: "HL7 Denmark core profile for a patient"
Expand Down Expand Up @@ -32,13 +32,25 @@ Description: "HL7 Denmark core profile for a patient"
RegionalSubDivisionCodes named regionalSubDivisionCodes 0..1
* extension[municipalityCode] ^short = "[DA] Kommunekode"
* extension[regionalSubDivisionCodes] ^short = "[DA] Regionskode"
* address ^slicing.discriminator.type = #value
* ^slicing.discriminator.path = "use"
* ^slicing.rules = #open
* address contains
official 0..1
* address[official] ^short = "An official address"
* extension contains http://hl7.org/fhir/StructureDefinition/address-official named address-official 0..1
* extension[address-official] ^short = "Indicate that this address is meant to be the 'official' address for that person. In Denmark this is the [address registered in the CPR-register](https://www.retsinformation.dk/eli/lta/2023/1010)."
* extension[address-official].valueBoolean = true
* extension[address-official].valueCodeableConcept = #DK
* 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
* managingOrganization only Reference(DkCoreOrganization)
* contact.relationship from RelatedPersonRelationshipTypes (extensible)
* link.other only Reference(DkCorePatient or DkCoreRelatedPerson)

Expand All @@ -56,10 +68,13 @@ Usage: #example
* name.given[1] = "Test"
* 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].valueBoolean = true
* address.extension[address-official].valueCodeableConcept = urn:iso:std:iso:3166#DK
* address.use = #home
* address.type = #postal
* address.line = "Nordre Ringgade 3"
Expand Down
2 changes: 1 addition & 1 deletion input/fsh/DkCorePractitioner.fsh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Profile: DkCorePractitioner
Parent: Practitioner
Parent: IPAPractitioner
Id: dk-core-practitioner
Title: "Danish Core Practitioner Profile"
Description: "HL7 Denmark core profile for health professionals and other actors relevant in citizen and patient pathways"
Expand Down
30 changes: 30 additions & 0 deletions input/fsh/DkCorePractitionerRole.fsh
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
Profile: DkCorePractitionerRole
Parent: IPAPractitionerRole
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#RP
* 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"
51 changes: 51 additions & 0 deletions input/fsh/DkCoreServiceRequest.fsh
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
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 PractitionerRole or DkCoreOrganization or DkCorePatient or DkCoreRelatedPerson or Device)
* performer only Reference(DkCorePractitioner or PractitionerRole 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"
4 changes: 2 additions & 2 deletions input/fsh/aliases.fsh
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
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: $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
Expand All @@ -13,7 +13,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
Expand Down
Loading

0 comments on commit dfe4fc8

Please sign in to comment.