| Official URL: https://gematik.de/fhir/erp-t-prescription/StructureMap/ERPTPrescriptionStructureMapKBVPZNMedication | Version: 1.1.0-ballot-1 | |||
| Draft as of 2025-07-07 | Computable Name: ERPTPrescriptionStructureMapKBVPZNMedication | |||
Mapping-Anweisungen zur Transformation von KBV PZN-Medikamenten zu BfArM T-Prescription Format
map "https://gematik.de/fhir/erp-t-prescription/StructureMap/ERPTPrescriptionStructureMapKBVPZNMedication" = "ERPTPrescriptionStructureMapKBVPZNMedication" // Mapping-Anweisungen zur Transformation von KBV PZN-Medikamenten zu BfArM T-Prescription Format uses "http://hl7.org/fhir/StructureDefinition/Medication" alias kbvMedicationPZN as source uses "http://hl7.org/fhir/StructureDefinition/Medication" alias bfarmMedication as target // Mapping-Anweisungen zur Transformation von KBV PZN-Medikamenten zu BfArM T-Prescription Format group ERPTPrescriptionStructureMapKBVPZNMedication(source kbvMedicationPZN : kbvMedicationPZN, target bfarmMedication : bfarmMedication) { kbvMedicationPZN.extension as extVar -> bfarmMedication.extension as tgtExtVar then { extVar where url='http://fhir.de/StructureDefinition/normgroesse' -> tgtExtVar.url = 'http://fhir.de/StructureDefinition/normgroesse' then { extVar.value as extValVar -> tgtExtVar.value = extValVar "copyExtensionValue"; // Kopiert den Wert der Normgröße-Extension (N1, N2, N3) } "copyNormgroesseExtensionUrl"; // Übernimmt die Normgröße-Extension unverändert (deutsche Packungsgrößenangabe) } "medicationExt"; // Mappt Medication-Extensions von KBV- zu BfArM-Format kbvMedicationPZN.id as IdVar -> bfarmMedication.id = IdVar "medicationId"; // Übernimmt die eindeutige Medication-ID unverändert kbvMedicationPZN.code as codeVar -> bfarmMedication.code = codeVar "medicationCode"; // Kopiert den Medikamentencode (PZN - Pharmazentralnummer) für die eindeutige Identifikation kbvMedicationPZN.form as formVar -> bfarmMedication.form = formVar "medicationForm"; // Übernimmt die Darreichungsform (Tabletten, Kapseln, Tropfen, etc.) kbvMedicationPZN.amount as amountVar -> bfarmMedication.amount as tgtAmountVar then { amountVar.denominator as amountDenominatorVar -> tgtAmountVar.denominator = amountDenominatorVar "medicationAmountDenominator"; // Kopiert den Nenner der Mengenangabe (z.B. '1' für 'pro Packung') amountVar.numerator as amountNumeratorVar -> tgtAmountVar.numerator as tgtAmountNumeratorVar then { amountNumeratorVar.extension as amountNumExtVar -> tgtAmountNumeratorVar.extension as tgtAmountNumExtVar then { amountNumExtVar where url='https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_PackagingSize' -> tgtAmountNumExtVar.url = 'https://gematik.de/fhir/epa-medication/StructureDefinition/medication-packaging-size-extension' then { amountNumExtVar.value as extValVar -> tgtAmountNumExtVar.value = extValVar "copyExtensionValue"; // Übernimmt den Packungsgrößenwert unverändert } "copyPackagingSizeExtensionUrl"; // Wandelt KBV-Packungsgrößen-Extension in gematik EPA-Medication Extension um } "medicationAmountExt"; // Transformiert Packungsgrößen-Extensions von KBV- zu gematik-Format amountNumeratorVar.value as amountNumeratorValueVar -> tgtAmountNumeratorVar.value = amountNumeratorValueVar "medicationAmountNumeratorValue"; // Kopiert den numerischen Wert der Menge (z.B. '20' für 20 Tabletten) amountNumeratorVar.unit as amountNumeratorUnitVar -> tgtAmountNumeratorVar.unit = amountNumeratorUnitVar "medicationAmountNumeratorUnit"; // Übernimmt die Mengeneinheit (Stück, ml, g, etc.) amountNumeratorVar.system as amountNumeratorSystemVar -> tgtAmountNumeratorVar.system = amountNumeratorSystemVar "medicationAmountNumeratorSystem"; // Kopiert das Codesystem für die Mengeneinheit (meist UCUM) amountNumeratorVar.code as amountNumeratorCodeVar -> tgtAmountNumeratorVar.code = amountNumeratorCodeVar "medicationAmountNumeratorCode"; // Übernimmt den standardisierten Code für die Mengeneinheit } "medicationAmountNumerator"; // Mappt den Zähler der Mengenangabe mit allen Details (Wert, Einheit, Extensions) } "medicationAmount"; // Mappt die Mengenangaben des Fertigarzneimittels (Packungsgröße und Inhalt) kbvMedicationPZN.ingredient as ingredientVar -> bfarmMedication.ingredient = ingredientVar "medicationIngredient"; // Kopiert Wirkstoffinformationen (bei PZN-Medikamenten meist nicht detailliert angegeben) }