Implementation Guide
E-T-Rezept Datenaustausch
Version 1.1.0-ballot-1 - ballot

StructureMap: E-T-Rezept Structure Map for Medication

Official URL: https://gematik.de/fhir/erp-t-prescription/StructureMap/ERPTPrescriptionStructureMapGEMMedication Version: 1.1.0-ballot-1
Draft as of 2025-07-07 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)
}