Kerndatensatz Senologie
0.9.0 - ci-build
Kerndatensatz Senologie - Local Development build (v0.9.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
| Draft as of 2026-05-04 |
{
"resourceType" : "StructureMap",
"id" : "SenologieToIqtigMammachirurgie181",
"text" : {
"status" : "generated",
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: StructureMap SenologieToIqtigMammachirurgie181</b></p><a name=\"SenologieToIqtigMammachirurgie181\"> </a><a name=\"hcSenologieToIqtigMammachirurgie181\"> </a><pre class=\"fml\">\r\n<b>map</b><span style=\"color: navy\"> "</span>https://www.senologie.org/fhir/StructureMap/SenologieToIqtigMammachirurgie181<span style=\"color: navy\">" = "</span>SenologieToIqtigMammachirurgie181<span style=\"color: navy\">"\r\n\r\n</span><span style=\"color: navy\">// </span><span style=\"color: green\">title: Senologie FHIR Bundle to IQTIG QS 18.1 Mammachirurgie (Orchestrator)</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">status: draft</span>\r\n\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"http://hl7.org/fhir/R4/bundle.html\" title=\"Bundle\">http://hl7.org/fhir/StructureDefinition/Bundle</a><span style=\"color: navy\">" </span><b>alias </b>Bundle <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"http://hl7.org/fhir/R4/patient.html\" title=\"Patient\">http://hl7.org/fhir/StructureDefinition/Patient</a><span style=\"color: navy\">" </span><b>alias </b>Patient <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"http://hl7.org/fhir/R4/encounter.html\" title=\"Encounter\">http://hl7.org/fhir/StructureDefinition/Encounter</a><span style=\"color: navy\">" </span><b>alias </b>Encounter <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"http://hl7.org/fhir/R4/condition.html\" title=\"Condition\">http://hl7.org/fhir/StructureDefinition/Condition</a><span style=\"color: navy\">" </span><b>alias </b>Condition <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"http://hl7.org/fhir/R4/procedure.html\" title=\"Procedure\">http://hl7.org/fhir/StructureDefinition/Procedure</a><span style=\"color: navy\">" </span><b>alias </b>Procedure <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"http://hl7.org/fhir/R4/observation.html\" title=\"Observation\">http://hl7.org/fhir/StructureDefinition/Observation</a><span style=\"color: navy\">" </span><b>alias </b>Observation <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"http://hl7.org/fhir/R4/specimen.html\" title=\"Specimen\">http://hl7.org/fhir/StructureDefinition/Specimen</a><span style=\"color: navy\">" </span><b>alias </b>Specimen <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"http://hl7.org/fhir/R4/organization.html\" title=\"Organization\">http://hl7.org/fhir/StructureDefinition/Organization</a><span style=\"color: navy\">" </span><b>alias </b>Organization <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"StructureDefinition-iqtig-mammachirurgie-181.html\" title=\"IQTIG QS 18.1 Mammachirurgie (Logical Model)\">https://www.senologie.org/fhir/StructureDefinition/iqtig-mammachirurgie-181</a><span style=\"color: navy\">" </span><b>alias </b>IQTIG181 <b>as </b><b>target</b>\r\n\r\n<b>imports</b><span style=\"color: navy\"> "</span><a href=\"StructureMap-SenologieToIqtigBasis.html\" title=\"SenologieToIqtigBasis\">https://www.senologie.org/fhir/StructureMap/SenologieToIqtigBasis</a><span style=\"color: navy\">"\r\n</span><b>imports</b><span style=\"color: navy\"> "</span><a href=\"StructureMap-SenologieToIqtigBrust.html\" title=\"SenologieToIqtigBrust\">https://www.senologie.org/fhir/StructureMap/SenologieToIqtigBrust</a><span style=\"color: navy\">"\r\n</span><b>imports</b><span style=\"color: navy\"> "</span><a href=\"StructureMap-SenologieToIqtigOperation.html\" title=\"SenologieToIqtigOperation\">https://www.senologie.org/fhir/StructureMap/SenologieToIqtigOperation</a><span style=\"color: navy\">"\r\n</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">============================================================================</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Master Orchestrator: Bundle -> IQTIG QS 18.1 Mammachirurgie</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Empfaengt ein FHIR Bundle mit Senologie-Ressourcen (Patient, Encounter,</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Condition, Procedure, Specimen, Observations) und erzeugt eine vollstaendige</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">IQTIG-QS-Meldung mit den drei Teildatensaetzen:</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">- Teildatensatz Basis (B): Patient + Encounter</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">- Teildatensatz Brust (BRUST): Condition + Pathologie (ein Eintrag je Seite)</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">- Teildatensatz Operation (O): Procedure + Specimen (ein Eintrag je OP)</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Analog zur IRegG-Meldung wird eine einzelne QS-Meldung pro Behandlungsfall</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">erzeugt. Die Zuordnung der Teildatensaetze Brust und Operation erfolgt ueber</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">die laufenden Nummern (LNRBRUST, LNROP).</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">============================================================================</span>\r\n<b>group </b>SenologieToIqtigMammachirurgie181<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">src</span><span style=\"color: navy\"> : </span>Bundle, <b>target</b> <span style=\"color: maroon\">tgt</span><span style=\"color: navy\"> : </span>IQTIG181<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> <span style=\"color: navy\">// </span><span style=\"color: green\">--- Teildatensatz Basis (B) ---</span>\r\n src<span style=\"color: navy\"><b> -> </b></span>tgt.teildatensatzBasis<b> as </b><span style=\"color: maroon\">basis</span><b> then </b>MapBasis<span style=\"color: navy\">(</span><span style=\"color: maroon\">src</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">basis</span><span style=\"color: navy\">)</span> <i>"CallMapBasis"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">--- Teildatensatz Brust (BRUST): pro Condition mit Brust-Diagnose ---</span>\r\n src.entry<b> as </b><span style=\"color: maroon\">entry</span><b> where </b>resource.is(Condition) and (resource.meta.profile.exists($this.contains('senologie-diagnose')) or resource.code.coding.exists((system = 'http://fhir.de/CodeSystem/bfarm/icd-10-gm') and code.startsWith('C50')))<b> then</b><span style=\"color: navy\"> {\r\n</span> entry.resource<b> as </b><span style=\"color: maroon\">condition</span><span style=\"color: navy\"><b> -> </b></span>tgt.teildatensatzBrust<b> as </b><span style=\"color: maroon\">brust</span><b> then </b>MapBrust<span style=\"color: navy\">(</span><span style=\"color: maroon\">condition</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">brust</span><span style=\"color: navy\">)</span> <i>"CallMapBrust"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Bundle lookups for Brust (moved from MapBrust)</span>\r\n src.entry<b> as </b><span style=\"color: maroon\">tEntry</span><b> where </b>resource.is(Observation) and resource.code.coding.exists(code = '21905-5')<b> then</b><span style=\"color: navy\"> {\r\n</span> tEntry.resource<b> as </b><span style=\"color: maroon\">tObs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> tObs.value<b> as </b><span style=\"color: maroon\">val</span><b> then</b><span style=\"color: navy\"> {\r\n</span> val.coding<b> as </b><span style=\"color: maroon\">c</span><b> then</b><span style=\"color: navy\"> {\r\n</span> c.code<b> as </b><span style=\"color: maroon\">cd</span><span style=\"color: navy\"><b> -> </b></span>brust.cT = <span style=\"color: maroon\">cd</span> <i>"SetCT"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapCTCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapCTValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapCTObs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryCT"</i><span style=\"color: navy\">;</span>\r\n src.entry<b> as </b><span style=\"color: maroon\">nEntry</span><b> where </b>resource.is(Observation) and resource.code.coding.exists(code = '21906-3')<b> then</b><span style=\"color: navy\"> {\r\n</span> nEntry.resource<b> as </b><span style=\"color: maroon\">nObs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> nObs.value<b> as </b><span style=\"color: maroon\">val</span><b> then</b><span style=\"color: navy\"> {\r\n</span> val.coding<b> as </b><span style=\"color: maroon\">c</span><b> then</b><span style=\"color: navy\"> {\r\n</span> c.code<b> as </b><span style=\"color: maroon\">cd</span><span style=\"color: navy\"><b> -> </b></span>brust.cN = <span style=\"color: maroon\">cd</span> <i>"SetCN"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapCNCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapCNValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapCNObs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryCN"</i><span style=\"color: navy\">;</span>\r\n src.entry<b> as </b><span style=\"color: maroon\">mEntry</span><b> where </b>resource.is(Observation) and resource.code.coding.exists(code = '21907-1')<b> then</b><span style=\"color: navy\"> {\r\n</span> mEntry.resource<b> as </b><span style=\"color: maroon\">mObs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> mObs.value<b> as </b><span style=\"color: maroon\">val</span><b> then</b><span style=\"color: navy\"> {\r\n</span> val.coding<b> as </b><span style=\"color: maroon\">c</span><b> then</b><span style=\"color: navy\"> {\r\n</span> c.code<b> as </b><span style=\"color: maroon\">cd</span><span style=\"color: navy\"><b> -> </b></span>brust.cM = <span style=\"color: maroon\">cd</span> <i>"SetCM"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapCMCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapCMValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapCMObs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryCM"</i><span style=\"color: navy\">;</span>\r\n src.entry<b> as </b><span style=\"color: maroon\">uiccEntry</span><b> where </b>resource.is(Observation) and resource.code.coding.exists(code = '21902-2')<b> then</b><span style=\"color: navy\"> {\r\n</span> uiccEntry.resource<b> as </b><span style=\"color: maroon\">uiccObs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> uiccObs.value<b> as </b><span style=\"color: maroon\">val</span><b> then</b><span style=\"color: navy\"> {\r\n</span> val.coding<b> as </b><span style=\"color: maroon\">c</span><b> then</b><span style=\"color: navy\"> {\r\n</span> c.code<b> as </b><span style=\"color: maroon\">cd</span><span style=\"color: navy\"><b> -> </b></span>brust.uiccStadiumKlinisch = <span style=\"color: maroon\">cd</span> <i>"SetUICCKlin"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapUICCKlinCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapUICCKlinValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapUICCKlinObs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryUICCKlin"</i><span style=\"color: navy\">;</span>\r\n src.entry<b> as </b><span style=\"color: maroon\">tgEntry</span><b> where </b>resource.is(Observation) and resource.code.coding.exists(code = '44648-0')<b> then</b><span style=\"color: navy\"> {\r\n</span> tgEntry.resource<b> as </b><span style=\"color: maroon\">tgObs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> tgObs.value<b> as </b><span style=\"color: maroon\">val</span><b> then</b><span style=\"color: navy\"> {\r\n</span> val.value<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -> </b></span>brust.tumorgroesseKlinisch = <b>truncate</b><span style=\"color: navy\">(</span><span style=\"color: maroon\">v</span><span style=\"color: navy\">)</span> <i>"SetTGroesseKlin"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapTGroesseKlinValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapTGroesseKlinObs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryTGroesseKlin"</i><span style=\"color: navy\">;</span>\r\n src.entry<b> as </b><span style=\"color: maroon\">bildEntry</span><b> where </b>resource.is(Observation) and resource.meta.profile.exists($this.contains('senologie-bildgebung'))<b> then</b><span style=\"color: navy\"> {\r\n</span> bildEntry.resource<b> as </b><span style=\"color: maroon\">bildObs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> bildObs.method<b> as </b><span style=\"color: maroon\">m</span><b> then</b><span style=\"color: navy\"> {\r\n</span> m.coding<b> as </b><span style=\"color: maroon\">c</span><b> where </b>system = 'http://snomed.info/sct'<b> then</b><span style=\"color: navy\"> {\r\n</span> c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this = '71651007'<span style=\"color: navy\"><b> -> </b></span>brust.bildgebendeMethode = <span style=\"color: blue\">'1'</span> <i>"SetMethMammo"</i><span style=\"color: navy\">;</span>\r\n c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this = '16310003'<span style=\"color: navy\"><b> -> </b></span>brust.bildgebendeMethode = <span style=\"color: blue\">'2'</span> <i>"SetMethSono"</i><span style=\"color: navy\">;</span>\r\n c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this = '113091000'<span style=\"color: navy\"><b> -> </b></span>brust.bildgebendeMethode = <span style=\"color: blue\">'3'</span> <i>"SetMethMRT"</i><span style=\"color: navy\">;</span>\r\n c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this = '710324008'<span style=\"color: navy\"><b> -> </b></span>brust.bildgebendeMethode = <span style=\"color: blue\">'4'</span> <i>"SetMethTomo"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapBildMethodCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapBildMethod"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapBildObs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryBildgebung"</i><span style=\"color: navy\">;</span>\r\n src.entry<b> as </b><span style=\"color: maroon\">biradsEntry</span><b> where </b>resource.is(Observation) and resource.code.coding.exists(code = '72133-2')<b> then</b><span style=\"color: navy\"> {\r\n</span> biradsEntry.resource<b> as </b><span style=\"color: maroon\">biradsObs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> biradsObs.value<b> as </b><span style=\"color: maroon\">val</span><b> then</b><span style=\"color: navy\"> {\r\n</span> val.coding<b> as </b><span style=\"color: maroon\">c</span><b> then</b><span style=\"color: navy\"> {\r\n</span> c.code<b> as </b><span style=\"color: maroon\">cd</span><span style=\"color: navy\"><b> -> </b></span>brust.birads = <span style=\"color: maroon\">cd</span> <i>"SetBIRADS"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapBIRADSCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapBIRADSValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapBIRADSObs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryBIRADS"</i><span style=\"color: navy\">;</span>\r\n src.entry<b> as </b><span style=\"color: maroon\">befEntry</span><b> where </b>resource.is(Observation) and resource.meta.profile.exists($this.contains('senologie-pathologie-befund'))<b> then</b><span style=\"color: navy\"> {\r\n</span> befEntry.resource<b> as </b><span style=\"color: maroon\">befObs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> befObs.value<b> as </b><span style=\"color: maroon\">val</span><b> then</b><span style=\"color: navy\"> {\r\n</span> val.coding<b> as </b><span style=\"color: maroon\">c</span><b> where </b>system = 'https://www.senologie.org/fhir/CodeSystem/cs-senologie-befundcode-b'<b> then</b><span style=\"color: navy\"> {\r\n</span> c.code<b> as </b><span style=\"color: maroon\">cd</span><span style=\"color: navy\"><b> -> </b></span>brust.befundcode = <span style=\"color: maroon\">cd</span> <i>"SetBefundB"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapBefundBCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapBefundValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapBefundObs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryBefund"</i><span style=\"color: navy\">;</span>\r\n src.entry<b> as </b><span style=\"color: maroon\">srEntry</span><b> where </b>resource.is(ServiceRequest) and resource.meta.profile.exists($this.contains('senologie-op-planung'))<b> then</b><span style=\"color: navy\"> {\r\n</span> srEntry.resource<b> as </b><span style=\"color: maroon\">sr</span><b> then</b><span style=\"color: navy\"> {\r\n</span> sr.extension<b> as </b><span style=\"color: maroon\">ext</span><b> where </b>url = 'https://www.senologie.org/fhir/StructureDefinition/preOpMarkierung'<b> then</b><span style=\"color: navy\"> {\r\n</span> ext.value<b> as </b><span style=\"color: maroon\">val</span><b> then</b><span style=\"color: navy\"> {\r\n</span> val.coding<b> as </b><span style=\"color: maroon\">c</span><b> then</b><span style=\"color: navy\"> {\r\n</span> c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this = 'M'<span style=\"color: navy\"><b> -> </b></span>brust.drahtmarkierung = <span style=\"color: blue\">'1'</span> <i>"SetDrahtMammo"</i><span style=\"color: navy\">;</span>\r\n c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this = 'S'<span style=\"color: navy\"><b> -> </b></span>brust.drahtmarkierung = <span style=\"color: blue\">'2'</span> <i>"SetDrahtSono"</i><span style=\"color: navy\">;</span>\r\n c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this = 'T'<span style=\"color: navy\"><b> -> </b></span>brust.drahtmarkierung = <span style=\"color: blue\">'3'</span> <i>"SetDrahtMRT"</i><span style=\"color: navy\">;</span>\r\n c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this = 'N'<span style=\"color: navy\"><b> -> </b></span>brust.drahtmarkierung = <span style=\"color: blue\">'0'</span> <i>"SetDrahtKeine"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapDrahtCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapDrahtValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapDrahtExt"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"SRContext"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryDraht"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryBrust"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">--- Teildatensatz Operation (O): pro Procedure (Senologie_BrustOP / Senologie_Operation) ---</span>\r\n src.entry<b> as </b><span style=\"color: maroon\">entry</span><b> where </b>resource.is(Procedure) and resource.meta.profile.exists($this.contains('senologie-brustop') or $this.contains('senologie-operation'))<b> then</b><span style=\"color: navy\"> {\r\n</span> entry.resource<b> as </b><span style=\"color: maroon\">procedure</span><span style=\"color: navy\"><b> -> </b></span>tgt.teildatensatzOperation<b> as </b><span style=\"color: maroon\">op</span><b> then </b>MapOperation<span style=\"color: navy\">(</span><span style=\"color: maroon\">procedure</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">op</span><span style=\"color: navy\">)</span> <i>"CallMapOperation"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Bundle lookups for Operation (moved from MapOperation)</span>\r\n src.entry<b> as </b><span style=\"color: maroon\">digEntry</span><b> where </b>resource.is(Observation) and resource.code.coding.exists(code = '22748-9')<b> then</b><span style=\"color: navy\"> {\r\n</span> digEntry.resource<b> as </b><span style=\"color: maroon\">digObs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> digObs.value<b> as </b><span style=\"color: maroon\">val</span><b> then</b><span style=\"color: navy\"> {\r\n</span> val.coding<b> as </b><span style=\"color: maroon\">c</span><b> then</b><span style=\"color: navy\"> {\r\n</span> c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this = '1222584008'<span style=\"color: navy\"><b> -> </b></span>op.dignitaetIntraop = <span style=\"color: blue\">'1'</span> <i>"SetDigMaligne"</i><span style=\"color: navy\">;</span>\r\n c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this = '36103009'<span style=\"color: navy\"><b> -> </b></span>op.dignitaetIntraop = <span style=\"color: blue\">'2'</span> <i>"SetDigBenigne"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapDigCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapDigValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapDigObs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryDignitaet"</i><span style=\"color: navy\">;</span>\r\n src.entry<b> as </b><span style=\"color: maroon\">specEntry</span><b> where </b>resource.is(Specimen) and resource.meta.profile.exists($this.contains('senologie-pathologie-praeparat'))<b> then</b><span style=\"color: navy\"> {\r\n</span> specEntry.resource<b> as </b><span style=\"color: maroon\">specimen</span><b> then</b><span style=\"color: navy\"> {\r\n</span> specimen.processing<b> as </b><span style=\"color: maroon\">proc</span><b> where </b>procedure.coding.exists(code = '123038009')<span style=\"color: navy\"><b> -> </b></span>op.intraopSchnellschnitt = <span style=\"color: blue\">'1'</span> <i>"SetSchnellschnittJa"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"SpecContextSS"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntrySchnellschnitt"</i><span style=\"color: navy\">;</span>\r\n src.entry<b> as </b><span style=\"color: maroon\">specEntry2</span><b> where </b>resource.is(Specimen)<b> then</b><span style=\"color: navy\"> {\r\n</span> specEntry2.resource<b> as </b><span style=\"color: maroon\">specimen</span><b> then</b><span style=\"color: navy\"> {\r\n</span> specimen.processing<b> as </b><span style=\"color: maroon\">proc</span><b> then</b><span style=\"color: navy\"> {\r\n</span> proc.procedure<b> as </b><span style=\"color: maroon\">p</span><b> then</b><span style=\"color: navy\"> {\r\n</span> p.coding<b> as </b><span style=\"color: maroon\">c</span><b> where </b>system = 'http://snomed.info/sct'<b> then</b><span style=\"color: navy\"> {\r\n</span> c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this = '71651007'<span style=\"color: navy\"><b> -> </b></span>op.intraopPraeparatkontrolle = <span style=\"color: blue\">'1'</span> <i>"SetPraepkMammo"</i><span style=\"color: navy\">;</span>\r\n c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this = '16310003'<span style=\"color: navy\"><b> -> </b></span>op.intraopPraeparatkontrolle = <span style=\"color: blue\">'2'</span> <i>"SetPraepkSono"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapPraepkCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapPraepkProcedure"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapPraepkProcessing"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"SpecContextPK"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryPraeparatkontrolle"</i><span style=\"color: navy\">;</span>\r\n src.entry<b> as </b><span style=\"color: maroon\">histEntry</span><b> where </b>resource.is(Observation) and resource.code.coding.exists(code = '59847-4')<b> then</b><span style=\"color: navy\"> {\r\n</span> histEntry.resource<b> as </b><span style=\"color: maroon\">histObs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> histObs.value<b> as </b><span style=\"color: maroon\">val</span><b> then</b><span style=\"color: navy\"> {\r\n</span> val.coding<b> as </b><span style=\"color: maroon\">c</span><b> where </b>system = 'urn:oid:2.16.840.1.113883.6.43.1'<span style=\"color: navy\"><b> -> </b></span>op.histologieICDO<b> as </b><span style=\"color: maroon\">histo</span><b> then</b><span style=\"color: navy\"> {\r\n</span> c.code<b> as </b><span style=\"color: maroon\">cd</span><span style=\"color: navy\"><b> -> </b></span>histo.code = <span style=\"color: maroon\">cd</span> <i>"SetHistCode"</i><span style=\"color: navy\">;</span>\r\n c.version<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -> </b></span>histo.version = <span style=\"color: maroon\">v</span> <i>"SetHistVersion"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapHistICDO"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapHistValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapHistObs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryHistologie"</i><span style=\"color: navy\">;</span>\r\n src.entry<b> as </b><span style=\"color: maroon\">gradEntry</span><b> where </b>resource.is(Observation) and resource.code.coding.exists(code = '33732-9')<b> then</b><span style=\"color: navy\"> {\r\n</span> gradEntry.resource<b> as </b><span style=\"color: maroon\">gradObs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> gradObs.value<b> as </b><span style=\"color: maroon\">val</span><b> then</b><span style=\"color: navy\"> {\r\n</span> val.coding<b> as </b><span style=\"color: maroon\">c</span><b> then</b><span style=\"color: navy\"> {\r\n</span> c.code<b> as </b><span style=\"color: maroon\">cd</span><span style=\"color: navy\"><b> -> </b></span>op.grading = <span style=\"color: maroon\">cd</span> <i>"SetGrading"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapGradingCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapGradingValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapGradingObs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryGrading"</i><span style=\"color: navy\">;</span>\r\n src.entry<b> as </b><span style=\"color: maroon\">tgInvEntry</span><b> where </b>resource.is(Observation) and resource.code.coding.exists(code = '33728-7')<b> then</b><span style=\"color: navy\"> {\r\n</span> tgInvEntry.resource<b> as </b><span style=\"color: maroon\">tgInvObs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> tgInvObs.value<b> as </b><span style=\"color: maroon\">val</span><b> then</b><span style=\"color: navy\"> {\r\n</span> val.value<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -> </b></span>op.tumorgroesseInvasiv = <b>truncate</b><span style=\"color: navy\">(</span><span style=\"color: maroon\">v</span><span style=\"color: navy\">)</span> <i>"SetTGroesseInv"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapTGroesseInvValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapTGroesseInvObs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryTGroesseInv"</i><span style=\"color: navy\">;</span>\r\n src.entry<b> as </b><span style=\"color: maroon\">tgDcisEntry</span><b> where </b>resource.is(Observation) and resource.code.coding.exists(code = '44648-0') and resource.meta.profile.exists($this.contains('pathologie'))<b> then</b><span style=\"color: navy\"> {\r\n</span> tgDcisEntry.resource<b> as </b><span style=\"color: maroon\">tgDcisObs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> tgDcisObs.value<b> as </b><span style=\"color: maroon\">val</span><b> then</b><span style=\"color: navy\"> {\r\n</span> val.value<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -> </b></span>op.tumorgroesseDCIS = <b>truncate</b><span style=\"color: navy\">(</span><span style=\"color: maroon\">v</span><span style=\"color: navy\">)</span> <i>"SetTGroesseDCIS"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapTGroesseDCISValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapTGroesseDCISObs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryTGroesseDCIS"</i><span style=\"color: navy\">;</span>\r\n src.entry<b> as </b><span style=\"color: maroon\">mfEntry</span><b> where </b>resource.is(Observation) and resource.code.coding.exists(code = '44638-1')<b> then</b><span style=\"color: navy\"> {\r\n</span> mfEntry.resource<b> as </b><span style=\"color: maroon\">mfObs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> mfObs.value<b> as </b><span style=\"color: maroon\">val</span><b> then</b><span style=\"color: navy\"> {\r\n</span> val.coding<b> as </b><span style=\"color: maroon\">c</span><b> then</b><span style=\"color: navy\"> {\r\n</span> c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this = '56061002'<span style=\"color: navy\"><b> -> </b></span>op.multifokalitaet = <span style=\"color: blue\">'0'</span> <i>"SetMFNein"</i><span style=\"color: navy\">;</span>\r\n c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this = '399566009'<span style=\"color: navy\"><b> -> </b></span>op.multifokalitaet = <span style=\"color: blue\">'1'</span> <i>"SetMFJa"</i><span style=\"color: navy\">;</span>\r\n c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this = '367651003'<span style=\"color: navy\"><b> -> </b></span>op.multifokalitaet = <span style=\"color: blue\">'2'</span> <i>"SetMFMZ"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapMFCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapMFValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapMFObs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryMultifokal"</i><span style=\"color: navy\">;</span>\r\n src.entry<b> as </b><span style=\"color: maroon\">ptEntry</span><b> where </b>resource.is(Observation) and resource.code.coding.exists(code = '21899-0')<b> then</b><span style=\"color: navy\"> {\r\n</span> ptEntry.resource<b> as </b><span style=\"color: maroon\">ptObs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> ptObs.value<b> as </b><span style=\"color: maroon\">val</span><b> then</b><span style=\"color: navy\"> {\r\n</span> val.coding<b> as </b><span style=\"color: maroon\">c</span><b> then</b><span style=\"color: navy\"> {\r\n</span> c.code<b> as </b><span style=\"color: maroon\">cd</span><span style=\"color: navy\"><b> -> </b></span>op.pT = <span style=\"color: maroon\">cd</span> <i>"SetPT"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapPTCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapPTValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapPTObs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryPT"</i><span style=\"color: navy\">;</span>\r\n src.entry<b> as </b><span style=\"color: maroon\">pnEntry</span><b> where </b>resource.is(Observation) and resource.code.coding.exists(code = '21900-6')<b> then</b><span style=\"color: navy\"> {\r\n</span> pnEntry.resource<b> as </b><span style=\"color: maroon\">pnObs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> pnObs.value<b> as </b><span style=\"color: maroon\">val</span><b> then</b><span style=\"color: navy\"> {\r\n</span> val.coding<b> as </b><span style=\"color: maroon\">c</span><b> then</b><span style=\"color: navy\"> {\r\n</span> c.code<b> as </b><span style=\"color: maroon\">cd</span><span style=\"color: navy\"><b> -> </b></span>op.pN = <span style=\"color: maroon\">cd</span> <i>"SetPN"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapPNCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapPNValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapPNObs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryPN"</i><span style=\"color: navy\">;</span>\r\n src.entry<b> as </b><span style=\"color: maroon\">pmEntry</span><b> where </b>resource.is(Observation) and resource.code.coding.exists(code = '21901-4')<b> then</b><span style=\"color: navy\"> {\r\n</span> pmEntry.resource<b> as </b><span style=\"color: maroon\">pmObs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> pmObs.value<b> as </b><span style=\"color: maroon\">val</span><b> then</b><span style=\"color: navy\"> {\r\n</span> val.coding<b> as </b><span style=\"color: maroon\">c</span><b> then</b><span style=\"color: navy\"> {\r\n</span> c.code<b> as </b><span style=\"color: maroon\">cd</span><span style=\"color: navy\"><b> -> </b></span>op.pM = <span style=\"color: maroon\">cd</span> <i>"SetPM"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapPMCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapPMValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapPMObs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryPM"</i><span style=\"color: navy\">;</span>\r\n src.entry<b> as </b><span style=\"color: maroon\">uiccEntry</span><b> where </b>resource.is(Observation) and resource.code.coding.exists(code = '21902-2')<b> then</b><span style=\"color: navy\"> {\r\n</span> uiccEntry.resource<b> as </b><span style=\"color: maroon\">uiccObs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> uiccObs.value<b> as </b><span style=\"color: maroon\">val</span><b> then</b><span style=\"color: navy\"> {\r\n</span> val.coding<b> as </b><span style=\"color: maroon\">c</span><b> then</b><span style=\"color: navy\"> {\r\n</span> c.code<b> as </b><span style=\"color: maroon\">cd</span><span style=\"color: navy\"><b> -> </b></span>op.uiccStadiumPatho = <span style=\"color: maroon\">cd</span> <i>"SetUICCPatho"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapUICCPathoCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapUICCPathoValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapUICCPathoObs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryUICCPatho"</i><span style=\"color: navy\">;</span>\r\n src.entry<b> as </b><span style=\"color: maroon\">lkuEntry</span><b> where </b>resource.is(Observation) and resource.code.coding.exists(code = '21894-1')<b> then</b><span style=\"color: navy\"> {\r\n</span> lkuEntry.resource<b> as </b><span style=\"color: maroon\">lkuObs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> lkuObs.value<b> as </b><span style=\"color: maroon\">val</span><b> then</b><span style=\"color: navy\"> {\r\n</span> val.value<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -> </b></span>op.lkUntersucht = <b>truncate</b><span style=\"color: navy\">(</span><span style=\"color: maroon\">v</span><span style=\"color: navy\">)</span> <i>"SetLKUntersucht"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapLKUntersuchtValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapLKUntersuchtObs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryLKUntersucht"</i><span style=\"color: navy\">;</span>\r\n src.entry<b> as </b><span style=\"color: maroon\">lkbEntry</span><b> where </b>resource.is(Observation) and resource.code.coding.exists(code = '21893-3')<b> then</b><span style=\"color: navy\"> {\r\n</span> lkbEntry.resource<b> as </b><span style=\"color: maroon\">lkbObs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> lkbObs.value<b> as </b><span style=\"color: maroon\">val</span><b> then</b><span style=\"color: navy\"> {\r\n</span> val.value<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -> </b></span>op.lkBefallen = <b>truncate</b><span style=\"color: navy\">(</span><span style=\"color: maroon\">v</span><span style=\"color: navy\">)</span> <i>"SetLKBefallen"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapLKBefallenValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapLKBefallenObs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryLKBefallen"</i><span style=\"color: navy\">;</span>\r\n src.entry<b> as </b><span style=\"color: maroon\">slkuEntry</span><b> where </b>resource.is(Observation) and resource.code.coding.exists(code = '92832-5')<b> then</b><span style=\"color: navy\"> {\r\n</span> slkuEntry.resource<b> as </b><span style=\"color: maroon\">slkuObs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> slkuObs.value<b> as </b><span style=\"color: maroon\">val</span><b> then</b><span style=\"color: navy\"> {\r\n</span> val.value<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -> </b></span>op.sentinelLkUntersucht = <b>truncate</b><span style=\"color: navy\">(</span><span style=\"color: maroon\">v</span><span style=\"color: navy\">)</span> <i>"SetSLKUntersucht"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapSLKUntersuchtValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapSLKUntersuchtObs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntrySLKUntersucht"</i><span style=\"color: navy\">;</span>\r\n src.entry<b> as </b><span style=\"color: maroon\">slkbEntry</span><b> where </b>resource.is(Observation) and resource.code.coding.exists(code = '92833-3')<b> then</b><span style=\"color: navy\"> {\r\n</span> slkbEntry.resource<b> as </b><span style=\"color: maroon\">slkbObs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> slkbObs.value<b> as </b><span style=\"color: maroon\">val</span><b> then</b><span style=\"color: navy\"> {\r\n</span> val.value<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -> </b></span>op.sentinelLkBefallen = <b>truncate</b><span style=\"color: navy\">(</span><span style=\"color: maroon\">v</span><span style=\"color: navy\">)</span> <i>"SetSLKBefallen"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapSLKBefallenValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapSLKBefallenObs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntrySLKBefallen"</i><span style=\"color: navy\">;</span>\r\n src.entry<b> as </b><span style=\"color: maroon\">erEntry</span><b> where </b>resource.is(Observation) and resource.code.coding.exists(code = '85337-4')<b> then</b><span style=\"color: navy\"> {\r\n</span> erEntry.resource<b> as </b><span style=\"color: maroon\">erObs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> erObs.value<b> as </b><span style=\"color: maroon\">val</span><b> then</b><span style=\"color: navy\"> {\r\n</span> val.coding<b> as </b><span style=\"color: maroon\">c</span><b> where </b>code = '10828004'<span style=\"color: navy\"><b> -> </b></span>op.hormonrezeptorStatusER = <span style=\"color: blue\">'P'</span> <i>"SetERPositiv"</i><span style=\"color: navy\">;</span>\r\n val.coding<b> as </b><span style=\"color: maroon\">c</span><b> where </b>code = '260385009'<span style=\"color: navy\"><b> -> </b></span>op.hormonrezeptorStatusER = <span style=\"color: blue\">'N'</span> <i>"SetERNegativ"</i><span style=\"color: navy\">;</span>\r\n val.coding<b> as </b><span style=\"color: maroon\">c</span><b> where </b>code = '261665006'<span style=\"color: navy\"><b> -> </b></span>op.hormonrezeptorStatusER = <span style=\"color: blue\">'U'</span> <i>"SetERUnbekannt"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapERValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapERObs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryER"</i><span style=\"color: navy\">;</span>\r\n src.entry<b> as </b><span style=\"color: maroon\">prEntry</span><b> where </b>resource.is(Observation) and resource.code.coding.exists(code = '85339-0')<b> then</b><span style=\"color: navy\"> {\r\n</span> prEntry.resource<b> as </b><span style=\"color: maroon\">prObs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> prObs.value<b> as </b><span style=\"color: maroon\">val</span><b> then</b><span style=\"color: navy\"> {\r\n</span> val.coding<b> as </b><span style=\"color: maroon\">c</span><b> where </b>code = '10828004'<span style=\"color: navy\"><b> -> </b></span>op.hormonrezeptorStatusPR = <span style=\"color: blue\">'P'</span> <i>"SetPRPositiv"</i><span style=\"color: navy\">;</span>\r\n val.coding<b> as </b><span style=\"color: maroon\">c</span><b> where </b>code = '260385009'<span style=\"color: navy\"><b> -> </b></span>op.hormonrezeptorStatusPR = <span style=\"color: blue\">'N'</span> <i>"SetPRNegativ"</i><span style=\"color: navy\">;</span>\r\n val.coding<b> as </b><span style=\"color: maroon\">c</span><b> where </b>code = '261665006'<span style=\"color: navy\"><b> -> </b></span>op.hormonrezeptorStatusPR = <span style=\"color: blue\">'U'</span> <i>"SetPRUnbekannt"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapPRValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapPRObs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryPR"</i><span style=\"color: navy\">;</span>\r\n src.entry<b> as </b><span style=\"color: maroon\">herEntry</span><b> where </b>resource.is(Observation) and resource.code.coding.exists(code = '85319-2')<b> then</b><span style=\"color: navy\"> {\r\n</span> herEntry.resource<b> as </b><span style=\"color: maroon\">herObs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> herObs.value<b> as </b><span style=\"color: maroon\">val</span><b> then</b><span style=\"color: navy\"> {\r\n</span> val.coding<b> as </b><span style=\"color: maroon\">c</span><b> where </b>code = '10828004'<span style=\"color: navy\"><b> -> </b></span>op.her2Status = <span style=\"color: blue\">'P'</span> <i>"SetHER2Positiv"</i><span style=\"color: navy\">;</span>\r\n val.coding<b> as </b><span style=\"color: maroon\">c</span><b> where </b>code = '260385009'<span style=\"color: navy\"><b> -> </b></span>op.her2Status = <span style=\"color: blue\">'N'</span> <i>"SetHER2Negativ"</i><span style=\"color: navy\">;</span>\r\n val.coding<b> as </b><span style=\"color: maroon\">c</span><b> where </b>code = '261665006'<span style=\"color: navy\"><b> -> </b></span>op.her2Status = <span style=\"color: blue\">'U'</span> <i>"SetHER2Unbekannt"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapHER2Value"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapHER2Obs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryHER2"</i><span style=\"color: navy\">;</span>\r\n src.entry<b> as </b><span style=\"color: maroon\">kompEntry</span><b> where </b>resource.is(Observation) and resource.meta.profile.exists($this.contains('senologie-operative-komplikation'))<b> then</b><span style=\"color: navy\"> {\r\n</span> kompEntry.resource<b> as </b><span style=\"color: maroon\">kompObs</span><span style=\"color: navy\"><b> -> </b></span>op.komplikationen<b> as </b><span style=\"color: maroon\">kompItem</span><b> then</b><span style=\"color: navy\"> {\r\n</span> kompObs.value<b> as </b><span style=\"color: maroon\">val</span><b> then</b><span style=\"color: navy\"> {\r\n</span> val.coding<b> as </b><span style=\"color: maroon\">c</span><b> then</b><span style=\"color: navy\"> {\r\n</span> c.code<b> as </b><span style=\"color: maroon\">cd</span><span style=\"color: navy\"><b> -> </b></span>kompItem.kuerzel = <span style=\"color: maroon\">cd</span> <i>"SetKomplKuerzel"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapKomplKuerzelCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapKomplValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapKomplObs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryKomplikationen"</i><span style=\"color: navy\">;</span>\r\n src.entry<b> as </b><span style=\"color: maroon\">kcEntry</span><b> where </b>resource.is(Condition) and resource.category.coding.exists(code = 'problem-list-item')<b> then</b><span style=\"color: navy\"> {\r\n</span> kcEntry.resource<b> as </b><span style=\"color: maroon\">kcCond</span><span style=\"color: navy\"><b> -> </b></span>op.komplikationen<b> as </b><span style=\"color: maroon\">kompItem</span><b> then</b><span style=\"color: navy\"> {\r\n</span> kcCond.code<b> as </b><span style=\"color: maroon\">code</span><b> then</b><span style=\"color: navy\"> {\r\n</span> code.coding<b> as </b><span style=\"color: maroon\">c</span><b> where </b>system = 'http://fhir.de/CodeSystem/bfarm/icd-10-gm'<b> then</b><span style=\"color: navy\"> {\r\n</span> c.code<b> as </b><span style=\"color: maroon\">cd</span><span style=\"color: navy\"><b> -> </b></span>kompItem.icdCode = <span style=\"color: maroon\">cd</span> <i>"SetKomplICD"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapKomplICDCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapKomplCondCode"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapKomplCondItem"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryKomplikationenCond"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryOperation"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span></pre></div>"
},
"url" : "https://www.senologie.org/fhir/StructureMap/SenologieToIqtigMammachirurgie181",
"version" : "0.9.0",
"name" : "SenologieToIqtigMammachirurgie181",
"status" : "draft",
"date" : "2026-05-04T16:55:55+00:00",
"publisher" : "Berlin Institute of Health at Charité (BIH)",
"contact" : [
{
"name" : "Berlin Institute of Health at Charité (BIH)",
"telecom" : [
{
"system" : "url",
"value" : "https://www.bihealth.org"
}
]
}
],
"description" : "title: Senologie FHIR Bundle to IQTIG QS 18.1 Mammachirurgie (Orchestrator)\r\nstatus: draft",
"structure" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/Bundle",
"mode" : "source",
"alias" : "Bundle"
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/Patient",
"mode" : "source",
"alias" : "Patient"
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/Encounter",
"mode" : "source",
"alias" : "Encounter"
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/Condition",
"mode" : "source",
"alias" : "Condition"
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/Procedure",
"mode" : "source",
"alias" : "Procedure"
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/Observation",
"mode" : "source",
"alias" : "Observation"
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/Specimen",
"mode" : "source",
"alias" : "Specimen"
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/Organization",
"mode" : "source",
"alias" : "Organization"
},
{
"url" : "https://www.senologie.org/fhir/StructureDefinition/iqtig-mammachirurgie-181",
"mode" : "target",
"alias" : "IQTIG181"
}
],
"import" : [
🔗 "https://www.senologie.org/fhir/StructureMap/SenologieToIqtigBasis"🔗 ,
"https://www.senologie.org/fhir/StructureMap/SenologieToIqtigBrust"🔗 ,
"https://www.senologie.org/fhir/StructureMap/SenologieToIqtigOperation"
],
"group" : [
{
"name" : "SenologieToIqtigMammachirurgie181",
"typeMode" : "none",
"documentation" : "============================================================================\r\nMaster Orchestrator: Bundle -> IQTIG QS 18.1 Mammachirurgie\r\nEmpfaengt ein FHIR Bundle mit Senologie-Ressourcen (Patient, Encounter,\r\nCondition, Procedure, Specimen, Observations) und erzeugt eine vollstaendige\r\nIQTIG-QS-Meldung mit den drei Teildatensaetzen:\r\n- Teildatensatz Basis (B): Patient + Encounter\r\n- Teildatensatz Brust (BRUST): Condition + Pathologie (ein Eintrag je Seite)\r\n- Teildatensatz Operation (O): Procedure + Specimen (ein Eintrag je OP)\r\nAnalog zur IRegG-Meldung wird eine einzelne QS-Meldung pro Behandlungsfall\r\nerzeugt. Die Zuordnung der Teildatensaetze Brust und Operation erfolgt ueber\r\ndie laufenden Nummern (LNRBRUST, LNROP).\r\n============================================================================",
"input" : [
{
"name" : "src",
"type" : "Bundle",
"mode" : "source"
},
{
"name" : "tgt",
"type" : "IQTIG181",
"mode" : "target"
}
],
"rule" : [
{
"name" : "CallMapBasis",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "teildatensatzBasis",
"variable" : "basis"
}
],
"dependent" : [
{
"name" : "MapBasis",
"variable" : [
"src",
"basis"
]
}
]
},
{
"name" : "EntryBrust",
"source" : [
{
"context" : "src",
"element" : "entry",
"variable" : "entry",
"condition" : "resource.is(Condition) and (resource.meta.profile.exists($this.contains('senologie-diagnose')) or resource.code.coding.exists((system = 'http://fhir.de/CodeSystem/bfarm/icd-10-gm') and code.startsWith('C50')))"
}
],
"rule" : [
{
"name" : "CallMapBrust",
"source" : [
{
"context" : "entry",
"element" : "resource",
"variable" : "condition"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "teildatensatzBrust",
"variable" : "brust"
}
],
"dependent" : [
{
"name" : "MapBrust",
"variable" : [
"condition",
"brust"
]
}
]
},
{
"name" : "EntryCT",
"source" : [
{
"context" : "src",
"element" : "entry",
"variable" : "tEntry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '21905-5')"
}
],
"rule" : [
{
"name" : "MapCTObs",
"source" : [
{
"context" : "tEntry",
"element" : "resource",
"variable" : "tObs"
}
],
"rule" : [
{
"name" : "MapCTValue",
"source" : [
{
"context" : "tObs",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "MapCTCoding",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c"
}
],
"rule" : [
{
"name" : "SetCT",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd"
}
],
"target" : [
{
"context" : "brust",
"contextType" : "variable",
"element" : "cT",
"transform" : "copy",
"parameter" : [
{
"valueId" : "cd"
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntryCN",
"source" : [
{
"context" : "src",
"element" : "entry",
"variable" : "nEntry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '21906-3')"
}
],
"rule" : [
{
"name" : "MapCNObs",
"source" : [
{
"context" : "nEntry",
"element" : "resource",
"variable" : "nObs"
}
],
"rule" : [
{
"name" : "MapCNValue",
"source" : [
{
"context" : "nObs",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "MapCNCoding",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c"
}
],
"rule" : [
{
"name" : "SetCN",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd"
}
],
"target" : [
{
"context" : "brust",
"contextType" : "variable",
"element" : "cN",
"transform" : "copy",
"parameter" : [
{
"valueId" : "cd"
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntryCM",
"source" : [
{
"context" : "src",
"element" : "entry",
"variable" : "mEntry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '21907-1')"
}
],
"rule" : [
{
"name" : "MapCMObs",
"source" : [
{
"context" : "mEntry",
"element" : "resource",
"variable" : "mObs"
}
],
"rule" : [
{
"name" : "MapCMValue",
"source" : [
{
"context" : "mObs",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "MapCMCoding",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c"
}
],
"rule" : [
{
"name" : "SetCM",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd"
}
],
"target" : [
{
"context" : "brust",
"contextType" : "variable",
"element" : "cM",
"transform" : "copy",
"parameter" : [
{
"valueId" : "cd"
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntryUICCKlin",
"source" : [
{
"context" : "src",
"element" : "entry",
"variable" : "uiccEntry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '21902-2')"
}
],
"rule" : [
{
"name" : "MapUICCKlinObs",
"source" : [
{
"context" : "uiccEntry",
"element" : "resource",
"variable" : "uiccObs"
}
],
"rule" : [
{
"name" : "MapUICCKlinValue",
"source" : [
{
"context" : "uiccObs",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "MapUICCKlinCoding",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c"
}
],
"rule" : [
{
"name" : "SetUICCKlin",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd"
}
],
"target" : [
{
"context" : "brust",
"contextType" : "variable",
"element" : "uiccStadiumKlinisch",
"transform" : "copy",
"parameter" : [
{
"valueId" : "cd"
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntryTGroesseKlin",
"source" : [
{
"context" : "src",
"element" : "entry",
"variable" : "tgEntry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '44648-0')"
}
],
"rule" : [
{
"name" : "MapTGroesseKlinObs",
"source" : [
{
"context" : "tgEntry",
"element" : "resource",
"variable" : "tgObs"
}
],
"rule" : [
{
"name" : "MapTGroesseKlinValue",
"source" : [
{
"context" : "tgObs",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "SetTGroesseKlin",
"source" : [
{
"context" : "val",
"element" : "value",
"variable" : "v"
}
],
"target" : [
{
"context" : "brust",
"contextType" : "variable",
"element" : "tumorgroesseKlinisch",
"transform" : "truncate",
"parameter" : [
{
"valueId" : "v"
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntryBildgebung",
"source" : [
{
"context" : "src",
"element" : "entry",
"variable" : "bildEntry",
"condition" : "resource.is(Observation) and resource.meta.profile.exists($this.contains('senologie-bildgebung'))"
}
],
"rule" : [
{
"name" : "MapBildObs",
"source" : [
{
"context" : "bildEntry",
"element" : "resource",
"variable" : "bildObs"
}
],
"rule" : [
{
"name" : "MapBildMethod",
"source" : [
{
"context" : "bildObs",
"element" : "method",
"variable" : "m"
}
],
"rule" : [
{
"name" : "MapBildMethodCoding",
"source" : [
{
"context" : "m",
"element" : "coding",
"variable" : "c",
"condition" : "system = 'http://snomed.info/sct'"
}
],
"rule" : [
{
"name" : "SetMethMammo",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this = '71651007'"
}
],
"target" : [
{
"context" : "brust",
"contextType" : "variable",
"element" : "bildgebendeMethode",
"transform" : "copy",
"parameter" : [
{
"valueString" : "1"
}
]
}
]
},
{
"name" : "SetMethSono",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this = '16310003'"
}
],
"target" : [
{
"context" : "brust",
"contextType" : "variable",
"element" : "bildgebendeMethode",
"transform" : "copy",
"parameter" : [
{
"valueString" : "2"
}
]
}
]
},
{
"name" : "SetMethMRT",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this = '113091000'"
}
],
"target" : [
{
"context" : "brust",
"contextType" : "variable",
"element" : "bildgebendeMethode",
"transform" : "copy",
"parameter" : [
{
"valueString" : "3"
}
]
}
]
},
{
"name" : "SetMethTomo",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this = '710324008'"
}
],
"target" : [
{
"context" : "brust",
"contextType" : "variable",
"element" : "bildgebendeMethode",
"transform" : "copy",
"parameter" : [
{
"valueString" : "4"
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntryBIRADS",
"source" : [
{
"context" : "src",
"element" : "entry",
"variable" : "biradsEntry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '72133-2')"
}
],
"rule" : [
{
"name" : "MapBIRADSObs",
"source" : [
{
"context" : "biradsEntry",
"element" : "resource",
"variable" : "biradsObs"
}
],
"rule" : [
{
"name" : "MapBIRADSValue",
"source" : [
{
"context" : "biradsObs",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "MapBIRADSCoding",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c"
}
],
"rule" : [
{
"name" : "SetBIRADS",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd"
}
],
"target" : [
{
"context" : "brust",
"contextType" : "variable",
"element" : "birads",
"transform" : "copy",
"parameter" : [
{
"valueId" : "cd"
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntryBefund",
"source" : [
{
"context" : "src",
"element" : "entry",
"variable" : "befEntry",
"condition" : "resource.is(Observation) and resource.meta.profile.exists($this.contains('senologie-pathologie-befund'))"
}
],
"rule" : [
{
"name" : "MapBefundObs",
"source" : [
{
"context" : "befEntry",
"element" : "resource",
"variable" : "befObs"
}
],
"rule" : [
{
"name" : "MapBefundValue",
"source" : [
{
"context" : "befObs",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "MapBefundBCoding",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c",
"condition" : "system = 'https://www.senologie.org/fhir/CodeSystem/cs-senologie-befundcode-b'"
}
],
"rule" : [
{
"name" : "SetBefundB",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd"
}
],
"target" : [
{
"context" : "brust",
"contextType" : "variable",
"element" : "befundcode",
"transform" : "copy",
"parameter" : [
{
"valueId" : "cd"
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntryDraht",
"source" : [
{
"context" : "src",
"element" : "entry",
"variable" : "srEntry",
"condition" : "resource.is(ServiceRequest) and resource.meta.profile.exists($this.contains('senologie-op-planung'))"
}
],
"rule" : [
{
"name" : "SRContext",
"source" : [
{
"context" : "srEntry",
"element" : "resource",
"variable" : "sr"
}
],
"rule" : [
{
"name" : "MapDrahtExt",
"source" : [
{
"context" : "sr",
"element" : "extension",
"variable" : "ext",
"condition" : "url = 'https://www.senologie.org/fhir/StructureDefinition/preOpMarkierung'"
}
],
"rule" : [
{
"name" : "MapDrahtValue",
"source" : [
{
"context" : "ext",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "MapDrahtCoding",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c"
}
],
"rule" : [
{
"name" : "SetDrahtMammo",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this = 'M'"
}
],
"target" : [
{
"context" : "brust",
"contextType" : "variable",
"element" : "drahtmarkierung",
"transform" : "copy",
"parameter" : [
{
"valueString" : "1"
}
]
}
]
},
{
"name" : "SetDrahtSono",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this = 'S'"
}
],
"target" : [
{
"context" : "brust",
"contextType" : "variable",
"element" : "drahtmarkierung",
"transform" : "copy",
"parameter" : [
{
"valueString" : "2"
}
]
}
]
},
{
"name" : "SetDrahtMRT",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this = 'T'"
}
],
"target" : [
{
"context" : "brust",
"contextType" : "variable",
"element" : "drahtmarkierung",
"transform" : "copy",
"parameter" : [
{
"valueString" : "3"
}
]
}
]
},
{
"name" : "SetDrahtKeine",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this = 'N'"
}
],
"target" : [
{
"context" : "brust",
"contextType" : "variable",
"element" : "drahtmarkierung",
"transform" : "copy",
"parameter" : [
{
"valueString" : "0"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntryOperation",
"source" : [
{
"context" : "src",
"element" : "entry",
"variable" : "entry",
"condition" : "resource.is(Procedure) and resource.meta.profile.exists($this.contains('senologie-brustop') or $this.contains('senologie-operation'))"
}
],
"rule" : [
{
"name" : "CallMapOperation",
"source" : [
{
"context" : "entry",
"element" : "resource",
"variable" : "procedure"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "teildatensatzOperation",
"variable" : "op"
}
],
"dependent" : [
{
"name" : "MapOperation",
"variable" : [
"procedure",
"op"
]
}
]
},
{
"name" : "EntryDignitaet",
"source" : [
{
"context" : "src",
"element" : "entry",
"variable" : "digEntry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '22748-9')"
}
],
"rule" : [
{
"name" : "MapDigObs",
"source" : [
{
"context" : "digEntry",
"element" : "resource",
"variable" : "digObs"
}
],
"rule" : [
{
"name" : "MapDigValue",
"source" : [
{
"context" : "digObs",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "MapDigCoding",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c"
}
],
"rule" : [
{
"name" : "SetDigMaligne",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this = '1222584008'"
}
],
"target" : [
{
"context" : "op",
"contextType" : "variable",
"element" : "dignitaetIntraop",
"transform" : "copy",
"parameter" : [
{
"valueString" : "1"
}
]
}
]
},
{
"name" : "SetDigBenigne",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this = '36103009'"
}
],
"target" : [
{
"context" : "op",
"contextType" : "variable",
"element" : "dignitaetIntraop",
"transform" : "copy",
"parameter" : [
{
"valueString" : "2"
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntrySchnellschnitt",
"source" : [
{
"context" : "src",
"element" : "entry",
"variable" : "specEntry",
"condition" : "resource.is(Specimen) and resource.meta.profile.exists($this.contains('senologie-pathologie-praeparat'))"
}
],
"rule" : [
{
"name" : "SpecContextSS",
"source" : [
{
"context" : "specEntry",
"element" : "resource",
"variable" : "specimen"
}
],
"rule" : [
{
"name" : "SetSchnellschnittJa",
"source" : [
{
"context" : "specimen",
"element" : "processing",
"variable" : "proc",
"condition" : "procedure.coding.exists(code = '123038009')"
}
],
"target" : [
{
"context" : "op",
"contextType" : "variable",
"element" : "intraopSchnellschnitt",
"transform" : "copy",
"parameter" : [
{
"valueString" : "1"
}
]
}
]
}
]
}
]
},
{
"name" : "EntryPraeparatkontrolle",
"source" : [
{
"context" : "src",
"element" : "entry",
"variable" : "specEntry2",
"condition" : "resource.is(Specimen)"
}
],
"rule" : [
{
"name" : "SpecContextPK",
"source" : [
{
"context" : "specEntry2",
"element" : "resource",
"variable" : "specimen"
}
],
"rule" : [
{
"name" : "MapPraepkProcessing",
"source" : [
{
"context" : "specimen",
"element" : "processing",
"variable" : "proc"
}
],
"rule" : [
{
"name" : "MapPraepkProcedure",
"source" : [
{
"context" : "proc",
"element" : "procedure",
"variable" : "p"
}
],
"rule" : [
{
"name" : "MapPraepkCoding",
"source" : [
{
"context" : "p",
"element" : "coding",
"variable" : "c",
"condition" : "system = 'http://snomed.info/sct'"
}
],
"rule" : [
{
"name" : "SetPraepkMammo",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this = '71651007'"
}
],
"target" : [
{
"context" : "op",
"contextType" : "variable",
"element" : "intraopPraeparatkontrolle",
"transform" : "copy",
"parameter" : [
{
"valueString" : "1"
}
]
}
]
},
{
"name" : "SetPraepkSono",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this = '16310003'"
}
],
"target" : [
{
"context" : "op",
"contextType" : "variable",
"element" : "intraopPraeparatkontrolle",
"transform" : "copy",
"parameter" : [
{
"valueString" : "2"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntryHistologie",
"source" : [
{
"context" : "src",
"element" : "entry",
"variable" : "histEntry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '59847-4')"
}
],
"rule" : [
{
"name" : "MapHistObs",
"source" : [
{
"context" : "histEntry",
"element" : "resource",
"variable" : "histObs"
}
],
"rule" : [
{
"name" : "MapHistValue",
"source" : [
{
"context" : "histObs",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "MapHistICDO",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c",
"condition" : "system = 'urn:oid:2.16.840.1.113883.6.43.1'"
}
],
"target" : [
{
"context" : "op",
"contextType" : "variable",
"element" : "histologieICDO",
"variable" : "histo"
}
],
"rule" : [
{
"name" : "SetHistCode",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd"
}
],
"target" : [
{
"context" : "histo",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueId" : "cd"
}
]
}
]
},
{
"name" : "SetHistVersion",
"source" : [
{
"context" : "c",
"element" : "version",
"variable" : "v"
}
],
"target" : [
{
"context" : "histo",
"contextType" : "variable",
"element" : "version",
"transform" : "copy",
"parameter" : [
{
"valueId" : "v"
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntryGrading",
"source" : [
{
"context" : "src",
"element" : "entry",
"variable" : "gradEntry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '33732-9')"
}
],
"rule" : [
{
"name" : "MapGradingObs",
"source" : [
{
"context" : "gradEntry",
"element" : "resource",
"variable" : "gradObs"
}
],
"rule" : [
{
"name" : "MapGradingValue",
"source" : [
{
"context" : "gradObs",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "MapGradingCoding",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c"
}
],
"rule" : [
{
"name" : "SetGrading",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd"
}
],
"target" : [
{
"context" : "op",
"contextType" : "variable",
"element" : "grading",
"transform" : "copy",
"parameter" : [
{
"valueId" : "cd"
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntryTGroesseInv",
"source" : [
{
"context" : "src",
"element" : "entry",
"variable" : "tgInvEntry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '33728-7')"
}
],
"rule" : [
{
"name" : "MapTGroesseInvObs",
"source" : [
{
"context" : "tgInvEntry",
"element" : "resource",
"variable" : "tgInvObs"
}
],
"rule" : [
{
"name" : "MapTGroesseInvValue",
"source" : [
{
"context" : "tgInvObs",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "SetTGroesseInv",
"source" : [
{
"context" : "val",
"element" : "value",
"variable" : "v"
}
],
"target" : [
{
"context" : "op",
"contextType" : "variable",
"element" : "tumorgroesseInvasiv",
"transform" : "truncate",
"parameter" : [
{
"valueId" : "v"
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntryTGroesseDCIS",
"source" : [
{
"context" : "src",
"element" : "entry",
"variable" : "tgDcisEntry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '44648-0') and resource.meta.profile.exists($this.contains('pathologie'))"
}
],
"rule" : [
{
"name" : "MapTGroesseDCISObs",
"source" : [
{
"context" : "tgDcisEntry",
"element" : "resource",
"variable" : "tgDcisObs"
}
],
"rule" : [
{
"name" : "MapTGroesseDCISValue",
"source" : [
{
"context" : "tgDcisObs",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "SetTGroesseDCIS",
"source" : [
{
"context" : "val",
"element" : "value",
"variable" : "v"
}
],
"target" : [
{
"context" : "op",
"contextType" : "variable",
"element" : "tumorgroesseDCIS",
"transform" : "truncate",
"parameter" : [
{
"valueId" : "v"
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntryMultifokal",
"source" : [
{
"context" : "src",
"element" : "entry",
"variable" : "mfEntry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '44638-1')"
}
],
"rule" : [
{
"name" : "MapMFObs",
"source" : [
{
"context" : "mfEntry",
"element" : "resource",
"variable" : "mfObs"
}
],
"rule" : [
{
"name" : "MapMFValue",
"source" : [
{
"context" : "mfObs",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "MapMFCoding",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c"
}
],
"rule" : [
{
"name" : "SetMFNein",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this = '56061002'"
}
],
"target" : [
{
"context" : "op",
"contextType" : "variable",
"element" : "multifokalitaet",
"transform" : "copy",
"parameter" : [
{
"valueString" : "0"
}
]
}
]
},
{
"name" : "SetMFJa",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this = '399566009'"
}
],
"target" : [
{
"context" : "op",
"contextType" : "variable",
"element" : "multifokalitaet",
"transform" : "copy",
"parameter" : [
{
"valueString" : "1"
}
]
}
]
},
{
"name" : "SetMFMZ",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this = '367651003'"
}
],
"target" : [
{
"context" : "op",
"contextType" : "variable",
"element" : "multifokalitaet",
"transform" : "copy",
"parameter" : [
{
"valueString" : "2"
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntryPT",
"source" : [
{
"context" : "src",
"element" : "entry",
"variable" : "ptEntry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '21899-0')"
}
],
"rule" : [
{
"name" : "MapPTObs",
"source" : [
{
"context" : "ptEntry",
"element" : "resource",
"variable" : "ptObs"
}
],
"rule" : [
{
"name" : "MapPTValue",
"source" : [
{
"context" : "ptObs",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "MapPTCoding",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c"
}
],
"rule" : [
{
"name" : "SetPT",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd"
}
],
"target" : [
{
"context" : "op",
"contextType" : "variable",
"element" : "pT",
"transform" : "copy",
"parameter" : [
{
"valueId" : "cd"
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntryPN",
"source" : [
{
"context" : "src",
"element" : "entry",
"variable" : "pnEntry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '21900-6')"
}
],
"rule" : [
{
"name" : "MapPNObs",
"source" : [
{
"context" : "pnEntry",
"element" : "resource",
"variable" : "pnObs"
}
],
"rule" : [
{
"name" : "MapPNValue",
"source" : [
{
"context" : "pnObs",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "MapPNCoding",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c"
}
],
"rule" : [
{
"name" : "SetPN",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd"
}
],
"target" : [
{
"context" : "op",
"contextType" : "variable",
"element" : "pN",
"transform" : "copy",
"parameter" : [
{
"valueId" : "cd"
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntryPM",
"source" : [
{
"context" : "src",
"element" : "entry",
"variable" : "pmEntry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '21901-4')"
}
],
"rule" : [
{
"name" : "MapPMObs",
"source" : [
{
"context" : "pmEntry",
"element" : "resource",
"variable" : "pmObs"
}
],
"rule" : [
{
"name" : "MapPMValue",
"source" : [
{
"context" : "pmObs",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "MapPMCoding",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c"
}
],
"rule" : [
{
"name" : "SetPM",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd"
}
],
"target" : [
{
"context" : "op",
"contextType" : "variable",
"element" : "pM",
"transform" : "copy",
"parameter" : [
{
"valueId" : "cd"
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntryUICCPatho",
"source" : [
{
"context" : "src",
"element" : "entry",
"variable" : "uiccEntry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '21902-2')"
}
],
"rule" : [
{
"name" : "MapUICCPathoObs",
"source" : [
{
"context" : "uiccEntry",
"element" : "resource",
"variable" : "uiccObs"
}
],
"rule" : [
{
"name" : "MapUICCPathoValue",
"source" : [
{
"context" : "uiccObs",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "MapUICCPathoCoding",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c"
}
],
"rule" : [
{
"name" : "SetUICCPatho",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd"
}
],
"target" : [
{
"context" : "op",
"contextType" : "variable",
"element" : "uiccStadiumPatho",
"transform" : "copy",
"parameter" : [
{
"valueId" : "cd"
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntryLKUntersucht",
"source" : [
{
"context" : "src",
"element" : "entry",
"variable" : "lkuEntry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '21894-1')"
}
],
"rule" : [
{
"name" : "MapLKUntersuchtObs",
"source" : [
{
"context" : "lkuEntry",
"element" : "resource",
"variable" : "lkuObs"
}
],
"rule" : [
{
"name" : "MapLKUntersuchtValue",
"source" : [
{
"context" : "lkuObs",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "SetLKUntersucht",
"source" : [
{
"context" : "val",
"element" : "value",
"variable" : "v"
}
],
"target" : [
{
"context" : "op",
"contextType" : "variable",
"element" : "lkUntersucht",
"transform" : "truncate",
"parameter" : [
{
"valueId" : "v"
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntryLKBefallen",
"source" : [
{
"context" : "src",
"element" : "entry",
"variable" : "lkbEntry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '21893-3')"
}
],
"rule" : [
{
"name" : "MapLKBefallenObs",
"source" : [
{
"context" : "lkbEntry",
"element" : "resource",
"variable" : "lkbObs"
}
],
"rule" : [
{
"name" : "MapLKBefallenValue",
"source" : [
{
"context" : "lkbObs",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "SetLKBefallen",
"source" : [
{
"context" : "val",
"element" : "value",
"variable" : "v"
}
],
"target" : [
{
"context" : "op",
"contextType" : "variable",
"element" : "lkBefallen",
"transform" : "truncate",
"parameter" : [
{
"valueId" : "v"
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntrySLKUntersucht",
"source" : [
{
"context" : "src",
"element" : "entry",
"variable" : "slkuEntry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '92832-5')"
}
],
"rule" : [
{
"name" : "MapSLKUntersuchtObs",
"source" : [
{
"context" : "slkuEntry",
"element" : "resource",
"variable" : "slkuObs"
}
],
"rule" : [
{
"name" : "MapSLKUntersuchtValue",
"source" : [
{
"context" : "slkuObs",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "SetSLKUntersucht",
"source" : [
{
"context" : "val",
"element" : "value",
"variable" : "v"
}
],
"target" : [
{
"context" : "op",
"contextType" : "variable",
"element" : "sentinelLkUntersucht",
"transform" : "truncate",
"parameter" : [
{
"valueId" : "v"
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntrySLKBefallen",
"source" : [
{
"context" : "src",
"element" : "entry",
"variable" : "slkbEntry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '92833-3')"
}
],
"rule" : [
{
"name" : "MapSLKBefallenObs",
"source" : [
{
"context" : "slkbEntry",
"element" : "resource",
"variable" : "slkbObs"
}
],
"rule" : [
{
"name" : "MapSLKBefallenValue",
"source" : [
{
"context" : "slkbObs",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "SetSLKBefallen",
"source" : [
{
"context" : "val",
"element" : "value",
"variable" : "v"
}
],
"target" : [
{
"context" : "op",
"contextType" : "variable",
"element" : "sentinelLkBefallen",
"transform" : "truncate",
"parameter" : [
{
"valueId" : "v"
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntryER",
"source" : [
{
"context" : "src",
"element" : "entry",
"variable" : "erEntry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '85337-4')"
}
],
"rule" : [
{
"name" : "MapERObs",
"source" : [
{
"context" : "erEntry",
"element" : "resource",
"variable" : "erObs"
}
],
"rule" : [
{
"name" : "MapERValue",
"source" : [
{
"context" : "erObs",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "SetERPositiv",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c",
"condition" : "code = '10828004'"
}
],
"target" : [
{
"context" : "op",
"contextType" : "variable",
"element" : "hormonrezeptorStatusER",
"transform" : "copy",
"parameter" : [
{
"valueString" : "P"
}
]
}
]
},
{
"name" : "SetERNegativ",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c",
"condition" : "code = '260385009'"
}
],
"target" : [
{
"context" : "op",
"contextType" : "variable",
"element" : "hormonrezeptorStatusER",
"transform" : "copy",
"parameter" : [
{
"valueString" : "N"
}
]
}
]
},
{
"name" : "SetERUnbekannt",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c",
"condition" : "code = '261665006'"
}
],
"target" : [
{
"context" : "op",
"contextType" : "variable",
"element" : "hormonrezeptorStatusER",
"transform" : "copy",
"parameter" : [
{
"valueString" : "U"
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntryPR",
"source" : [
{
"context" : "src",
"element" : "entry",
"variable" : "prEntry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '85339-0')"
}
],
"rule" : [
{
"name" : "MapPRObs",
"source" : [
{
"context" : "prEntry",
"element" : "resource",
"variable" : "prObs"
}
],
"rule" : [
{
"name" : "MapPRValue",
"source" : [
{
"context" : "prObs",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "SetPRPositiv",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c",
"condition" : "code = '10828004'"
}
],
"target" : [
{
"context" : "op",
"contextType" : "variable",
"element" : "hormonrezeptorStatusPR",
"transform" : "copy",
"parameter" : [
{
"valueString" : "P"
}
]
}
]
},
{
"name" : "SetPRNegativ",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c",
"condition" : "code = '260385009'"
}
],
"target" : [
{
"context" : "op",
"contextType" : "variable",
"element" : "hormonrezeptorStatusPR",
"transform" : "copy",
"parameter" : [
{
"valueString" : "N"
}
]
}
]
},
{
"name" : "SetPRUnbekannt",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c",
"condition" : "code = '261665006'"
}
],
"target" : [
{
"context" : "op",
"contextType" : "variable",
"element" : "hormonrezeptorStatusPR",
"transform" : "copy",
"parameter" : [
{
"valueString" : "U"
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntryHER2",
"source" : [
{
"context" : "src",
"element" : "entry",
"variable" : "herEntry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '85319-2')"
}
],
"rule" : [
{
"name" : "MapHER2Obs",
"source" : [
{
"context" : "herEntry",
"element" : "resource",
"variable" : "herObs"
}
],
"rule" : [
{
"name" : "MapHER2Value",
"source" : [
{
"context" : "herObs",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "SetHER2Positiv",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c",
"condition" : "code = '10828004'"
}
],
"target" : [
{
"context" : "op",
"contextType" : "variable",
"element" : "her2Status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "P"
}
]
}
]
},
{
"name" : "SetHER2Negativ",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c",
"condition" : "code = '260385009'"
}
],
"target" : [
{
"context" : "op",
"contextType" : "variable",
"element" : "her2Status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "N"
}
]
}
]
},
{
"name" : "SetHER2Unbekannt",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c",
"condition" : "code = '261665006'"
}
],
"target" : [
{
"context" : "op",
"contextType" : "variable",
"element" : "her2Status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "U"
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntryKomplikationen",
"source" : [
{
"context" : "src",
"element" : "entry",
"variable" : "kompEntry",
"condition" : "resource.is(Observation) and resource.meta.profile.exists($this.contains('senologie-operative-komplikation'))"
}
],
"rule" : [
{
"name" : "MapKomplObs",
"source" : [
{
"context" : "kompEntry",
"element" : "resource",
"variable" : "kompObs"
}
],
"target" : [
{
"context" : "op",
"contextType" : "variable",
"element" : "komplikationen",
"variable" : "kompItem"
}
],
"rule" : [
{
"name" : "MapKomplValue",
"source" : [
{
"context" : "kompObs",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "MapKomplKuerzelCoding",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c"
}
],
"rule" : [
{
"name" : "SetKomplKuerzel",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd"
}
],
"target" : [
{
"context" : "kompItem",
"contextType" : "variable",
"element" : "kuerzel",
"transform" : "copy",
"parameter" : [
{
"valueId" : "cd"
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntryKomplikationenCond",
"source" : [
{
"context" : "src",
"element" : "entry",
"variable" : "kcEntry",
"condition" : "resource.is(Condition) and resource.category.coding.exists(code = 'problem-list-item')"
}
],
"rule" : [
{
"name" : "MapKomplCondItem",
"source" : [
{
"context" : "kcEntry",
"element" : "resource",
"variable" : "kcCond"
}
],
"target" : [
{
"context" : "op",
"contextType" : "variable",
"element" : "komplikationen",
"variable" : "kompItem"
}
],
"rule" : [
{
"name" : "MapKomplCondCode",
"source" : [
{
"context" : "kcCond",
"element" : "code",
"variable" : "code"
}
],
"rule" : [
{
"name" : "MapKomplICDCoding",
"source" : [
{
"context" : "code",
"element" : "coding",
"variable" : "c",
"condition" : "system = 'http://fhir.de/CodeSystem/bfarm/icd-10-gm'"
}
],
"rule" : [
{
"name" : "SetKomplICD",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd"
}
],
"target" : [
{
"context" : "kompItem",
"contextType" : "variable",
"element" : "icdCode",
"transform" : "copy",
"parameter" : [
{
"valueId" : "cd"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}