Skip to content

Commit

Permalink
Adapt Medication to not foce ingredient strength code and system
Browse files Browse the repository at this point in the history
  • Loading branch information
florianschoffke committed May 28, 2024
1 parent 11cb16a commit 238b40a
Show file tree
Hide file tree
Showing 3 changed files with 110 additions and 13 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"resourceType": "Medication",
"id": "DAVNumeratorExample",
"meta": {
"profile": [
"https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Medication|1.4"
]
},
"ingredient": [
{
"strength": {
"numerator": {
"value": 10,
"unit": "Stück",
"_system": {
"extension": [
{
"valueCode": "unknown",
"url": "http://hl7.org/fhir/StructureDefinition/data-absent-reason"
}
]
},
"_code": {
"extension": [
{
"valueCode": "unknown",
"url": "http://hl7.org/fhir/StructureDefinition/data-absent-reason"
}
]
}
}
},
"itemReference": {
"display": "Gematico Medikation"
}
}
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -377,8 +377,8 @@
"mustSupport": true
},
{
"id": "Medication.ingredient.strength.numerator.extension:dataAbsentReason",
"path": "Medication.ingredient.strength.numerator.extension",
"id": "Medication.ingredient.strength.numerator.system.extension:dataAbsentReason",
"path": "Medication.ingredient.strength.numerator.system.extension",
"sliceName": "dataAbsentReason",
"min": 0,
"max": "1",
Expand All @@ -393,13 +393,13 @@
"mustSupport": true
},
{
"id": "Medication.ingredient.strength.numerator.extension:dataAbsentReason.value[x]",
"path": "Medication.ingredient.strength.numerator.extension.value[x]",
"id": "Medication.ingredient.strength.numerator.system.extension:dataAbsentReason.value[x]",
"path": "Medication.ingredient.strength.numerator.system.extension.value[x]",
"patternCode": "unknown"
},
{
"id": "Medication.ingredient.strength.denominator.extension:dataAbsentReason",
"path": "Medication.ingredient.strength.denominator.extension",
"id": "Medication.ingredient.strength.numerator.code.extension:dataAbsentReason",
"path": "Medication.ingredient.strength.numerator.code.extension",
"sliceName": "dataAbsentReason",
"min": 0,
"max": "1",
Expand All @@ -414,8 +414,50 @@
"mustSupport": true
},
{
"id": "Medication.ingredient.strength.denominator.extension:dataAbsentReason.value[x]",
"path": "Medication.ingredient.strength.denominator.extension.value[x]",
"id": "Medication.ingredient.strength.numerator.code.extension:dataAbsentReason.value[x]",
"path": "Medication.ingredient.strength.numerator.code.extension.value[x]",
"patternCode": "unknown"
},
{
"id": "Medication.ingredient.strength.denominator.system.extension:dataAbsentReason",
"path": "Medication.ingredient.strength.denominator.system.extension",
"sliceName": "dataAbsentReason",
"min": 0,
"max": "1",
"type": [
{
"code": "Extension",
"profile": [
"http://hl7.org/fhir/StructureDefinition/data-absent-reason"
]
}
],
"mustSupport": true
},
{
"id": "Medication.ingredient.strength.denominator.system.extension:dataAbsentReason.value[x]",
"path": "Medication.ingredient.strength.denominator.system.extension.value[x]",
"patternCode": "unknown"
},
{
"id": "Medication.ingredient.strength.denominator.code.extension:dataAbsentReason",
"path": "Medication.ingredient.strength.denominator.code.extension",
"sliceName": "dataAbsentReason",
"min": 0,
"max": "1",
"type": [
{
"code": "Extension",
"profile": [
"http://hl7.org/fhir/StructureDefinition/data-absent-reason"
]
}
],
"mustSupport": true
},
{
"id": "Medication.ingredient.strength.denominator.code.extension:dataAbsentReason.value[x]",
"path": "Medication.ingredient.strength.denominator.code.extension.value[x]",
"patternCode": "unknown"
}
]
Expand Down
27 changes: 22 additions & 5 deletions Resources/input/fsh/profiles/GEM_ERP_PR_Medication.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -55,10 +55,15 @@ Description: "Handles medical information about the redeemed prescription"
* ingredient.strength.extension[MengeFreitext].valueString MS
* ingredient.strength.extension[MengeFreitext].valueString ^sliceName = "valueString"

* ingredient.strength.numerator.extension contains $data-absent-reason named dataAbsentReason 0..1 MS
* ingredient.strength.numerator.extension[dataAbsentReason].value[x] = #unknown
* ingredient.strength.denominator.extension contains $data-absent-reason named dataAbsentReason 0..1 MS
* ingredient.strength.denominator.extension[dataAbsentReason].value[x] = #unknown
* ingredient.strength.numerator.system.extension contains $data-absent-reason named dataAbsentReason 0..1 MS
* ingredient.strength.numerator.system.extension[dataAbsentReason].value[x] = #unknown
* ingredient.strength.numerator.code.extension contains $data-absent-reason named dataAbsentReason 0..1 MS
* ingredient.strength.numerator.code.extension[dataAbsentReason].value[x] = #unknown

* ingredient.strength.denominator.system.extension contains $data-absent-reason named dataAbsentReason 0..1 MS
* ingredient.strength.denominator.system.extension[dataAbsentReason].value[x] = #unknown
* ingredient.strength.denominator.code.extension contains $data-absent-reason named dataAbsentReason 0..1 MS
* ingredient.strength.denominator.code.extension[dataAbsentReason].value[x] = #unknown

// Add amount.numerator Extensions
* amount.numerator.extension ^slicing.discriminator.type = #value
Expand Down Expand Up @@ -105,4 +110,16 @@ Usage: #example
* amount.numerator.unit = "St"
* amount.numerator.extension[Gesamtmenge].url = "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_PackagingSize"
* amount.numerator.extension[Gesamtmenge].valueString = "20 St."
* amount.denominator.value = 1
* amount.denominator.value = 1


Instance: DAVNumeratorExample
InstanceOf: GEM_ERP_PR_Medication
Title: "DAV Example"
Usage: #example
* ingredient.itemReference.display = "Gematico Medikation"
* ingredient.strength.numerator.value = 10
* ingredient.strength.numerator.unit = "Stück"
* ingredient.strength.numerator
* ingredient.strength.numerator.system.extension[dataAbsentReason].valueCode = #unknown
* ingredient.strength.numerator.code.extension[dataAbsentReason].valueCode = #unknown

0 comments on commit 238b40a

Please sign in to comment.