Implementation Guide
TIFlow - Verordnungen für Arzneimittel
Version 2.0.0-ballot.2 - ballot

## StructureMap: KBVPrErpBundleMap

Official URL: https://gematik.de/fhir/structure-comparer/StructureMap/KBVPrErpBundleMap | Version: 2.0.0-ballot.2
Draft as of 2026-02-02 | Computable Name: KBVPrErpBundleMap

Auto-generated StructureMap for transformation KBV_PR_ERP_Bundle | 1.4.0 -> EPAOpProvidePrescriptionERPInputParameters | 1.3.0

### Feld-Mappings

Quelle (Eingangsdaten) | Ziel (Ausgabedaten) | Aktion | Transformation & Beschreibung
--- | --- | --- | ---
`KBVPRERPBundle` | `EPAOpProvidePrescriptionERPInputParameters.parameter.name` | Fester Wert | setzt festen Wert: `rxPrescription`
`KBVPRERPBundle` | `EPAOpProvidePrescriptionERPInputParameters.parameter.part.name` | Fester Wert | setzt festen Wert: `authoredOn`
`KBVPRERPBundle.entry.resource.authoredOn` `[Bedingung: resource.meta.profile.where($this.contains('https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription')).exists()]` | `EPAOpProvidePrescriptionERPInputParameters.parameter.part.value` | Kopiert | übernimmt Wert aus Quellvariable
`KBVPRERPBundle` | `EPAOpProvidePrescriptionERPInputParameters.parameter.part.name` | Fester Wert | setzt festen Wert: `medication`
`KBVPRERPBundle.entry` `[Bedingung: resource is Medication]` | — | Dokumentiert | Bundle.entry:RezeptierdatenPZNVerordnung.resource -> .parameter:rxPrescription.part:medication.resource using KBV_PR_ERP_Medication_PZN|1.4.0 -> EPAMedication|1.3.0
`KBVPRERPBundle.entry.resource` `[Bedingung: resource is Medication]` | `EPAOpProvidePrescriptionERPInputParameters.parameter.part.resource` | Erstellt · Delegiert | Verwendet StructureMap: KBVPrErpMedicationPznMap Ressource: Medication erstellt neues https://gematik.de/fhir/epa-medication/StructureDefinition/epa-medication
`KBVPRERPBundle.entry` `[Bedingung: resource is Medication]` | — | Dokumentiert | Bundle.entry:RezeptierdatenWirkstoffverordnung.resource -> .parameter:rxPrescription.part:medication.resource using KBV_PR_ERP_Medication_Ingredient|1.4.0 -> EPAMedication|1.3.0
`KBVPRERPBundle.entry.resource` `[Bedingung: resource is Medication]` | `EPAOpProvidePrescriptionERPInputParameters.parameter.part.resource` | Erstellt · Delegiert | Verwendet StructureMap: KBVPrErpMedicationIngredientMap Ressource: Medication erstellt neues https://gematik.de/fhir/epa-medication/StructureDefinition/epa-medication
`KBVPRERPBundle.entry` `[Bedingung: resource is Medication]` | — | Dokumentiert | Bundle.entry:RezeptierdatenRezepturverordnung.resource -> .parameter:rxPrescription.part:medication.resource using KBV_PR_ERP_Medication_Compounding|1.4.0 -> EPAMedication|1.3.0
`KBVPRERPBundle.entry.resource` `[Bedingung: resource is Medication]` | `EPAOpProvidePrescriptionERPInputParameters.parameter.part.resource` | Erstellt · Delegiert | Verwendet StructureMap: KBVPrErpMedicationCompoundingMap Ressource: Medication erstellt neues https://gematik.de/fhir/epa-medication/StructureDefinition/epa-medication
`KBVPRERPBundle.entry` `[Bedingung: resource is Medication]` | — | Dokumentiert | Bundle.entry:RezeptierdatenFreitextverordnung.resource -> .parameter:rxPrescription.part:medication.resource using KBV_PR_ERP_Medication_FreeText|1.4.0 -> EPAMedication|1.3.0
`KBVPRERPBundle.entry.resource` `[Bedingung: resource is Medication]` | `EPAOpProvidePrescriptionERPInputParameters.parameter.part.resource` | Erstellt · Delegiert | Verwendet StructureMap: KBVPrErpMedicationFreetextMap Ressource: Medication erstellt neues https://gematik.de/fhir/epa-medication/StructureDefinition/epa-medication
`KBVPRERPBundle` | `EPAOpProvidePrescriptionERPInputParameters.parameter.part.name` | Fester Wert | setzt festen Wert: `medicationRequest`
`KBVPRERPBundle.entry` `[Bedingung: resource is MedicationRequest]` | — | Dokumentiert | Bundle.entry:VerordnungArzneimittel.resource -> .parameter:rxPrescription.part:medicationRequest.resource using KBV_PR_ERP_Prescription|1.4.0 -> EPAMedicationRequest|1.3.0
`KBVPRERPBundle.entry.resource` `[Bedingung: resource is MedicationRequest]` | `EPAOpProvidePrescriptionERPInputParameters.parameter.part.resource` | Erstellt · Delegiert | Verwendet StructureMap: KBVPrErpPrescriptionMap Ressource: MedicationRequest erstellt neues https://gematik.de/fhir/epa-medication/StructureDefinition/epa-medication-request
`KBVPRERPBundle` | `EPAOpProvidePrescriptionERPInputParameters.parameter.part.name` | Fester Wert | setzt festen Wert: `organization`
`KBVPRERPBundle.entry` `[Bedingung: resource is Organization]` | — | Dokumentiert | Bundle.entry:Einrichtung.resource -> .parameter:rxPrescription.part:organization.resource using KBV_PR_FOR_Organization|1.3.0 -> OrganizationDirectory|1.0.0
`KBVPRERPBundle.entry.resource` `[Bedingung: resource is Organization]` | `EPAOpProvidePrescriptionERPInputParameters.parameter.part.resource` | Erstellt · Delegiert | Verwendet StructureMap: KBVPrForOrganizationMap Ressource: Organization erstellt neues https://gematik.de/fhir/directory/StructureDefinition/OrganizationDirectory
`KBVPRERPBundle` | `EPAOpProvidePrescriptionERPInputParameters.parameter.part.name` | Fester Wert | setzt festen Wert: `practitioner`
`KBVPRERPBundle.entry` `[Bedingung: resource is Practitioner]` | — | Dokumentiert | Bundle.entry:AusstellendeVerschreibendeVerantwortlichePerson.resource -> .parameter:rxPrescription.part:practitioner.resource using KBV_PR_FOR_Practitioner|1.3.0 -> PractitionerDirectory|1.0.0
`KBVPRERPBundle.entry.resource` `[Bedingung: resource is Practitioner]` | `EPAOpProvidePrescriptionERPInputParameters.parameter.part.resource` | Erstellt · Delegiert | Verwendet StructureMap: KBVPrForPractitionerMap Ressource: Practitioner erstellt neues https://gematik.de/fhir/directory/StructureDefinition/PractitionerDirectory
`KBVPRERPBundle` | `EPAOpProvidePrescriptionERPInputParameters.parameter.part.name` | Fester Wert | setzt festen Wert: `prescriptionId`
`KBVPRERPBundle.identifier.value` | `EPAOpProvidePrescriptionERPInputParameters.parameter.part.value` | Kopiert | übernimmt Wert aus Quellvariable

    map "https://gematik.de/fhir/structure-comparer/StructureMap/KBVPrErpBundleMap" = "KBVPrErpBundleMap"

    // Auto-generated StructureMap for transformation KBV_PR_ERP_Bundle|1.4.0 -> EPAOpProvidePrescriptionERPInputParameters|1.3.0

    uses "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Bundle" alias KBVPRERPBundle as source
    uses "https://gematik.de/fhir/epa-medication/StructureDefinition/epa-op-provide-prescription-erp-input-parameters" alias EPAOpProvidePrescriptionERPInputParameters as target

    imports "https://gematik.de/fhir/structure-comparer/StructureMap/KBVPrErpMedicationCompoundingMap"
    imports "https://gematik.de/fhir/structure-comparer/StructureMap/KBVPrErpMedicationFreetextMap"
    imports "https://gematik.de/fhir/structure-comparer/StructureMap/KBVPrErpMedicationIngredientMap"
    imports "https://gematik.de/fhir/structure-comparer/StructureMap/KBVPrErpMedicationPznMap"
    imports "https://gematik.de/fhir/structure-comparer/StructureMap/KBVPrErpPrescriptionMap"
    imports "https://gematik.de/fhir/structure-comparer/StructureMap/KBVPrForOrganizationMap"
    imports "https://gematik.de/fhir/structure-comparer/StructureMap/KBVPrForPractitionerMap"

    // Transformation generated for KBV_PR_ERP_Bundle|1.4.0 -> EPAOpProvidePrescriptionERPInputParameters|1.3.0
    group KBVPrErpBundleMap(source KBVPRERPBundle : KBVPRERPBundle, target EPAOpProvidePrescriptionERPInputParameters : EPAOpProvidePrescriptionERPInputParameters) <<types>> {
      KBVPRERPBundle -> EPAOpProvidePrescriptionERPInputParameters.parameter as targetParameterRxprescriptionParameter77d85b46 then {
        KBVPRERPBundle -> targetParameterRxprescriptionParameter77d85b46.name = 'rxPrescription' "SetParameterRxprescriptionName";
        KBVPRERPBundle -> targetParameterRxprescriptionParameter77d85b46.part as targetPartAuthoredonPartb106c48f then {
          KBVPRERPBundle -> targetPartAuthoredonPartb106c48f.name = 'authoredOn' "SetPartAuthoredonName";
          KBVPRERPBundle.entry as inlinesourceParametersParameterRxprescriptionPartAuthoredonValue where resource.meta.profile.where($this.contains('https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription')).exists() then {
            inlinesourceParametersParameterRxprescriptionPartAuthoredonValue.resource as inlinesourceParametersParameterRxprescriptionPartAuthoredonValue then {
              inlinesourceParametersParameterRxprescriptionPartAuthoredonValue.authoredOn as inlinesourceParametersParameterRxprescriptionPartAuthoredonValue -> targetPartAuthoredonPartb106c48f.value = inlinesourceParametersParameterRxprescriptionPartAuthoredonValue as inlinetargetParametersParameterRxprescriptionPartAuthoredonValue "InlineParametersParameterRxprescriptionPartAuthoredonValueX1c6fc";
            } "InlineParametersParameterRxprescriptionPartAuthoredonValueX1c6fc";
          } "InlineParametersParameterRxprescriptionPartAuthoredonValueX1c6fc"; // Automatic copy
        } "PartAuthoredonPartContainer"; // Creates part:authoredOn part container aggregating 1 child rule(s)
        KBVPRERPBundle -> targetParameterRxprescriptionParameter77d85b46.part as targetPartMedicationPart88f31ec4 then {
          KBVPRERPBundle -> targetPartMedicationPart88f31ec4.name = 'medication' "SetPartMedicationName";
          KBVPRERPBundle.entry as sourceBundleEntryRezeptierdatenpznverordnungResource0Entry4c4ad0 where resource is Medication then {
            sourceBundleEntryRezeptierdatenpznverordnungResource0Entry4c4ad0.resource as sourceBundleEntryRezeptierdatenpznverordnungResource1Resource3bd then {
              sourceBundleEntryRezeptierdatenpznverordnungResource1Resource3bd -> targetPartMedicationPart88f31ec4.resource = create('https://gematik.de/fhir/epa-medication/StructureDefinition/epa-medication') as targetParameterRxprescriptionPartMedicationResourceResource38c62 then KBVPrErpMedicationPznMap(sourceBundleEntryRezeptierdatenpznverordnungResource1Resource3bd, targetParameterRxprescriptionPartMedicationResourceResource38c62) "CallKbvprerpmedicationpznmap";
            } "BundleEntryRezeptierdatenpznverordnungResource7400f329";
          } "BundleEntryRezeptierdatenpznverordnungResource7400f329"; // Bundle.entry:RezeptierdatenPZNVerordnung.resource -> .parameter:rxPrescription.part:medication.resource using KBV_PR_ERP_Medication_PZN|1.4.0 -> EPAMedication|1.3.0
          KBVPRERPBundle.entry as sourceBundleEntryRezeptierdatenwirkstoffverordnungResource0Ent6b where resource is Medication then {
            sourceBundleEntryRezeptierdatenwirkstoffverordnungResource0Ent6b.resource as sourceBundleEntryRezeptierdatenwirkstoffverordnungResource1Res9f then {
              sourceBundleEntryRezeptierdatenwirkstoffverordnungResource1Res9f -> targetPartMedicationPart88f31ec4.resource = create('https://gematik.de/fhir/epa-medication/StructureDefinition/epa-medication') as targetParameterRxprescriptionPartMedicationResourceResource38c62 then KBVPrErpMedicationIngredientMap(sourceBundleEntryRezeptierdatenwirkstoffverordnungResource1Res9f, targetParameterRxprescriptionPartMedicationResourceResource38c62) "CallKbvprerpmedicationingredientmap";
            } "BundleEntryRezeptierdatenwirkstoffverordnungResource7400f329";
          } "BundleEntryRezeptierdatenwirkstoffverordnungResource7400f329"; // Bundle.entry:RezeptierdatenWirkstoffverordnung.resource -> .parameter:rxPrescription.part:medication.resource using KBV_PR_ERP_Medication_Ingredient|1.4.0 -> EPAMedication|1.3.0
          KBVPRERPBundle.entry as sourceBundleEntryRezeptierdatenrezepturverordnungResource0Entr83 where resource is Medication then {
            sourceBundleEntryRezeptierdatenrezepturverordnungResource0Entr83.resource as sourceBundleEntryRezeptierdatenrezepturverordnungResource1Resocd then {
              sourceBundleEntryRezeptierdatenrezepturverordnungResource1Resocd -> targetPartMedicationPart88f31ec4.resource = create('https://gematik.de/fhir/epa-medication/StructureDefinition/epa-medication') as targetParameterRxprescriptionPartMedicationResourceResource38c62 then KBVPrErpMedicationCompoundingMap(sourceBundleEntryRezeptierdatenrezepturverordnungResource1Resocd, targetParameterRxprescriptionPartMedicationResourceResource38c62) "CallKbvprerpmedicationcompoundingmap";
            } "BundleEntryRezeptierdatenrezepturverordnungResource7400f329";
          } "BundleEntryRezeptierdatenrezepturverordnungResource7400f329"; // Bundle.entry:RezeptierdatenRezepturverordnung.resource -> .parameter:rxPrescription.part:medication.resource using KBV_PR_ERP_Medication_Compounding|1.4.0 -> EPAMedication|1.3.0
          KBVPRERPBundle.entry as sourceBundleEntryRezeptierdatenfreitextverordnungResource0Entrb4 where resource is Medication then {
            sourceBundleEntryRezeptierdatenfreitextverordnungResource0Entrb4.resource as sourceBundleEntryRezeptierdatenfreitextverordnungResource1Resob3 then {
              sourceBundleEntryRezeptierdatenfreitextverordnungResource1Resob3 -> targetPartMedicationPart88f31ec4.resource = create('https://gematik.de/fhir/epa-medication/StructureDefinition/epa-medication') as targetParameterRxprescriptionPartMedicationResourceResource38c62 then KBVPrErpMedicationFreetextMap(sourceBundleEntryRezeptierdatenfreitextverordnungResource1Resob3, targetParameterRxprescriptionPartMedicationResourceResource38c62) "CallKbvprerpmedicationfreetextmap";
            } "BundleEntryRezeptierdatenfreitextverordnungResource7400f329";
          } "BundleEntryRezeptierdatenfreitextverordnungResource7400f329"; // Bundle.entry:RezeptierdatenFreitextverordnung.resource -> .parameter:rxPrescription.part:medication.resource using KBV_PR_ERP_Medication_FreeText|1.4.0 -> EPAMedication|1.3.0
        } "PartMedicationPartContainer"; // Creates part:medication part container aggregating 4 child rule(s)
        KBVPRERPBundle -> targetParameterRxprescriptionParameter77d85b46.part as targetPartMedicationrequestPart3ea10d80 then {
          KBVPRERPBundle -> targetPartMedicationrequestPart3ea10d80.name = 'medicationRequest' "SetPartMedicationrequestName";
          KBVPRERPBundle.entry as sourceBundleEntryVerordnungarzneimittelResource0Entry3c6c2e1b where resource is MedicationRequest then {
            sourceBundleEntryVerordnungarzneimittelResource0Entry3c6c2e1b.resource as sourceBundleEntryVerordnungarzneimittelResource1Resource61f06fbc then {
              sourceBundleEntryVerordnungarzneimittelResource1Resource61f06fbc -> targetPartMedicationrequestPart3ea10d80.resource = create('https://gematik.de/fhir/epa-medication/StructureDefinition/epa-medication-request') as targetParameterRxprescriptionPartMedicationrequestResourceReso52 then KBVPrErpPrescriptionMap(sourceBundleEntryVerordnungarzneimittelResource1Resource61f06fbc, targetParameterRxprescriptionPartMedicationrequestResourceReso52) "CallKbvprerpprescriptionmap";
            } "BundleEntryVerordnungarzneimittelResource890c831b";
          } "BundleEntryVerordnungarzneimittelResource890c831b"; // Bundle.entry:VerordnungArzneimittel.resource -> .parameter:rxPrescription.part:medicationRequest.resource using KBV_PR_ERP_Prescription|1.4.0 -> EPAMedicationRequest|1.3.0
        } "PartMedicationrequestPartContainer"; // Creates part:medicationRequest part container aggregating 1 child rule(s)
        KBVPRERPBundle -> targetParameterRxprescriptionParameter77d85b46.part as targetPartOrganizationPart5252e12d then {
          KBVPRERPBundle -> targetPartOrganizationPart5252e12d.name = 'organization' "SetPartOrganizationName";
          KBVPRERPBundle.entry as sourceBundleEntryEinrichtungResource0Entry6bfa77fa where resource is Organization then {
            sourceBundleEntryEinrichtungResource0Entry6bfa77fa.resource as sourceBundleEntryEinrichtungResource1Resource45328e4f then {
              sourceBundleEntryEinrichtungResource1Resource45328e4f -> targetPartOrganizationPart5252e12d.resource = create('https://gematik.de/fhir/directory/StructureDefinition/OrganizationDirectory') as targetParameterRxprescriptionPartOrganizationResourceResource43b then KBVPrForOrganizationMap(sourceBundleEntryEinrichtungResource1Resource45328e4f, targetParameterRxprescriptionPartOrganizationResourceResource43b) "CallKbvprfororganizationmap";
            } "BundleEntryEinrichtungResourceB36f36fb";
          } "BundleEntryEinrichtungResourceB36f36fb"; // Bundle.entry:Einrichtung.resource -> .parameter:rxPrescription.part:organization.resource using KBV_PR_FOR_Organization|1.3.0 -> OrganizationDirectory|1.0.0
        } "PartOrganizationPartContainer"; // Creates part:organization part container aggregating 1 child rule(s)
        KBVPRERPBundle -> targetParameterRxprescriptionParameter77d85b46.part as targetPartPractitionerParte111e9d1 then {
          KBVPRERPBundle -> targetPartPractitionerParte111e9d1.name = 'practitioner' "SetPartPractitionerName";
          KBVPRERPBundle.entry as sourceBundleEntryAusstellendeverschreibendeverantwortlichepersb5 where resource is Practitioner then {
            sourceBundleEntryAusstellendeverschreibendeverantwortlichepersb5.resource as sourceBundleEntryAusstellendeverschreibendeverantwortlicheperse9 then {
              sourceBundleEntryAusstellendeverschreibendeverantwortlicheperse9 -> targetPartPractitionerParte111e9d1.resource = create('https://gematik.de/fhir/directory/StructureDefinition/PractitionerDirectory') as targetParameterRxprescriptionPartPractitionerResourceResource62d then KBVPrForPractitionerMap(sourceBundleEntryAusstellendeverschreibendeverantwortlicheperse9, targetParameterRxprescriptionPartPractitionerResourceResource62d) "CallKbvprforpractitionermap";
            } "BundleEntryAusstellendeverschreibendeverantwortlichepersonResour";
          } "BundleEntryAusstellendeverschreibendeverantwortlichepersonResour"; // Bundle.entry:AusstellendeVerschreibendeVerantwortlichePerson.resource -> .parameter:rxPrescription.part:practitioner.resource using KBV_PR_FOR_Practitioner|1.3.0 -> PractitionerDirectory|1.0.0
        } "PartPractitionerPartContainer"; // Creates part:practitioner part container aggregating 1 child rule(s)
        KBVPRERPBundle -> targetParameterRxprescriptionParameter77d85b46.part as targetPartPrescriptionidPartee663288 then {
          KBVPRERPBundle -> targetPartPrescriptionidPartee663288.name = 'prescriptionId' "SetPartPrescriptionidName";
          KBVPRERPBundle.identifier as inlinesourceParametersParameterRxprescriptionPartPrescriptionidV then {
            inlinesourceParametersParameterRxprescriptionPartPrescriptionidV.value as inlinesourceParametersParameterRxprescriptionPartPrescriptionidV -> targetPartPrescriptionidPartee663288.value = inlinesourceParametersParameterRxprescriptionPartPrescriptionidV as inlinetargetParametersParameterRxprescriptionPartPrescriptionidV "InlineParametersParameterRxprescriptionPartPrescriptionidValueX9";
          } "InlineParametersParameterRxprescriptionPartPrescriptionidValueX9"; // Automatic copy
        } "PartPrescriptionidPartContainer"; // Creates part:prescriptionId part container aggregating 1 child rule(s)
      } "ParameterRxprescriptionContainer"; // Creates parameter:rxPrescription parameter container aggregating 6 part(s)
    }