| Official URL: https://gematik.de/fhir/tiflow-bfarm/StructureMap/ERPTPrescriptionStructureMapMedicationDispense | Version: 2.0.0 | |||
| Active as of 2026-10-02 | Computable Name: ERPTPrescriptionStructureMapMedicationDispense | |||
Mapping-Anweisungen zur Transformation von gematik ERP MedicationDispense zu BfArM T-Prescription MedicationDispense
map "https://gematik.de/fhir/tiflow-bfarm/StructureMap/ERPTPrescriptionStructureMapMedicationDispense" = "ERPTPrescriptionStructureMapMedicationDispense" // Mapping-Anweisungen zur Transformation von gematik ERP MedicationDispense zu BfArM T-Prescription MedicationDispense uses "http://hl7.org/fhir/StructureDefinition/MedicationDispense" alias gematikMedicationDispense as source uses "http://hl7.org/fhir/StructureDefinition/MedicationDispense" alias bfarmMedicationDispense as target // Mapping-Anweisungen zur Transformation von gematik ERP MedicationDispense zu BfArM T-Prescription MedicationDispense group ERPTPrescriptionStructureMapMedicationDispense(source gematikMedicationDispense : gematikMedicationDispense, target bfarmMedicationDispense : bfarmMedicationDispense) { // Kopiert Dosage Metadata Extension gematikMedicationDispense.extension as extDosageMetaVar where (url='http://ig.fhir.de/igs/medication/StructureDefinition/GeneratedDosageInstructionsMeta') -> bfarmMedicationDispense.extension = extDosageMetaVar "medicationDispenseExt"; // Kopiert RenderedDosageText gematikMedicationDispense.extension as extDosageRenderedVar where (url='http://hl7.org/fhir/5.0/StructureDefinition/extension-MedicationDispense.renderedDosageInstruction') -> bfarmMedicationDispense.extension = extDosageRenderedVar "medicationDispenseExt"; // Übernimmt die Dosierungsanweisungen aus der ursprünglichen Abgabe für den digitalen Durchschlag gematikMedicationDispense.dosageInstruction as dosageInstructionVar -> bfarmMedicationDispense.dosageInstruction = dosageInstructionVar "medicationDispenseDosageInstruction"; // Kopiert das Abgabedatum zur Dokumentation des Zeitpunkts der Medikamentenausgabe gematikMedicationDispense.whenHandedOver as whenHandedOverVar -> bfarmMedicationDispense.whenHandedOver = whenHandedOverVar "medicationDispenseWhenHandedOver"; // Kopiert die Medikamentenreferenz - das referenzierte Medication wird separat gemappt gematikMedicationDispense.medication as medicationVar -> bfarmMedicationDispense.medication = medicationVar "medicationReference"; // Setzt den Status auf 'completed' da die Abgabe bereits erfolgt ist (digitaler Durchschlag) gematikMedicationDispense.status as gematikMedicationDispenseStatus -> bfarmMedicationDispense.status = 'completed' "medicationDispenseStatus"; // Übernimmt die abgegebene Menge zur Dokumentation der tatsächlich ausgehändigten Medikamentenmenge gematikMedicationDispense.quantity as quantityVar -> bfarmMedicationDispense.quantity = quantityVar "medicationDispenseQuantity"; // Transformiert Apotheken-Identifier zu Organization-Referenz für eindeutige Zuordnung der abgebenden Apotheke gematikMedicationDispense.performer as srcPerformerVar -> bfarmMedicationDispense.performer as tgtPerformerVar then { // Verarbeitet den Actor (abgebende Apotheke) des Performers srcPerformerVar.actor as srcPerformerActorVar -> tgtPerformerVar.actor as tgtPerformerActorVar then { // Extrahiert den Identifier der abgebenden Apotheke srcPerformerActorVar.identifier as srcPerformerActorIdentifierVar then { // Wandelt Apotheken-Identifier in Organization-Referenz um (Organization/<telematik-id>) srcPerformerActorIdentifierVar.value as srcPerformerActorIdentifierValueVar -> tgtPerformerActorVar.reference = append('Organization/', srcPerformerActorIdentifierValueVar) "medicationDispensePerformerActorIdentifierValue"; } "medicationDispensePerformerActorIdentifier"; } "medicationDispensePerformerActor"; } "medicationDispensePerformer"; }