| Official URL: https://gematik.de/fhir/erp-t-prescription/StructureMap/ERPTPrescriptionStructureMapKBVCompoundingMedication | Version: 1.1.0-ballot-1 | |||
| Draft as of 2025-07-07 | Computable Name: ERPTPrescriptionStructureMapKBVCompoundingMedication | |||
Mapping-Anweisungen zur Transformation von KBV Rezeptur-Medikamenten zu BfArM T-Prescription Format
map "https://gematik.de/fhir/erp-t-prescription/StructureMap/ERPTPrescriptionStructureMapKBVCompoundingMedication" = "ERPTPrescriptionStructureMapKBVCompoundingMedication" // Mapping-Anweisungen zur Transformation von KBV Rezeptur-Medikamenten zu BfArM T-Prescription Format uses "http://hl7.org/fhir/StructureDefinition/Medication" alias kbvMedicationCompounding as source uses "http://hl7.org/fhir/StructureDefinition/Medication" alias bfarmMedication as target // Mapping-Anweisungen zur Transformation von KBV Rezeptur-Medikamenten zu BfArM T-Prescription Format group ERPTPrescriptionStructureMapKBVCompoundingMedication(source kbvMedicationCompounding : kbvMedicationCompounding, target bfarmMedication : bfarmMedication) { kbvMedicationCompounding.extension as extVar -> bfarmMedication.extension as tgtExtVar then { extVar as extMatchVar where url='https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Packaging' -> tgtExtVar.url = 'https://gematik.de/fhir/epa-medication/StructureDefinition/medication-formulation-packaging-extension' then { extMatchVar.value as extValVar -> tgtExtVar.value = extValVar "copyExtensionValue"; // Übernimmt den Verpackungswert für die Rezeptur } "copyFormulaPackagingExtensionUrl"; // Transformiert KBV-Verpackungs-Extension in gematik-Formulierungs-Verpackungs-Extension } "medicationExt"; // Mappt Rezeptur-spezifische Extensions von KBV- zu BfArM-Format kbvMedicationCompounding.id as IdVar -> bfarmMedication.id = IdVar "medicationId"; // Übernimmt die eindeutige Medication-ID unverändert kbvMedicationCompounding.code as srcCodeVar -> bfarmMedication.code as tgtCodeVar then { srcCodeVar.text as srcCodeTextVar -> tgtCodeVar.text = srcCodeTextVar "medicationCodeText"; // Kopiert die Bezeichnung der Rezeptur (z.B. 'Hydrocortison-Salbe 1%') } "medicationCode"; // Mappt den Rezeptur-Code mit Bezeichnung kbvMedicationCompounding.form as formVar -> bfarmMedication.form = formVar "medicationForm"; // Übernimmt die Darreichungsform der Rezeptur (Salbe, Creme, Kapseln, etc.) kbvMedicationCompounding.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 Rezeptur') 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' "copyPackagingSizeExtensionUrl"; // Wandelt KBV-Packungsgrößen-Extension in gematik EPA-Medication Extension um amountNumExtVar.value as extValVar -> tgtAmountNumExtVar.value = extValVar "copyExtensionValue"; // Übernimmt den Packungsgrößenwert für die Rezeptur } "medicationAmountExt"; // Transformiert Packungsgrößen-Extensions für Rezepturen amountNumeratorVar.value as amountNumeratorValueVar -> tgtAmountNumeratorVar.value = amountNumeratorValueVar "medicationAmountNumeratorValue"; // Kopiert den numerischen Wert der Gesamtmenge (z.B. '50' für 50g Salbe) amountNumeratorVar.unit as amountNumeratorUnitVar -> tgtAmountNumeratorVar.unit = amountNumeratorUnitVar "medicationAmountNumeratorUnit"; // Übernimmt die Mengeneinheit für die Rezeptur (g, ml, Stück, 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 die detaillierte Mengenangabe der Rezeptur } "medicationAmount"; // Mappt die Gesamtmenge der herzustellenden Rezeptur kbvMedicationCompounding.ingredient as ingredientVar -> bfarmMedication.ingredient as tgtIngredientVar then { ingredientVar.item as IngredientItemValueVar -> tgtIngredientVar.item = IngredientItemValueVar "medicationIngredientItemValue"; // Kopiert die Referenz oder den Code des Rezeptur-Bestandteils ingredientVar.extension as IngredientExtVar -> tgtIngredientVar.extension as tgtIngredientExtVar then { IngredientExtVar where url='https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Ingredient_Form' -> tgtIngredientExtVar.url = 'https://gematik.de/fhir/epa-medication/StructureDefinition/medication-ingredient-darreichungsform-extension' then { IngredientExtVar.value as extValVar -> tgtIngredientExtVar.value = extValVar "copyExtensionValue"; // Übernimmt die Darreichungsform des Bestandteils } "copyIngredientFormExtensionUrl"; // Wandelt KBV-Bestandteil-Darreichungsform-Extension in gematik-Format um } "medicationIngredientExt"; // Transformiert Bestandteil-spezifische Extensions ingredientVar.strength as IngredientStrengthValueVar -> tgtIngredientVar.strength as IngredientStrengthValueVar then { IngredientStrengthValueVar.denominator as ingredientDenominatorVar -> IngredientStrengthValueVar.denominator = ingredientDenominatorVar "medicationIngredientDenominator"; // Kopiert den Nenner für die Stärkeangabe (Bezugsmenge) IngredientStrengthValueVar.numerator as ingredientNumeratorVar -> IngredientStrengthValueVar.numerator = ingredientNumeratorVar "medicationIngredientNumerator"; // Kopiert den Zähler für die Stärkeangabe (Wirkstoffmenge) IngredientStrengthValueVar.extension as IngredientStrExtVar -> IngredientStrengthValueVar.extension as tgtIngredientStrExtVar then { IngredientStrExtVar where url='https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Ingredient_Amount' -> tgtIngredientStrExtVar.url = 'https://gematik.de/fhir/epa-medication/StructureDefinition/medication-ingredient-amount-extension' then { IngredientStrExtVar.value as extValVar -> tgtIngredientStrExtVar.value = extValVar "copyExtensionValue"; // Übernimmt die Mengenangabe des Bestandteils } "copyIngredientAmountExtensionUrl"; // Wandelt KBV-Bestandteil-Mengen-Extension in gematik-Format um } "medicationIngredientStrengthExt"; // Transformiert Bestandteil-Mengen-Extensions } "medicationIngredientStrength"; // Mappt die Stärke/Konzentration des Bestandteils in der Rezeptur } "medicationIngredient"; // Mappt die Bestandteile der Rezeptur mit detaillierten Mengen- und Stärkeangaben }