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" : "SenologieToOncoBoxBrustPrimaerfall",
"text" : {
"status" : "generated",
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: StructureMap SenologieToOncoBoxBrustPrimaerfall</b></p><a name=\"SenologieToOncoBoxBrustPrimaerfall\"> </a><a name=\"hcSenologieToOncoBoxBrustPrimaerfall\"> </a><pre class=\"fml\">\r\n<b>map</b><span style=\"color: navy\"> "</span>https://www.senologie.org/fhir/StructureMap/SenologieToOncoBoxBrustPrimaerfall<span style=\"color: navy\">" = "</span>SenologieToOncoBoxBrustPrimaerfall<span style=\"color: navy\">"\r\n\r\n</span><span style=\"color: navy\">// </span><span style=\"color: green\">title: Senologie Condition + Patient + Encounter to OncoBox Brust Primaerfall</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/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/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/careplan.html\" title=\"CarePlan\">http://hl7.org/fhir/StructureDefinition/CarePlan</a><span style=\"color: navy\">" </span><b>alias </b>CarePlan <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> "</span><a href=\"http://hl7.org/fhir/R4/researchsubject.html\" title=\"ResearchSubject\">http://hl7.org/fhir/StructureDefinition/ResearchSubject</a><span style=\"color: navy\">" </span><b>alias </b>ResearchSubject <b>as </b><b>source</b>\r\n\r\n<b>imports</b><span style=\"color: navy\"> "</span><a href=\"StructureMap-SenologieToOncoBoxBrustOperation.html\" title=\"SenologieToOncoBoxBrustOperation\">https://www.senologie.org/fhir/StructureMap/SenologieToOncoBoxBrustOperation</a><span style=\"color: navy\">"\r\n</span><b>imports</b><span style=\"color: navy\"> "</span><a href=\"StructureMap-SenologieToOncoBoxBrustTherapie.html\" title=\"SenologieToOncoBoxBrustTherapie\">https://www.senologie.org/fhir/StructureMap/SenologieToOncoBoxBrustTherapie</a><span style=\"color: navy\">"\r\n</span><b>imports</b><span style=\"color: navy\"> "</span><a href=\"StructureMap-SenologieToOncoBoxBrustVerlauf.html\" title=\"SenologieToOncoBoxBrustVerlauf\">https://www.senologie.org/fhir/StructureMap/SenologieToOncoBoxBrustVerlauf</a><span style=\"color: navy\">"\r\n</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Import-only map: no target `uses` declaration — the calling map</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">(SenologieToOncoBoxBrust) provides the correct BackboneElement context</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">(primaerfall). Omitting the root-level target type avoids SM_TARGET_PATH</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">false positives where the validator would resolve property names against</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">oncobox-brust-meldung root.</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">============================================================================</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Primaerfall: Condition (Brust-Diagnose) + Patient + Encounter -> Primaerfall</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Pro Primaerfall (Condition mit ICD-10 aus dem Mamma-Spektrum) werden</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Patientendaten, Fall-Daten, Diagnose-Block und Therapie-Subblocks befuellt.</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">============================================================================</span>\r\n<b>group </b>MapPrimaerfall<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">bundle</span><span style=\"color: navy\"> : </span>Bundle, <b>target</b> <span style=\"color: maroon\">tgt</span><span style=\"color: navy\"> : </span>BackboneElement<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> <span style=\"color: navy\">// </span><span style=\"color: green\">--- Condition (Brust-Diagnose) aus dem Bundle extrahieren ---</span>\r\n bundle.entry<b> as </b><span style=\"color: maroon\">condEntry</span><b> where </b>resource.is(Condition) and resource.code.coding.exists((system = 'http://fhir.de/CodeSystem/bfarm/icd-10-gm') and (code.startsWith('C50') or code.startsWith('D05') or code.startsWith('D24') or code.startsWith('Z40') or code.startsWith('Z42')))<b> then</b><span style=\"color: navy\"> {\r\n</span> condEntry.resource<b> as </b><span style=\"color: maroon\">src</span><b> then</b><span style=\"color: navy\"> {\r\n</span> <span style=\"color: navy\">// </span><span style=\"color: green\">--- Fall-ID aus Condition.id ---</span>\r\n src.id<b> as </b><span style=\"color: maroon\">cid</span><span style=\"color: navy\"><b> -> </b></span>tgt.fallId = <span style=\"color: maroon\">cid</span> <i>"SetFallId"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">--- Primaerfallart aus ICD-10 ableiten ---</span>\r\n src.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><b> where </b>$this.startsWith('C50')<span style=\"color: navy\"><b> -> </b></span>tgt.primaerfallart = <span style=\"color: blue\">'1'</span> <i>"SetPfArtInvasiv"</i><span style=\"color: navy\">;</span>\r\n c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this.startsWith('D05')<span style=\"color: navy\"><b> -> </b></span>tgt.primaerfallart = <span style=\"color: blue\">'2'</span> <i>"SetPfArtDCIS"</i><span style=\"color: navy\">;</span>\r\n c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this.startsWith('Z40')<span style=\"color: navy\"><b> -> </b></span>tgt.primaerfallart = <span style=\"color: blue\">'7'</span> <i>"SetPfArtRisiko"</i><span style=\"color: navy\">;</span>\r\n c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this.startsWith('Z42')<span style=\"color: navy\"><b> -> </b></span>tgt.primaerfallart = <span style=\"color: blue\">'8'</span> <i>"SetPfArtRekon"</i><span style=\"color: navy\">;</span>\r\n c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this.startsWith('D24')<span style=\"color: navy\"><b> -> </b></span>tgt.primaerfallart = <span style=\"color: blue\">'9'</span> <i>"SetPfArtBenigne"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapPrimaerfallartICD"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapPrimaerfallart"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">--- Diagnose-Block ---</span>\r\n src<span style=\"color: navy\"><b> -> </b></span>tgt.diagnose<b> as </b><span style=\"color: maroon\">diag</span><b> then </b>MapDiagnose<span style=\"color: navy\">(</span><span style=\"color: maroon\">src</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">diag</span><span style=\"color: navy\">)</span> <i>"CallMapDiagnose"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"ConditionCtx"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryCondition"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">--- Patientendaten ---</span>\r\n bundle.entry<b> as </b><span style=\"color: maroon\">entry</span><b> where </b>resource.is(Patient)<b> then</b><span style=\"color: navy\"> {\r\n</span> entry.resource<b> as </b><span style=\"color: maroon\">patient</span><span style=\"color: navy\"><b> -> </b></span>tgt.patient<b> as </b><span style=\"color: maroon\">pat</span><b> then </b>MapPatient<span style=\"color: navy\">(</span><span style=\"color: maroon\">patient</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">pat</span><span style=\"color: navy\">)</span> <i>"CallMapPatient"</i><span style=\"color: navy\">;</span>\r\n entry.resource<b> as </b><span style=\"color: maroon\">patient</span><b> then</b><span style=\"color: navy\"> {\r\n</span> patient.id<b> as </b><span style=\"color: maroon\">pid</span><span style=\"color: navy\"><b> -> </b></span>tgt.patientPseudonym = <span style=\"color: maroon\">pid</span> <i>"SetPatientPseudonym"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"PseudCtx"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Menopausenstatus aus Observation (moved from MapPatient)</span>\r\n bundle.entry<b> as </b><span style=\"color: maroon\">menoEntry</span><b> where </b>resource.is(Observation) and resource.code.coding.exists(code = '86805-9')<b> then</b><span style=\"color: navy\"> {\r\n</span> menoEntry.resource<b> as </b><span style=\"color: maroon\">obs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> obs.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 = '289903006'<span style=\"color: navy\"><b> -> </b></span>pat.menopausenstatus = <span style=\"color: blue\">'1'</span> <i>"SetMenoPrae"</i><span style=\"color: navy\">;</span>\r\n c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this = '289904000'<span style=\"color: navy\"><b> -> </b></span>pat.menopausenstatus = <span style=\"color: blue\">'2'</span> <i>"SetMenoPeri"</i><span style=\"color: navy\">;</span>\r\n c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this = '76977008'<span style=\"color: navy\"><b> -> </b></span>pat.menopausenstatus = <span style=\"color: blue\">'3'</span> <i>"SetMenoPost"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapMenoCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapMenoVal"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapMenoObs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryMeno"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryPatient"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">--- Fall aus Encounter ---</span>\r\n bundle.entry<b> as </b><span style=\"color: maroon\">entry</span><b> where </b>resource.is(Encounter)<b> then</b><span style=\"color: navy\"> {\r\n</span> entry.resource<b> as </b><span style=\"color: maroon\">encounter</span><span style=\"color: navy\"><b> -> </b></span>tgt.fall<b> as </b><span style=\"color: maroon\">fall</span><b> then </b>MapFall<span style=\"color: navy\">(</span><span style=\"color: maroon\">encounter</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">fall</span><span style=\"color: navy\">)</span> <i>"CallMapFall"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryEncounter"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">--- Diagnose bundle lookups (moved from MapDiagnose) ---</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Histologische Sicherung praeoperativ</span>\r\n bundle.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.type<b> as </b><span style=\"color: maroon\">t</span><b> then</b><span style=\"color: navy\"> {\r\n</span> t.coding<b> as </b><span style=\"color: maroon\">c</span><b> where </b>code = '122737001'<span style=\"color: navy\"><b> -> </b></span>tgt.diagnose<b> as </b><span style=\"color: maroon\">diag</span><b> then</b><span style=\"color: navy\"> {\r\n</span> c<span style=\"color: navy\"><b> -> </b></span>diag.histologischeSicherungPraeop = <span style=\"color: blue\">'1'</span> <i>"SetHistPraeopStanz"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"WrapHistPraeopStanz"</i><span style=\"color: navy\">;</span>\r\n t.coding<b> as </b><span style=\"color: maroon\">c</span><b> where </b>code = '399014008'<span style=\"color: navy\"><b> -> </b></span>tgt.diagnose<b> as </b><span style=\"color: maroon\">diag</span><b> then</b><span style=\"color: navy\"> {\r\n</span> c<span style=\"color: navy\"><b> -> </b></span>diag.histologischeSicherungPraeop = <span style=\"color: blue\">'2'</span> <i>"SetHistPraeopVakuum"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"WrapHistPraeopVakuum"</i><span style=\"color: navy\">;</span>\r\n t.coding<b> as </b><span style=\"color: maroon\">c</span><b> where </b>code = '119342007'<span style=\"color: navy\"><b> -> </b></span>tgt.diagnose<b> as </b><span style=\"color: maroon\">diag</span><b> then</b><span style=\"color: navy\"> {\r\n</span> c<span style=\"color: navy\"><b> -> </b></span>diag.histologischeSicherungPraeop = <span style=\"color: blue\">'3'</span> <i>"SetHistPraeopFNA"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"WrapHistPraeopFNA"</i><span style=\"color: navy\">;</span>\r\n t.coding<b> as </b><span style=\"color: maroon\">c</span><b> where </b>code = '119380005'<span style=\"color: navy\"><b> -> </b></span>tgt.diagnose<b> as </b><span style=\"color: maroon\">diag</span><b> then</b><span style=\"color: navy\"> {\r\n</span> c<span style=\"color: navy\"><b> -> </b></span>diag.histologischeSicherungPraeop = <span style=\"color: blue\">'4'</span> <i>"SetHistPraeopOffen"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"WrapHistPraeopOffen"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapHistPraeopType"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapHistPraeopSpec"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryHistPraeop"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Bildgebung</span>\r\n bundle.entry<b> as </b><span style=\"color: maroon\">bgEntry</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> bgEntry.resource<b> as </b><span style=\"color: maroon\">obs</span><span style=\"color: navy\"><b> -> </b></span>tgt.diagnose<b> as </b><span style=\"color: maroon\">diag</span><b> then</b><span style=\"color: navy\"> {\r\n</span> obs<span style=\"color: navy\"><b> -> </b></span>diag.bildgebung<b> as </b><span style=\"color: maroon\">bg</span><b> then </b>MapBildgebung<span style=\"color: navy\">(</span><span style=\"color: maroon\">obs</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">bg</span><span style=\"color: navy\">)</span> <i>"CallMapBgInner"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"WrapBgDiag"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryBg"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">cTNM, pTNM, Histologie, Grading, Lymphknoten, Rezeptorstatus</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">(bundle lookups target diagnose sub-elements via tgt.diagnose)</span>\r\n bundle.entry<b> as </b><span style=\"color: maroon\">entry</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> entry.resource<b> as </b><span style=\"color: maroon\">obs</span><span style=\"color: navy\"><b> -> </b></span> tgt.diagnose<b> as </b><span style=\"color: maroon\">diag</span><span style=\"color: navy\">, </span> diag.cTNM<b> as </b><span style=\"color: maroon\">ctnm</span><b> then</b><span style=\"color: navy\"> {\r\n</span> obs.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>ctnm.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>"MapCTVal"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapCT"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryCT"</i><span style=\"color: navy\">;</span>\r\n bundle.entry<b> as </b><span style=\"color: maroon\">entry</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> entry.resource<b> as </b><span style=\"color: maroon\">obs</span><span style=\"color: navy\"><b> -> </b></span> tgt.diagnose<b> as </b><span style=\"color: maroon\">diag</span><span style=\"color: navy\">, </span> diag.cTNM<b> as </b><span style=\"color: maroon\">ctnm</span><b> then</b><span style=\"color: navy\"> {\r\n</span> obs.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>ctnm.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>"MapCNVal"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapCN"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryCN"</i><span style=\"color: navy\">;</span>\r\n bundle.entry<b> as </b><span style=\"color: maroon\">entry</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> entry.resource<b> as </b><span style=\"color: maroon\">obs</span><span style=\"color: navy\"><b> -> </b></span> tgt.diagnose<b> as </b><span style=\"color: maroon\">diag</span><span style=\"color: navy\">, </span> diag.cTNM<b> as </b><span style=\"color: maroon\">ctnm</span><b> then</b><span style=\"color: navy\"> {\r\n</span> obs.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>ctnm.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>"MapCMVal"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapCM"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryCM"</i><span style=\"color: navy\">;</span>\r\n bundle.entry<b> as </b><span style=\"color: maroon\">entry</span><b> where </b>resource.is(Observation) and resource.code.coding.exists(code = '44648-0') and resource.meta.profile.exists($this.contains('senologie-bildgebung') or $this.contains('senologie-tumorgroesse')).not()<b> then</b><span style=\"color: navy\"> {\r\n</span> entry.resource<b> as </b><span style=\"color: maroon\">obs</span><span style=\"color: navy\"><b> -> </b></span> tgt.diagnose<b> as </b><span style=\"color: maroon\">diag</span><span style=\"color: navy\">, </span> diag.cTNM<b> as </b><span style=\"color: maroon\">ctnm</span><b> then</b><span style=\"color: navy\"> {\r\n</span> obs.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>ctnm.tumorgroesseKlinisch = <b>truncate</b><span style=\"color: navy\">(</span><span style=\"color: maroon\">v</span><span style=\"color: navy\">)</span> <i>"SetTGKlin"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapTGKlinVal"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapTGKlin"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryTGKlin"</i><span style=\"color: navy\">;</span>\r\n bundle.entry<b> as </b><span style=\"color: maroon\">entry</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> entry.resource<b> as </b><span style=\"color: maroon\">obs</span><span style=\"color: navy\"><b> -> </b></span> tgt.diagnose<b> as </b><span style=\"color: maroon\">diag</span><span style=\"color: navy\">, </span> diag.pTNM<b> as </b><span style=\"color: maroon\">ptnm</span><b> then</b><span style=\"color: navy\"> {\r\n</span> obs.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>ptnm.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>"MapPTVal"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapPT"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryPT"</i><span style=\"color: navy\">;</span>\r\n bundle.entry<b> as </b><span style=\"color: maroon\">entry</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> entry.resource<b> as </b><span style=\"color: maroon\">obs</span><span style=\"color: navy\"><b> -> </b></span> tgt.diagnose<b> as </b><span style=\"color: maroon\">diag</span><span style=\"color: navy\">, </span> diag.pTNM<b> as </b><span style=\"color: maroon\">ptnm</span><b> then</b><span style=\"color: navy\"> {\r\n</span> obs.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>ptnm.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>"MapPNVal"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapPN"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryPN"</i><span style=\"color: navy\">;</span>\r\n bundle.entry<b> as </b><span style=\"color: maroon\">entry</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> entry.resource<b> as </b><span style=\"color: maroon\">obs</span><span style=\"color: navy\"><b> -> </b></span> tgt.diagnose<b> as </b><span style=\"color: maroon\">diag</span><span style=\"color: navy\">, </span> diag.pTNM<b> as </b><span style=\"color: maroon\">ptnm</span><b> then</b><span style=\"color: navy\"> {\r\n</span> obs.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>ptnm.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>"MapPMVal"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapPM"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryPM"</i><span style=\"color: navy\">;</span>\r\n bundle.entry<b> as </b><span style=\"color: maroon\">entry</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> entry.resource<b> as </b><span style=\"color: maroon\">obs</span><span style=\"color: navy\"><b> -> </b></span> tgt.diagnose<b> as </b><span style=\"color: maroon\">diag</span><span style=\"color: navy\">, </span> diag.pTNM<b> as </b><span style=\"color: maroon\">ptnm</span><b> then</b><span style=\"color: navy\"> {\r\n</span> obs.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>ptnm.tumorgroesseInvasiv = <b>truncate</b><span style=\"color: navy\">(</span><span style=\"color: maroon\">v</span><span style=\"color: navy\">)</span> <i>"SetTGInv"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapTGInvVal"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapTGInv"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryTGInv"</i><span style=\"color: navy\">;</span>\r\n bundle.entry<b> as </b><span style=\"color: maroon\">entry</span><b> where </b>resource.is(Observation) and resource.code.coding.exists(code = '21908-9')<b> then</b><span style=\"color: navy\"> {\r\n</span> entry.resource<b> as </b><span style=\"color: maroon\">obs</span><span style=\"color: navy\"><b> -> </b></span> tgt.diagnose<b> as </b><span style=\"color: maroon\">diag</span><span style=\"color: navy\">, </span> diag.cTNM<b> as </b><span style=\"color: maroon\">ctnm</span><b> then</b><span style=\"color: navy\"> {\r\n</span> obs.method<b> as </b><span style=\"color: maroon\">method</span><b> then</b><span style=\"color: navy\"> {\r\n</span> method.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>ctnm.tnmVersion = <span style=\"color: maroon\">cd</span> <i>"SetCTNMVersion"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"ExtractCTNMVersionCode"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapCTNMVersion"</i><span style=\"color: navy\">;</span>\r\n obs.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>ctnm.uiccStadium = <span style=\"color: maroon\">cd</span> <i>"SetCUICC"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"ExtractCUICC"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapCUICC"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapCTNMDetail"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryCTNMDetail"</i><span style=\"color: navy\">;</span>\r\n bundle.entry<b> as </b><span style=\"color: maroon\">entry</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> entry.resource<b> as </b><span style=\"color: maroon\">obs</span><span style=\"color: navy\"><b> -> </b></span> tgt.diagnose<b> as </b><span style=\"color: maroon\">diag</span><span style=\"color: navy\">, </span> diag.pTNM<b> as </b><span style=\"color: maroon\">ptnm</span><b> then</b><span style=\"color: navy\"> {\r\n</span> obs.method<b> as </b><span style=\"color: maroon\">method</span><b> then</b><span style=\"color: navy\"> {\r\n</span> method.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>ptnm.tnmVersion = <span style=\"color: maroon\">cd</span> <i>"SetPTNMVersion"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"ExtractPTNMVersionCode"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapPTNMVersion"</i><span style=\"color: navy\">;</span>\r\n obs.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>ptnm.uiccStadium = <span style=\"color: maroon\">cd</span> <i>"SetPUICC"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"ExtractPUICC"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapPUICC"</i><span style=\"color: navy\">;</span>\r\n obs.component<b> as </b><span style=\"color: maroon\">comp</span><b> where </b>code.coding.exists(code = '59479-6')<b> then</b><span style=\"color: navy\"> {\r\n</span> comp.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>ptnm.ySymbol = <span style=\"color: maroon\">cd</span> <i>"SetYSymbol"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"ExtractYCode"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapYValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapYSymbol"</i><span style=\"color: navy\">;</span>\r\n obs.component<b> as </b><span style=\"color: maroon\">comp</span><b> where </b>code.coding.exists(code = '33739-4')<b> then</b><span style=\"color: navy\"> {\r\n</span> comp.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>ptnm.l = <span style=\"color: maroon\">cd</span> <i>"SetLKat"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"ExtractLCode"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapLValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapLKat"</i><span style=\"color: navy\">;</span>\r\n obs.component<b> as </b><span style=\"color: maroon\">comp</span><b> where </b>code.coding.exists(code = '33740-2')<b> then</b><span style=\"color: navy\"> {\r\n</span> comp.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>ptnm.v = <span style=\"color: maroon\">cd</span> <i>"SetVKat"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"ExtractVCode"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapVValue"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapVKat"</i><span style=\"color: navy\">;</span>\r\n obs.component<b> as </b><span style=\"color: maroon\">comp</span><b> where </b>code.coding.exists(code = '92837-4')<b> then</b><span style=\"color: navy\"> {\r\n</span> comp.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>ptnm.pn = <span style=\"color: maroon\">cd</span> <i>"SetPnKat"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"ExtractPnCode"</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>"MapPnKat"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapPTNMDetail"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryPTNMDetail"</i><span style=\"color: navy\">;</span>\r\n bundle.entry<b> as </b><span style=\"color: maroon\">entry</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> entry.resource<b> as </b><span style=\"color: maroon\">obs</span><span style=\"color: navy\"><b> -> </b></span>tgt.diagnose<b> as </b><span style=\"color: maroon\">diag</span><b> then</b><span style=\"color: navy\"> {\r\n</span> obs.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>diag.diagnoseICDO<b> as </b><span style=\"color: maroon\">icdo</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>icdo.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>icdo.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 bundle.entry<b> as </b><span style=\"color: maroon\">entry</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> entry.resource<b> as </b><span style=\"color: maroon\">obs</span><span style=\"color: navy\"><b> -> </b></span>tgt.diagnose<b> as </b><span style=\"color: maroon\">diag</span><b> then</b><span style=\"color: navy\"> {\r\n</span> obs.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>diag.grading = <span style=\"color: maroon\">cd</span> <i>"SetGrading"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapGrading"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapGradingVal"</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 bundle.entry<b> as </b><span style=\"color: maroon\">entry</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> entry.resource<b> as </b><span style=\"color: maroon\">obs</span><span style=\"color: navy\"><b> -> </b></span> tgt.diagnose<b> as </b><span style=\"color: maroon\">diag</span><span style=\"color: navy\">, </span> diag.lymphknoten<b> as </b><span style=\"color: maroon\">lk</span><b> then</b><span style=\"color: navy\"> {\r\n</span> obs.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>lk.untersucht = <b>truncate</b><span style=\"color: navy\">(</span><span style=\"color: maroon\">v</span><span style=\"color: navy\">)</span> <i>"SetLKUnt"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapLKUntVal"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapLKUnt"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryLKUnt"</i><span style=\"color: navy\">;</span>\r\n bundle.entry<b> as </b><span style=\"color: maroon\">entry</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> entry.resource<b> as </b><span style=\"color: maroon\">obs</span><span style=\"color: navy\"><b> -> </b></span> tgt.diagnose<b> as </b><span style=\"color: maroon\">diag</span><span style=\"color: navy\">, </span> diag.lymphknoten<b> as </b><span style=\"color: maroon\">lk</span><b> then</b><span style=\"color: navy\"> {\r\n</span> obs.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>lk.befallen = <b>truncate</b><span style=\"color: navy\">(</span><span style=\"color: maroon\">v</span><span style=\"color: navy\">)</span> <i>"SetLKBef"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapLKBefVal"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapLKBef"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryLKBef"</i><span style=\"color: navy\">;</span>\r\n bundle.entry<b> as </b><span style=\"color: maroon\">entry</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> entry.resource<b> as </b><span style=\"color: maroon\">obs</span><span style=\"color: navy\"><b> -> </b></span> tgt.diagnose<b> as </b><span style=\"color: maroon\">diag</span><span style=\"color: navy\">, </span> diag.lymphknoten<b> as </b><span style=\"color: maroon\">lk</span><b> then</b><span style=\"color: navy\"> {\r\n</span> obs.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>lk.sentinelUntersucht = <b>truncate</b><span style=\"color: navy\">(</span><span style=\"color: maroon\">v</span><span style=\"color: navy\">)</span> <i>"SetSLKUnt"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapSLKUntVal"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapSLKUnt"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntrySLKUnt"</i><span style=\"color: navy\">;</span>\r\n bundle.entry<b> as </b><span style=\"color: maroon\">entry</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> entry.resource<b> as </b><span style=\"color: maroon\">obs</span><span style=\"color: navy\"><b> -> </b></span> tgt.diagnose<b> as </b><span style=\"color: maroon\">diag</span><span style=\"color: navy\">, </span> diag.lymphknoten<b> as </b><span style=\"color: maroon\">lk</span><b> then</b><span style=\"color: navy\"> {\r\n</span> obs.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>lk.sentinelBefallen = <b>truncate</b><span style=\"color: navy\">(</span><span style=\"color: maroon\">v</span><span style=\"color: navy\">)</span> <i>"SetSLKBef"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapSLKBefVal"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapSLKBef"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntrySLKBef"</i><span style=\"color: navy\">;</span>\r\n bundle.entry<b> as </b><span style=\"color: maroon\">entry</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> entry.resource<b> as </b><span style=\"color: maroon\">obs</span><span style=\"color: navy\"><b> -> </b></span> tgt.diagnose<b> as </b><span style=\"color: maroon\">diag</span><span style=\"color: navy\">, </span> diag.rezeptorstatus<b> as </b><span style=\"color: maroon\">rez</span><b> then</b><span style=\"color: navy\"> {\r\n</span> obs.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>rez.erStatus = <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>rez.erStatus = <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>rez.erStatus = <span style=\"color: blue\">'U'</span> <i>"SetERUnbekannt"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapER"</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 bundle.entry<b> as </b><span style=\"color: maroon\">entry</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> entry.resource<b> as </b><span style=\"color: maroon\">obs</span><span style=\"color: navy\"><b> -> </b></span> tgt.diagnose<b> as </b><span style=\"color: maroon\">diag</span><span style=\"color: navy\">, </span> diag.rezeptorstatus<b> as </b><span style=\"color: maroon\">rez</span><b> then</b><span style=\"color: navy\"> {\r\n</span> obs.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>rez.prStatus = <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>rez.prStatus = <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>rez.prStatus = <span style=\"color: blue\">'U'</span> <i>"SetPRUnbekannt"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapPR"</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 bundle.entry<b> as </b><span style=\"color: maroon\">entry</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> entry.resource<b> as </b><span style=\"color: maroon\">obs</span><span style=\"color: navy\"><b> -> </b></span> tgt.diagnose<b> as </b><span style=\"color: maroon\">diag</span><span style=\"color: navy\">, </span> diag.rezeptorstatus<b> as </b><span style=\"color: maroon\">rez</span><b> then</b><span style=\"color: navy\"> {\r\n</span> obs.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>rez.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>rez.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>rez.her2Status = <span style=\"color: blue\">'U'</span> <i>"SetHER2Unbekannt"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapHER2"</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 <span style=\"color: navy\">// </span><span style=\"color: green\">--- Operationen ---</span>\r\n bundle.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.operation<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\">Op: Drahtmarkierung aus ServiceRequest</span>\r\n bundle.entry<b> as </b><span style=\"color: maroon\">srEntry</span><b> where </b>resource.is(ServiceRequest)<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/ex-senologie-pre-op-markierung'<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> where </b>code = 'N'<span style=\"color: navy\"><b> -> </b></span>op.drahtmarkierung = <span style=\"color: blue\">'0'</span> <i>"SetDrahtKeine"</i><span style=\"color: navy\">;</span>\r\n val.coding<b> as </b><span style=\"color: maroon\">c</span><b> where </b>code = 'S'<span style=\"color: navy\"><b> -> </b></span>op.drahtmarkierung = <span style=\"color: blue\">'1'</span> <i>"SetDrahtSono"</i><span style=\"color: navy\">;</span>\r\n val.coding<b> as </b><span style=\"color: maroon\">c</span><b> where </b>code = 'M'<span style=\"color: navy\"><b> -> </b></span>op.drahtmarkierung = <span style=\"color: blue\">'2'</span> <i>"SetDrahtMammo"</i><span style=\"color: navy\">;</span>\r\n val.coding<b> as </b><span style=\"color: maroon\">c</span><b> where </b>code = 'T'<span style=\"color: navy\"><b> -> </b></span>op.drahtmarkierung = <span style=\"color: blue\">'3'</span> <i>"SetDrahtMRT"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapDrahtVal"</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>"MapDrahtSR"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryDrahtSR"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Op: Schnellschnitt / Praeparatkontrolle aus Specimen</span>\r\n bundle.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>"SetSSJa"</i><span style=\"color: navy\">;</span>\r\n 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>"SetPKMammo"</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>"SetPKSono"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapPKCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapPKProcedure"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapPKProcessing"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"SpecCtx"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntrySpecimen"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Op: Komplikationen aus Observations</span>\r\n bundle.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\">obs</span><span style=\"color: navy\"><b> -> </b></span>op.komplikationen<b> as </b><span style=\"color: maroon\">komp</span><b> then</b><span style=\"color: navy\"> {\r\n</span> obs.component<b> as </b><span style=\"color: maroon\">comp</span><b> where </b>code.coding.exists(code = '116224001')<b> then</b><span style=\"color: navy\"> {\r\n</span> comp.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>komp.kuerzel = <span style=\"color: maroon\">cd</span> <i>"SetKompKuerzel"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapKompKuerzelCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapKompKuerzelVal"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapKompKuerzelComp"</i><span style=\"color: navy\">;</span>\r\n obs.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 = '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><span style=\"color: navy\"><b> -> </b></span>komp.clavienDindo = <span style=\"color: maroon\">cd</span> <i>"SetKompClavien"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapKompClavienCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapKompClavien"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapKompObs"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryKomp"</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\">// </span><span style=\"color: green\">--- Systemtherapie ---</span>\r\n bundle.entry<b> as </b><span style=\"color: maroon\">entry</span><b> where </b>resource.is(Procedure) and resource.meta.profile.exists($this.contains('senologie-systemtherapie-procedure'))<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.systemtherapie<b> as </b><span style=\"color: maroon\">syst</span><b> then </b>MapSystemtherapie<span style=\"color: navy\">(</span><span style=\"color: maroon\">procedure</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">syst</span><span style=\"color: navy\">)</span> <i>"CallMapSystemtherapie"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntrySystemtherapie"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">--- Endokrine Therapie (Systemtherapie mit therapieart=HO) ---</span>\r\n bundle.entry<b> as </b><span style=\"color: maroon\">entry</span><b> where </b>resource.is(Procedure) and resource.meta.profile.exists($this.contains('senologie-systemtherapie-procedure'))<b> then</b><span style=\"color: navy\"> {\r\n</span> entry.resource<b> as </b><span style=\"color: maroon\">procedure</span><b> where </b>code.coding.exists((system = 'https://www.medizininformatik-initiative.de/fhir/ext/modul-onko/CodeSystem/mii-cs-onko-therapie-typ') and (code = 'HO'))<b> then</b><span style=\"color: navy\"> {\r\n</span> procedure<span style=\"color: navy\"><b> -> </b></span>tgt.endokrineTherapie<b> as </b><span style=\"color: maroon\">endo</span><b> then </b>MapEndokrineTherapie<span style=\"color: navy\">(</span><span style=\"color: maroon\">procedure</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">endo</span><span style=\"color: navy\">)</span> <i>"CallMapEndoTherapie"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"CheckHO"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryEndoTherapie"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">--- Strahlentherapie ---</span>\r\n bundle.entry<b> as </b><span style=\"color: maroon\">entry</span><b> where </b>resource.is(Procedure) and resource.meta.profile.exists($this.contains('senologie-strahlentherapie'))<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.strahlentherapie<b> as </b><span style=\"color: maroon\">rt</span><b> then </b>MapStrahlentherapie<span style=\"color: navy\">(</span><span style=\"color: maroon\">procedure</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">rt</span><span style=\"color: navy\">)</span> <i>"CallMapStrahlentherapie"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryRT"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">--- Tumorkonferenz aus CarePlan ---</span>\r\n bundle.entry<b> as </b><span style=\"color: maroon\">entry</span><b> where </b>resource.is(CarePlan) and resource.meta.profile.exists($this.contains('senologie-tumorboard'))<b> then</b><span style=\"color: navy\"> {\r\n</span> entry.resource<b> as </b><span style=\"color: maroon\">cp</span><span style=\"color: navy\"><b> -> </b></span>tgt.tumorkonferenz<b> as </b><span style=\"color: maroon\">tk</span><b> then </b>MapTumorkonferenz<span style=\"color: navy\">(</span><span style=\"color: maroon\">cp</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">tk</span><span style=\"color: navy\">)</span> <i>"CallMapTK"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryTK"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">--- Psychoonkologie aus Procedure (senologie-psychoonkologie) ---</span>\r\n bundle.entry<b> as </b><span style=\"color: maroon\">entry</span><b> where </b>resource.is(Procedure) and resource.meta.profile.exists($this.contains('senologie-psychoonkologie'))<b> then</b><span style=\"color: navy\"> {\r\n</span> entry.resource<b> as </b><span style=\"color: maroon\">proc</span><span style=\"color: navy\"><b> -> </b></span>tgt.psychoonkologie<b> as </b><span style=\"color: maroon\">psych</span><b> then </b>MapPsychoonkologie<span style=\"color: navy\">(</span><span style=\"color: maroon\">proc</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">psych</span><span style=\"color: navy\">)</span> <i>"CallMapPsych"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryPsychoonko"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">--- Studienteilnahme aus ResearchSubject ---</span>\r\n bundle.entry<b> as </b><span style=\"color: maroon\">entry</span><b> where </b>resource.is(ResearchSubject)<b> then</b><span style=\"color: navy\"> {\r\n</span> entry.resource<b> as </b><span style=\"color: maroon\">rs</span><span style=\"color: navy\"><b> -> </b></span>tgt.studienteilnahme<b> as </b><span style=\"color: maroon\">stud</span><b> then </b>MapStudienteilnahme<span style=\"color: navy\">(</span><span style=\"color: maroon\">rs</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">stud</span><span style=\"color: navy\">)</span> <i>"CallMapStud"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"EntryResearchSubject"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">--- Verlauf (inkl. OncoBox 2.0 FM-Felder J03-J05) ---</span>\r\n bundle<span style=\"color: navy\"><b> -> </b></span>tgt<b> then </b>MapVerlaufFromBundle<span style=\"color: navy\">(</span><span style=\"color: maroon\">bundle</span><span style=\"color: navy\">, </span><span style=\"color: maroon\">tgt</span><span style=\"color: navy\">)</span> <i>"CallMapVerlauf"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><span style=\"color: navy\">// </span><span style=\"color: green\">============================================================================</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Patient -> Patient-Block (Geburtsdatum, Geschlecht, PLZ, Menopausenstatus)</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">============================================================================</span>\r\n<b>group </b>MapPatient<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">src</span><span style=\"color: navy\"> : </span>Patient, <b>target</b> <span style=\"color: maroon\">tgt</span><span style=\"color: navy\"> : </span>BackboneElement<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> src.birthDate<b> as </b><span style=\"color: maroon\">bd</span><span style=\"color: navy\"><b> -> </b></span>tgt.geburtsdatum = <span style=\"color: maroon\">bd</span> <i>"SetPatGebdat"</i><span style=\"color: navy\">;</span>\r\n src.gender<b> as </b><span style=\"color: maroon\">g</span><b> where </b>$this = 'female'<span style=\"color: navy\"><b> -> </b></span>tgt.geschlecht = <span style=\"color: blue\">'W'</span> <i>"SetPatGeschlW"</i><span style=\"color: navy\">;</span>\r\n src.gender<b> as </b><span style=\"color: maroon\">g</span><b> where </b>$this = 'male'<span style=\"color: navy\"><b> -> </b></span>tgt.geschlecht = <span style=\"color: blue\">'M'</span> <i>"SetPatGeschlM"</i><span style=\"color: navy\">;</span>\r\n src.gender<b> as </b><span style=\"color: maroon\">g</span><b> where </b>$this = 'other'<span style=\"color: navy\"><b> -> </b></span>tgt.geschlecht = <span style=\"color: blue\">'D'</span> <i>"SetPatGeschlD"</i><span style=\"color: navy\">;</span>\r\n src.gender<b> as </b><span style=\"color: maroon\">g</span><b> where </b>$this = 'unknown'<span style=\"color: navy\"><b> -> </b></span>tgt.geschlecht = <span style=\"color: blue\">'U'</span> <i>"SetPatGeschlU"</i><span style=\"color: navy\">;</span>\r\n src.address<b> as </b><span style=\"color: maroon\">addr</span><b> then</b><span style=\"color: navy\"> {\r\n</span> addr.postalCode<b> as </b><span style=\"color: maroon\">plz</span><span style=\"color: navy\"><b> -> </b></span>tgt.postleitzahl = <span style=\"color: maroon\">plz</span> <i>"SetPatPLZ"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapPatPLZ"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><span style=\"color: navy\">// </span><span style=\"color: green\">============================================================================</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Fall -> Fall-Block (Typ, Aufnahme/Entlassung)</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">============================================================================</span>\r\n<b>group </b>MapFall<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">src</span><span style=\"color: navy\"> : </span>Encounter, <b>target</b> <span style=\"color: maroon\">tgt</span><span style=\"color: navy\"> : </span>BackboneElement<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> src.class<b> as </b><span style=\"color: maroon\">cls</span><b> then</b><span style=\"color: navy\"> {\r\n</span> cls.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this = 'IMP'<span style=\"color: navy\"><b> -> </b></span>tgt.fallTyp = <span style=\"color: blue\">'1'</span> <i>"SetFallTypStat"</i><span style=\"color: navy\">;</span>\r\n cls.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this = 'AMB'<span style=\"color: navy\"><b> -> </b></span>tgt.fallTyp = <span style=\"color: blue\">'2'</span> <i>"SetFallTypAmb"</i><span style=\"color: navy\">;</span>\r\n cls.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this = 'SS'<span style=\"color: navy\"><b> -> </b></span>tgt.fallTyp = <span style=\"color: blue\">'3'</span> <i>"SetFallTypTeilstat"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapFallTyp"</i><span style=\"color: navy\">;</span>\r\n src.period<b> as </b><span style=\"color: maroon\">period</span><b> then</b><span style=\"color: navy\"> {\r\n</span> period.start<b> as </b><span style=\"color: maroon\">s</span><span style=\"color: navy\"><b> -> </b></span>tgt.aufnahmedatum = <span style=\"color: maroon\">s</span> <i>"SetFallAufn"</i><span style=\"color: navy\">;</span>\r\n period.end<b> as </b><span style=\"color: maroon\">e</span><span style=\"color: navy\"><b> -> </b></span>tgt.entlassungsdatum = <span style=\"color: maroon\">e</span> <i>"SetFallEntl"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapFallPeriod"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><span style=\"color: navy\">// </span><span style=\"color: green\">============================================================================</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Diagnose -> Diagnose-Block</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">============================================================================</span>\r\n<b>group </b>MapDiagnose<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">src</span><span style=\"color: navy\"> : </span>Condition, <b>target</b> <span style=\"color: maroon\">tgt</span><span style=\"color: navy\"> : </span>BackboneElement<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Diagnose_Datum aus Condition.onsetDateTime</span>\r\n src.onset<b> as </b><span style=\"color: maroon\">on</span><b> where </b>$this.is(dateTime)<span style=\"color: navy\"><b> -> </b></span>tgt.diagnosedatum = <span style=\"color: maroon\">on</span> <i>"SetDiagDatum"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">ICD-10-GM</span>\r\n src.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'<span style=\"color: navy\"><b> -> </b></span>tgt.diagnoseICD<b> as </b><span style=\"color: maroon\">icd</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>icd.code = <span style=\"color: maroon\">cd</span> <i>"SetDiagICDCode"</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>icd.version = <span style=\"color: maroon\">v</span> <i>"SetDiagICDVersion"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapDiagICDCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapDiagICD"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Dignitaet aus ICD-10-GM-Prefix</span>\r\n src.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><b> where </b>$this.startsWith('C50')<span style=\"color: navy\"><b> -> </b></span>tgt.dignitaet = <span style=\"color: blue\">'1'</span> <i>"SetDignMaligne"</i><span style=\"color: navy\">;</span>\r\n c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this.startsWith('D05')<span style=\"color: navy\"><b> -> </b></span>tgt.dignitaet = <span style=\"color: blue\">'2'</span> <i>"SetDignInSitu"</i><span style=\"color: navy\">;</span>\r\n c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this.startsWith('D24')<span style=\"color: navy\"><b> -> </b></span>tgt.dignitaet = <span style=\"color: blue\">'4'</span> <i>"SetDignBenigne"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapDignICD"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapDignitaet"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Seitenlokalisation</span>\r\n src.bodySite<b> as </b><span style=\"color: maroon\">bs</span><b> then</b><span style=\"color: navy\"> {\r\n</span> bs.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 = '24028007'<span style=\"color: navy\"><b> -> </b></span>tgt.seitenlokalisation = <span style=\"color: blue\">'R'</span> <i>"SetDiagSeiteR"</i><span style=\"color: navy\">;</span>\r\n c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this = '7771000'<span style=\"color: navy\"><b> -> </b></span>tgt.seitenlokalisation = <span style=\"color: blue\">'L'</span> <i>"SetDiagSeiteL"</i><span style=\"color: navy\">;</span>\r\n c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this = '51440002'<span style=\"color: navy\"><b> -> </b></span>tgt.seitenlokalisation = <span style=\"color: blue\">'B'</span> <i>"SetDiagSeiteB"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapDiagSeiteSCT"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapDiagSeite"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Histologische Sicherung praeoperativ -- default only</span>\r\n src<span style=\"color: navy\"><b> -> </b></span>tgt.histologischeSicherungPraeop = <span style=\"color: blue\">'0'</span> <i>"SetHistPraeopDefault"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><span style=\"color: navy\">// </span><span style=\"color: green\">============================================================================</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Bildgebung -> Bildgebung-Block</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">============================================================================</span>\r\n<b>group </b>MapBildgebung<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">src</span><span style=\"color: navy\"> : </span>Observation, <b>target</b> <span style=\"color: maroon\">tgt</span><span style=\"color: navy\"> : </span>BackboneElement<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> src.effective<b> as </b><span style=\"color: maroon\">eff</span><b> where </b>$this.is(dateTime)<span style=\"color: navy\"><b> -> </b></span>tgt.datum = <span style=\"color: maroon\">eff</span> <i>"SetBgDatum"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Methode aus Observation.method (SNOMED)</span>\r\n src.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>tgt.methode = <span style=\"color: blue\">'1'</span> <i>"SetBgMammo"</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>tgt.methode = <span style=\"color: blue\">'2'</span> <i>"SetBgSono"</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>tgt.methode = <span style=\"color: blue\">'3'</span> <i>"SetBgMRT"</i><span style=\"color: navy\">;</span>\r\n c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this = '241489003'<span style=\"color: navy\"><b> -> </b></span>tgt.methode = <span style=\"color: blue\">'4'</span> <i>"SetBgTomo"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapBgMethodeCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapBgMethode"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">BI-RADS (falls value CodeableConcept)</span>\r\n src.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>tgt.birads = <span style=\"color: maroon\">cd</span> <i>"SetBgBirads"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapBgBiradsCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapBgBirads"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><span style=\"color: navy\">// </span><span style=\"color: green\">============================================================================</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Tumorkonferenz -> Tumorkonferenz-Block</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">============================================================================</span>\r\n<b>group </b>MapTumorkonferenz<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">src</span><span style=\"color: navy\"> : </span>CarePlan, <b>target</b> <span style=\"color: maroon\">tgt</span><span style=\"color: navy\"> : </span>BackboneElement<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> src<span style=\"color: navy\"><b> -> </b></span>tgt.lnr = <span style=\"color: blue\">1</span> <i>"SetTKLnr"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Datum aus CarePlan.period.start</span>\r\n src.period<b> as </b><span style=\"color: maroon\">period</span><b> then</b><span style=\"color: navy\"> {\r\n</span> period.start<b> as </b><span style=\"color: maroon\">s</span><span style=\"color: navy\"><b> -> </b></span>tgt.datum = <span style=\"color: maroon\">s</span> <i>"SetTKDatum"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapTKPeriod"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Typ aus CarePlan.category</span>\r\n src.category<b> as </b><span style=\"color: maroon\">cat</span><b> then</b><span style=\"color: navy\"> {\r\n</span> cat.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 = 'praetherapeutisch'<span style=\"color: navy\"><b> -> </b></span>tgt.typ = <span style=\"color: blue\">'1'</span> <i>"SetTKTypPrae"</i><span style=\"color: navy\">;</span>\r\n c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this = 'postoperativ'<span style=\"color: navy\"><b> -> </b></span>tgt.typ = <span style=\"color: blue\">'2'</span> <i>"SetTKTypPost"</i><span style=\"color: navy\">;</span>\r\n c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this = 'rezidiv'<span style=\"color: navy\"><b> -> </b></span>tgt.typ = <span style=\"color: blue\">'3'</span> <i>"SetTKTypRez"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapTKTypCoding"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">}</span> <i>"MapTKTyp"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><span style=\"color: navy\">// </span><span style=\"color: green\">============================================================================</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Psychoonkologie -> Psychoonkologie-Block (KB-9)</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Procedure.status = completed -> erfolgt = '1', Procedure.performedDateTime -> datum</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Procedure.status = not-done -> erfolgt = '0'</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">============================================================================</span>\r\n<b>group </b>MapPsychoonkologie<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">src</span><span style=\"color: navy\"> : </span>Procedure, <b>target</b> <span style=\"color: maroon\">tgt</span><span style=\"color: navy\"> : </span>BackboneElement<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Psych_Erfolgt: completed=ja, not-done=nein</span>\r\n src.status<b> as </b><span style=\"color: maroon\">s</span><b> where </b>$this = 'completed'<span style=\"color: navy\"><b> -> </b></span>tgt.erfolgt = <span style=\"color: blue\">'1'</span> <i>"SetPsychJa"</i><span style=\"color: navy\">;</span>\r\n src.status<b> as </b><span style=\"color: maroon\">s</span><b> where </b>$this = 'not-done'<span style=\"color: navy\"><b> -> </b></span>tgt.erfolgt = <span style=\"color: blue\">'0'</span> <i>"SetPsychNein"</i><span style=\"color: navy\">;</span>\r\n <span style=\"color: navy\">// </span><span style=\"color: green\">Psych_Datum aus performedDateTime</span>\r\n src.performed<b> as </b><span style=\"color: maroon\">perf</span><b> where </b>$this.is(dateTime)<span style=\"color: navy\"><b> -> </b></span>tgt.datum = <span style=\"color: maroon\">perf</span> <i>"SetPsychDatum"</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span><span style=\"color: navy\">// </span><span style=\"color: green\">============================================================================</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Studienteilnahme -> Studien-Block</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">============================================================================</span>\r\n<b>group </b>MapStudienteilnahme<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">src</span><span style=\"color: navy\"> : </span>ResearchSubject, <b>target</b> <span style=\"color: maroon\">tgt</span><span style=\"color: navy\"> : </span>BackboneElement<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span> src<span style=\"color: navy\"><b> -> </b></span>tgt.teilgenommen = <span style=\"color: blue\">'1'</span> <i>"SetStudJa"</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/SenologieToOncoBoxBrustPrimaerfall",
"version" : "0.9.0",
"name" : "SenologieToOncoBoxBrustPrimaerfall",
"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 Condition + Patient + Encounter to OncoBox Brust Primaerfall\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/Observation",
"mode" : "source",
"alias" : "Observation"
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/Procedure",
"mode" : "source",
"alias" : "Procedure"
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/CarePlan",
"mode" : "source",
"alias" : "CarePlan"
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/ResearchSubject",
"mode" : "source",
"alias" : "ResearchSubject"
}
],
"import" : [
🔗 "https://www.senologie.org/fhir/StructureMap/SenologieToOncoBoxBrustOperation"🔗 ,
"https://www.senologie.org/fhir/StructureMap/SenologieToOncoBoxBrustTherapie"🔗 ,
"https://www.senologie.org/fhir/StructureMap/SenologieToOncoBoxBrustVerlauf"
],
"group" : [
{
"name" : "MapPrimaerfall",
"typeMode" : "none",
"documentation" : "Import-only map: no target `uses` declaration — the calling map\r\n(SenologieToOncoBoxBrust) provides the correct BackboneElement context\r\n(primaerfall). Omitting the root-level target type avoids SM_TARGET_PATH\r\nfalse positives where the validator would resolve property names against\r\noncobox-brust-meldung root.\r\n============================================================================\r\nPrimaerfall: Condition (Brust-Diagnose) + Patient + Encounter -> Primaerfall\r\nPro Primaerfall (Condition mit ICD-10 aus dem Mamma-Spektrum) werden\r\nPatientendaten, Fall-Daten, Diagnose-Block und Therapie-Subblocks befuellt.\r\n============================================================================",
"input" : [
{
"name" : "bundle",
"type" : "Bundle",
"mode" : "source"
},
{
"name" : "tgt",
"type" : "BackboneElement",
"mode" : "target"
}
],
"rule" : [
{
"name" : "EntryCondition",
"source" : [
{
"context" : "bundle",
"element" : "entry",
"variable" : "condEntry",
"condition" : "resource.is(Condition) and resource.code.coding.exists((system = 'http://fhir.de/CodeSystem/bfarm/icd-10-gm') and (code.startsWith('C50') or code.startsWith('D05') or code.startsWith('D24') or code.startsWith('Z40') or code.startsWith('Z42')))"
}
],
"rule" : [
{
"name" : "ConditionCtx",
"source" : [
{
"context" : "condEntry",
"element" : "resource",
"variable" : "src"
}
],
"rule" : [
{
"name" : "SetFallId",
"source" : [
{
"context" : "src",
"element" : "id",
"variable" : "cid"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "fallId",
"transform" : "copy",
"parameter" : [
{
"valueId" : "cid"
}
]
}
]
},
{
"name" : "MapPrimaerfallart",
"source" : [
{
"context" : "src",
"element" : "code",
"variable" : "code"
}
],
"rule" : [
{
"name" : "MapPrimaerfallartICD",
"source" : [
{
"context" : "code",
"element" : "coding",
"variable" : "c",
"condition" : "system = 'http://fhir.de/CodeSystem/bfarm/icd-10-gm'"
}
],
"rule" : [
{
"name" : "SetPfArtInvasiv",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this.startsWith('C50')"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "primaerfallart",
"transform" : "copy",
"parameter" : [
{
"valueString" : "1"
}
]
}
]
},
{
"name" : "SetPfArtDCIS",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this.startsWith('D05')"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "primaerfallart",
"transform" : "copy",
"parameter" : [
{
"valueString" : "2"
}
]
}
]
},
{
"name" : "SetPfArtRisiko",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this.startsWith('Z40')"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "primaerfallart",
"transform" : "copy",
"parameter" : [
{
"valueString" : "7"
}
]
}
]
},
{
"name" : "SetPfArtRekon",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this.startsWith('Z42')"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "primaerfallart",
"transform" : "copy",
"parameter" : [
{
"valueString" : "8"
}
]
}
]
},
{
"name" : "SetPfArtBenigne",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this.startsWith('D24')"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "primaerfallart",
"transform" : "copy",
"parameter" : [
{
"valueString" : "9"
}
]
}
]
}
]
}
]
},
{
"name" : "CallMapDiagnose",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "diagnose",
"variable" : "diag"
}
],
"dependent" : [
{
"name" : "MapDiagnose",
"variable" : [
"src",
"diag"
]
}
]
}
]
}
]
},
{
"name" : "EntryPatient",
"source" : [
{
"context" : "bundle",
"element" : "entry",
"variable" : "entry",
"condition" : "resource.is(Patient)"
}
],
"rule" : [
{
"name" : "CallMapPatient",
"source" : [
{
"context" : "entry",
"element" : "resource",
"variable" : "patient"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "patient",
"variable" : "pat"
}
],
"dependent" : [
{
"name" : "MapPatient",
"variable" : [
"patient",
"pat"
]
}
]
},
{
"name" : "PseudCtx",
"source" : [
{
"context" : "entry",
"element" : "resource",
"variable" : "patient"
}
],
"rule" : [
{
"name" : "SetPatientPseudonym",
"source" : [
{
"context" : "patient",
"element" : "id",
"variable" : "pid"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "patientPseudonym",
"transform" : "copy",
"parameter" : [
{
"valueId" : "pid"
}
]
}
]
}
]
},
{
"name" : "EntryMeno",
"source" : [
{
"context" : "bundle",
"element" : "entry",
"variable" : "menoEntry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '86805-9')"
}
],
"rule" : [
{
"name" : "MapMenoObs",
"source" : [
{
"context" : "menoEntry",
"element" : "resource",
"variable" : "obs"
}
],
"rule" : [
{
"name" : "MapMenoVal",
"source" : [
{
"context" : "obs",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "MapMenoCoding",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c"
}
],
"rule" : [
{
"name" : "SetMenoPrae",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this = '289903006'"
}
],
"target" : [
{
"context" : "pat",
"contextType" : "variable",
"element" : "menopausenstatus",
"transform" : "copy",
"parameter" : [
{
"valueString" : "1"
}
]
}
]
},
{
"name" : "SetMenoPeri",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this = '289904000'"
}
],
"target" : [
{
"context" : "pat",
"contextType" : "variable",
"element" : "menopausenstatus",
"transform" : "copy",
"parameter" : [
{
"valueString" : "2"
}
]
}
]
},
{
"name" : "SetMenoPost",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this = '76977008'"
}
],
"target" : [
{
"context" : "pat",
"contextType" : "variable",
"element" : "menopausenstatus",
"transform" : "copy",
"parameter" : [
{
"valueString" : "3"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntryEncounter",
"source" : [
{
"context" : "bundle",
"element" : "entry",
"variable" : "entry",
"condition" : "resource.is(Encounter)"
}
],
"rule" : [
{
"name" : "CallMapFall",
"source" : [
{
"context" : "entry",
"element" : "resource",
"variable" : "encounter"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "fall",
"variable" : "fall"
}
],
"dependent" : [
{
"name" : "MapFall",
"variable" : [
"encounter",
"fall"
]
}
]
}
]
},
{
"name" : "EntryHistPraeop",
"source" : [
{
"context" : "bundle",
"element" : "entry",
"variable" : "specEntry",
"condition" : "resource.is(Specimen) and resource.meta.profile.exists($this.contains('senologie-pathologie-praeparat'))"
}
],
"rule" : [
{
"name" : "MapHistPraeopSpec",
"source" : [
{
"context" : "specEntry",
"element" : "resource",
"variable" : "specimen"
}
],
"rule" : [
{
"name" : "MapHistPraeopType",
"source" : [
{
"context" : "specimen",
"element" : "type",
"variable" : "t"
}
],
"rule" : [
{
"name" : "WrapHistPraeopStanz",
"source" : [
{
"context" : "t",
"element" : "coding",
"variable" : "c",
"condition" : "code = '122737001'"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "diagnose",
"variable" : "diag"
}
],
"rule" : [
{
"name" : "SetHistPraeopStanz",
"source" : [
{
"context" : "c"
}
],
"target" : [
{
"context" : "diag",
"contextType" : "variable",
"element" : "histologischeSicherungPraeop",
"transform" : "copy",
"parameter" : [
{
"valueString" : "1"
}
]
}
]
}
]
},
{
"name" : "WrapHistPraeopVakuum",
"source" : [
{
"context" : "t",
"element" : "coding",
"variable" : "c",
"condition" : "code = '399014008'"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "diagnose",
"variable" : "diag"
}
],
"rule" : [
{
"name" : "SetHistPraeopVakuum",
"source" : [
{
"context" : "c"
}
],
"target" : [
{
"context" : "diag",
"contextType" : "variable",
"element" : "histologischeSicherungPraeop",
"transform" : "copy",
"parameter" : [
{
"valueString" : "2"
}
]
}
]
}
]
},
{
"name" : "WrapHistPraeopFNA",
"source" : [
{
"context" : "t",
"element" : "coding",
"variable" : "c",
"condition" : "code = '119342007'"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "diagnose",
"variable" : "diag"
}
],
"rule" : [
{
"name" : "SetHistPraeopFNA",
"source" : [
{
"context" : "c"
}
],
"target" : [
{
"context" : "diag",
"contextType" : "variable",
"element" : "histologischeSicherungPraeop",
"transform" : "copy",
"parameter" : [
{
"valueString" : "3"
}
]
}
]
}
]
},
{
"name" : "WrapHistPraeopOffen",
"source" : [
{
"context" : "t",
"element" : "coding",
"variable" : "c",
"condition" : "code = '119380005'"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "diagnose",
"variable" : "diag"
}
],
"rule" : [
{
"name" : "SetHistPraeopOffen",
"source" : [
{
"context" : "c"
}
],
"target" : [
{
"context" : "diag",
"contextType" : "variable",
"element" : "histologischeSicherungPraeop",
"transform" : "copy",
"parameter" : [
{
"valueString" : "4"
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntryBg",
"source" : [
{
"context" : "bundle",
"element" : "entry",
"variable" : "bgEntry",
"condition" : "resource.is(Observation) and resource.meta.profile.exists($this.contains('senologie-bildgebung'))"
}
],
"rule" : [
{
"name" : "WrapBgDiag",
"source" : [
{
"context" : "bgEntry",
"element" : "resource",
"variable" : "obs"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "diagnose",
"variable" : "diag"
}
],
"rule" : [
{
"name" : "CallMapBgInner",
"source" : [
{
"context" : "obs"
}
],
"target" : [
{
"context" : "diag",
"contextType" : "variable",
"element" : "bildgebung",
"variable" : "bg"
}
],
"dependent" : [
{
"name" : "MapBildgebung",
"variable" : [
"obs",
"bg"
]
}
]
}
]
}
]
},
{
"name" : "EntryCT",
"source" : [
{
"context" : "bundle",
"element" : "entry",
"variable" : "entry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '21905-5')"
}
],
"rule" : [
{
"name" : "MapCT",
"source" : [
{
"context" : "entry",
"element" : "resource",
"variable" : "obs"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "diagnose",
"variable" : "diag"
},
{
"context" : "diag",
"contextType" : "variable",
"element" : "cTNM",
"variable" : "ctnm"
}
],
"rule" : [
{
"name" : "MapCTVal",
"source" : [
{
"context" : "obs",
"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" : "ctnm",
"contextType" : "variable",
"element" : "cT",
"transform" : "copy",
"parameter" : [
{
"valueId" : "cd"
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntryCN",
"source" : [
{
"context" : "bundle",
"element" : "entry",
"variable" : "entry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '21906-3')"
}
],
"rule" : [
{
"name" : "MapCN",
"source" : [
{
"context" : "entry",
"element" : "resource",
"variable" : "obs"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "diagnose",
"variable" : "diag"
},
{
"context" : "diag",
"contextType" : "variable",
"element" : "cTNM",
"variable" : "ctnm"
}
],
"rule" : [
{
"name" : "MapCNVal",
"source" : [
{
"context" : "obs",
"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" : "ctnm",
"contextType" : "variable",
"element" : "cN",
"transform" : "copy",
"parameter" : [
{
"valueId" : "cd"
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntryCM",
"source" : [
{
"context" : "bundle",
"element" : "entry",
"variable" : "entry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '21907-1')"
}
],
"rule" : [
{
"name" : "MapCM",
"source" : [
{
"context" : "entry",
"element" : "resource",
"variable" : "obs"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "diagnose",
"variable" : "diag"
},
{
"context" : "diag",
"contextType" : "variable",
"element" : "cTNM",
"variable" : "ctnm"
}
],
"rule" : [
{
"name" : "MapCMVal",
"source" : [
{
"context" : "obs",
"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" : "ctnm",
"contextType" : "variable",
"element" : "cM",
"transform" : "copy",
"parameter" : [
{
"valueId" : "cd"
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntryTGKlin",
"source" : [
{
"context" : "bundle",
"element" : "entry",
"variable" : "entry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '44648-0') and resource.meta.profile.exists($this.contains('senologie-bildgebung') or $this.contains('senologie-tumorgroesse')).not()"
}
],
"rule" : [
{
"name" : "MapTGKlin",
"source" : [
{
"context" : "entry",
"element" : "resource",
"variable" : "obs"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "diagnose",
"variable" : "diag"
},
{
"context" : "diag",
"contextType" : "variable",
"element" : "cTNM",
"variable" : "ctnm"
}
],
"rule" : [
{
"name" : "MapTGKlinVal",
"source" : [
{
"context" : "obs",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "SetTGKlin",
"source" : [
{
"context" : "val",
"element" : "value",
"variable" : "v"
}
],
"target" : [
{
"context" : "ctnm",
"contextType" : "variable",
"element" : "tumorgroesseKlinisch",
"transform" : "truncate",
"parameter" : [
{
"valueId" : "v"
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntryPT",
"source" : [
{
"context" : "bundle",
"element" : "entry",
"variable" : "entry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '21899-0')"
}
],
"rule" : [
{
"name" : "MapPT",
"source" : [
{
"context" : "entry",
"element" : "resource",
"variable" : "obs"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "diagnose",
"variable" : "diag"
},
{
"context" : "diag",
"contextType" : "variable",
"element" : "pTNM",
"variable" : "ptnm"
}
],
"rule" : [
{
"name" : "MapPTVal",
"source" : [
{
"context" : "obs",
"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" : "ptnm",
"contextType" : "variable",
"element" : "pT",
"transform" : "copy",
"parameter" : [
{
"valueId" : "cd"
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntryPN",
"source" : [
{
"context" : "bundle",
"element" : "entry",
"variable" : "entry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '21900-6')"
}
],
"rule" : [
{
"name" : "MapPN",
"source" : [
{
"context" : "entry",
"element" : "resource",
"variable" : "obs"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "diagnose",
"variable" : "diag"
},
{
"context" : "diag",
"contextType" : "variable",
"element" : "pTNM",
"variable" : "ptnm"
}
],
"rule" : [
{
"name" : "MapPNVal",
"source" : [
{
"context" : "obs",
"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" : "ptnm",
"contextType" : "variable",
"element" : "pN",
"transform" : "copy",
"parameter" : [
{
"valueId" : "cd"
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntryPM",
"source" : [
{
"context" : "bundle",
"element" : "entry",
"variable" : "entry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '21901-4')"
}
],
"rule" : [
{
"name" : "MapPM",
"source" : [
{
"context" : "entry",
"element" : "resource",
"variable" : "obs"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "diagnose",
"variable" : "diag"
},
{
"context" : "diag",
"contextType" : "variable",
"element" : "pTNM",
"variable" : "ptnm"
}
],
"rule" : [
{
"name" : "MapPMVal",
"source" : [
{
"context" : "obs",
"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" : "ptnm",
"contextType" : "variable",
"element" : "pM",
"transform" : "copy",
"parameter" : [
{
"valueId" : "cd"
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntryTGInv",
"source" : [
{
"context" : "bundle",
"element" : "entry",
"variable" : "entry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '33728-7')"
}
],
"rule" : [
{
"name" : "MapTGInv",
"source" : [
{
"context" : "entry",
"element" : "resource",
"variable" : "obs"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "diagnose",
"variable" : "diag"
},
{
"context" : "diag",
"contextType" : "variable",
"element" : "pTNM",
"variable" : "ptnm"
}
],
"rule" : [
{
"name" : "MapTGInvVal",
"source" : [
{
"context" : "obs",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "SetTGInv",
"source" : [
{
"context" : "val",
"element" : "value",
"variable" : "v"
}
],
"target" : [
{
"context" : "ptnm",
"contextType" : "variable",
"element" : "tumorgroesseInvasiv",
"transform" : "truncate",
"parameter" : [
{
"valueId" : "v"
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntryCTNMDetail",
"source" : [
{
"context" : "bundle",
"element" : "entry",
"variable" : "entry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '21908-9')"
}
],
"rule" : [
{
"name" : "MapCTNMDetail",
"source" : [
{
"context" : "entry",
"element" : "resource",
"variable" : "obs"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "diagnose",
"variable" : "diag"
},
{
"context" : "diag",
"contextType" : "variable",
"element" : "cTNM",
"variable" : "ctnm"
}
],
"rule" : [
{
"name" : "MapCTNMVersion",
"source" : [
{
"context" : "obs",
"element" : "method",
"variable" : "method"
}
],
"rule" : [
{
"name" : "ExtractCTNMVersionCode",
"source" : [
{
"context" : "method",
"element" : "coding",
"variable" : "c"
}
],
"rule" : [
{
"name" : "SetCTNMVersion",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd"
}
],
"target" : [
{
"context" : "ctnm",
"contextType" : "variable",
"element" : "tnmVersion",
"transform" : "copy",
"parameter" : [
{
"valueId" : "cd"
}
]
}
]
}
]
}
]
},
{
"name" : "MapCUICC",
"source" : [
{
"context" : "obs",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "ExtractCUICC",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c"
}
],
"rule" : [
{
"name" : "SetCUICC",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd"
}
],
"target" : [
{
"context" : "ctnm",
"contextType" : "variable",
"element" : "uiccStadium",
"transform" : "copy",
"parameter" : [
{
"valueId" : "cd"
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntryPTNMDetail",
"source" : [
{
"context" : "bundle",
"element" : "entry",
"variable" : "entry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '21902-2')"
}
],
"rule" : [
{
"name" : "MapPTNMDetail",
"source" : [
{
"context" : "entry",
"element" : "resource",
"variable" : "obs"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "diagnose",
"variable" : "diag"
},
{
"context" : "diag",
"contextType" : "variable",
"element" : "pTNM",
"variable" : "ptnm"
}
],
"rule" : [
{
"name" : "MapPTNMVersion",
"source" : [
{
"context" : "obs",
"element" : "method",
"variable" : "method"
}
],
"rule" : [
{
"name" : "ExtractPTNMVersionCode",
"source" : [
{
"context" : "method",
"element" : "coding",
"variable" : "c"
}
],
"rule" : [
{
"name" : "SetPTNMVersion",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd"
}
],
"target" : [
{
"context" : "ptnm",
"contextType" : "variable",
"element" : "tnmVersion",
"transform" : "copy",
"parameter" : [
{
"valueId" : "cd"
}
]
}
]
}
]
}
]
},
{
"name" : "MapPUICC",
"source" : [
{
"context" : "obs",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "ExtractPUICC",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c"
}
],
"rule" : [
{
"name" : "SetPUICC",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd"
}
],
"target" : [
{
"context" : "ptnm",
"contextType" : "variable",
"element" : "uiccStadium",
"transform" : "copy",
"parameter" : [
{
"valueId" : "cd"
}
]
}
]
}
]
}
]
},
{
"name" : "MapYSymbol",
"source" : [
{
"context" : "obs",
"element" : "component",
"variable" : "comp",
"condition" : "code.coding.exists(code = '59479-6')"
}
],
"rule" : [
{
"name" : "MapYValue",
"source" : [
{
"context" : "comp",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "ExtractYCode",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c"
}
],
"rule" : [
{
"name" : "SetYSymbol",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd"
}
],
"target" : [
{
"context" : "ptnm",
"contextType" : "variable",
"element" : "ySymbol",
"transform" : "copy",
"parameter" : [
{
"valueId" : "cd"
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "MapLKat",
"source" : [
{
"context" : "obs",
"element" : "component",
"variable" : "comp",
"condition" : "code.coding.exists(code = '33739-4')"
}
],
"rule" : [
{
"name" : "MapLValue",
"source" : [
{
"context" : "comp",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "ExtractLCode",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c"
}
],
"rule" : [
{
"name" : "SetLKat",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd"
}
],
"target" : [
{
"context" : "ptnm",
"contextType" : "variable",
"element" : "l",
"transform" : "copy",
"parameter" : [
{
"valueId" : "cd"
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "MapVKat",
"source" : [
{
"context" : "obs",
"element" : "component",
"variable" : "comp",
"condition" : "code.coding.exists(code = '33740-2')"
}
],
"rule" : [
{
"name" : "MapVValue",
"source" : [
{
"context" : "comp",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "ExtractVCode",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c"
}
],
"rule" : [
{
"name" : "SetVKat",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd"
}
],
"target" : [
{
"context" : "ptnm",
"contextType" : "variable",
"element" : "v",
"transform" : "copy",
"parameter" : [
{
"valueId" : "cd"
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "MapPnKat",
"source" : [
{
"context" : "obs",
"element" : "component",
"variable" : "comp",
"condition" : "code.coding.exists(code = '92837-4')"
}
],
"rule" : [
{
"name" : "MapPnValue",
"source" : [
{
"context" : "comp",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "ExtractPnCode",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c"
}
],
"rule" : [
{
"name" : "SetPnKat",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd"
}
],
"target" : [
{
"context" : "ptnm",
"contextType" : "variable",
"element" : "pn",
"transform" : "copy",
"parameter" : [
{
"valueId" : "cd"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntryHistologie",
"source" : [
{
"context" : "bundle",
"element" : "entry",
"variable" : "entry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '59847-4')"
}
],
"rule" : [
{
"name" : "MapHistObs",
"source" : [
{
"context" : "entry",
"element" : "resource",
"variable" : "obs"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "diagnose",
"variable" : "diag"
}
],
"rule" : [
{
"name" : "MapHistValue",
"source" : [
{
"context" : "obs",
"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" : "diag",
"contextType" : "variable",
"element" : "diagnoseICDO",
"variable" : "icdo"
}
],
"rule" : [
{
"name" : "SetHistCode",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd"
}
],
"target" : [
{
"context" : "icdo",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueId" : "cd"
}
]
}
]
},
{
"name" : "SetHistVersion",
"source" : [
{
"context" : "c",
"element" : "version",
"variable" : "v"
}
],
"target" : [
{
"context" : "icdo",
"contextType" : "variable",
"element" : "version",
"transform" : "copy",
"parameter" : [
{
"valueId" : "v"
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntryGrading",
"source" : [
{
"context" : "bundle",
"element" : "entry",
"variable" : "entry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '33732-9')"
}
],
"rule" : [
{
"name" : "MapGradingObs",
"source" : [
{
"context" : "entry",
"element" : "resource",
"variable" : "obs"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "diagnose",
"variable" : "diag"
}
],
"rule" : [
{
"name" : "MapGradingVal",
"source" : [
{
"context" : "obs",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "MapGrading",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c"
}
],
"rule" : [
{
"name" : "SetGrading",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd"
}
],
"target" : [
{
"context" : "diag",
"contextType" : "variable",
"element" : "grading",
"transform" : "copy",
"parameter" : [
{
"valueId" : "cd"
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntryLKUnt",
"source" : [
{
"context" : "bundle",
"element" : "entry",
"variable" : "entry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '21894-1')"
}
],
"rule" : [
{
"name" : "MapLKUnt",
"source" : [
{
"context" : "entry",
"element" : "resource",
"variable" : "obs"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "diagnose",
"variable" : "diag"
},
{
"context" : "diag",
"contextType" : "variable",
"element" : "lymphknoten",
"variable" : "lk"
}
],
"rule" : [
{
"name" : "MapLKUntVal",
"source" : [
{
"context" : "obs",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "SetLKUnt",
"source" : [
{
"context" : "val",
"element" : "value",
"variable" : "v"
}
],
"target" : [
{
"context" : "lk",
"contextType" : "variable",
"element" : "untersucht",
"transform" : "truncate",
"parameter" : [
{
"valueId" : "v"
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntryLKBef",
"source" : [
{
"context" : "bundle",
"element" : "entry",
"variable" : "entry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '21893-3')"
}
],
"rule" : [
{
"name" : "MapLKBef",
"source" : [
{
"context" : "entry",
"element" : "resource",
"variable" : "obs"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "diagnose",
"variable" : "diag"
},
{
"context" : "diag",
"contextType" : "variable",
"element" : "lymphknoten",
"variable" : "lk"
}
],
"rule" : [
{
"name" : "MapLKBefVal",
"source" : [
{
"context" : "obs",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "SetLKBef",
"source" : [
{
"context" : "val",
"element" : "value",
"variable" : "v"
}
],
"target" : [
{
"context" : "lk",
"contextType" : "variable",
"element" : "befallen",
"transform" : "truncate",
"parameter" : [
{
"valueId" : "v"
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntrySLKUnt",
"source" : [
{
"context" : "bundle",
"element" : "entry",
"variable" : "entry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '92832-5')"
}
],
"rule" : [
{
"name" : "MapSLKUnt",
"source" : [
{
"context" : "entry",
"element" : "resource",
"variable" : "obs"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "diagnose",
"variable" : "diag"
},
{
"context" : "diag",
"contextType" : "variable",
"element" : "lymphknoten",
"variable" : "lk"
}
],
"rule" : [
{
"name" : "MapSLKUntVal",
"source" : [
{
"context" : "obs",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "SetSLKUnt",
"source" : [
{
"context" : "val",
"element" : "value",
"variable" : "v"
}
],
"target" : [
{
"context" : "lk",
"contextType" : "variable",
"element" : "sentinelUntersucht",
"transform" : "truncate",
"parameter" : [
{
"valueId" : "v"
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntrySLKBef",
"source" : [
{
"context" : "bundle",
"element" : "entry",
"variable" : "entry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '92833-3')"
}
],
"rule" : [
{
"name" : "MapSLKBef",
"source" : [
{
"context" : "entry",
"element" : "resource",
"variable" : "obs"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "diagnose",
"variable" : "diag"
},
{
"context" : "diag",
"contextType" : "variable",
"element" : "lymphknoten",
"variable" : "lk"
}
],
"rule" : [
{
"name" : "MapSLKBefVal",
"source" : [
{
"context" : "obs",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "SetSLKBef",
"source" : [
{
"context" : "val",
"element" : "value",
"variable" : "v"
}
],
"target" : [
{
"context" : "lk",
"contextType" : "variable",
"element" : "sentinelBefallen",
"transform" : "truncate",
"parameter" : [
{
"valueId" : "v"
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntryER",
"source" : [
{
"context" : "bundle",
"element" : "entry",
"variable" : "entry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '85337-4')"
}
],
"rule" : [
{
"name" : "MapERObs",
"source" : [
{
"context" : "entry",
"element" : "resource",
"variable" : "obs"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "diagnose",
"variable" : "diag"
},
{
"context" : "diag",
"contextType" : "variable",
"element" : "rezeptorstatus",
"variable" : "rez"
}
],
"rule" : [
{
"name" : "MapER",
"source" : [
{
"context" : "obs",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "SetERPositiv",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c",
"condition" : "code = '10828004'"
}
],
"target" : [
{
"context" : "rez",
"contextType" : "variable",
"element" : "erStatus",
"transform" : "copy",
"parameter" : [
{
"valueString" : "P"
}
]
}
]
},
{
"name" : "SetERNegativ",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c",
"condition" : "code = '260385009'"
}
],
"target" : [
{
"context" : "rez",
"contextType" : "variable",
"element" : "erStatus",
"transform" : "copy",
"parameter" : [
{
"valueString" : "N"
}
]
}
]
},
{
"name" : "SetERUnbekannt",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c",
"condition" : "code = '261665006'"
}
],
"target" : [
{
"context" : "rez",
"contextType" : "variable",
"element" : "erStatus",
"transform" : "copy",
"parameter" : [
{
"valueString" : "U"
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntryPR",
"source" : [
{
"context" : "bundle",
"element" : "entry",
"variable" : "entry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '85339-0')"
}
],
"rule" : [
{
"name" : "MapPRObs",
"source" : [
{
"context" : "entry",
"element" : "resource",
"variable" : "obs"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "diagnose",
"variable" : "diag"
},
{
"context" : "diag",
"contextType" : "variable",
"element" : "rezeptorstatus",
"variable" : "rez"
}
],
"rule" : [
{
"name" : "MapPR",
"source" : [
{
"context" : "obs",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "SetPRPositiv",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c",
"condition" : "code = '10828004'"
}
],
"target" : [
{
"context" : "rez",
"contextType" : "variable",
"element" : "prStatus",
"transform" : "copy",
"parameter" : [
{
"valueString" : "P"
}
]
}
]
},
{
"name" : "SetPRNegativ",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c",
"condition" : "code = '260385009'"
}
],
"target" : [
{
"context" : "rez",
"contextType" : "variable",
"element" : "prStatus",
"transform" : "copy",
"parameter" : [
{
"valueString" : "N"
}
]
}
]
},
{
"name" : "SetPRUnbekannt",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c",
"condition" : "code = '261665006'"
}
],
"target" : [
{
"context" : "rez",
"contextType" : "variable",
"element" : "prStatus",
"transform" : "copy",
"parameter" : [
{
"valueString" : "U"
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntryHER2",
"source" : [
{
"context" : "bundle",
"element" : "entry",
"variable" : "entry",
"condition" : "resource.is(Observation) and resource.code.coding.exists(code = '85319-2')"
}
],
"rule" : [
{
"name" : "MapHER2Obs",
"source" : [
{
"context" : "entry",
"element" : "resource",
"variable" : "obs"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "diagnose",
"variable" : "diag"
},
{
"context" : "diag",
"contextType" : "variable",
"element" : "rezeptorstatus",
"variable" : "rez"
}
],
"rule" : [
{
"name" : "MapHER2",
"source" : [
{
"context" : "obs",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "SetHER2Positiv",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c",
"condition" : "code = '10828004'"
}
],
"target" : [
{
"context" : "rez",
"contextType" : "variable",
"element" : "her2Status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "P"
}
]
}
]
},
{
"name" : "SetHER2Negativ",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c",
"condition" : "code = '260385009'"
}
],
"target" : [
{
"context" : "rez",
"contextType" : "variable",
"element" : "her2Status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "N"
}
]
}
]
},
{
"name" : "SetHER2Unbekannt",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c",
"condition" : "code = '261665006'"
}
],
"target" : [
{
"context" : "rez",
"contextType" : "variable",
"element" : "her2Status",
"transform" : "copy",
"parameter" : [
{
"valueString" : "U"
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntryOperation",
"source" : [
{
"context" : "bundle",
"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" : "operation",
"variable" : "op"
}
],
"dependent" : [
{
"name" : "MapOperation",
"variable" : [
"procedure",
"op"
]
}
]
},
{
"name" : "EntryDrahtSR",
"source" : [
{
"context" : "bundle",
"element" : "entry",
"variable" : "srEntry",
"condition" : "resource.is(ServiceRequest)"
}
],
"rule" : [
{
"name" : "MapDrahtSR",
"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/ex-senologie-pre-op-markierung'"
}
],
"rule" : [
{
"name" : "MapDrahtVal",
"source" : [
{
"context" : "ext",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "SetDrahtKeine",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c",
"condition" : "code = 'N'"
}
],
"target" : [
{
"context" : "op",
"contextType" : "variable",
"element" : "drahtmarkierung",
"transform" : "copy",
"parameter" : [
{
"valueString" : "0"
}
]
}
]
},
{
"name" : "SetDrahtSono",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c",
"condition" : "code = 'S'"
}
],
"target" : [
{
"context" : "op",
"contextType" : "variable",
"element" : "drahtmarkierung",
"transform" : "copy",
"parameter" : [
{
"valueString" : "1"
}
]
}
]
},
{
"name" : "SetDrahtMammo",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c",
"condition" : "code = 'M'"
}
],
"target" : [
{
"context" : "op",
"contextType" : "variable",
"element" : "drahtmarkierung",
"transform" : "copy",
"parameter" : [
{
"valueString" : "2"
}
]
}
]
},
{
"name" : "SetDrahtMRT",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c",
"condition" : "code = 'T'"
}
],
"target" : [
{
"context" : "op",
"contextType" : "variable",
"element" : "drahtmarkierung",
"transform" : "copy",
"parameter" : [
{
"valueString" : "3"
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntrySpecimen",
"source" : [
{
"context" : "bundle",
"element" : "entry",
"variable" : "specEntry",
"condition" : "resource.is(Specimen) and resource.meta.profile.exists($this.contains('senologie-pathologie-praeparat'))"
}
],
"rule" : [
{
"name" : "SpecCtx",
"source" : [
{
"context" : "specEntry",
"element" : "resource",
"variable" : "specimen"
}
],
"rule" : [
{
"name" : "SetSSJa",
"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" : "MapPKProcessing",
"source" : [
{
"context" : "specimen",
"element" : "processing",
"variable" : "proc"
}
],
"rule" : [
{
"name" : "MapPKProcedure",
"source" : [
{
"context" : "proc",
"element" : "procedure",
"variable" : "p"
}
],
"rule" : [
{
"name" : "MapPKCoding",
"source" : [
{
"context" : "p",
"element" : "coding",
"variable" : "c",
"condition" : "system = 'http://snomed.info/sct'"
}
],
"rule" : [
{
"name" : "SetPKMammo",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this = '71651007'"
}
],
"target" : [
{
"context" : "op",
"contextType" : "variable",
"element" : "intraopPraeparatkontrolle",
"transform" : "copy",
"parameter" : [
{
"valueString" : "1"
}
]
}
]
},
{
"name" : "SetPKSono",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this = '16310003'"
}
],
"target" : [
{
"context" : "op",
"contextType" : "variable",
"element" : "intraopPraeparatkontrolle",
"transform" : "copy",
"parameter" : [
{
"valueString" : "2"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntryKomp",
"source" : [
{
"context" : "bundle",
"element" : "entry",
"variable" : "kompEntry",
"condition" : "resource.is(Observation) and resource.meta.profile.exists($this.contains('senologie-operative-komplikation'))"
}
],
"rule" : [
{
"name" : "MapKompObs",
"source" : [
{
"context" : "kompEntry",
"element" : "resource",
"variable" : "obs"
}
],
"target" : [
{
"context" : "op",
"contextType" : "variable",
"element" : "komplikationen",
"variable" : "komp"
}
],
"rule" : [
{
"name" : "MapKompKuerzelComp",
"source" : [
{
"context" : "obs",
"element" : "component",
"variable" : "comp",
"condition" : "code.coding.exists(code = '116224001')"
}
],
"rule" : [
{
"name" : "MapKompKuerzelVal",
"source" : [
{
"context" : "comp",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "MapKompKuerzelCoding",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c"
}
],
"rule" : [
{
"name" : "SetKompKuerzel",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd"
}
],
"target" : [
{
"context" : "komp",
"contextType" : "variable",
"element" : "kuerzel",
"transform" : "copy",
"parameter" : [
{
"valueId" : "cd"
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "MapKompClavien",
"source" : [
{
"context" : "obs",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "MapKompClavienCoding",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c",
"condition" : "system = 'http://snomed.info/sct'"
}
],
"rule" : [
{
"name" : "SetKompClavien",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd"
}
],
"target" : [
{
"context" : "komp",
"contextType" : "variable",
"element" : "clavienDindo",
"transform" : "copy",
"parameter" : [
{
"valueId" : "cd"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "EntrySystemtherapie",
"source" : [
{
"context" : "bundle",
"element" : "entry",
"variable" : "entry",
"condition" : "resource.is(Procedure) and resource.meta.profile.exists($this.contains('senologie-systemtherapie-procedure'))"
}
],
"rule" : [
{
"name" : "CallMapSystemtherapie",
"source" : [
{
"context" : "entry",
"element" : "resource",
"variable" : "procedure"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "systemtherapie",
"variable" : "syst"
}
],
"dependent" : [
{
"name" : "MapSystemtherapie",
"variable" : [
"procedure",
"syst"
]
}
]
}
]
},
{
"name" : "EntryEndoTherapie",
"source" : [
{
"context" : "bundle",
"element" : "entry",
"variable" : "entry",
"condition" : "resource.is(Procedure) and resource.meta.profile.exists($this.contains('senologie-systemtherapie-procedure'))"
}
],
"rule" : [
{
"name" : "CheckHO",
"source" : [
{
"context" : "entry",
"element" : "resource",
"variable" : "procedure",
"condition" : "code.coding.exists((system = 'https://www.medizininformatik-initiative.de/fhir/ext/modul-onko/CodeSystem/mii-cs-onko-therapie-typ') and (code = 'HO'))"
}
],
"rule" : [
{
"name" : "CallMapEndoTherapie",
"source" : [
{
"context" : "procedure"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "endokrineTherapie",
"variable" : "endo"
}
],
"dependent" : [
{
"name" : "MapEndokrineTherapie",
"variable" : [
"procedure",
"endo"
]
}
]
}
]
}
]
},
{
"name" : "EntryRT",
"source" : [
{
"context" : "bundle",
"element" : "entry",
"variable" : "entry",
"condition" : "resource.is(Procedure) and resource.meta.profile.exists($this.contains('senologie-strahlentherapie'))"
}
],
"rule" : [
{
"name" : "CallMapStrahlentherapie",
"source" : [
{
"context" : "entry",
"element" : "resource",
"variable" : "procedure"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "strahlentherapie",
"variable" : "rt"
}
],
"dependent" : [
{
"name" : "MapStrahlentherapie",
"variable" : [
"procedure",
"rt"
]
}
]
}
]
},
{
"name" : "EntryTK",
"source" : [
{
"context" : "bundle",
"element" : "entry",
"variable" : "entry",
"condition" : "resource.is(CarePlan) and resource.meta.profile.exists($this.contains('senologie-tumorboard'))"
}
],
"rule" : [
{
"name" : "CallMapTK",
"source" : [
{
"context" : "entry",
"element" : "resource",
"variable" : "cp"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "tumorkonferenz",
"variable" : "tk"
}
],
"dependent" : [
{
"name" : "MapTumorkonferenz",
"variable" : [
"cp",
"tk"
]
}
]
}
]
},
{
"name" : "EntryPsychoonko",
"source" : [
{
"context" : "bundle",
"element" : "entry",
"variable" : "entry",
"condition" : "resource.is(Procedure) and resource.meta.profile.exists($this.contains('senologie-psychoonkologie'))"
}
],
"rule" : [
{
"name" : "CallMapPsych",
"source" : [
{
"context" : "entry",
"element" : "resource",
"variable" : "proc"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "psychoonkologie",
"variable" : "psych"
}
],
"dependent" : [
{
"name" : "MapPsychoonkologie",
"variable" : [
"proc",
"psych"
]
}
]
}
]
},
{
"name" : "EntryResearchSubject",
"source" : [
{
"context" : "bundle",
"element" : "entry",
"variable" : "entry",
"condition" : "resource.is(ResearchSubject)"
}
],
"rule" : [
{
"name" : "CallMapStud",
"source" : [
{
"context" : "entry",
"element" : "resource",
"variable" : "rs"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "studienteilnahme",
"variable" : "stud"
}
],
"dependent" : [
{
"name" : "MapStudienteilnahme",
"variable" : [
"rs",
"stud"
]
}
]
}
]
},
{
"name" : "CallMapVerlauf",
"source" : [
{
"context" : "bundle"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable"
}
],
"dependent" : [
{
"name" : "MapVerlaufFromBundle",
"variable" : [
"bundle",
"tgt"
]
}
]
}
]
},
{
"name" : "MapPatient",
"typeMode" : "none",
"documentation" : "============================================================================\r\nPatient -> Patient-Block (Geburtsdatum, Geschlecht, PLZ, Menopausenstatus)\r\n============================================================================",
"input" : [
{
"name" : "src",
"type" : "Patient",
"mode" : "source"
},
{
"name" : "tgt",
"type" : "BackboneElement",
"mode" : "target"
}
],
"rule" : [
{
"name" : "SetPatGebdat",
"source" : [
{
"context" : "src",
"element" : "birthDate",
"variable" : "bd"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "geburtsdatum",
"transform" : "copy",
"parameter" : [
{
"valueId" : "bd"
}
]
}
]
},
{
"name" : "SetPatGeschlW",
"source" : [
{
"context" : "src",
"element" : "gender",
"variable" : "g",
"condition" : "$this = 'female'"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "geschlecht",
"transform" : "copy",
"parameter" : [
{
"valueString" : "W"
}
]
}
]
},
{
"name" : "SetPatGeschlM",
"source" : [
{
"context" : "src",
"element" : "gender",
"variable" : "g",
"condition" : "$this = 'male'"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "geschlecht",
"transform" : "copy",
"parameter" : [
{
"valueString" : "M"
}
]
}
]
},
{
"name" : "SetPatGeschlD",
"source" : [
{
"context" : "src",
"element" : "gender",
"variable" : "g",
"condition" : "$this = 'other'"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "geschlecht",
"transform" : "copy",
"parameter" : [
{
"valueString" : "D"
}
]
}
]
},
{
"name" : "SetPatGeschlU",
"source" : [
{
"context" : "src",
"element" : "gender",
"variable" : "g",
"condition" : "$this = 'unknown'"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "geschlecht",
"transform" : "copy",
"parameter" : [
{
"valueString" : "U"
}
]
}
]
},
{
"name" : "MapPatPLZ",
"source" : [
{
"context" : "src",
"element" : "address",
"variable" : "addr"
}
],
"rule" : [
{
"name" : "SetPatPLZ",
"source" : [
{
"context" : "addr",
"element" : "postalCode",
"variable" : "plz"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "postleitzahl",
"transform" : "copy",
"parameter" : [
{
"valueId" : "plz"
}
]
}
]
}
]
}
]
},
{
"name" : "MapFall",
"typeMode" : "none",
"documentation" : "============================================================================\r\nFall -> Fall-Block (Typ, Aufnahme/Entlassung)\r\n============================================================================",
"input" : [
{
"name" : "src",
"type" : "Encounter",
"mode" : "source"
},
{
"name" : "tgt",
"type" : "BackboneElement",
"mode" : "target"
}
],
"rule" : [
{
"name" : "MapFallTyp",
"source" : [
{
"context" : "src",
"element" : "class",
"variable" : "cls"
}
],
"rule" : [
{
"name" : "SetFallTypStat",
"source" : [
{
"context" : "cls",
"element" : "code",
"variable" : "cd",
"condition" : "$this = 'IMP'"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "fallTyp",
"transform" : "copy",
"parameter" : [
{
"valueString" : "1"
}
]
}
]
},
{
"name" : "SetFallTypAmb",
"source" : [
{
"context" : "cls",
"element" : "code",
"variable" : "cd",
"condition" : "$this = 'AMB'"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "fallTyp",
"transform" : "copy",
"parameter" : [
{
"valueString" : "2"
}
]
}
]
},
{
"name" : "SetFallTypTeilstat",
"source" : [
{
"context" : "cls",
"element" : "code",
"variable" : "cd",
"condition" : "$this = 'SS'"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "fallTyp",
"transform" : "copy",
"parameter" : [
{
"valueString" : "3"
}
]
}
]
}
]
},
{
"name" : "MapFallPeriod",
"source" : [
{
"context" : "src",
"element" : "period",
"variable" : "period"
}
],
"rule" : [
{
"name" : "SetFallAufn",
"source" : [
{
"context" : "period",
"element" : "start",
"variable" : "s"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "aufnahmedatum",
"transform" : "copy",
"parameter" : [
{
"valueId" : "s"
}
]
}
]
},
{
"name" : "SetFallEntl",
"source" : [
{
"context" : "period",
"element" : "end",
"variable" : "e"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "entlassungsdatum",
"transform" : "copy",
"parameter" : [
{
"valueId" : "e"
}
]
}
]
}
]
}
]
},
{
"name" : "MapDiagnose",
"typeMode" : "none",
"documentation" : "============================================================================\r\nDiagnose -> Diagnose-Block\r\n============================================================================",
"input" : [
{
"name" : "src",
"type" : "Condition",
"mode" : "source"
},
{
"name" : "tgt",
"type" : "BackboneElement",
"mode" : "target"
}
],
"rule" : [
{
"name" : "SetDiagDatum",
"source" : [
{
"context" : "src",
"element" : "onset",
"variable" : "on",
"condition" : "$this.is(dateTime)"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "diagnosedatum",
"transform" : "copy",
"parameter" : [
{
"valueId" : "on"
}
]
}
]
},
{
"name" : "MapDiagICD",
"source" : [
{
"context" : "src",
"element" : "code",
"variable" : "code"
}
],
"rule" : [
{
"name" : "MapDiagICDCoding",
"source" : [
{
"context" : "code",
"element" : "coding",
"variable" : "c",
"condition" : "system = 'http://fhir.de/CodeSystem/bfarm/icd-10-gm'"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "diagnoseICD",
"variable" : "icd"
}
],
"rule" : [
{
"name" : "SetDiagICDCode",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd"
}
],
"target" : [
{
"context" : "icd",
"contextType" : "variable",
"element" : "code",
"transform" : "copy",
"parameter" : [
{
"valueId" : "cd"
}
]
}
]
},
{
"name" : "SetDiagICDVersion",
"source" : [
{
"context" : "c",
"element" : "version",
"variable" : "v"
}
],
"target" : [
{
"context" : "icd",
"contextType" : "variable",
"element" : "version",
"transform" : "copy",
"parameter" : [
{
"valueId" : "v"
}
]
}
]
}
]
}
]
},
{
"name" : "MapDignitaet",
"source" : [
{
"context" : "src",
"element" : "code",
"variable" : "code"
}
],
"rule" : [
{
"name" : "MapDignICD",
"source" : [
{
"context" : "code",
"element" : "coding",
"variable" : "c",
"condition" : "system = 'http://fhir.de/CodeSystem/bfarm/icd-10-gm'"
}
],
"rule" : [
{
"name" : "SetDignMaligne",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this.startsWith('C50')"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "dignitaet",
"transform" : "copy",
"parameter" : [
{
"valueString" : "1"
}
]
}
]
},
{
"name" : "SetDignInSitu",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this.startsWith('D05')"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "dignitaet",
"transform" : "copy",
"parameter" : [
{
"valueString" : "2"
}
]
}
]
},
{
"name" : "SetDignBenigne",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this.startsWith('D24')"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "dignitaet",
"transform" : "copy",
"parameter" : [
{
"valueString" : "4"
}
]
}
]
}
]
}
]
},
{
"name" : "MapDiagSeite",
"source" : [
{
"context" : "src",
"element" : "bodySite",
"variable" : "bs"
}
],
"rule" : [
{
"name" : "MapDiagSeiteSCT",
"source" : [
{
"context" : "bs",
"element" : "coding",
"variable" : "c",
"condition" : "system = 'http://snomed.info/sct'"
}
],
"rule" : [
{
"name" : "SetDiagSeiteR",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this = '24028007'"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "seitenlokalisation",
"transform" : "copy",
"parameter" : [
{
"valueString" : "R"
}
]
}
]
},
{
"name" : "SetDiagSeiteL",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this = '7771000'"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "seitenlokalisation",
"transform" : "copy",
"parameter" : [
{
"valueString" : "L"
}
]
}
]
},
{
"name" : "SetDiagSeiteB",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this = '51440002'"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "seitenlokalisation",
"transform" : "copy",
"parameter" : [
{
"valueString" : "B"
}
]
}
]
}
]
}
]
},
{
"name" : "SetHistPraeopDefault",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "histologischeSicherungPraeop",
"transform" : "copy",
"parameter" : [
{
"valueString" : "0"
}
]
}
]
}
]
},
{
"name" : "MapBildgebung",
"typeMode" : "none",
"documentation" : "============================================================================\r\nBildgebung -> Bildgebung-Block\r\n============================================================================",
"input" : [
{
"name" : "src",
"type" : "Observation",
"mode" : "source"
},
{
"name" : "tgt",
"type" : "BackboneElement",
"mode" : "target"
}
],
"rule" : [
{
"name" : "SetBgDatum",
"source" : [
{
"context" : "src",
"element" : "effective",
"variable" : "eff",
"condition" : "$this.is(dateTime)"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "datum",
"transform" : "copy",
"parameter" : [
{
"valueId" : "eff"
}
]
}
]
},
{
"name" : "MapBgMethode",
"source" : [
{
"context" : "src",
"element" : "method",
"variable" : "m"
}
],
"rule" : [
{
"name" : "MapBgMethodeCoding",
"source" : [
{
"context" : "m",
"element" : "coding",
"variable" : "c",
"condition" : "system = 'http://snomed.info/sct'"
}
],
"rule" : [
{
"name" : "SetBgMammo",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this = '71651007'"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "methode",
"transform" : "copy",
"parameter" : [
{
"valueString" : "1"
}
]
}
]
},
{
"name" : "SetBgSono",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this = '16310003'"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "methode",
"transform" : "copy",
"parameter" : [
{
"valueString" : "2"
}
]
}
]
},
{
"name" : "SetBgMRT",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this = '113091000'"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "methode",
"transform" : "copy",
"parameter" : [
{
"valueString" : "3"
}
]
}
]
},
{
"name" : "SetBgTomo",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this = '241489003'"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "methode",
"transform" : "copy",
"parameter" : [
{
"valueString" : "4"
}
]
}
]
}
]
}
]
},
{
"name" : "MapBgBirads",
"source" : [
{
"context" : "src",
"element" : "value",
"variable" : "val"
}
],
"rule" : [
{
"name" : "MapBgBiradsCoding",
"source" : [
{
"context" : "val",
"element" : "coding",
"variable" : "c"
}
],
"rule" : [
{
"name" : "SetBgBirads",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "birads",
"transform" : "copy",
"parameter" : [
{
"valueId" : "cd"
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "MapTumorkonferenz",
"typeMode" : "none",
"documentation" : "============================================================================\r\nTumorkonferenz -> Tumorkonferenz-Block\r\n============================================================================",
"input" : [
{
"name" : "src",
"type" : "CarePlan",
"mode" : "source"
},
{
"name" : "tgt",
"type" : "BackboneElement",
"mode" : "target"
}
],
"rule" : [
{
"name" : "SetTKLnr",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "lnr",
"transform" : "copy",
"parameter" : [
{
"valueInteger" : 1
}
]
}
]
},
{
"name" : "MapTKPeriod",
"source" : [
{
"context" : "src",
"element" : "period",
"variable" : "period"
}
],
"rule" : [
{
"name" : "SetTKDatum",
"source" : [
{
"context" : "period",
"element" : "start",
"variable" : "s"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "datum",
"transform" : "copy",
"parameter" : [
{
"valueId" : "s"
}
]
}
]
}
]
},
{
"name" : "MapTKTyp",
"source" : [
{
"context" : "src",
"element" : "category",
"variable" : "cat"
}
],
"rule" : [
{
"name" : "MapTKTypCoding",
"source" : [
{
"context" : "cat",
"element" : "coding",
"variable" : "c"
}
],
"rule" : [
{
"name" : "SetTKTypPrae",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this = 'praetherapeutisch'"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "typ",
"transform" : "copy",
"parameter" : [
{
"valueString" : "1"
}
]
}
]
},
{
"name" : "SetTKTypPost",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this = 'postoperativ'"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "typ",
"transform" : "copy",
"parameter" : [
{
"valueString" : "2"
}
]
}
]
},
{
"name" : "SetTKTypRez",
"source" : [
{
"context" : "c",
"element" : "code",
"variable" : "cd",
"condition" : "$this = 'rezidiv'"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "typ",
"transform" : "copy",
"parameter" : [
{
"valueString" : "3"
}
]
}
]
}
]
}
]
}
]
},
{
"name" : "MapPsychoonkologie",
"typeMode" : "none",
"documentation" : "============================================================================\r\nPsychoonkologie -> Psychoonkologie-Block (KB-9)\r\nProcedure.status = completed -> erfolgt = '1', Procedure.performedDateTime -> datum\r\nProcedure.status = not-done -> erfolgt = '0'\r\n============================================================================",
"input" : [
{
"name" : "src",
"type" : "Procedure",
"mode" : "source"
},
{
"name" : "tgt",
"type" : "BackboneElement",
"mode" : "target"
}
],
"rule" : [
{
"name" : "SetPsychJa",
"source" : [
{
"context" : "src",
"element" : "status",
"variable" : "s",
"condition" : "$this = 'completed'"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "erfolgt",
"transform" : "copy",
"parameter" : [
{
"valueString" : "1"
}
]
}
]
},
{
"name" : "SetPsychNein",
"source" : [
{
"context" : "src",
"element" : "status",
"variable" : "s",
"condition" : "$this = 'not-done'"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "erfolgt",
"transform" : "copy",
"parameter" : [
{
"valueString" : "0"
}
]
}
]
},
{
"name" : "SetPsychDatum",
"source" : [
{
"context" : "src",
"element" : "performed",
"variable" : "perf",
"condition" : "$this.is(dateTime)"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "datum",
"transform" : "copy",
"parameter" : [
{
"valueId" : "perf"
}
]
}
]
}
]
},
{
"name" : "MapStudienteilnahme",
"typeMode" : "none",
"documentation" : "============================================================================\r\nStudienteilnahme -> Studien-Block\r\n============================================================================",
"input" : [
{
"name" : "src",
"type" : "ResearchSubject",
"mode" : "source"
},
{
"name" : "tgt",
"type" : "BackboneElement",
"mode" : "target"
}
],
"rule" : [
{
"name" : "SetStudJa",
"source" : [
{
"context" : "src"
}
],
"target" : [
{
"context" : "tgt",
"contextType" : "variable",
"element" : "teilgenommen",
"transform" : "copy",
"parameter" : [
{
"valueString" : "1"
}
]
}
]
}
]
}
]
}