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

: SenologieToOncoBoxBrustOperation - JSON Representation

Draft as of 2026-05-04

Raw json | Download

{
  "resourceType" : "StructureMap",
  "id" : "SenologieToOncoBoxBrustOperation",
  "text" : {
    "status" : "generated",
    "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: StructureMap SenologieToOncoBoxBrustOperation</b></p><a name=\"SenologieToOncoBoxBrustOperation\"> </a><a name=\"hcSenologieToOncoBoxBrustOperation\"> </a><pre class=\"fml\">\r\n<b>map</b><span style=\"color: navy\"> &quot;</span>https://www.senologie.org/fhir/StructureMap/SenologieToOncoBoxBrustOperation<span style=\"color: navy\">&quot; = &quot;</span>SenologieToOncoBoxBrustOperation<span style=\"color: navy\">&quot;\r\n\r\n</span><span style=\"color: navy\">// </span><span style=\"color: green\">title: Senologie Procedure + Specimen to OncoBox Brust Operation</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\"> &quot;</span><a href=\"http://hl7.org/fhir/R4/bundle.html\" title=\"Bundle\">http://hl7.org/fhir/StructureDefinition/Bundle</a><span style=\"color: navy\">&quot; </span><b>alias </b>Bundle <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"http://hl7.org/fhir/R4/procedure.html\" title=\"Procedure\">http://hl7.org/fhir/StructureDefinition/Procedure</a><span style=\"color: navy\">&quot; </span><b>alias </b>Procedure <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"http://hl7.org/fhir/R4/specimen.html\" title=\"Specimen\">http://hl7.org/fhir/StructureDefinition/Specimen</a><span style=\"color: navy\">&quot; </span><b>alias </b>Specimen <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"http://hl7.org/fhir/R4/observation.html\" title=\"Observation\">http://hl7.org/fhir/StructureDefinition/Observation</a><span style=\"color: navy\">&quot; </span><b>alias </b>Observation <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"http://hl7.org/fhir/R4/servicerequest.html\" title=\"ServiceRequest\">http://hl7.org/fhir/StructureDefinition/ServiceRequest</a><span style=\"color: navy\">&quot; </span><b>alias </b>ServiceRequest <b>as </b><b>source</b>\r\n\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\">(SenologieToOncoBoxBrustPrimaerfall) provides the correct BackboneElement</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">context (primaerfall.operation). Omitting the root-level target type avoids</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">SM_TARGET_PATH false positives where the validator would resolve property</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">names against 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\">Operation: Procedure (+ Specimen / Observation) -&gt; Operation-Block</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Pro Brust-Procedure wird ein Operation-Block erzeugt mit OP-Datum,</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Seitenlokalisation, OPS-Kodes, Operationsart, Drahtmarkierung, Sentinel,</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Residualstatus und Komplikationen.</span>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">============================================================================</span>\r\n<b>group </b>MapOperation<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\">LNR Default 1</span>\r\n  src<span style=\"color: navy\"><b> -&gt; </b></span>tgt.lnr = <span style=\"color: blue\">1</span> <i>&quot;SetOpLnr&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Op_Datum</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> -&gt; </b></span>tgt.datum = <span style=\"color: maroon\">perf</span> <i>&quot;SetOpDatum&quot;</i><span style=\"color: navy\">;</span>\r\n  src.performed<b> as </b><span style=\"color: maroon\">perf</span><b> where </b>$this.is(Period)<b> then</b><span style=\"color: navy\"> {\r\n</span>    perf.start<b> as </b><span style=\"color: maroon\">s</span><span style=\"color: navy\"><b> -&gt; </b></span>tgt.datum = <span style=\"color: maroon\">s</span> <i>&quot;SetOpDatumPeriod&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;MapOpDatumPeriod&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Op_Seite</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> -&gt; </b></span>tgt.seitenlokalisation = <span style=\"color: blue\">'R'</span> <i>&quot;SetOpSeiteR&quot;</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> -&gt; </b></span>tgt.seitenlokalisation = <span style=\"color: blue\">'L'</span> <i>&quot;SetOpSeiteL&quot;</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> -&gt; </b></span>tgt.seitenlokalisation = <span style=\"color: blue\">'B'</span> <i>&quot;SetOpSeiteB&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;MapOpSeiteSCT&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;MapOpSeite&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">OPS-Kodes</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/ops'<span style=\"color: navy\"><b> -&gt; </b></span>tgt.opsCodes<b> as </b><span style=\"color: maroon\">ops</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> -&gt; </b></span>ops.code = <span style=\"color: maroon\">cd</span> <i>&quot;SetOpsCode&quot;</i><span style=\"color: navy\">;</span>\r\n      c.version<b> as </b><span style=\"color: maroon\">v</span><span style=\"color: navy\"><b> -&gt; </b></span>ops.version = <span style=\"color: maroon\">v</span> <i>&quot;SetOpsVer&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;MapOpsCoding&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;MapOpsCodes&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Op_Art aus OPS-Prefix</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">5-870* = BET, 5-871* = Mast einfach, 5-872* = SSM, 5-883* = NSM,</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">5-885* = Rekon, 5-401.1* = SLNB, 5-402* = Axilla</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/ops'<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('5-870')<span style=\"color: navy\"><b> -&gt; </b></span>tgt.operationsart = <span style=\"color: blue\">'1'</span> <i>&quot;SetOpArtBET&quot;</i><span style=\"color: navy\">;</span>\r\n      c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this.startsWith('5-871')<span style=\"color: navy\"><b> -&gt; </b></span>tgt.operationsart = <span style=\"color: blue\">'2'</span> <i>&quot;SetOpArtMastEinf&quot;</i><span style=\"color: navy\">;</span>\r\n      c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this.startsWith('5-872')<span style=\"color: navy\"><b> -&gt; </b></span>tgt.operationsart = <span style=\"color: blue\">'3'</span> <i>&quot;SetOpArtSSM&quot;</i><span style=\"color: navy\">;</span>\r\n      c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this.startsWith('5-883')<span style=\"color: navy\"><b> -&gt; </b></span>tgt.operationsart = <span style=\"color: blue\">'4'</span> <i>&quot;SetOpArtNSM&quot;</i><span style=\"color: navy\">;</span>\r\n      c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this.startsWith('5-885')<span style=\"color: navy\"><b> -&gt; </b></span>tgt.operationsart = <span style=\"color: blue\">'6'</span> <i>&quot;SetOpArtRekon&quot;</i><span style=\"color: navy\">;</span>\r\n      c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this.startsWith('5-402')<span style=\"color: navy\"><b> -&gt; </b></span>tgt.operationsart = <span style=\"color: blue\">'7'</span> <i>&quot;SetOpArtAxilla&quot;</i><span style=\"color: navy\">;</span>\r\n      c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this.startsWith('5-401.1')<span style=\"color: navy\"><b> -&gt; </b></span>tgt.operationsart = <span style=\"color: blue\">'8'</span> <i>&quot;SetOpArtSLNB&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;MapOpArtOPS&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;MapOpArt&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Op_Sentinel durchgefuehrt (OPS 5-401.1*)</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/ops'<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('5-401.1')<span style=\"color: navy\"><b> -&gt; </b></span>tgt.sentinel = <span style=\"color: blue\">'1'</span> <i>&quot;SetSentinelJa&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;MapSentinelOPS&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;MapSentinel&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Op_Axdissektion (OPS 5-402*)</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/ops'<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('5-402')<span style=\"color: navy\"><b> -&gt; </b></span>tgt.axillaDissektion = <span style=\"color: blue\">'1'</span> <i>&quot;SetAxDissJa&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;MapAxDissOPS&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;MapAxDiss&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Residualstatus aus Procedure.outcome (SNOMED)</span>\r\n  src.outcome<b> as </b><span style=\"color: maroon\">out</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    out.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 = '122538001'<span style=\"color: navy\"><b> -&gt; </b></span>tgt.residualstatusLokal = <span style=\"color: blue\">'R0'</span> <i>&quot;SetRLokR0&quot;</i><span style=\"color: navy\">;</span>\r\n      c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this = '122538001'<span style=\"color: navy\"><b> -&gt; </b></span>tgt.residualstatusGesamt = <span style=\"color: blue\">'R0'</span> <i>&quot;SetRGesR0&quot;</i><span style=\"color: navy\">;</span>\r\n      c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this = '122539009'<span style=\"color: navy\"><b> -&gt; </b></span>tgt.residualstatusLokal = <span style=\"color: blue\">'R1'</span> <i>&quot;SetRLokR1&quot;</i><span style=\"color: navy\">;</span>\r\n      c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this = '122539009'<span style=\"color: navy\"><b> -&gt; </b></span>tgt.residualstatusGesamt = <span style=\"color: blue\">'R1'</span> <i>&quot;SetRGesR1&quot;</i><span style=\"color: navy\">;</span>\r\n      c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this = '122540006'<span style=\"color: navy\"><b> -&gt; </b></span>tgt.residualstatusLokal = <span style=\"color: blue\">'R2'</span> <i>&quot;SetRLokR2&quot;</i><span style=\"color: navy\">;</span>\r\n      c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this = '122540006'<span style=\"color: navy\"><b> -&gt; </b></span>tgt.residualstatusGesamt = <span style=\"color: blue\">'R2'</span> <i>&quot;SetRGesR2&quot;</i><span style=\"color: navy\">;</span>\r\n      c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this = '122541005'<span style=\"color: navy\"><b> -&gt; </b></span>tgt.residualstatusLokal = <span style=\"color: blue\">'RX'</span> <i>&quot;SetRLokRX&quot;</i><span style=\"color: navy\">;</span>\r\n      c.code<b> as </b><span style=\"color: maroon\">cd</span><b> where </b>$this = '122541005'<span style=\"color: navy\"><b> -&gt; </b></span>tgt.residualstatusGesamt = <span style=\"color: blue\">'RX'</span> <i>&quot;SetRGesRX&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;MapROutcomeCoding&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;MapROutcome&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Revisionsoperation (OncoBox 2.0)</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Op_Revision: 0=nein, 1=ja</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Abgeleitet aus: operationsart = 5 (Revision) oder</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Procedure.reasonCode enthält &quot;Revision&quot; / SNOMED 282032007</span>\r\n  src<span style=\"color: navy\"><b> -&gt; </b></span>tgt.revisionsOp = <span style=\"color: blue\">'0'</span> <i>&quot;SetRevisionDefault&quot;</i><span style=\"color: navy\">;</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/ops' <i>&quot;MapRevisionOPS&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;MapRevisionCode&quot;</i><span style=\"color: navy\">;</span>\r\n  src.reasonCode<b> as </b><span style=\"color: maroon\">rc</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    rc.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 = '282032007'<span style=\"color: navy\"><b> -&gt; </b></span>tgt.revisionsOp = <span style=\"color: blue\">'1'</span> <i>&quot;SetRevisionJaSCT&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;MapRevisionReasonSCT&quot;</i><span style=\"color: navy\">;</span>\r\n    rc.text<b> as </b><span style=\"color: maroon\">txt</span><b> where </b>$this.contains('Revision')<span style=\"color: navy\"><b> -&gt; </b></span>tgt.revisionsOp = <span style=\"color: blue\">'1'</span> <i>&quot;SetRevisionJaText&quot;</i><span style=\"color: navy\">;</span>\r\n    rc.text<b> as </b><span style=\"color: maroon\">txt</span><b> where </b>$this.contains('Nachresektion')<span style=\"color: navy\"><b> -&gt; </b></span>tgt.revisionsOp = <span style=\"color: blue\">'1'</span> <i>&quot;SetRevisionJaNachresekt&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;MapRevisionReason&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Anzahl Eingriffe bis R0 (KB-14, OncoBox 2.0)</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Op_Anzahl_bis_R0: Aggregation aller Procedures für dieselbe Condition</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">bis zum Erreichen von R0. In FML nur als Einzelwert setzbar —</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">die tatsächliche Aggregation erfolgt in der CQL-Auswerteschicht.</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Hier wird der Defaultwert gesetzt: 1 wenn R0, sonst leer.</span>\r\n  src.outcome<b> as </b><span style=\"color: maroon\">out</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    out.coding<b> as </b><span style=\"color: maroon\">c</span><b> where </b>system.exists()<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 = 'R0'<span style=\"color: navy\"><b> -&gt; </b></span>tgt.anzahlEingriffeR0 = <span style=\"color: blue\">1</span> <i>&quot;SetAnzahlR0Default&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;MapAnzahlR0Coding&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;MapAnzahlR0&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Komplikationen ICD-10: aus Procedure.complication (compl_icd10 Slice)</span>\r\n  src.complication<b> as </b><span style=\"color: maroon\">comp</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    comp.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> -&gt; </b></span>tgt.komplikationen<b> as </b><span style=\"color: maroon\">komp</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> -&gt; </b></span>komp.icdCode = <span style=\"color: maroon\">cd</span> <i>&quot;SetKompIcdCode&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;MapKompIcdCoding&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;MapKompIcd&quot;</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/SenologieToOncoBoxBrustOperation",
  "version" : "0.9.0",
  "name" : "SenologieToOncoBoxBrustOperation",
  "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 Procedure + Specimen to OncoBox Brust Operation\r\nstatus: draft",
  "structure" : [
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/Bundle",
      "mode" : "source",
      "alias" : "Bundle"
    },
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/Procedure",
      "mode" : "source",
      "alias" : "Procedure"
    },
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/Specimen",
      "mode" : "source",
      "alias" : "Specimen"
    },
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/Observation",
      "mode" : "source",
      "alias" : "Observation"
    },
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/ServiceRequest",
      "mode" : "source",
      "alias" : "ServiceRequest"
    }
  ],
  "group" : [
    {
      "name" : "MapOperation",
      "typeMode" : "none",
      "documentation" : "Import-only map: no target `uses` declaration — the calling map\r\n(SenologieToOncoBoxBrustPrimaerfall) provides the correct BackboneElement\r\ncontext (primaerfall.operation). Omitting the root-level target type avoids\r\nSM_TARGET_PATH false positives where the validator would resolve property\r\nnames against oncobox-brust-meldung root.\r\n============================================================================\r\nOperation: Procedure (+ Specimen / Observation) -> Operation-Block\r\nPro Brust-Procedure wird ein Operation-Block erzeugt mit OP-Datum,\r\nSeitenlokalisation, OPS-Kodes, Operationsart, Drahtmarkierung, Sentinel,\r\nResidualstatus und Komplikationen.\r\n============================================================================",
      "input" : [
        {
          "name" : "src",
          "type" : "Procedure",
          "mode" : "source"
        },
        {
          "name" : "tgt",
          "type" : "BackboneElement",
          "mode" : "target"
        }
      ],
      "rule" : [
        {
          "name" : "SetOpLnr",
          "source" : [
            {
              "context" : "src"
            }
          ],
          "target" : [
            {
              "context" : "tgt",
              "contextType" : "variable",
              "element" : "lnr",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueInteger" : 1
                }
              ]
            }
          ]
        },
        {
          "name" : "SetOpDatum",
          "source" : [
            {
              "context" : "src",
              "element" : "performed",
              "variable" : "perf",
              "condition" : "$this.is(dateTime)"
            }
          ],
          "target" : [
            {
              "context" : "tgt",
              "contextType" : "variable",
              "element" : "datum",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueId" : "perf"
                }
              ]
            }
          ]
        },
        {
          "name" : "MapOpDatumPeriod",
          "source" : [
            {
              "context" : "src",
              "element" : "performed",
              "variable" : "perf",
              "condition" : "$this.is(Period)"
            }
          ],
          "rule" : [
            {
              "name" : "SetOpDatumPeriod",
              "source" : [
                {
                  "context" : "perf",
                  "element" : "start",
                  "variable" : "s"
                }
              ],
              "target" : [
                {
                  "context" : "tgt",
                  "contextType" : "variable",
                  "element" : "datum",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueId" : "s"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "MapOpSeite",
          "source" : [
            {
              "context" : "src",
              "element" : "bodySite",
              "variable" : "bs"
            }
          ],
          "rule" : [
            {
              "name" : "MapOpSeiteSCT",
              "source" : [
                {
                  "context" : "bs",
                  "element" : "coding",
                  "variable" : "c",
                  "condition" : "system = 'http://snomed.info/sct'"
                }
              ],
              "rule" : [
                {
                  "name" : "SetOpSeiteR",
                  "source" : [
                    {
                      "context" : "c",
                      "element" : "code",
                      "variable" : "cd",
                      "condition" : "$this = '24028007'"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "tgt",
                      "contextType" : "variable",
                      "element" : "seitenlokalisation",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "R"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "SetOpSeiteL",
                  "source" : [
                    {
                      "context" : "c",
                      "element" : "code",
                      "variable" : "cd",
                      "condition" : "$this = '7771000'"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "tgt",
                      "contextType" : "variable",
                      "element" : "seitenlokalisation",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "L"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "SetOpSeiteB",
                  "source" : [
                    {
                      "context" : "c",
                      "element" : "code",
                      "variable" : "cd",
                      "condition" : "$this = '51440002'"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "tgt",
                      "contextType" : "variable",
                      "element" : "seitenlokalisation",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "B"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "MapOpsCodes",
          "source" : [
            {
              "context" : "src",
              "element" : "code",
              "variable" : "code"
            }
          ],
          "rule" : [
            {
              "name" : "MapOpsCoding",
              "source" : [
                {
                  "context" : "code",
                  "element" : "coding",
                  "variable" : "c",
                  "condition" : "system = 'http://fhir.de/CodeSystem/bfarm/ops'"
                }
              ],
              "target" : [
                {
                  "context" : "tgt",
                  "contextType" : "variable",
                  "element" : "opsCodes",
                  "variable" : "ops"
                }
              ],
              "rule" : [
                {
                  "name" : "SetOpsCode",
                  "source" : [
                    {
                      "context" : "c",
                      "element" : "code",
                      "variable" : "cd"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "ops",
                      "contextType" : "variable",
                      "element" : "code",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueId" : "cd"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "SetOpsVer",
                  "source" : [
                    {
                      "context" : "c",
                      "element" : "version",
                      "variable" : "v"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "ops",
                      "contextType" : "variable",
                      "element" : "version",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueId" : "v"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "MapOpArt",
          "source" : [
            {
              "context" : "src",
              "element" : "code",
              "variable" : "code"
            }
          ],
          "rule" : [
            {
              "name" : "MapOpArtOPS",
              "source" : [
                {
                  "context" : "code",
                  "element" : "coding",
                  "variable" : "c",
                  "condition" : "system = 'http://fhir.de/CodeSystem/bfarm/ops'"
                }
              ],
              "rule" : [
                {
                  "name" : "SetOpArtBET",
                  "source" : [
                    {
                      "context" : "c",
                      "element" : "code",
                      "variable" : "cd",
                      "condition" : "$this.startsWith('5-870')"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "tgt",
                      "contextType" : "variable",
                      "element" : "operationsart",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "1"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "SetOpArtMastEinf",
                  "source" : [
                    {
                      "context" : "c",
                      "element" : "code",
                      "variable" : "cd",
                      "condition" : "$this.startsWith('5-871')"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "tgt",
                      "contextType" : "variable",
                      "element" : "operationsart",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "2"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "SetOpArtSSM",
                  "source" : [
                    {
                      "context" : "c",
                      "element" : "code",
                      "variable" : "cd",
                      "condition" : "$this.startsWith('5-872')"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "tgt",
                      "contextType" : "variable",
                      "element" : "operationsart",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "3"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "SetOpArtNSM",
                  "source" : [
                    {
                      "context" : "c",
                      "element" : "code",
                      "variable" : "cd",
                      "condition" : "$this.startsWith('5-883')"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "tgt",
                      "contextType" : "variable",
                      "element" : "operationsart",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "4"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "SetOpArtRekon",
                  "source" : [
                    {
                      "context" : "c",
                      "element" : "code",
                      "variable" : "cd",
                      "condition" : "$this.startsWith('5-885')"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "tgt",
                      "contextType" : "variable",
                      "element" : "operationsart",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "6"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "SetOpArtAxilla",
                  "source" : [
                    {
                      "context" : "c",
                      "element" : "code",
                      "variable" : "cd",
                      "condition" : "$this.startsWith('5-402')"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "tgt",
                      "contextType" : "variable",
                      "element" : "operationsart",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "7"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "SetOpArtSLNB",
                  "source" : [
                    {
                      "context" : "c",
                      "element" : "code",
                      "variable" : "cd",
                      "condition" : "$this.startsWith('5-401.1')"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "tgt",
                      "contextType" : "variable",
                      "element" : "operationsart",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "8"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "MapSentinel",
          "source" : [
            {
              "context" : "src",
              "element" : "code",
              "variable" : "code"
            }
          ],
          "rule" : [
            {
              "name" : "MapSentinelOPS",
              "source" : [
                {
                  "context" : "code",
                  "element" : "coding",
                  "variable" : "c",
                  "condition" : "system = 'http://fhir.de/CodeSystem/bfarm/ops'"
                }
              ],
              "rule" : [
                {
                  "name" : "SetSentinelJa",
                  "source" : [
                    {
                      "context" : "c",
                      "element" : "code",
                      "variable" : "cd",
                      "condition" : "$this.startsWith('5-401.1')"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "tgt",
                      "contextType" : "variable",
                      "element" : "sentinel",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "1"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "MapAxDiss",
          "source" : [
            {
              "context" : "src",
              "element" : "code",
              "variable" : "code"
            }
          ],
          "rule" : [
            {
              "name" : "MapAxDissOPS",
              "source" : [
                {
                  "context" : "code",
                  "element" : "coding",
                  "variable" : "c",
                  "condition" : "system = 'http://fhir.de/CodeSystem/bfarm/ops'"
                }
              ],
              "rule" : [
                {
                  "name" : "SetAxDissJa",
                  "source" : [
                    {
                      "context" : "c",
                      "element" : "code",
                      "variable" : "cd",
                      "condition" : "$this.startsWith('5-402')"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "tgt",
                      "contextType" : "variable",
                      "element" : "axillaDissektion",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "1"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "MapROutcome",
          "source" : [
            {
              "context" : "src",
              "element" : "outcome",
              "variable" : "out"
            }
          ],
          "rule" : [
            {
              "name" : "MapROutcomeCoding",
              "source" : [
                {
                  "context" : "out",
                  "element" : "coding",
                  "variable" : "c",
                  "condition" : "system = 'http://snomed.info/sct'"
                }
              ],
              "rule" : [
                {
                  "name" : "SetRLokR0",
                  "source" : [
                    {
                      "context" : "c",
                      "element" : "code",
                      "variable" : "cd",
                      "condition" : "$this = '122538001'"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "tgt",
                      "contextType" : "variable",
                      "element" : "residualstatusLokal",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "R0"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "SetRGesR0",
                  "source" : [
                    {
                      "context" : "c",
                      "element" : "code",
                      "variable" : "cd",
                      "condition" : "$this = '122538001'"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "tgt",
                      "contextType" : "variable",
                      "element" : "residualstatusGesamt",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "R0"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "SetRLokR1",
                  "source" : [
                    {
                      "context" : "c",
                      "element" : "code",
                      "variable" : "cd",
                      "condition" : "$this = '122539009'"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "tgt",
                      "contextType" : "variable",
                      "element" : "residualstatusLokal",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "R1"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "SetRGesR1",
                  "source" : [
                    {
                      "context" : "c",
                      "element" : "code",
                      "variable" : "cd",
                      "condition" : "$this = '122539009'"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "tgt",
                      "contextType" : "variable",
                      "element" : "residualstatusGesamt",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "R1"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "SetRLokR2",
                  "source" : [
                    {
                      "context" : "c",
                      "element" : "code",
                      "variable" : "cd",
                      "condition" : "$this = '122540006'"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "tgt",
                      "contextType" : "variable",
                      "element" : "residualstatusLokal",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "R2"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "SetRGesR2",
                  "source" : [
                    {
                      "context" : "c",
                      "element" : "code",
                      "variable" : "cd",
                      "condition" : "$this = '122540006'"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "tgt",
                      "contextType" : "variable",
                      "element" : "residualstatusGesamt",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "R2"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "SetRLokRX",
                  "source" : [
                    {
                      "context" : "c",
                      "element" : "code",
                      "variable" : "cd",
                      "condition" : "$this = '122541005'"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "tgt",
                      "contextType" : "variable",
                      "element" : "residualstatusLokal",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "RX"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name" : "SetRGesRX",
                  "source" : [
                    {
                      "context" : "c",
                      "element" : "code",
                      "variable" : "cd",
                      "condition" : "$this = '122541005'"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "tgt",
                      "contextType" : "variable",
                      "element" : "residualstatusGesamt",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "RX"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "SetRevisionDefault",
          "source" : [
            {
              "context" : "src"
            }
          ],
          "target" : [
            {
              "context" : "tgt",
              "contextType" : "variable",
              "element" : "revisionsOp",
              "transform" : "copy",
              "parameter" : [
                {
                  "valueString" : "0"
                }
              ]
            }
          ]
        },
        {
          "name" : "MapRevisionCode",
          "source" : [
            {
              "context" : "src",
              "element" : "code",
              "variable" : "code"
            }
          ],
          "rule" : [
            {
              "name" : "MapRevisionOPS",
              "source" : [
                {
                  "context" : "code",
                  "element" : "coding",
                  "variable" : "c",
                  "condition" : "system = 'http://fhir.de/CodeSystem/bfarm/ops'"
                }
              ]
            }
          ]
        },
        {
          "name" : "MapRevisionReason",
          "source" : [
            {
              "context" : "src",
              "element" : "reasonCode",
              "variable" : "rc"
            }
          ],
          "rule" : [
            {
              "name" : "MapRevisionReasonSCT",
              "source" : [
                {
                  "context" : "rc",
                  "element" : "coding",
                  "variable" : "c",
                  "condition" : "system = 'http://snomed.info/sct'"
                }
              ],
              "rule" : [
                {
                  "name" : "SetRevisionJaSCT",
                  "source" : [
                    {
                      "context" : "c",
                      "element" : "code",
                      "variable" : "cd",
                      "condition" : "$this = '282032007'"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "tgt",
                      "contextType" : "variable",
                      "element" : "revisionsOp",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueString" : "1"
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name" : "SetRevisionJaText",
              "source" : [
                {
                  "context" : "rc",
                  "element" : "text",
                  "variable" : "txt",
                  "condition" : "$this.contains('Revision')"
                }
              ],
              "target" : [
                {
                  "context" : "tgt",
                  "contextType" : "variable",
                  "element" : "revisionsOp",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueString" : "1"
                    }
                  ]
                }
              ]
            },
            {
              "name" : "SetRevisionJaNachresekt",
              "source" : [
                {
                  "context" : "rc",
                  "element" : "text",
                  "variable" : "txt",
                  "condition" : "$this.contains('Nachresektion')"
                }
              ],
              "target" : [
                {
                  "context" : "tgt",
                  "contextType" : "variable",
                  "element" : "revisionsOp",
                  "transform" : "copy",
                  "parameter" : [
                    {
                      "valueString" : "1"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "MapAnzahlR0",
          "source" : [
            {
              "context" : "src",
              "element" : "outcome",
              "variable" : "out"
            }
          ],
          "rule" : [
            {
              "name" : "MapAnzahlR0Coding",
              "source" : [
                {
                  "context" : "out",
                  "element" : "coding",
                  "variable" : "c",
                  "condition" : "system.exists()"
                }
              ],
              "rule" : [
                {
                  "name" : "SetAnzahlR0Default",
                  "source" : [
                    {
                      "context" : "c",
                      "element" : "code",
                      "variable" : "cd",
                      "condition" : "$this = 'R0'"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "tgt",
                      "contextType" : "variable",
                      "element" : "anzahlEingriffeR0",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueInteger" : 1
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name" : "MapKompIcd",
          "source" : [
            {
              "context" : "src",
              "element" : "complication",
              "variable" : "comp"
            }
          ],
          "rule" : [
            {
              "name" : "MapKompIcdCoding",
              "source" : [
                {
                  "context" : "comp",
                  "element" : "coding",
                  "variable" : "c",
                  "condition" : "system = 'http://fhir.de/CodeSystem/bfarm/icd-10-gm'"
                }
              ],
              "target" : [
                {
                  "context" : "tgt",
                  "contextType" : "variable",
                  "element" : "komplikationen",
                  "variable" : "komp"
                }
              ],
              "rule" : [
                {
                  "name" : "SetKompIcdCode",
                  "source" : [
                    {
                      "context" : "c",
                      "element" : "code",
                      "variable" : "cd"
                    }
                  ],
                  "target" : [
                    {
                      "context" : "komp",
                      "contextType" : "variable",
                      "element" : "icdCode",
                      "transform" : "copy",
                      "parameter" : [
                        {
                          "valueId" : "cd"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}