TIFlow - Datenaustausch BfArM Webdienst
Version 2.0.0-ballot.1 - ci-build

## StructureMap: E-T-Rezept Structure Map for Medication

Official URL: https://gematik.de/fhir/erp-t-prescription/StructureMap/ERPTPrescriptionStructureMapGEMMedication | Version: 2.0.0-ballot.1
Draft as of 2026-05-26 | Computable Name: ERPTPrescriptionStructureMapGEMMedication

Maps GEM ERP Medication to BfArM T-Prescription Medication format

    map "https://gematik.de/fhir/erp-t-prescription/StructureMap/ERPTPrescriptionStructureMapGEMMedication" = "ERPTPrescriptionStructureMapGEMMedication"

    // Maps GEM ERP Medication to BfArM T-Prescription Medication format

    uses "http://hl7.org/fhir/StructureDefinition/Medication" alias gematikMedication as source
    uses "http://hl7.org/fhir/StructureDefinition/Medication" alias bfarmMedication as target

    // Mapping-Anweisungen zur Transformation von gematik ERP-Medikamenten zu BfArM T-Prescription Format
    group ERPTPrescriptionStructureMapGEMMedication(source gematikMedication : gematikMedication, target bfarmMedication : bfarmMedication) {
      gematikMedication.id as IdVar -> bfarmMedication.id = IdVar "medicationId"; // Übernimmt die eindeutige Medication-ID unverändert
      gematikMedication.contained as ContainedVar -> bfarmMedication.contained = ContainedVar "mapContainedRessources"; // Kopiert eingebettete Ressourcen (z.B. referenzierte Medications oder Organizations)
      gematikMedication.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
        } "copyNormgroesseExtensionUrl"; // Übernimmt die Normgröße-Extension unverändert (deutsche Packungsgrößenangabe N1, N2, N3)
        extVar where url='https://gematik.de/fhir/epa-medication/StructureDefinition/medication-formulation-packaging-extension' -> tgtExtVar.url = 'https://gematik.de/fhir/epa-medication/StructureDefinition/medication-formulation-packaging-extension' then {
          extVar.value as extValVar -> tgtExtVar.value = extValVar "copyExtensionValue"; // Kopiert den Wert der Verpackungs-Extension
        } "copyPackagingExtensionUrl"; // Übernimmt die gematik-Verpackungs-Extension für Formulierungen
      } "medicationExtension"; // Mappt gematik-spezifische Medication-Extensions zu BfArM-Format
      gematikMedication.code as codeVar -> bfarmMedication.code = codeVar "medicationCode"; // Kopiert den Medikamentencode (PZN oder andere Identifikation) des abgegebenen Arzneimittels
      gematikMedication.form as formVar -> bfarmMedication.form = formVar "medicationForm"; // Übernimmt die Darreichungsform des tatsächlich abgegebenen Arzneimittels
      gematikMedication.amount as amountVar -> bfarmMedication.amount = amountVar "medicationAmount"; // Kopiert die Mengenangaben des abgegebenen Arzneimittels (tatsächlich ausgehändigte Menge)
      gematikMedication.ingredient as ingredientVar -> bfarmMedication.ingredient = ingredientVar "medicationIngredient"; // Übernimmt Wirkstoffinformationen des abgegebenen Arzneimittels (falls vorhanden)
    }