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

: E-T-Rezept Structure Map for MedicationRequest - TTL Representation

Draft as of 2025-07-07

Raw ttl | Download


@prefix fhir: <http://hl7.org/fhir/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

# - resource -------------------------------------------------------------------

 a fhir:StructureMap ;
  fhir:nodeRole fhir:treeRoot ;
  fhir:id [ fhir:v "ERPTPrescriptionStructureMapMedicationRequest"] ; # 
  fhir:text [
fhir:status [ fhir:v "generated" ] ;
fhir:div "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: StructureMap ERPTPrescriptionStructureMapMedicationRequest</b></p><a name=\"ERPTPrescriptionStructureMapMedicationRequest\"> </a><a name=\"hcERPTPrescriptionStructureMapMedicationRequest\"> </a><pre class=\"fml\">#xD;\n<b>map</b><span style=\"color: navy\"> \"</span>https://gematik.de/fhir/erp-t-prescription/StructureMap/ERPTPrescriptionStructureMapMedicationRequest<span style=\"color: navy\">\" = \"</span>ERPTPrescriptionStructureMapMedicationRequest<span style=\"color: navy\">\"#xD;\n#xD;\n</span><span style=\"color: navy\">// </span><span style=\"color: green\">Mapping-Anweisungen zur Transformation von KBV MedicationRequest zu BfArM T-Prescription MedicationRequest</span>#xD;\n#xD;\n<b>uses</b><span style=\"color: navy\"> \"</span><a href=\"https://simplifier.net/resolve?scope=kbv.ita.erp@1.4.0-alpha&amp;canonical=https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription\" title=\"KBV_PR_ERP_Prescription\">https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription</a><span style=\"color: navy\">\" </span><b>alias </b>kbvMedicationRequest <b>as </b><b>source</b>#xD;\n<b>uses</b><span style=\"color: navy\"> \"</span><a href=\"StructureDefinition-erp-tprescription-medication-request.html\" title=\"E-T-Rezept Medication Request\">https://gematik.de/fhir/erp-t-prescription/StructureDefinition/erp-tprescription-medication-request</a><span style=\"color: navy\">\" </span><b>alias </b>bfarmMedicationRequest <b>as </b><b>target</b>#xD;\n#xD;\n<span style=\"color: navy\">// </span><span style=\"color: green\">Mapping-Anweisungen zur Transformation von KBV MedicationRequest zu BfArM T-Prescription MedicationRequest</span>#xD;\n<b>group </b>ERPTPrescriptionStructureMapMedicationRequest<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">kbvMedicationRequest</span><span style=\"color: navy\"> : </span>kbvMedicationRequest, <b>target</b> <span style=\"color: maroon\">bfarmMedicationRequest</span><span style=\"color: navy\"> : </span>bfarmMedicationRequest<span style=\"color: navy\">)</span><span style=\"color: navy\"> {#xD;\n</span>  kbvMedicationRequest.status<b> as </b><span style=\"color: maroon\">srcStatus</span><span style=\"color: navy\"><b> -&gt; </b></span>bfarmMedicationRequest.status = <span style=\"color: blue\">'completed'</span> <i>\"medicationRequestStatus\"</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Setzt den Status auf 'completed' für den digitalen Durchschlag (Verschreibung ist bereits abgeschlossen)</span>#xD;\n  kbvMedicationRequest.intent<span style=\"color: navy\"><b> -&gt; </b></span>bfarmMedicationRequest.intent = <span style=\"color: blue\">'order'</span> <i>\"medicationRequestIntent\"</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Setzt den Intent auf 'order' entsprechend der BfArM-Spezifikation für T-Prescription</span>#xD;\n  kbvMedicationRequest.extension<b> as </b><span style=\"color: maroon\">extVar</span><span style=\"color: navy\"><b> -&gt; </b></span>bfarmMedicationRequest.extension<b> as </b><span style=\"color: maroon\">tgtExtVar</span><b> then</b><span style=\"color: navy\"> {#xD;\n</span>    extVar<b> as </b><span style=\"color: maroon\">extMatchVar</span><b> where </b>url='https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Teratogenic'<span style=\"color: navy\"><b> -&gt; </b></span>tgtExtVar.url = <span style=\"color: blue\">'https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Teratogenic'</span><b> then</b><span style=\"color: navy\"> {#xD;\n</span>      extMatchVar.extension<b> as </b><span style=\"color: maroon\">extValVar</span><span style=\"color: navy\"><b> -&gt; </b></span>tgtExtVar.extension = <span style=\"color: maroon\">extValVar</span> <i>\"copyExtensionValue\"</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Übernimmt den Wert der teratogenen Extension unverändert</span>#xD;\n    <span style=\"color: navy\">}</span> <i>\"copyTPrescriptionExtensionUrl\"</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Kopiert teratogene Extensions für T-Rezept Kennzeichnung</span>#xD;\n  <span style=\"color: navy\">}</span> <i>\"medicationRequestExt\"</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Mappt T-Rezept spezifische Extensions vom KBV- zum BfArM-Format</span>#xD;\n  kbvMedicationRequest.subject<b> as </b><span style=\"color: maroon\">srcSubject</span><span style=\"color: navy\"><b> -&gt; </b></span>bfarmMedicationRequest.subject<b> as </b><span style=\"color: maroon\">tgtSubject</span><b> then</b><span style=\"color: navy\"> {#xD;\n</span>    kbvMedicationRequest.subject<b> as </b><span style=\"color: maroon\">srcSubject</span><span style=\"color: navy\"><b> -&gt; </b></span>tgtSubject.extension<b> as </b><span style=\"color: maroon\">tgtSubjectExtension</span><b> then</b><span style=\"color: navy\"> {#xD;\n</span>      kbvMedicationRequest.subject<b> as </b><span style=\"color: maroon\">srcSubject</span><span style=\"color: navy\"><b> -&gt; </b></span> tgtSubjectExtension.url = <span style=\"color: blue\">'http://hl7.org/fhir/StructureDefinition/data-absent-reason'</span><span style=\"color: navy\">, </span> tgtSubjectExtension.value = <b>cast</b><span style=\"color: navy\">(</span><span style=\"color: blue\">'not-permitted'</span><span style=\"color: navy\">, </span><span style=\"color: blue\">'code'</span><span style=\"color: navy\">)</span> <i>\"medicationRequestsubjectExtensionContent\"</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Setzt data-absent-reason auf 'not-permitted' um Patientendaten zu anonymisieren</span>#xD;\n    <span style=\"color: navy\">}</span> <i>\"medicationRequestsubjectExtension\"</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Erstellt data-absent-reason Extension für Subject</span>#xD;\n  <span style=\"color: navy\">}</span> <i>\"medicationRequestsubject\"</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Entfernt Patientenbezug durch data-absent-reason Extension für Datenschutz im digitalen Durchschlag</span>#xD;\n  kbvMedicationRequest.authoredOn<b> as </b><span style=\"color: maroon\">srcAuthoredOnVar</span><span style=\"color: navy\"><b> -&gt; </b></span>bfarmMedicationRequest.authoredOn = <span style=\"color: maroon\">srcAuthoredOnVar</span> <i>\"medicationRequestAuthoredOn\"</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Übernimmt das Verschreibungsdatum unverändert vom KBV MedicationRequest</span>#xD;\n  kbvMedicationRequest.dosageInstruction<b> as </b><span style=\"color: maroon\">srcDosageInstructionVar</span><span style=\"color: navy\"><b> -&gt; </b></span>bfarmMedicationRequest.dosageInstruction = <span style=\"color: maroon\">srcDosageInstructionVar</span> <i>\"medicationRequestDosageInstruction\"</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Kopiert die Dosierungsanweisungen vollständig für den digitalen Durchschlag</span>#xD;\n  kbvMedicationRequest.dispenseRequest<b> as </b><span style=\"color: maroon\">srcDispenseRequestVar</span><span style=\"color: navy\"><b> -&gt; </b></span>bfarmMedicationRequest.dispenseRequest = <span style=\"color: maroon\">srcDispenseRequestVar</span> <i>\"medicationRequestDispenseRequest\"</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Übernimmt Abgabeanweisungen (Menge, Wiederholungen) aus der ursprünglichen Verschreibung</span>#xD;\n  kbvMedicationRequest.medication<b> as </b><span style=\"color: maroon\">medicationVar</span><span style=\"color: navy\"><b> -&gt; </b></span>bfarmMedicationRequest.medication = <span style=\"color: maroon\">medicationVar</span> <i>\"medicationReference\"</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Kopiert die Medikamentenreferenz - das referenzierte Medication wird separat gemappt</span>#xD;\n<span style=\"color: navy\">}#xD;\n#xD;\n</span></pre></div>"^^rdf:XMLLiteral
  ] ; # 
  fhir:url [ fhir:v "https://gematik.de/fhir/erp-t-prescription/StructureMap/ERPTPrescriptionStructureMapMedicationRequest"^^xsd:anyURI] ; # 
  fhir:version [ fhir:v "1.1.0-ballot-1"] ; # 
  fhir:name [ fhir:v "ERPTPrescriptionStructureMapMedicationRequest"] ; # 
  fhir:title [ fhir:v "E-T-Rezept Structure Map for MedicationRequest"] ; # 
  fhir:status [ fhir:v "draft"] ; # 
  fhir:experimental [ fhir:v false] ; # 
  fhir:date [ fhir:v "2025-07-07"^^xsd:date] ; # 
  fhir:publisher [ fhir:v "gematik GmbH"] ; # 
  fhir:contact ( [
fhir:name [ fhir:v "gematik GmbH" ] ;
    ( fhir:telecom [
fhir:system [ fhir:v "url" ] ;
fhir:value [ fhir:v "https://gematik.de" ]     ] [
fhir:system [ fhir:v "email" ] ;
fhir:value [ fhir:v "erp-umsetzung@gematik.de" ]     ] )
  ] ) ; # 
  fhir:description [ fhir:v "Mapping-Anweisungen zur Transformation von KBV MedicationRequest zu BfArM T-Prescription MedicationRequest"] ; # 
  fhir:jurisdiction ( [
    ( fhir:coding [
fhir:system [ fhir:v "urn:iso:std:iso:3166"^^xsd:anyURI ] ;
fhir:code [ fhir:v "DE" ] ;
fhir:display [ fhir:v "Germany" ]     ] )
  ] ) ; # 
  fhir:structure ( [
fhir:url [
fhir:v "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription"^^xsd:anyURI ;
fhir:link <https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription>     ] ;
fhir:mode [ fhir:v "source" ] ;
fhir:alias [ fhir:v "kbvMedicationRequest" ]
  ] [
fhir:url [
fhir:v "https://gematik.de/fhir/erp-t-prescription/StructureDefinition/erp-tprescription-medication-request"^^xsd:anyURI ;
fhir:link <https://gematik.de/fhir/erp-t-prescription/StructureDefinition/erp-tprescription-medication-request>     ] ;
fhir:mode [ fhir:v "target" ] ;
fhir:alias [ fhir:v "bfarmMedicationRequest" ]
  ] ) ; # 
  fhir:group ( [
fhir:name [ fhir:v "ERPTPrescriptionStructureMapMedicationRequest" ] ;
fhir:typeMode [ fhir:v "none" ] ;
fhir:documentation [ fhir:v "Mapping-Anweisungen zur Transformation von KBV MedicationRequest zu BfArM T-Prescription MedicationRequest" ] ;
    ( fhir:input [
fhir:name [ fhir:v "kbvMedicationRequest" ] ;
fhir:type [ fhir:v "kbvMedicationRequest" ] ;
fhir:mode [ fhir:v "source" ]     ] [
fhir:name [ fhir:v "bfarmMedicationRequest" ] ;
fhir:type [ fhir:v "bfarmMedicationRequest" ] ;
fhir:mode [ fhir:v "target" ]     ] ) ;
    ( fhir:rule [
fhir:name [ fhir:v "medicationRequestStatus" ] ;
      ( fhir:source [
fhir:context [ fhir:v "kbvMedicationRequest" ] ;
fhir:element [ fhir:v "status" ] ;
fhir:variable [ fhir:v "srcStatus" ]       ] ) ;
      ( fhir:target [
fhir:context [ fhir:v "bfarmMedicationRequest" ] ;
fhir:contextType [ fhir:v "variable" ] ;
fhir:element [ fhir:v "status" ] ;
fhir:transform [ fhir:v "copy" ] ;
        ( fhir:parameter [
fhir:value [
a fhir:string ;
fhir:v "completed"           ]         ] )       ] ) ;
fhir:documentation [ fhir:v "Setzt den Status auf 'completed' für den digitalen Durchschlag (Verschreibung ist bereits abgeschlossen)" ]     ] [
fhir:name [ fhir:v "medicationRequestIntent" ] ;
      ( fhir:source [
fhir:context [ fhir:v "kbvMedicationRequest" ] ;
fhir:element [ fhir:v "intent" ]       ] ) ;
      ( fhir:target [
fhir:context [ fhir:v "bfarmMedicationRequest" ] ;
fhir:contextType [ fhir:v "variable" ] ;
fhir:element [ fhir:v "intent" ] ;
fhir:transform [ fhir:v "copy" ] ;
        ( fhir:parameter [
fhir:value [
a fhir:string ;
fhir:v "order"           ]         ] )       ] ) ;
fhir:documentation [ fhir:v "Setzt den Intent auf 'order' entsprechend der BfArM-Spezifikation für T-Prescription" ]     ] [
fhir:name [ fhir:v "medicationRequestExt" ] ;
      ( fhir:source [
fhir:context [ fhir:v "kbvMedicationRequest" ] ;
fhir:element [ fhir:v "extension" ] ;
fhir:variable [ fhir:v "extVar" ]       ] ) ;
      ( fhir:target [
fhir:context [ fhir:v "bfarmMedicationRequest" ] ;
fhir:contextType [ fhir:v "variable" ] ;
fhir:element [ fhir:v "extension" ] ;
fhir:variable [ fhir:v "tgtExtVar" ]       ] ) ;
      ( fhir:rule [
fhir:name [ fhir:v "copyTPrescriptionExtensionUrl" ] ;
        ( fhir:source [
fhir:context [ fhir:v "extVar" ] ;
fhir:variable [ fhir:v "extMatchVar" ] ;
fhir:condition [ fhir:v "url='https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Teratogenic'" ]         ] ) ;
        ( fhir:target [
fhir:context [ fhir:v "tgtExtVar" ] ;
fhir:contextType [ fhir:v "variable" ] ;
fhir:element [ fhir:v "url" ] ;
fhir:transform [ fhir:v "copy" ] ;
          ( fhir:parameter [
fhir:value [
a fhir:string ;
fhir:v "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Teratogenic"             ]           ] )         ] ) ;
        ( fhir:rule [
fhir:name [ fhir:v "copyExtensionValue" ] ;
          ( fhir:source [
fhir:context [ fhir:v "extMatchVar" ] ;
fhir:element [ fhir:v "extension" ] ;
fhir:variable [ fhir:v "extValVar" ]           ] ) ;
          ( fhir:target [
fhir:context [ fhir:v "tgtExtVar" ] ;
fhir:contextType [ fhir:v "variable" ] ;
fhir:element [ fhir:v "extension" ] ;
fhir:transform [ fhir:v "copy" ] ;
            ( fhir:parameter [
fhir:value [
a fhir:id ;
fhir:v "extValVar"               ]             ] )           ] ) ;
fhir:documentation [ fhir:v "Übernimmt den Wert der teratogenen Extension unverändert" ]         ] ) ;
fhir:documentation [ fhir:v "Kopiert teratogene Extensions für T-Rezept Kennzeichnung" ]       ] ) ;
fhir:documentation [ fhir:v "Mappt T-Rezept spezifische Extensions vom KBV- zum BfArM-Format" ]     ] [
fhir:name [ fhir:v "medicationRequestsubject" ] ;
      ( fhir:source [
fhir:context [ fhir:v "kbvMedicationRequest" ] ;
fhir:element [ fhir:v "subject" ] ;
fhir:variable [ fhir:v "srcSubject" ]       ] ) ;
      ( fhir:target [
fhir:context [ fhir:v "bfarmMedicationRequest" ] ;
fhir:contextType [ fhir:v "variable" ] ;
fhir:element [ fhir:v "subject" ] ;
fhir:variable [ fhir:v "tgtSubject" ]       ] ) ;
      ( fhir:rule [
fhir:name [ fhir:v "medicationRequestsubjectExtension" ] ;
        ( fhir:source [
fhir:context [ fhir:v "kbvMedicationRequest" ] ;
fhir:element [ fhir:v "subject" ] ;
fhir:variable [ fhir:v "srcSubject" ]         ] ) ;
        ( fhir:target [
fhir:context [ fhir:v "tgtSubject" ] ;
fhir:contextType [ fhir:v "variable" ] ;
fhir:element [ fhir:v "extension" ] ;
fhir:variable [ fhir:v "tgtSubjectExtension" ]         ] ) ;
        ( fhir:rule [
fhir:name [ fhir:v "medicationRequestsubjectExtensionContent" ] ;
          ( fhir:source [
fhir:context [ fhir:v "kbvMedicationRequest" ] ;
fhir:element [ fhir:v "subject" ] ;
fhir:variable [ fhir:v "srcSubject" ]           ] ) ;
          ( fhir:target [
fhir:context [ fhir:v "tgtSubjectExtension" ] ;
fhir:contextType [ fhir:v "variable" ] ;
fhir:element [ fhir:v "url" ] ;
fhir:transform [ fhir:v "copy" ] ;
            ( fhir:parameter [
fhir:value [
a fhir:string ;
fhir:v "http://hl7.org/fhir/StructureDefinition/data-absent-reason"               ]             ] )           ] [
fhir:context [ fhir:v "tgtSubjectExtension" ] ;
fhir:contextType [ fhir:v "variable" ] ;
fhir:element [ fhir:v "value" ] ;
fhir:transform [ fhir:v "cast" ] ;
            ( fhir:parameter [
fhir:value [
a fhir:string ;
fhir:v "not-permitted"               ]             ] [
fhir:value [
a fhir:string ;
fhir:v "code"               ]             ] )           ] ) ;
fhir:documentation [ fhir:v "Setzt data-absent-reason auf 'not-permitted' um Patientendaten zu anonymisieren" ]         ] ) ;
fhir:documentation [ fhir:v "Erstellt data-absent-reason Extension für Subject" ]       ] ) ;
fhir:documentation [ fhir:v "Entfernt Patientenbezug durch data-absent-reason Extension für Datenschutz im digitalen Durchschlag" ]     ] [
fhir:name [ fhir:v "medicationRequestAuthoredOn" ] ;
      ( fhir:source [
fhir:context [ fhir:v "kbvMedicationRequest" ] ;
fhir:element [ fhir:v "authoredOn" ] ;
fhir:variable [ fhir:v "srcAuthoredOnVar" ]       ] ) ;
      ( fhir:target [
fhir:context [ fhir:v "bfarmMedicationRequest" ] ;
fhir:contextType [ fhir:v "variable" ] ;
fhir:element [ fhir:v "authoredOn" ] ;
fhir:transform [ fhir:v "copy" ] ;
        ( fhir:parameter [
fhir:value [
a fhir:id ;
fhir:v "srcAuthoredOnVar"           ]         ] )       ] ) ;
fhir:documentation [ fhir:v "Übernimmt das Verschreibungsdatum unverändert vom KBV MedicationRequest" ]     ] [
fhir:name [ fhir:v "medicationRequestDosageInstruction" ] ;
      ( fhir:source [
fhir:context [ fhir:v "kbvMedicationRequest" ] ;
fhir:element [ fhir:v "dosageInstruction" ] ;
fhir:variable [ fhir:v "srcDosageInstructionVar" ]       ] ) ;
      ( fhir:target [
fhir:context [ fhir:v "bfarmMedicationRequest" ] ;
fhir:contextType [ fhir:v "variable" ] ;
fhir:element [ fhir:v "dosageInstruction" ] ;
fhir:transform [ fhir:v "copy" ] ;
        ( fhir:parameter [
fhir:value [
a fhir:id ;
fhir:v "srcDosageInstructionVar"           ]         ] )       ] ) ;
fhir:documentation [ fhir:v "Kopiert die Dosierungsanweisungen vollständig für den digitalen Durchschlag" ]     ] [
fhir:name [ fhir:v "medicationRequestDispenseRequest" ] ;
      ( fhir:source [
fhir:context [ fhir:v "kbvMedicationRequest" ] ;
fhir:element [ fhir:v "dispenseRequest" ] ;
fhir:variable [ fhir:v "srcDispenseRequestVar" ]       ] ) ;
      ( fhir:target [
fhir:context [ fhir:v "bfarmMedicationRequest" ] ;
fhir:contextType [ fhir:v "variable" ] ;
fhir:element [ fhir:v "dispenseRequest" ] ;
fhir:transform [ fhir:v "copy" ] ;
        ( fhir:parameter [
fhir:value [
a fhir:id ;
fhir:v "srcDispenseRequestVar"           ]         ] )       ] ) ;
fhir:documentation [ fhir:v "Übernimmt Abgabeanweisungen (Menge, Wiederholungen) aus der ursprünglichen Verschreibung" ]     ] [
fhir:name [ fhir:v "medicationReference" ] ;
      ( fhir:source [
fhir:context [ fhir:v "kbvMedicationRequest" ] ;
fhir:element [ fhir:v "medication" ] ;
fhir:variable [ fhir:v "medicationVar" ]       ] ) ;
      ( fhir:target [
fhir:context [ fhir:v "bfarmMedicationRequest" ] ;
fhir:contextType [ fhir:v "variable" ] ;
fhir:element [ fhir:v "medication" ] ;
fhir:transform [ fhir:v "copy" ] ;
        ( fhir:parameter [
fhir:value [
a fhir:id ;
fhir:v "medicationVar"           ]         ] )       ] ) ;
fhir:documentation [ fhir:v "Kopiert die Medikamentenreferenz - das referenzierte Medication wird separat gemappt" ]     ] )
  ] ) . #