Skip to content

Commit

Permalink
Merge pull request #28 from gematik/feature/revert-generic-dependencies
Browse files Browse the repository at this point in the history
Wiedereinführung spezifischer target-Profile
  • Loading branch information
florianschoffke authored Mar 6, 2024
2 parents 746cf05 + 4c2ea1e commit 588e005
Show file tree
Hide file tree
Showing 19 changed files with 168 additions and 57 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
"resourceType": "Bundle",
"id": "558c2f69-62f6-4a74-8d13-70e945d28b71",
"meta": {
"profile": [
"https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_CloseOperationInputBundle|1.3"
],
"tag": [
{
"display": "MedicationDispense Bundle for $close-Operation on dispensation of multiple medications"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
"resourceType": "Bundle",
"id": "9145d0d0-7b77-483f-ad89-cd9d34fc1f08",
"meta": {
"profile": [
"https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_CloseOperationInputBundle|1.3"
],
"tag": [
{
"display": "MedicationDispense Bundle for $close-Operation on dispensation of multiple medications"
Expand All @@ -15,6 +18,11 @@
"resource": {
"resourceType": "MedicationDispense",
"id": "3465270a-11e7-4bbf-ae53-378f9cc52747",
"meta": {
"profile": [
"https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense|1.3"
]
},
"contained": [
{
"resourceType": "Medication",
Expand Down Expand Up @@ -126,6 +134,11 @@
"resource": {
"resourceType": "MedicationDispense",
"id": "3465270a-11e7-4bbf-ae53-378f9cc52747",
"meta": {
"profile": [
"https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense|1.3"
]
},
"contained": [
{
"resourceType": "Medication",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
{
"resourceType": "MedicationDispense",
"id": "3465270a-11e7-4bbf-ae53-378f9cc52747",
"meta": {
"profile": [
"https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense|1.3"
]
},
"contained": [
{
"resourceType": "Medication",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@
"documentation": "Information on dispensed Medication(s)",
"type": "canonical",
"targetProfile": [
"http://hl7.org/fhir/StructureDefinition/MedicationDispense",
"http://hl7.org/fhir/StructureDefinition/Bundle"
"https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense|1.3",
"https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_CloseOperationInputBundle|1.3"
]
},
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@
"documentation": "Information on dispensed Medication(s)",
"type": "canonical",
"targetProfile": [
"http://hl7.org/fhir/StructureDefinition/MedicationDispense",
"http://hl7.org/fhir/StructureDefinition/Bundle"
"https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense|1.3",
"https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_CloseOperationInputBundle|1.3"
]
},
{
Expand All @@ -46,8 +46,8 @@
"documentation": "The MedicationDispense that has been transmitted by the pharmacy as a confirmation, that it has been successfully uploaded.",
"type": "canonical",
"targetProfile": [
"http://hl7.org/fhir/StructureDefinition/MedicationDispense",
"http://hl7.org/fhir/StructureDefinition/Bundle"
"https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense|1.3",
"https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_CloseOperationInputBundle|1.3"
]
}
]
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
{
"resourceType": "StructureDefinition",
"id": "GEM-ERP-PR-CloseOperationInputBundle",
"url": "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_CloseOperationInputBundle",
"version": "1.3.0",
"name": "GEM_ERP_PR_CloseOperationInputBundle",
"title": "Document Bundle for multiple MedicationDispenses on $close Operation",
"status": "draft",
"fhirVersion": "4.0.1",
"mapping": [
{
"identity": "v2",
"uri": "http://hl7.org/v2",
"name": "HL7 v2 Mapping"
},
{
"identity": "rim",
"uri": "http://hl7.org/v3",
"name": "RIM Mapping"
},
{
"identity": "cda",
"uri": "http://hl7.org/v3/cda",
"name": "CDA (R2)"
},
{
"identity": "w5",
"uri": "http://hl7.org/fhir/fivews",
"name": "FiveWs Pattern Mapping"
}
],
"kind": "resource",
"abstract": false,
"type": "Bundle",
"baseDefinition": "http://hl7.org/fhir/StructureDefinition/Bundle",
"derivation": "constraint",
"differential": {
"element": [
{
"id": "Bundle.meta",
"path": "Bundle.meta",
"min": 1
},
{
"id": "Bundle.meta.profile",
"path": "Bundle.meta.profile",
"min": 1,
"max": "1",
"fixedCanonical": "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_CloseOperationInputBundle|1.3"
},
{
"id": "Bundle.type",
"path": "Bundle.type",
"fixedCode": "collection"
},
{
"id": "Bundle.entry",
"path": "Bundle.entry",
"slicing": {
"discriminator": [
{
"type": "type",
"path": "resource"
}
],
"rules": "closed"
},
"min": 1
},
{
"id": "Bundle.entry:DispensedMedications",
"path": "Bundle.entry",
"sliceName": "DispensedMedications",
"min": 1,
"max": "*"
},
{
"id": "Bundle.entry:DispensedMedications.resource",
"path": "Bundle.entry.resource",
"type": [
{
"code": "MedicationDispense",
"profile": [
"https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense"
]
}
]
}
]
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -321,7 +321,7 @@
{
"code": "Reference",
"targetProfile": [
"http://hl7.org/fhir/StructureDefinition/Bundle"
"https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Bundle"
]
}
]
Expand Down Expand Up @@ -360,7 +360,7 @@
{
"code": "Reference",
"targetProfile": [
"http://hl7.org/fhir/StructureDefinition/MedicationDispense"
"https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense"
]
}
]
Expand Down
22 changes: 6 additions & 16 deletions Resources/input/fsh/aliases.fsh
Original file line number Diff line number Diff line change
@@ -1,18 +1,8 @@
Alias: $communication-topic = http://terminology.hl7.org/CodeSystem/communication-topic
Alias: $AvailabilityStatus = https://gematik.de/fhir/CodeSystem/AvailabilityStatus
Alias: $audit-event-type = http://terminology.hl7.org/CodeSystem/audit-event-type
Alias: $restful-interaction = http://hl7.org/fhir/restful-interaction
Alias: $extra-security-role-type = http://terminology.hl7.org/CodeSystem/extra-security-role-type
Alias: $data-absent-reason = http://terminology.hl7.org/CodeSystem/data-absent-reason
Alias: $KBV_CS_ERP_Medication_Category = https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category
Alias: $pzn = http://fhir.de/CodeSystem/ifa/pzn
Alias: $KBV_CS_SFHIR_KBV_DARREICHUNGSFORM = https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM
Alias: $consentscope = http://terminology.hl7.org/CodeSystem/consentscope
Alias: $Consenttype = https://gematik.de/fhir/CodeSystem/Consenttype
Alias: $v3-ActCode = http://terminology.hl7.org/CodeSystem/v3-ActCode
// KBV
Alias: $KBV_PR_ERP_Bundle = https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Bundle

// DE-Basisprofile
Alias: $identifier-kvid-10 = http://fhir.de/StructureDefinition/identifier-kvid-10
Alias: $identifier-pkv = http://fhir.de/StructureDefinition/identifier-pkv
Alias: $identifier-telematik-id = http://fhir.de/StructureDefinition/identifier-telematik-id
Alias: $identifier-iknr = http://fhir.de/StructureDefinition/identifier-iknr
Alias: $fhir-core-medicationdispense = http://hl7.org/fhir/StructureDefinition/MedicationDispense
Alias: $fhir-core-bundle = http://hl7.org/fhir/StructureDefinition/Bundle
Alias: $identifier-telematik-id = https://gematik.de/fhir/sid/telematik-id
Alias: $identifier-iknr = http://fhir.de/StructureDefinition/identifier-iknr
8 changes: 5 additions & 3 deletions Resources/input/fsh/operationdefinitions/GEM_ERP_OP_Close.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ Usage: #definition
* parameter[=].documentation = "Information on dispensed Medication(s)"
* parameter[=].type = #canonical
* parameter[=]
* targetProfile[+] = $fhir-core-medicationdispense
* targetProfile[+] = $fhir-core-bundle
* insert PackageTargetProfile(StructureDefinition/GEM_ERP_PR_MedicationDispense)
* insert PackageTargetProfile(StructureDefinition/GEM_ERP_PR_CloseOperationInputBundle)

// out
* parameter[+].name = #Receipt
Expand Down Expand Up @@ -70,14 +70,15 @@ InstanceOf: MedicationDispense
Title: "MedicationDispense handed to Günther at a pharmacy"
Usage: #example
* id = "3465270a-11e7-4bbf-ae53-378f9cc52747"
* insert PackageMetaProfile(StructureDefinition/GEM_ERP_PR_MedicationDispense)
* contained[+] = SumatripanMedication
* identifier[+].system = "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId"
* identifier[=].value = "160.000.033.491.280.78"
* status = #completed
* medicationReference.reference = "#001413e4-a5e9-48da-9b07-c17bab476407"
* subject.identifier.system = "http://fhir.de/sid/gkv/kvid-10"
* subject.identifier.value = "X234567890"
* performer[+].actor.identifier.system = "https://gematik.de/fhir/sid/telematik-id"
* performer[+].actor.identifier.system = $identifier-telematik-id
* performer[=].actor.identifier.value = "3-abc-1234567890"
* whenHandedOver = "2022-02-28"
* dosageInstruction[+].text = "1-0-1-0"
Expand All @@ -88,6 +89,7 @@ Title: "Bundle of 2 MedicationDispense handed to Waltraud at a pharmacy"
Description: "Lets asume, Waltraud needs 40 TABs and the pharmacy hands out 2*20, then there will be 2 MedicationDispenses for the E-Rezept backend"
Usage: #example
* id = "9145d0d0-7b77-483f-ad89-cd9d34fc1f08"
* insert PackageMetaProfile(StructureDefinition/GEM_ERP_PR_CloseOperationInputBundle)
* meta.tag.display = "MedicationDispense Bundle for $close-Operation on dispensation of multiple medications"
* type = #collection
* entry[+].fullUrl = "http://hier-koennte-ihre-werbung-stehen"
Expand Down
13 changes: 7 additions & 6 deletions Resources/input/fsh/operationdefinitions/GEM_ERP_OP_Dispense.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ Usage: #definition
* parameter[=].documentation = "Information on dispensed Medication(s)"
* parameter[=].type = #canonical
* parameter[=]
* targetProfile[+] = $fhir-core-medicationdispense
* targetProfile[+] = $fhir-core-bundle
* insert PackageTargetProfile(StructureDefinition/GEM_ERP_PR_MedicationDispense)
* insert PackageTargetProfile(StructureDefinition/GEM_ERP_PR_CloseOperationInputBundle)

// out
* parameter[+].name = #MedicationDispense
Expand All @@ -32,8 +32,8 @@ Usage: #definition
* parameter[=].documentation = "The MedicationDispense that has been transmitted by the pharmacy as a confirmation, that it has been successfully uploaded."
* parameter[=].type = #canonical
* parameter[=]
* targetProfile[+] = $fhir-core-medicationdispense
* targetProfile[+] = $fhir-core-bundle
* insert PackageTargetProfile(StructureDefinition/GEM_ERP_PR_MedicationDispense)
* insert PackageTargetProfile(StructureDefinition/GEM_ERP_PR_CloseOperationInputBundle)

Instance: OperationDispenseParametersInputMedicationDispense
InstanceOf: MedicationDispense
Expand All @@ -48,7 +48,7 @@ Usage: #example
* medicationReference.reference = "#001413e4-a5e9-48da-9b07-c17bab476407"
* subject.identifier.system = "http://fhir.de/sid/gkv/kvid-10"
* subject.identifier.value = "X234567890"
* performer[+].actor.identifier.system = "https://gematik.de/fhir/sid/telematik-id"
* performer[+].actor.identifier.system = $identifier-telematik-id
* performer[=].actor.identifier.value = "3-abc-1234567890"
* whenHandedOver = "2022-02-28"
* dosageInstruction[+].text = "1-0-1-0"
Expand All @@ -66,7 +66,7 @@ Usage: #example
* medicationReference.reference = "#001413e4-a5e9-48da-9b07-c17bab476407"
* subject.identifier.system = "http://fhir.de/sid/gkv/kvid-10"
* subject.identifier.value = "X234567890"
* performer[+].actor.identifier.system = "https://gematik.de/fhir/sid/telematik-id"
* performer[+].actor.identifier.system = $identifier-telematik-id
* performer[=].actor.identifier.value = "3-abc-1234567890"
* whenHandedOver = "2022-02-28"
* dosageInstruction[+].text = "1-0-1-0"
Expand All @@ -77,6 +77,7 @@ Title: "Bundle of 2 MedicationDispense handed to Waltraud at a pharmacy"
Description: "Lets asume, Waltraud needs 40 TABs and the pharmacy hands out 2*20, then there will be 2 MedicationDispenses for the E-Rezept backend"
Usage: #example
* id = "558c2f69-62f6-4a74-8d13-70e945d28b71"
* insert PackageMetaProfile(StructureDefinition/GEM_ERP_PR_CloseOperationInputBundle)
* meta.tag.display = "MedicationDispense Bundle for $close-Operation on dispensation of multiple medications"
* type = #collection
* entry[+].fullUrl = "http://hier-koennte-ihre-werbung-stehen"
Expand Down
2 changes: 1 addition & 1 deletion Resources/input/fsh/profiles/GEM_ERP_PR_AuditEvent.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ Usage: #example
* agent[+].type.coding[+].system = "http://terminology.hl7.org/CodeSystem/extra-security-role-type"
* agent[=].type.coding[=].code = #humanuser
* agent[=].type.coding[=].display = "Human User"
* agent[=].who.identifier.system = "https://gematik.de/fhir/sid/telematik-id"
* agent[=].who.identifier.system = $identifier-telematik-id
* agent[=].who.identifier.value = "1-SMC-B-Testkarte-883110000095957"
* agent[=].name = "Praxis Dr. Müller"
* agent[=].requestor = false
Expand Down
2 changes: 1 addition & 1 deletion Resources/input/fsh/profiles/GEM_ERP_PR_BfArMApproval.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ Usage: #example
* entity.what.identifier.system = "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId"
* entity.what.identifier.value = "165.100.000.000.024.67"
* agent.who.reference = "https://erp-ref.zentral.erp.splitdns.ti-dienste.de/Device/1"
* agent.onBehalfOf.identifier.system = "https://gematik.de/fhir/sid/telematik-id"
* agent.onBehalfOf.identifier.system = $identifier-telematik-id
* agent.onBehalfOf.identifier.value = "1-HBA-Testkarte-883110000123465"
* signature.type.system = "urn:iso-astm:E1762-95:2013"
* signature.type.code = #1.2.840.10065.1.12.1.7
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
Profile: GEM_ERP_PR_CloseOperationInputBundle
Parent: Bundle
Id: GEM-ERP-PR-CloseOperationInputBundle
Title: "Document Bundle for multiple MedicationDispenses on $close Operation"
* insert Profile(GEM_ERP_PR_CloseOperationInputBundle)
* type = #collection (exactly)
* entry ^slicing.discriminator.type = #type
* entry ^slicing.discriminator.path = "resource"
* entry ^slicing.rules = #closed
* entry contains
DispensedMedications 1..
* entry[DispensedMedications].resource only GEM_ERP_PR_MedicationDispense
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ Usage: #example
* meta.tag.display = "Communication message sent by patient to pharmacy to request the dispensation of medicine by providing the AccessCode"
* basedOn.reference = "Task/160.000.033.491.280.78/$accept?ac=777bea0e13cc9c42ceec14aec3ddee2263325dc2c6c699db115f58fe423607ea"
* status = #unknown
* recipient[+].identifier.system = "https://gematik.de/fhir/sid/telematik-id"
* recipient[+].identifier.system = $identifier-telematik-id
* recipient[=].identifier.value = "3-SMC-B-Testkarte-883110000123465"
* sender.identifier.system = "http://fhir.de/sid/gkv/kvid-10"
* sender.identifier.value = "X234567890"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ Usage: #example
* basedOn.reference = "Task/160.000.033.491.280.78"
* status = #unknown
* about.reference = "#001413e4-a5e9-48da-9b07-c17bab476407"
* recipient[+].identifier.system = "https://gematik.de/fhir/sid/telematik-id"
* recipient[+].identifier.system = $identifier-telematik-id
* recipient[=].identifier.value = "3-SMC-B-Testkarte-883110000123465"
* sender.identifier.system = "http://fhir.de/sid/gkv/kvid-10"
* sender.identifier.value = "X234567890"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ Usage: #example
* meta.tag.display = "Communication message sent by pharmacy to patient in response to a previous Task-related message"
* basedOn.reference = "Task/160.000.033.491.280.78"
* status = #unknown
* sender.identifier.system = "https://gematik.de/fhir/sid/telematik-id"
* sender.identifier.system = $identifier-telematik-id
* sender.identifier.value = "3-SMC-B-Testkarte-883110000123465"
* recipient[+].identifier.system = "http://fhir.de/sid/gkv/kvid-10"
* recipient[=].identifier.value = "X234567890"
Expand Down
2 changes: 1 addition & 1 deletion Resources/input/fsh/profiles/GEM_ERP_PR_Composition.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ Usage: #inline
* id = "c624cf47-e235-4624-af71-0a09dc9254dc"
* insert PackageMetaProfile(StructureDefinition/GEM_ERP_PR_Composition)
* extension[Beneficiary].url = "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_Beneficiary"
* extension[Beneficiary].valueIdentifier.system = "https://gematik.de/fhir/sid/telematik-id"
* extension[Beneficiary].valueIdentifier.system = $identifier-telematik-id
* extension[Beneficiary].valueIdentifier.value = "3-SMC-B-Testkarte-883110000129070"
* status = #final
* type.coding = https://gematik.de/fhir/erp/CodeSystem/GEM_ERP_CS_DocumentType#3 "Receipt"
Expand Down
Loading

0 comments on commit 588e005

Please sign in to comment.