FHIR © HL7.org  |  FHIRsmith 4.0.1  |  Server Home  |  XIG Home  |  XIG Stats  | 

FHIR IG analytics

Packagede.gematik.erp-t-prescription
Resource TypeStructureMap
IdStructureMap-ERPTPrescriptionStructureMapKBVPZNMedication.json
FHIR VersionR4

Resources that use this resource

No resources found


Resources that this resource uses

No resources found


Narrative

Note: links and images are rebased to the (stated) source

Generated Narrative: StructureMap ERPTPrescriptionStructureMapKBVPZNMedication

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) {
  // Mappt Medication-Extensions von KBV- zu BfArM-Format
  kbvMedicationPZN.extension as extVar -> bfarmMedication.extension as tgtExtVar then {
    // Übernimmt die Normgröße-Extension unverändert (deutsche Packungsgrößenangabe)
    extVar where (url='http://fhir.de/StructureDefinition/normgroesse') -> tgtExtVar.url = 'http://fhir.de/StructureDefinition/normgroesse' then {
      // Kopiert den Wert der Normgröße-Extension (N1, N2, N3)
      extVar.value as extValVar -> tgtExtVar.value = extValVar "copyExtensionValue";
    } "copyNormgroesseExtensionUrl";
  } "medicationExt";
  // Übernimmt die eindeutige Medication-ID unverändert
  kbvMedicationPZN.id as IdVar -> bfarmMedication.id = IdVar "medicationId";
  // Kopiert den Medikamentencode (PZN - Pharmazentralnummer) für die eindeutige Identifikation
  kbvMedicationPZN.code as codeVar -> bfarmMedication.code = codeVar "medicationCode";
  // Übernimmt die Darreichungsform (Tabletten, Kapseln, Tropfen, etc.)
  kbvMedicationPZN.form as formVar -> bfarmMedication.form = formVar "medicationForm";
  // Mappt die Mengenangaben des Fertigarzneimittels (Packungsgröße und Inhalt)
  kbvMedicationPZN.amount as amountVar -> bfarmMedication.amount as tgtAmountVar then {
    // Kopiert den Nenner der Mengenangabe (z.B. '1' für 'pro Packung')
    amountVar.denominator as amountDenominatorVar -> tgtAmountVar.denominator = amountDenominatorVar "medicationAmountDenominator";
    // Mappt den Zähler der Mengenangabe mit allen Details (Wert, Einheit, Extensions)
    amountVar.numerator as amountNumeratorVar -> tgtAmountVar.numerator as tgtAmountNumeratorVar then {
      // Transformiert Packungsgrößen-Extensions von KBV- zu gematik-Format
      amountNumeratorVar.extension as amountNumExtVar -> tgtAmountNumeratorVar.extension as tgtAmountNumExtVar then {
        // Wandelt KBV-Packungsgrößen-Extension in gematik EPA-Medication Extension um
        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 {
          // Übernimmt den Packungsgrößenwert unverändert
          amountNumExtVar.value as extValVar -> tgtAmountNumExtVar.value = extValVar "copyExtensionValue";
        } "copyPackagingSizeExtensionUrl";
      } "medicationAmountExt";
      // Kopiert den numerischen Wert der Menge (z.B. '20' für 20 Tabletten)
      amountNumeratorVar.value as amountNumeratorValueVar -> tgtAmountNumeratorVar.value = amountNumeratorValueVar "medicationAmountNumeratorValue";
      // Übernimmt die Mengeneinheit (Stück, ml, g, etc.)
      amountNumeratorVar.unit as amountNumeratorUnitVar -> tgtAmountNumeratorVar.unit = amountNumeratorUnitVar "medicationAmountNumeratorUnit";
      // Kopiert das Codesystem für die Mengeneinheit (meist UCUM)
      amountNumeratorVar.system as amountNumeratorSystemVar -> tgtAmountNumeratorVar.system = amountNumeratorSystemVar "medicationAmountNumeratorSystem";
      // Übernimmt den standardisierten Code für die Mengeneinheit
      amountNumeratorVar.code as amountNumeratorCodeVar -> tgtAmountNumeratorVar.code = amountNumeratorCodeVar "medicationAmountNumeratorCode";
    } "medicationAmountNumerator";
  } "medicationAmount";
  // Kopiert Wirkstoffinformationen (bei PZN-Medikamenten meist nicht detailliert angegeben)
  kbvMedicationPZN.ingredient as ingredientVar -> bfarmMedication.ingredient = ingredientVar "medicationIngredient";
}


Source1

{
  "resourceType": "StructureMap",
  "id": "ERPTPrescriptionStructureMapKBVPZNMedication",
  "text": {
    "status": "generated",
    "div": "<!-- snip (see above) -->"
  },
  "url": "https://gematik.de/fhir/erp-t-prescription/StructureMap/ERPTPrescriptionStructureMapKBVPZNMedication",
  "version": "1.2.0",
  "name": "ERPTPrescriptionStructureMapKBVPZNMedication",
  "title": "E-T-Rezept Structure Map for KBV PZN Medication",
  "status": "active",
  "experimental": false,
  "date": "2026-07-27",
  "publisher": "gematik GmbH",
  "contact": [
    {
      "name": "gematik GmbH",
      "telecom": [
        {
          "system": "url",
          "value": "https://gematik.de"
        },
        {
          "system": "email",
          "value": "erp-umsetzung@gematik.de"
        }
      ]
    }
  ],
  "description": "Mapping-Anweisungen zur Transformation von KBV PZN-Medikamenten zu BfArM T-Prescription Format",
  "jurisdiction": [
    {
      "coding": [
        {
          "system": "urn:iso:std:iso:3166",
          "code": "DE",
          "display": "Germany"
        }
      ]
    }
  ],
  "structure": [
    {
      "url": "http://hl7.org/fhir/StructureDefinition/Medication",
      "mode": "source",
      "alias": "kbvMedicationPZN"
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/Medication",
      "mode": "target",
      "alias": "bfarmMedication"
    }
  ],
  "group": [
    {
      "name": "ERPTPrescriptionStructureMapKBVPZNMedication",
      "typeMode": "none",
      "documentation": "Mapping-Anweisungen zur Transformation von KBV PZN-Medikamenten zu BfArM T-Prescription Format",
      "input": [
        {
          "name": "kbvMedicationPZN",
          "type": "kbvMedicationPZN",
          "mode": "source"
        },
        {
          "name": "bfarmMedication",
          "type": "bfarmMedication",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "medicationExt",
          "source": [
            {
              "context": "kbvMedicationPZN",
              "element": "extension",
              "variable": "extVar"
            }
          ],
          "target": [
            {
              "context": "bfarmMedication",
              "contextType": "variable",
              "element": "extension",
              "variable": "tgtExtVar"
            }
          ],
          "rule": [
            {
              "name": "copyNormgroesseExtensionUrl",
              "source": [
                {
                  "context": "extVar",
                  "condition": "url='http://fhir.de/StructureDefinition/normgroesse'"
                }
              ],
              "target": [
                {
                  "context": "tgtExtVar",
                  "contextType": "variable",
                  "element": "url",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "http://fhir.de/StructureDefinition/normgroesse"
                    }
                  ]
                }
              ],
              "rule": [
                {
                  "name": "copyExtensionValue",
                  "source": [
                    {
                      "context": "extVar",
                      "element": "value",
                      "variable": "extValVar"
                    }
                  ],
                  "target": [
                    {
                      "context": "tgtExtVar",
                      "contextType": "variable",
                      "element": "value",
                      "transform": "copy",
                      "parameter": [
                        {
                          "valueId": "extValVar"
                        }
                      ]
                    }
                  ],
                  "documentation": "Kopiert den Wert der Normgröße-Extension (N1, N2, N3)"
                }
              ],
              "documentation": "Übernimmt die Normgröße-Extension unverändert (deutsche Packungsgrößenangabe)"
            }
          ],
          "documentation": "Mappt Medication-Extensions von KBV- zu BfArM-Format"
        },
        {
          "name": "medicationId",
          "source": [
            {
              "context": "kbvMedicationPZN",
              "element": "id",
              "variable": "IdVar"
            }
          ],
          "target": [
            {
              "context": "bfarmMedication",
              "contextType": "variable",
              "element": "id",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "IdVar"
                }
              ]
            }
          ],
          "documentation": "Übernimmt die eindeutige Medication-ID unverändert"
        },
        {
          "name": "medicationCode",
          "source": [
            {
              "context": "kbvMedicationPZN",
              "element": "code",
              "variable": "codeVar"
            }
          ],
          "target": [
            {
              "context": "bfarmMedication",
              "contextType": "variable",
              "element": "code",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "codeVar"
                }
              ]
            }
          ],
          "documentation": "Kopiert den Medikamentencode (PZN - Pharmazentralnummer) für die eindeutige Identifikation"
        },
        {
          "name": "medicationForm",
          "source": [
            {
              "context": "kbvMedicationPZN",
              "element": "form",
              "variable": "formVar"
            }
          ],
          "target": [
            {
              "context": "bfarmMedication",
              "contextType": "variable",
              "element": "form",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "formVar"
                }
              ]
            }
          ],
          "documentation": "Übernimmt die Darreichungsform (Tabletten, Kapseln, Tropfen, etc.)"
        },
        {
          "name": "medicationAmount",
          "source": [
            {
              "context": "kbvMedicationPZN",
              "element": "amount",
              "variable": "amountVar"
            }
          ],
          "target": [
            {
              "context": "bfarmMedication",
              "contextType": "variable",
              "element": "amount",
              "variable": "tgtAmountVar"
            }
          ],
          "rule": [
            {
              "name": "medicationAmountDenominator",
              "source": [
                {
                  "context": "amountVar",
                  "element": "denominator",
                  "variable": "amountDenominatorVar"
                }
              ],
              "target": [
                {
                  "context": "tgtAmountVar",
                  "contextType": "variable",
                  "element": "denominator",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueId": "amountDenominatorVar"
                    }
                  ]
                }
              ],
              "documentation": "Kopiert den Nenner der Mengenangabe (z.B. '1' für 'pro Packung')"
            },
            {
              "name": "medicationAmountNumerator",
              "source": [
                {
                  "context": "amountVar",
                  "element": "numerator",
                  "variable": "amountNumeratorVar"
                }
              ],
              "target": [
                {
                  "context": "tgtAmountVar",
                  "contextType": "variable",
                  "element": "numerator",
                  "variable": "tgtAmountNumeratorVar"
                }
              ],
              "rule": [
                {
                  "name": "medicationAmountExt",
                  "source": [
                    {
                      "context": "amountNumeratorVar",
                      "element": "extension",
                      "variable": "amountNumExtVar"
                    }
                  ],
                  "target": [
                    {
                      "context": "tgtAmountNumeratorVar",
                      "contextType": "variable",
                      "element": "extension",
                      "variable": "tgtAmountNumExtVar"
                    }
                  ],
                  "rule": [
                    {
                      "name": "copyPackagingSizeExtensionUrl",
                      "source": [
                        {
                          "context": "amountNumExtVar",
                          "condition": "url='https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_PackagingSize'"
                        }
                      ],
                      "target": [
                        {
                          "context": "tgtAmountNumExtVar",
                          "contextType": "variable",
                          "element": "url",
                          "transform": "copy",
                          "parameter": [
                            {
                              "valueString": "https://gematik.de/fhir/epa-medication/StructureDefinition/medication-packaging-size-extension"
                            }
                          ]
                        }
                      ],
                      "rule": [
                        {
                          "name": "copyExtensionValue",
                          "source": [
                            {
                              "context": "amountNumExtVar",
                              "element": "value",
                              "variable": "extValVar"
                            }
                          ],
                          "target": [
                            {
                              "context": "tgtAmountNumExtVar",
                              "contextType": "variable",
                              "element": "value",
                              "transform": "copy",
                              "parameter": [
                                {
                                  "valueId": "extValVar"
                                }
                              ]
                            }
                          ],
                          "documentation": "Übernimmt den Packungsgrößenwert unverändert"
                        }
                      ],
                      "documentation": "Wandelt KBV-Packungsgrößen-Extension in gematik EPA-Medication Extension um"
                    }
                  ],
                  "documentation": "Transformiert Packungsgrößen-Extensions von KBV- zu gematik-Format"
                },
                {
                  "name": "medicationAmountNumeratorValue",
                  "source": [
                    {
                      "context": "amountNumeratorVar",
                      "element": "value",
                      "variable": "amountNumeratorValueVar"
                    }
                  ],
                  "target": [
                    {
                      "context": "tgtAmountNumeratorVar",
                      "contextType": "variable",
                      "element": "value",
                      "transform": "copy",
                      "parameter": [
                        {
                          "valueId": "amountNumeratorValueVar"
                        }
                      ]
                    }
                  ],
                  "documentation": "Kopiert den numerischen Wert der Menge (z.B. '20' für 20 Tabletten)"
                },
                {
                  "name": "medicationAmountNumeratorUnit",
                  "source": [
                    {
                      "context": "amountNumeratorVar",
                      "element": "unit",
                      "variable": "amountNumeratorUnitVar"
                    }
                  ],
                  "target": [
                    {
                      "context": "tgtAmountNumeratorVar",
                      "contextType": "variable",
                      "element": "unit",
                      "transform": "copy",
                      "parameter": [
                        {
                          "valueId": "amountNumeratorUnitVar"
                        }
                      ]
                    }
                  ],
                  "documentation": "Übernimmt die Mengeneinheit (Stück, ml, g, etc.)"
                },
                {
                  "name": "medicationAmountNumeratorSystem",
                  "source": [
                    {
                      "context": "amountNumeratorVar",
                      "element": "system",
                      "variable": "amountNumeratorSystemVar"
                    }
                  ],
                  "target": [
                    {
                      "context": "tgtAmountNumeratorVar",
                      "contextType": "variable",
                      "element": "system",
                      "transform": "copy",
                      "parameter": [
                        {
                          "valueId": "amountNumeratorSystemVar"
                        }
                      ]
                    }
                  ],
                  "documentation": "Kopiert das Codesystem für die Mengeneinheit (meist UCUM)"
                },
                {
                  "name": "medicationAmountNumeratorCode",
                  "source": [
                    {
                      "context": "amountNumeratorVar",
                      "element": "code",
                      "variable": "amountNumeratorCodeVar"
                    }
                  ],
                  "target": [
                    {
                      "context": "tgtAmountNumeratorVar",
                      "contextType": "variable",
                      "element": "code",
                      "transform": "copy",
                      "parameter": [
                        {
                          "valueId": "amountNumeratorCodeVar"
                        }
                      ]
                    }
                  ],
                  "documentation": "Übernimmt den standardisierten Code für die Mengeneinheit"
                }
              ],
              "documentation": "Mappt den Zähler der Mengenangabe mit allen Details (Wert, Einheit, Extensions)"
            }
          ],
          "documentation": "Mappt die Mengenangaben des Fertigarzneimittels (Packungsgröße und Inhalt)"
        },
        {
          "name": "medicationIngredient",
          "source": [
            {
              "context": "kbvMedicationPZN",
              "element": "ingredient",
              "variable": "ingredientVar"
            }
          ],
          "target": [
            {
              "context": "bfarmMedication",
              "contextType": "variable",
              "element": "ingredient",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "ingredientVar"
                }
              ]
            }
          ],
          "documentation": "Kopiert Wirkstoffinformationen (bei PZN-Medikamenten meist nicht detailliert angegeben)"
        }
      ]
    }
  ]
}